L’elaborazione numerica dei segnali, di qualunque natura essi siano, rappresenta senza ombra di dubbio una delle tecnologie che hanno riscosso il maggiore successo ed attenzione negli ultimi anni, con molteplici applicazioni in diversi settori dell’elettronica e delle scienze applicate in generale. Scopriamo insieme in questo articolo cosa si nasconde dietro l’acronimo DSP, quali sono le caratteristiche a livello hardware di questi dispositivi, dove vengono utilizzati, che tipo di funzionalità svolgono e perché sono diventati così importanti.
Introduzione
Con il termine DSP (acronimo di Digital Signal Processing) si indica la tecnologia che provvede ad elaborare e processare, nel dominio digitale (o se preferite, numerico), un segnale analogico. Questa tecnologia, le cui radici risalgono storicamente ai primordi dell’elettronica a semiconduttore, ha conosciuto un’enorme crescita e diffusione grazie ai progressi compiuti nel settore delle tecnologie elettroniche ed alla crescente domanda di applicazioni “DSP- dependant” in numerosi settori dell’elettronica di consumo e dell’ingegneria. La tecnologia DSP ha contribuito a rivoluzionare interi settori, quali: telecomunicazioni, settore medicale (diagnostica per immagini), sistemi di rilevamento di ostacoli e bersagli (radar e sonar), riproduzione musicale hi-fi, televisione ad alta definizione, esplorazione del sottosuolo e monitoraggio della crosta terrestre, protesi neuro-sensoriali di vario tipo ed altro ancora. Ciascuna di queste aree ha sviluppato in modo approfondito una propria forma di tecnologia DSP, caratterizzata da specifici algoritmi, formule matematiche e tecniche implementative. A livello hardware, sono stati progettati e realizzati dei dispositivi in grado di supportare egregiamente questa tecnologia. Tali dispositivi sono indicati con lo stesso termine, DSP (in questo caso inteso come acronimo di Digital Signal Processor). Quasi sicuramente, anche il vostro smartphone avrà al suo interno almeno un DSP, solitamente integrato nel System on Chip (SoC) che ne governa le principali funzionalità.
Schema a blocchi DSP
Il concetto di DSP è illustrato dallo schema a blocchi di Figura 1, che include un filtro analogico, un convertitore analogico-digitale (ADC), un digital signal (DS) processor, un convertitore digitale-analogico (DAC) ed un filtro per la ricostruzione del segnale analogico. All’inizio della catena troviamo anzitutto il segnale analogico, che presenta la caratteristica di essere continuo nel tempo e nell’ampiezza. Esempi di segnali analogici si possono trovare nella vita di tutti i giorni: correnti, tensioni, temperature, pressioni, intensità luminosa, intensità sonora, posizione, velocità e così via. Il segnale analogico viene normalmente acquisito da un opportuno sensore (trasduttore) che provvede a convertirlo in un segnale elettrico analogico (ad esempio una tensione). Quest’ultimo viene inviato in ingresso al filtro analogico, il cui scopo è quello di limitare il range di frequenza del segnale, prima di applicarlo in ingresso all’ADC. Si tratta essenzialmente di un filtro anti-alias, che elimina le componenti di frequenza non desiderate, attribuibili alla presenza di rumore. Il segnale in uscita dal filtro, limitato alla banda di interesse, viene campionato e convertito in forma digitale dall’ADC, ottenendo in uscita un segnale digitale che ora è discreto sia nel tempo che nell’ampiezza. Il DSP riceve in ingresso questo segnale e processa le informazioni in base agli algoritmi software in esso programmati (ad esempio, filtraggi di tipo FIR oppure IIR, FFT, correlazione, convoluzione e così via). Il segnale in uscita dal DSP raggiunge il blocco DAC che lo converte in un segnale analogico. Tale segnale presenta la caratteristica di essere continuo nel tempo, ma discreto nell’ampiezza (si parla anche di segnale “sample-and-hold”, dovuto alla natura stessa con cui è generato dal DAC). L’ultimo blocco ha la funzione di livellare e rendere uniforme la tensione in uscita dal DAC, utilizzando un filtro di ricostruzione. L'uscita del DAC è, infatti, un segnale "quantizzato", ed il filtro di ricostruzione ha proprio la funzione di renderlo continuo, limando i "gradini" in esso presenti. Si tratta in genere di un filtro passa-basso con un'opportuna frequenza di taglio, la cui implementazione dipende dall'applicazione specifica (audio, immagine, segnale RF, etc.). Si noti, inoltre, come nella realtà esistano molte applicazioni dei DSP che non richiedono la presenza di un blocco DAC, come ad esempio il riconoscimento vocale. Analogamente, esistono delle applicazioni che non richiedono la presenza di un blocco ADC, come ad esempio i lettori CD, oppure i sistemi per la generazione dei toni digitali.
Si consideri ora la situazione rappresentata in Figura 2, in cui un segnale digitalizzato viene ottenuto a partire da tensioni analogiche contenenti un segnale a bassa frequenza e rumore che occupa tutto il range di frequenze. Dopo l'ADC, il segnale digitalizzato x(n), dove n rappresenta il numero di campioni, può essere migliorato utilizzando un filtraggio di tipo digitale, ad esempio un filtro digitale passa-basso che lasci passare solo il segnale utile, bloccando le componenti di frequenza superiore, attribuibili al rumore. Il DSP di Figura 2 verrà pertanto programmato per funzionare come un semplice filtro digitale passa-basso, in grado di produrre in uscita il segnale digitale y(n) depurato del rumore. Il segnale y(n) potrà poi essere applicato all'ingresso di un altro DSP, oppure convertito in segnale analogico tramite un DAC ed un opportuno filtro di ricostruzione.
Il segnale digitalizzato, con presenza del rumore ed il segnale digitale "ripulito" sono rappresentati in Figura 3, rispettivamente nella parte superiore ed in quella inferiore del grafico. Abbiamo così visto una prima, semplice ma utilissima, applicazione dei DSP. Le tipiche applicazioni del filtraggio di segnali perturbati dal rumore includono, tra le altre: acquisizione del segnale audio, trattamento dei segnali per applicazioni biomedicali e registrazione vocale.
DSP o microprocessore?
Qualcuno potrebbe chiedersi, a questo punto, quale sia la differenza tra un DSP ed un comune microprocessore, come ad esempio quello utilizzato in un qualsiasi personal computer. La differenza è molto semplice, ed è insita nella lettera "S" del suo acronimo: "signal". Ciò che infatti differenzia un DSP da un microprocessore, è che il DSP è nato per processare un segnale, mentre un microprocessore è nato per processare dei dati. Se vogliamo, è più una questione filosofica che tecnica. In realtà, come vedremo più avanti affrontando il discorso delle architetture hardware, i DSP sono progettati con lo scopo di ottimizzarne l’efficienza in applicazioni di puro ed intenso calcolo numerico. I DSP sono nati per eseguire ripetitivamente ed instancabilmente algoritmi di elevata complessità computazionale: la loro architettura hardware (set di istruzioni, ALU, memoria, cache) è stata concepita espressamente per queste applicazioni, dove essi si dimostrano più performanti di un normale microprocessore. Non solo, i DSP sono solitamente utilizzati in applicazioni dove un comportamento real-time è mandatario, sistemi in cui un segnale deve essere processato producendo degli output consistenti in tempi ragionevoli. Per contro, un microprocessore è più adatto ad applicazioni general purpose, con diverse periferiche di vario tipo da gestire, molta più memoria a disposizione (sia centrale che di massa) e, in generale, senza particolari vincoli real-time.
Applicazioni
Diverse sono le aree, nel campo scientifico ed ingegneristico, in cui i DSP hanno introdotto dei cambiamenti rivoluzionari, come indicato in Tabella 1.
Settore di utilizzo dei DSP | Applicazioni |
Spazio ed astronomia | Correzione delle immagini Compressione dei dati Analisi dei dati provenienti dalle sonde spaziali Interferometria speckle |
Medicina | Diagnostica per immagini (TAC, RMI, ecografia) ECG Monitoraggio cardiaco |
Telecomunicazioni |
Compressione dati e voce |
Elettronica di consumo | Compressione delle immagini e del suono per applicazioni multimediali Effetti speciali per cinematografia Sistemi di videoconferenza Riconoscimento vocale Sintesi vocale Fotocamere digitali |
Militare | Radar Sonar Sistemi di guida per le armi Protezione delle comunicazioni |
Industriale | Esplorazione del sottosuolo Sistemi di monitoraggio e controllo di processo Test non distruttivo CAD e strumenti per la progettazione |
Scientifico |
Registrazione ed analisi dei terremoti |
Automotive | Sistemi ANC per la soppressione dei rumori nell'abitacolo Sistemi audio e video digitali Sopensioni attive Sistemi di navigazione GPS |
Audio | Codifica audio digitale (CD) Filtri crossover digitali Sintesi e riconoscimento vocale Compressione e codifica dei dati Stereo digitale e surround |
Tabella 1: principali applicazioni dei DSP, suddivise per aree di competenza
ASP vs DSP
Prima dei DSP, l'elaborazione del segnale era svolta da appositi circuiti analogici, progettati in base alle specifiche esigenze dell'applicazione, denominati ASP (Analog Signal Processor). I principali vantaggi degli ASP sono i seguenti:
- le reti passive di cui erano composti presentavano la caratteristica di avere un'ottima linearità su un ampio range dinamico e su un'ampia larghezza di banda;
- richiedevano un'alimentazione di bassa potenza;
- assorbimento di corrente molto ridotto.
Il passaggio dalla tecnologia ASP a quella DSP è avvenuto per i seguenti motivi:
- gli ASP, essendo realizzati in tecnologia analogica, erano sensibili alle condizioni ambientali (tipicamente, la temperatura, ma anche l'"invecchiamento" dei componenti stessi). I DSP mantengono invece le proprie performance anche al variare delle condizioni ambientali;
- il comportamento degli ASP dipendeva dalle tolleranze dei componenti utilizzati nei circuiti analogici. I DSP sono invece in grado di ripetere in modo deterministico il proprio funzionamento;
- gli ASP non erano programmabili: il processing veniva eseguito esclusivamente dai componenti analogici utilizzati. Apportare una modifica all'algoritmo implementato richiedeva necessariamente una modifica del circuito. I DSP, invece, implementano l'algoritmo esclusivamente a livello software, e presentano perciò una flessibilità elevatissima, con costi di manutenzione inferiori agli ASP;
- gli ASP, a differenza dei DSP, presentavano una scarsa immunità alle interferenze ed al rumore, ed in tali condizioni il segnale poteva subire una distorsione apprezzabile;
- negli ASP l'accuratezza dipendeva dal tipo e dalla qualità dei componenti utilizzati; nei DSP, invece, dal numero di bit utilizzati e dal tipo di aritmetica utilizzata (fixed point o virgola mobile);
- gli ASP potevano avere dimensioni considerevoli, mentre i DSP sono estremamente compatti.
Tuttavia, l'introduzione dei DSP ha comportato qualche inevitabile svantaggio che occorre tenere presente in sede di progettazione: [...]
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 3096 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.
Grazie Stefano,
il tuo articolo come sempre è chiaro e interessante.
Mi ha fatto venire in mente i mesi trascorsi in laboratorio per la mia tesi di laurea: si trattava di individuare un segnale molto piccolo prelevato dal corpo umano e ovviamente ‘immerso’ in ogni tipo di rumore. Allora, dopo un opportuno condizionamento fatto con circuiti analogici, acquisimmo il segnale con una scheda di acquisizione National Instruments e poi mi dedicai ad un po’ di ‘DSP’ fatto in casa, applicando filtri numerici alla serie di campioni temporali che avevamo ottenuto.
Alla fine qualcosa venne fuori…
Saluti.
Articolo molto interessante perchè offre una panoramica completa sui DSP, sul loro utilizzo oltre alla differenza tra le due architetture fondamentali.
Bellissimo articolo, Chiaro, esaustivo. Personalmente letto approfonditamente, e vi sono concetti utili e interessanti: molte cose ben spiegate ricordano ciò che ho studiato all’Università, sostenendo a suo tempo l’esame di Elaborazione numerica dei segnali, e prima ancora comunicazioni elettriche e teoria dei segnali. Grazie.