Funzionalità chiave

  • Elaborazione dei segnali in streaming in MATLAB®
  • Elaborazione dei segnali e blocchi algebrici lineari per Simulink®
  • Progettazione di filtri adattivi, FIR, IIR, multi-rate e single-rate
  • Strumenti Time Scope, Spectrum Analyzer e Logic Analyzer per visualizzare e misurare i segnali in streaming.
  • Modellazione e simulazione a virgola fissa di algoritmi di elaborazione dei segnali
  • Supporto per la generazione di codice C e C++
  • Supporto per la generazione di codice HDL

Elaborazione dei segnali in streaming in MATLAB

DSP System Toolbox™ fornisce una struttura per l’elaborazione dei segnali in streaming in MATLAB. Il system toolbox include una libreria di algoritmi di elaborazione dei segnali, ottimizzati per l’elaborazione dei segnali in streaming come filtri single-rate e multi-rate, adattivi e FFT. Il system toolbox è ideale per la progettazione, la simulazione e la distribuzione di soluzioni di elaborazione dei segnali per applicazioni audio, biomediche, di comunicazione, di controllo, sismiche, di sensori e vocali.

Le tecniche dielaborazione dei segnali in streaming consentono un’elaborazione continua di dati in streaming che spesso può accelerare le simulazioni dividendo i dati in ingresso in frame ed elaborando ogni frame al momento dell’acquisizione. Per esempio, l’elaborazione dei segnali in streaming in MATLAB consente l’elaborazione audio multicanale in tempo reale.

L'elaborazione dei segnali in streaming è consentita utilizzando una libreria di componenti per algoritmo DSP chiamati System Object™ per rappresentare algoritmi basati sui dati, sorgenti e display. I System Object consentono la creazione di applicazioni in streaming con attività automatiche, ad esempio l'indicizzazione dei dati, il buffering e la gestione degli stati dell'algoritmo. È possibile utilizzare i System Object di MATLAB con funzioni e operatori MATLAB standard.

È possibile usare gli strumenti Time Scope e Spectrum Analyzer per visualizzare e misurare i segnali in streaming.

È possibile applicare filtri single-rate, multi-rate e adattivi a dati in streaming utilizzando algoritmi ottimizzati per segnali e dati in streaming.

Codice MATLAB che implementa un ciclo di streaming base (a sinistra). Time Scope (in alto a destra) e Spectrum Analyzer (in basso a destra) visualizzano e misurano i segnali dal vivo generato e processati.

Libreria di algoritmi per progettazione, implementazione e verifica di sistemi DSP

DSP System Toolbox fornisce più di 350 algoritmi ottimizzati per la progettazione, l’implementazione e la convalida di sistemi in streaming se implementati come funzioni MATLAB oppure come System Object di MATLAB. Gli algoritmi supportano i tipi di dati a virgola mobile in singola e doppia precisione. La maggior parte degli algoritmi supporta anche tipi di dati interi, così come tipi di dati a virgola fissa che richiedono Fixed-Point Designer™.

In MATLAB, le categorie di algoritmi incluse nel system toolbox sono:

Elenco parziale di algoritmi di elaborazione dei segnali disponibili in MATLAB, come visualizzato dall’help di riga di comando o rilevabile tramite il completamento grafici.

Sistemi multi-rate

In MATLAB, DSP System Toolbox supporta l'elaborazione multi-rate per la conversione della frequenza di campionamento e la modellazione di sistemi in cui devono interfacciarsi frequenze di campionamento o velocità di clock differenti. La funzionalità multi-rate include filtri multistage e multi-rate, ad esempio filtri FIR e IIR Halfband, polifase, CIC e di Farrow. Include inoltre operazioni di segnale come ad esempio l’interpolazione, la decimazione e la conversione arbitraria della frequenza di campionamento.

Conversione efficiente della frequenza di campionamento tra fattori arbitrari. Gli esempi mostrati includono il codice MATLAB che mostra varie strutture di implementazione e la loro analisi dei costi, incluse le strutture di Farrow, che possono essere un’efficiente implementazione della conversione della frequenza di campionamento (a sinistra); risposte di ampiezza che mostrano il confronto tra l’implementazione di filtri polifase e filtri di Farrow della conversione della frequenza di campionamento (in alto a destra); una soluzione ibrida per la conversione della frequenza di campionamento utilizzando soluzioni a cascata di strutture di Farrow e FIR polifase (al centro a destra); e lo Spectrum Analyzer che mostra il confronto della visualizzazione in streaming delle risposte in frequenza della combinazione di filtri single-stage e multistage FIR e di Farrow (in basso a destra).

In Simulink, DSP System Toolbox offre una libreria di blocchi di algoritmi per l’elaborazione dei segnali per filtri, trasformate e algebra lineare. Questi blocchi elaborano i segnali di input in streaming come campioni individuali o come raccolte di campioni chiamate frame. L’elaborazione sample-based permette processi a bassa latenza e applicazioni che richiedono elaborazione scalare. L’elaborazione frame-based permette una più alta capacità di trasmissione in cambio di latenza. Il system toolbox supporta sia la modalità di elaborazione sample-based che quella frame-based.

I programmi MATLAB che utilizzano System Object possono essere integrati in modelli Simulink mediante il blocco MATLAB Function o il blocco MATLAB System. La maggior parte dei System Object ha corrispondenti blocchi Simulink con le stesse capacità.

L’operazione frame-based, che acquisisce un frame di 16 campioni tra ogni interrupt service routine (ISR), mostra un tasso di capacità di trasmissione molto più alto rispetto all’alternativa sample-based.

Blocchi per l’elaborazione dei segnali per progettazione, implementazione e testing di sistemi DSP

I blocchi Simulink per l’elaborazione dei segnali supportano tipi di dati a virgola mobile in singola e doppia precisione e tipi di dati interi. Supportano inoltre tipi di dati a virgola fissa quando si utilizza Fixed-Point Designer.

I blocchi per l’elaborazione dei segnali inclusi in DSP System Toolbox sono:

Libreria dei blocchi di DSP System Toolbox per l’elaborazione dei segnali disponibili in Simulink (in alto), insieme a viste esplose di solutori lineari (in basso a sinistra) e trasformate (in basso a destra).

Modellazione di sistemi multirate

In Simulink, DSP System Toolbox supporta l'elaborazione multi-rate per la conversione della frequenza di campionamento e la modellazione di sistemi in cui devono interfacciarsi frequenze di campionamento o velocità di clock differenti. I blocchi filtro multi-rate includono blocchi multistage come ad esempio CIC, conversione di frequenza FIR, interpolatore e decimatore FIR e Dyadic Analysis Filter Bank.

Modello di convertitore A/D sigma-delta in Simulink, che indica i segnali che operano a frequenze di campionamento multiple (a sinistra). Simulazione del comportamento di un downconverter digitale (DDC) semplice per una conversione baseband in un sistema di comunicazione include un NCO, un decimatore CIC, un compensatore CIC, un decimatore Halfband e un convertitore della frequenza di campionamento per le modifiche di frequenza finali (a destra).

Progettazione di filtri FIR e IIR single-rate e multi-rate e filtri adattivi

DSP System Toolbox fornisce algoritmi per progettazione e implementazione di filtri FIR, IIR, multistage, multi-rate e adattivi. È possibile progettare filtri passa-basso, passa-alto, passa-banda ed elimina banda, così come altri tipi di risposta. È possibile realizzarli mediante strutture quali FIR in forma diretta, FIR overlap-add, IIR con sezioni di secondo ordine (Biquad), filtri all-pass con sezioni collegate in cascata e filtri con struttura lattice.

I filtri possono essere progettati mediante l’applicazione Filterbuilder, il codice MATLAB o i blocchi Simulink. Inoltre, è possibile analizzare gli effetti della quantizzazione a virgola fissa per i filtri FIR e IIR e determinare la lunghezza ottimale delle parole per i coefficienti di filtro.

È possibile progettare filtri regolabili in cui regolare i principali parametri di filtro, ad esempio larghezza di banda e guadagno, al momento dell’esecuzione.

I filtri digitali progettati con DSP System Toolbox in MATLAB possono essere usati anche nei modelli a livello di sistema in Simulink. Esiste una libreria pronta all’uso di blocchi di filtro nel system toolbox per la progettazione, la simulazione e l’implementazione di filtri passa-basso, passa-alto e altri filtri direttamente in Simulink.

Oltre agli algoritmi convenzionali per la progettazione di filtri FIR e IIR, DSP System Toolbox supporta i seguenti filtri e metodi specializzati:

Explore gallery (2 images)


Filtri adattivi

DSP System Toolbox offre varie tecniche per filtri adattivi in MATLAB e Simulink. Queste tecniche sono largamente utilizzate per applicazioni come ad esempio identificazione di sistema, stima dello spettro, equalizzazione ed eliminazione del rumore. Nei filtri adattivi sono inclusi il filtro basato su LMS, il filtro basato su RLS, il filtro proiezione affine, il filtro trasversale veloce, il filtro in frequenza, il filtro a reticoloe il filtro di Kalman. Il system toolbox include inoltre algoritmi per l'analisi di tali filtri adattivi, tra cui la tracciatura dei coefficienti, le curve di apprendimento e la convergenza.

Identificazione di sistema utilizzando filtri adattivi RLS che mostra come regolare i parametri al momento dell’esecuzione utilizzando l’interfaccia grafica. Questa illustrazione include il codice MATLAB che chiama l’algoritmo RLS (in alto a sinistra), l’interfaccia grafica per regolare la frequenza centrale e il forgetting factor RLS (in alto a destra), il grafico della curva di apprendimento del filtro RLS (in centro a destra), il grafico della funzione di trasferimento desiderata e stimata (in basso a destra) e la versione Simulink del modello (in basso a sinistra).

Filtri multi-rate e multistage e analisi

DSP System Toolbox fornisce funzioni per la progettazione e l'implementazione di filtri multi-rate, tra cui interpolatori polifase, decimatori, convertitori di frequenza, FIR Halfband e IIR Halfband, filtri di Farrow, filtri e compensatori CIC, nonché supporto per metodi di progettazione in più fasi. Il system toolbox fornisce inoltre funzioni di analisi specializzate per stimare la complessità di calcolo dei filtri multi-rate e multistage.

Explore gallery (2 images)


Visualizzatori, analizzatori e misurazione di segnale

DSP System Toolbox fornisce visualizzatori e registrazione dati per visualizzazione, misurazione e analisi in dominio temporale e di frequenza di segnali in streaming in MATLAB and Simulink. I visualizzatori sono forniti di misurazione e statistica familiari agli utilizzatori di oscilloscopi e spectrum analyzer standard del settore.

Il system toolbox fornisce inoltre il Logic Analyzer per visualizzare le transizioni nei segnali in dominio temporale, utile per il debug di modelli indirizzati verso l’implementazione HDL.

È inoltre possibile creare un grafico arbitrario per la visualizzazione di vettori di dati, ad esempio l’evoluzione nel tempo dei coefficienti di filtro.

Time Scope visualizza i segnali nel dominio temporale e supporta vari segnali: continui, discreti, a dimensione fissa, a dimensione variabile, con dati a virgola mobile o fissa e segnali n-dimensionali per sistema I/O multicanale. È inoltre possibile visualizzare segnali multipli o sugli stessi assi, dove ogni segnale in ingresso ha dimensioni, frequenze di campionamento e tipi di dati diversi, o su canali multipli di dati su diversi display nella finestra del visualizzatore. Time Scope esegue analisi, misurazione e statistica, inclusi valore efficace (RMS), peak-to-peak, media e mediana.

Spectrum Analyzer calcola lo spettro di frequenza di una varietà di segnali in ingresso e visualizza il suo spettro di frequenza su una scala lineare o logaritmica. Spectrum Analyzer esegue misurazioni di canale come ad esempio misurazioni di distorsione armonica (THD, SNR, SINAD, SFDR), misurazione di distorsione di intermodulazione del terzo ordine (TOI), misurazione rapporto potenza canale adiacente (ACPR), funzione di distribuzione cumulativa complementare (CCDF) e rapporto potenza di picco e potenza media (PAPR). La modalità di visualizzazione spettrogramma di Spectrum Analyzer mostra come visualizzare spettri variabili nel tempo e consente il rilevamento automatico dei picchi.

DSP System Toolbox fornisce un’ulteriore famiglia di strumenti di visualizzazione per visualizzare e misurare molteplici segnali o dati, inclusi dati di valore reale o complesso, vettori, array e frame di qualunque tipo di dati incluse sequenze in ingresso di dati a virgola fissa, a doppia precisione e definiti dall’utente. Alcuni strumenti di visualizzazione utilizzano un display 3D dei dati o dei segnali in streaming per poterli analizzare nel tempo fino al termine della simulazione.

Explore gallery (3 images)


Modellazione e simulazione a virgola fissa

È possibile usare DSP System Toolbox con Fixed-Point Toolbox Designer per modellare algoritmi di elaborazione dei segnali a virgola fissa e per analizzare gli effetti della quantizzazione sul comportamento e le prestazioni del sistema. È possibile generare in tempo reale il codice C a virgola fissa dal codice MATLAB o dal modello Simulink.

È possibile configurare i System Object di MATLAB e i blocchi Simulink nel system toolbox in modo che operino a virgola fissa, consentendo di analizzare e ottimizzare le alternative progettuali eseguendo simulazioni con lunghezze delle parole, scala, gestione dell'overflow e metodi di arrotondamento diversi, prima dell'implementazione nell’hardware.

Sono supportati modelli a virgola fissa per vari algoritmi DSP, tra cui FFT, filtri, statistica e algebra lineare. DSP System Toolbox automatizza la configurazione dei System Object e dei blocchi per il funzionamento a virgola fissa.

System Object FFT di MATLAB, che fornisce le proprietà per configurare la specifica di dati a virgola fissa di accumulatore, prodotto e segnali di output (a sinistra). La finestra di dialogo del blocco FFT Simulink fornisce opzioni per la specifica di tipi di dati a virgola fissa di accumulatore, prodotto e segnali di output, che richiede Simulink Fixed-Point Designer (a destra).

Progettazione di filtri a virgola fissa

In DSP System Toolbox, le funzioni di progettazione di filtri o le applicazioni interattive Filterbuilder consentono di progettare filtri a virgola mobile che possono essere convertiti in tipi di dati a virgola fissa grazie a Fixed-Point Designer. Questo flusso di progettazione semplifica la progettazione e l’ottimizzazione di filtri e consente di analizzare gli effetti della quantizzazione.

Analisi della progettazione di filtri a virgola fissa del rumore di quantizzazione dove i vincoli di progettazione del filtro non sono soddisfatti, e l’attenuazione stop-band è insufficiente a causa di una lunghezza delle parole di 8 bit (a sinistra). Sperimentando con una lunghezza di parola con coefficiente diverso e utilizzando una lunghezza delle parole di 12 bit è sufficiente e i vincoli di progettazione del filtro sono soddisfatti (a destra).

Flussi di lavoro per la generazione di codice C e C++ per sistemi embedded e per desktop

Utilizzando DSP System Toolbox con MATLAB Coder™ e Simulink Coder™, è possibile la generazione di codice sorgente C e C++ o una funzione MEX ottimizzata per la prestazione con gli algoritmi di elaborazione dei segnali e i modelli di sistema rispettivamente in MATLAB e Simulink.

Il codice generato può essere usato a fini di accelerazione, prototipazione rapida, implementazione e distribuzione, o integrazione del sistema durante lo sviluppo del prodotto.


Accelerazione desktop

È possibile generare un codice eseguibile efficiente e compatto, una funzione MEX, ottimizzata per la prestazione di accelerazione degli algoritmi di calcolo intensivo nella simulazione. È possibile accelerare gli algoritmi a virgola mobile e fissa inclusi filtri, FFT, statistica e algebra lineare in MATLAB e Simulink.

Per accelerare simulazioni in streaming frame-based, dspunfold usa DSP unfolding per distribuire il carico computazionale nella funzione MEX generata in thread multipli.


Esecuzione autonoma e integrazione con altri ambienti

Con DSP System Toolbox, è possibile inoltre utilizzare il codice C generato dal proprio codice MATLAB o modello Simulink per la distribuzione o la prototipazione sul desktop generando un eseguibile autonomo dell’algoritmo. Questo eseguibile autonomo può ancora essere ottimizzato da MATLAB o Simulink in tempo reale utilizzando i componenti UDP. Poiché l’eseguibile autonomo funziona in un thread diverso dal codice MATLAB o dal modello Simulink, migliora la prestazione in tempo reale dell’algoritmo.

Il codice C generato degli algoritmi di elaborazione del segnale può essere integrato come componente compilato della libreria in un altro software, come ad esempio un simulatore personalizzato o un software standard di modellazione come il System C.

Come generare da MATLAB una funzione MEX ottimizzata per la prestazione per accelerare la simulazione sul desktop. Vengono mostrati il codice MATLAB campione della funzione di equalizzatore parametrico audio a 3 bande (a sinistra) e il file MEX equivalente per il principale algoritmo di elaborazione (a destra).

Generazione di codice C ottimizzato per i processori ARM Cortex

Utilizzando DSP System Toolbox con il supporto hardware aggiuntivo per ARM Cortex-A o ARM Cortex-M eEmbedded Coder®, è possibile generare codici C ottimizzati da System Object di MATLAB o blocchi Simulink per i principali algoritmi DSP come ad esempio filtri FFT, FIR e Biquad. Il codice generato permette chiamate a routine ottimizzate per libreria ARM Cortex-A Ne10 o libreria ARM Cortex-M CMSIS. Il vantaggio principale è un immediato miglioramento della prestazione in confronto al codice C standard. È possibile inoltre eseguire verifica e profiling del codice utilizzando il test processor-in-the-loop (PIL).


Generazione di codice HDL per sviluppo FPGA e ASIC

Utilizzando DSP System Toolbox con Filter Design HDL Coder™ in MATLAB, è possibile progettare filtri digitali e generare codici VHDL® e Verilog® efficienti, sintetizzabili e portatili per l’implementazione in FPGA o ASIC. È inoltre possibile creare banchi di prova VHDL e Verilog per simulazione veloce, testing e verifica di codice generato.

DSP System Toolbox con HDL Coder™ in Simulink permette la generazione di codici VHDL e Verilog sintetizzabili e leggibili per la progettazione di sistema. Questo supporto include algoritmi ottimizzati per risorsa e prestazione, come ad esempio filtri, FFT, IFFT e NCO.

Generazione di codici HDL per modelli di filtro FIR programmabile. Queste illustrazioni mostrano un modello di filtro FIR programmabile in Simulink per implementazione HDL (in alto a sinistra); FIR programmabile tramite sottosistema registri (in alto a destra); display di visualizzazione di input filtro e segnali di riferimento (al centro a destra); display del Logic Analyzer di coefficienti, write address ed enables e filtro input e segnali di riferimento (in basso a destra); codice HDL generato automaticamente dal modello Simulink (in basso a sinistra).