Entriamo nei dettagli del DSP o “Digital Signal Processing” – Parte 1

segnali

In questo articolo della Rubrica Firmware Reload diamo dei rapidi cenni sui filtri e sulle tecniche per il trattamento dei segnali. Queste nozioni di base sono indispensabili per meglio comprendere i concetti che verranno descritti nei prossimi articoli della serie. L’argomento in sé è molto vasto, pertanto in questa sede verranno presentate solo le tecniche e le applicazioni più comuni specie nell’ambito biomedicale che è oggetto della nostra trattazione.

Iniziamo ad addentrarci nel mondo del DSP partendo dai suoi fondamenti. Con l’acronimo DSP (Digital Signal Processing) si fa genericamente riferimento agli algoritmi matematici impiegati per manipolare i segnali originati da sensori nel mondo reale, una volta che questi siano stati convertiti in forma digitale. Si parla in questo caso di ADC (Analog to Digital Conversion). L’informazione digitale si differenzia dalla sua controparte analogica sotto due aspetti fondamentali: essa è campionata e quantizzata. Entrambe queste caratteristiche comportano una restrizione sulla quantità di informazione che un segnale digitale può contenere rispetto al corrispondente analogico da cui deriva. Per esempio, immaginiamo che la conversione venga fatta con 12 bit ad una frequenza di campionamento di 1000 campioni per secondo. La tensione viene portata su 212= 4096 possibili livelli, ed il tempo viene definito solo ad incrementi di un millisecondo. La Figura 1 mostra le forme d’onda di un segnale elettronico dopo una tipica conversione analogico-digitale.

segnali

Figura 1: Forme d’onda di un segnale elettrico dopo conversione analogico-digitale

Confrontando il segnale originale con quello campionato vediamo che le variazioni nel segnale di ingresso che intervengono fra gli istanti di campionamento vengono completamente ignorate (la variabile indipendente, ovvero il tempo in questo caso, passa da continua a discreta). Confrontando invece il segnale campionato e quello quantizzato (digitalizzato) osserviamo che l’ADC produce un valore intero fra 0 e 2N-1 per ciascuna delle regioni "piatte" nel segnale campionato (dove N è il numero di bit dell’ADC). In altre parole, il processo di quantizzazione converte la variabile dipendente (la tensione in questo caso) da continua a discreta. Ciascun campione nel segnale digitalizzato può presentare un errore massimo di ±½ LSB (Least Significant Bit, acronimo che definisce la distanza fra livelli di quantizzazione adiacenti). In altre parole, come risulta evidente guardando l’ultimo grafico della figura, il segnale di uscita ricostruito è equivalente all’ingresso continuo più un errore di quantizzazione. L’errore di quantizzazione appare molto simile ad un rumore random che si somma a quello già presente nel segnale originale; esso è un rumore con distribuzione uniforme fra ±½ LSB, ha media zero e una deviazione standard di 1/12 LSB. Il numero di bit della conversione determina dunque la precisione dei dati, poiché all’aumentare del numero di bit si riduce l'LSB. Una pietra miliare nel DSP è il Teorema del Campionamento. Questo afferma che un segnale continuo può essere correttamente campionato solo se non contiene componenti in frequenza al di sopra di metà della frequenza di campionamento (o frequenza di Nyquist). In pratica, un segnale continuo si ritiene correttamente campionato se i campioni contengono tutta l’informazione necessaria per ricreare la forma d’onda originale. La Figura 2 (a), (b) e (c) illustra il corretto campionamento di tre onde sinusoidali. In (d) invece, la frequenza della sinusoide analogica è superiore a metà della frequenza di campionamento.

segnali

Figura 2: Campionamento di onde sinusoidali

Questo genera il cosiddetto fenomeno di aliasing, in cui la frequenza dei dati campionati è differente da quella del segnale continuo. Poiché questo effetto ha corrotto l’informazione, il segnale originale non può essere più ricostruito a partire dai suoi campioni. In teoria, il metodo più semplice per la conversione digitale-analogica è quello di convertire i campioni presi dalla memoria in un treno di impulsi. Idealmente, il segnale originale e il treno di impulsi hanno il medesimo spettro di frequenze sotto la frequenza di Nyquist (metà della frequenza di campionamento). A frequenze superiori si dimostra che il treno di impulsi contiene un duplicato di questa informazione, quindi il segnale analogico può essere perfettamente ricostruito passando il treno di impulsi attraverso un filtro passa-basso con frequenza di taglio uguale alla frequenza di Nyquist, appunto. Il problema in questo metodo sta nella difficoltà di generare questi stretti impulsi in elettronica; per ovviare a questo inconveniente, quasi tutti i convertitori DAC (Digital to Analog Conversion) operano mantenendo l’ultimo valore fino a quando non viene ricevuto il campione successivo. Questa operazione ha l’effetto di moltiplicare lo spettro del treno di impulsi per una funzione della frequenza nella forma:

detta funzione sinc(πf/fs), dove fs è la frequenza di campionamento. Il filtro analogico usato per convertire il segnale in quello ricostruito deve rimuovere da una parte tutte le frequenze al di sopra della frequenza di Nyquist e dall’altra moltiplicare le frequenze per il reciproco della funzione precedente, ovvero per 1/sinc(πf/fs) così da correggerne l’effetto. La Figura 3 mostra il diagramma a blocchi di un sistema DSP completo, contenente i filtri analogici elettronici usati per tener conto del teorema di campionamento.

segnali

Figura 3: Sistema DSP completo contenente i filtri analogici elettronici usati per tener conto del teorema di campionamento

In particolare, il filtro posto prima dell’ADC è chiamato filtro antialias ed ha la funzione di rimuovere le componenti in frequenza al di sopra della frequenza di Nyquist, mentre il filtro posto dopo il DAC è detto filtro di ricostruzione e oltre ad eliminare le frequenze sopra quella di Nyquist, può includere la correzione precedentemente descritta. La maggior parte delle tecniche di DSP si basa sulla decomposizione del segnale da elaborare in componenti semplici, che possano essere elaborate separatamente per poi sommare i risultati. Questo approccio di "sovrapposizione" può essere impiegato solo con sistemi lineari e, fortunatamente, quasi tutte le applicazioni che si incontrano in scienza ed ingegneria ricadono in questa categoria. I due modi principali con cui vengono decomposti i segnali nel DSP sono la decomposizione in impulsi e la decomposizione di Fourier. La decomposizione in impulsi suddivide un segnale formato da N campioni in N componenti di segnale, ciascuno contenente N campioni. Ognuna delle componenti contiene un campione del segnale originale e tutti gli altri valori sono nulli. Questa forma di decomposizione è importante perché consente di esaminare i segnali un campione alla volta. Conoscendo come un sistema risponde ad un impulso, è possibile calcolare l’uscita dello stesso sistema per qualsiasi ingresso assegnato. La decomposizione di Fourier è meno ovvia. In termini semplici, un qualsiasi segnale di N campioni può essere decomposto in N+2 segnali, metà dei quali sono onde sinusoidali e l’altra metà cosinusoidali. La frequenza di tali onde è fissa, mentre ciò che cambia per segnali differenti è l’ampiezza delle varie componenti. Con questo approccio, i sistemi vengono caratterizzati in base a come variano ampiezza e fase delle sinusoidi che li attraversano. Prende il nome di DFT (Discrete Fourier Transform) la tecnica di decomposizione basata sul concetto appena esposto che si applica a segnali digitalizzati. I domini di tempo e frequenza sono maniere alternative di rappresentare i segnali. La trasformata di Fourier è la relazione matematica fra queste due rappresentazioni. Se un segnale viene modificato in un dominio, verrà cambiato anche nell’altro, anche se non nello stesso modo. La trasformata di Fourier è lineare: ciò implica le proprietà di omogeneità e additività. Omogeneità significa che una variazione di ampiezza in uno dei due domini produce un’identica variazione nell’altro dominio. Additività significa che la somma in un dominio corrisponde ad una somma nell’altro. Al contrario, una traslazione nel dominio del tempo non corrisponde ad una traslazione nel dominio della frequenza; piuttosto, corrisponde ad una variazione nella pendenza della fase. Esistono vari modi per calcolare la DFT. La Fast Fourier Transform (FFT) è il metodo più efficiente, poiché richiede poche dozzine di linee di codice, riducendo notevolmente il tempo computazionale richiesto per la sua esecuzione. Senza scendere nei dettagli, ci limitiamo a dire che la FFT opera decomponendo un segnale di N punti nel dominio del tempo in N segnali ciascuno composto da un solo punto. Successivamente, si calcolano gli N spettri di frequenza associati a tali segnali, ed infine tutti gli spettri così ottenuti vengono sintetizzati in un unico spettro di frequenze. Inoltre, un altro vantaggio della FFT rispetto alle altre tecniche sta nella sua elevata precisione, poiché il minor numero di calcoli eseguiti si traduce in un abbattimento degli errori di arrotondamento. La trasformata discreta di Fourier reale può essere rappresentata nelle sue parti Reale e Immaginaria:

In pratica, un segnale di N campioni nel dominio del tempo, x[n], viene decomposto in un insieme di N/2+1 coseni e N/2+1 seni, con frequenza data dall’indice k. Le ampiezze dei coseni sono contenute nella parte Reale, quelle dei seni sono contenute nella parte Immaginaria. Una soluzione più elegante è costituita dalla DFT complessa, scritta in forma polare:

Concludiamo questa breve introduzione con un cenno alla Trasformata Z. Questa definisce la relazione fra il segnale nel dominio del tempo, x[n], e il segnale nel dominio z, X(z):

Il dominio z utilizza le variabili r e ω, in coordinate polari. La distanza dall’origine, r, è il valore del decadimento esponenziale, mentre la distanza angolare misurata dall’asse orizzontale positivo, ω, è la frequenza. In quest’ottica, z è definita come:

Come vedremo nel seguito, questo costituisce uno strumento molto utile per la sintesi dei filtri digitali.

 

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend