Trasformata di Fourier discreta
Con questo articolo la serie passa ai sistemi dinamici. Come visto nell'introduzione, i loro ingressi e le loro uscite sono segnali: grandezze che cambiano nel tempo. Prima di identificare un sistema serve qualche strumento per descrivere i segnali, in particolare il loro contenuto in frequenza.
Segnali a tempo discreto
Un computer non vede un segnale continuo, ma i suoi campioni, presi ogni secondi (frequenza di campionamento ). Per semplicità si scrive al posto di : il tempo diventa un numero intero, il numero del campione.
Un segnale è deterministico se è completamente noto, con una formula o una registrazione; è stocastico se se ne conoscono solo le proprietà probabilistiche, come un rumore di misura o l'intensità del vento. Qui ci occupiamo dei primi.
Energia e potenza
L'energia di un segnale è la somma dei quadrati di tutti i suoi campioni:
Se è finita, è un segnale di energia: per esempio un segnale di durata limitata.
Una sinusoide che dura per sempre ha energia infinita. Per questi segnali si usa la potenza media:
Se è finita, è un segnale di potenza: tutti i segnali periodici lo sono. La radice della potenza è il valore efficace o RMS: il valore del segnale costante che ha la stessa potenza. Per una sinusoide di ampiezza la potenza è , e il valore efficace .
La trasformata di Fourier a tempo discreto (DTFT)
L'idea di Fourier è che un segnale si possa scrivere come somma di sinusoidi a frequenze diverse. La DTFT dice quanto pesa ciascuna:
è un numero complesso per ogni pulsazione : il modulo dice l'ampiezza della componente a quella frequenza, l'argomento la sua fase. Si chiama spettro del segnale, e si può tornare indietro senza perdere nulla con la DTFT inversa.
Tre proprietà da tenere a mente:
- è periodica di periodo ;
- per segnali reali, i valori a sono i coniugati di quelli a : tutta l'informazione sta tra 0 e ;
- la pulsazione è normalizzata, in radianti per campione. La massima, , corrisponde a , la frequenza di Nyquist: la sinusoide più veloce che si può rappresentare, che cambia segno a ogni campione.
Il quadrato del modulo, , è la densità spettrale di energia: dice come l'energia del segnale si distribuisce tra le frequenze. La sua area, divisa per , è proprio l'energia (teorema di Parseval).
La trasformata di Fourier discreta (DFT)
La DTFT è uno strumento teorico: richiede infiniti campioni e dà una funzione continua di . Nella pratica si hanno campioni, , e si usa la DFT:
con .
Da numeri reali si passa a numeri complessi. La differenza con la DTFT è che lo spettro non si ottiene più a tutte le frequenze, ma solo a frequenze precise, equidistanti. Ciascuna di queste frequenze si chiama bin: il bin è la frequenza
e è il valore dello spettro in quel punto. Per esempio, con Hz e campioni (2 secondi di misura), i bin sono a 0 Hz, 0,5 Hz, 1 Hz, 1,5 Hz e così via, ogni mezzo hertz. Di quello che succede a 0,7 Hz la DFT non dice nulla direttamente.
La distanza tra due bin vicini è la risoluzione in frequenza, : per distinguere frequenze vicine servono più campioni, cioè una misura più lunga. Il bin è la somma dei campioni, cioè volte il valore medio. Per segnali reali, dopo i valori si ripetono specchiati: quelli utili sono i bin da 0 a , fino alla frequenza di Nyquist.
La DFT calcolata direttamente costa operazioni. La FFT (Fast Fourier Transform) è una famiglia di algoritmi che calcola lo stesso risultato in circa .
Leakage
Prendiamo un segnale fatto di tre pezzi: una costante 5, una sinusoide a 1 Hz di ampiezza 0,8 e una a 2 Hz di ampiezza 0,3.
Lo campioniamo a 1000 Hz (qui è il tempo in secondi) e calcoliamo la FFT. I numeri che escono non sono subito le ampiezze: vanno sistemati in due passi.
- Dividere per . La DFT somma campioni, quindi più la misura è lunga, più i valori sono grandi. Dividendo per il risultato non dipende più dalla durata, e il bin a 0 Hz diventa la media dei campioni.
- Raddoppiare tutti i bin, tranne quello a 0 Hz e quello di Nyquist. Lo spettro di un segnale reale è specchiato: metà dell'ampiezza di ogni sinusoide sta nel suo bin, l'altra metà nel bin simmetrico oltre . Guardando solo la prima metà, si raddoppia per riavere l'ampiezza intera.
Facciamo il calcolo due volte, cambiando solo la durata della misura. Prima, attenzione a non confondere due numeri:
- la frequenza di campionamento, Hz, dice quanti campioni si prendono al secondo. Resta sempre la stessa, e fissa la frequenza più alta che si può vedere: Nyquist, 500 Hz;
- la distanza tra i bin è . Siccome , dove è la durata della misura, vale semplicemente : dipende solo dalla durata.
Con 2 secondi si hanno campioni e i bin sono distanti Hz. Con 2,5 secondi si hanno campioni e i bin sono distanti Hz. In entrambi i casi i bin arrivano fino a 500 Hz; il grafico mostra solo il tratto tra 0 e 3 Hz, dove si trovano le componenti del segnale.
Con 2 secondi () i bin sono ogni 0,5 Hz. Le frequenze 1 e 2 Hz cadono esattamente su un bin, e la FFT restituisce i valori giusti: 5 a 0 Hz, 0,8 a 1 Hz, 0,3 a 2 Hz, zero altrove.
Con 2,5 secondi () i bin sono ogni 0,4 Hz: ce n'è uno a 0,8 e uno a 1,2 Hz, ma nessuno a 1 Hz. L'ampiezza della sinusoide a 1 Hz si sparge sui bin vicini (0,57 e 0,46) e un po' anche su quelli lontani. Non si "divide" nel senso della somma, perché 0,57 + 0,46 supera 0,8: quella che si conserva è la potenza, cioè la somma dei quadrati. Il leakage arriva anche nei bin delle altre componenti: il bin a 2 Hz vale 0,31 invece di 0,3, quello a 0 Hz 5,10 invece di 5. Questo effetto si chiama leakage spettrale (leakage in inglese vuol dire "fuoriuscita").
Perché succede. La DFT dà per scontato che gli campioni siano un periodo di un segnale che si ripete all'infinito. In 2 secondi la sinusoide a 1 Hz fa due giri completi: ripetendo la misura, la fine si raccorda con l'inizio. In 2,5 secondi fa due giri e mezzo: ripetendola, alla giunzione c'è un salto. Un salto non è una sinusoide, e per descriverlo servono componenti a molte frequenze.
Con segnali reali le frequenze non si conoscono in anticipo, quindi il leakage c'è quasi sempre. Per limitarlo si può misurare più a lungo, così i bin sono più fitti e l'ampiezza si sparge su una banda più stretta attorno alla frequenza vera.
Riepilogo
- Un segnale discreto è una sequenza di campioni; si misura con l'energia se è finita, altrimenti con la potenza (e il valore efficace).
- La DTFT scompone il segnale in sinusoidi: è periodica di , e per segnali reali basta guardarla tra 0 e , cioè fino a .
- La DFT è la versione calcolabile, su campioni: bin a , risoluzione . La FFT la calcola in fretta.
- La DFT presuppone un segnale periodico: se la misura non contiene periodi interi, l'ampiezza si sparge sui bin vicini (leakage).