Note_FFT

2
Note sulla trasformata veloce di Fourier FFT Sappiamo che l’operatore matematico trasformata di Fourier consente di passare, per un qualunque segnale continuo x(t), dal dominio del tempo al dominio della frequenza (frequenza spettrale o frequenza di Fourier appunto), ottenendo lo spetto di ampiezza X(f) del segnale medesimo. Il calcolo analitico della trasformata di Fourier dei segnali reali , ad es. delle forme d’onda di un sistema di TLC in funzione del tempo, può essere più o meno difficile a seconda della complessità degli stessi e delle conoscenze matematiche dell’operatore umano che deve eseguire la trasformata. Con l’avvento delle macchine di calcolo evolute, oggi spesso “semplici PC”, e grazie al sempre maggiore impiego di segnali campionati (dunque discreti nel tempo e con una rappresentazione numerica dell’ampiezza) è divenuto di grande interesse pratico un particolare algoritmo di calcolo detto FFT (Fast Fourier Transform). La FFT consente di calcolare rapidamente la trasformata di Fourier discreta di un insieme N di campioni del segnale. La trasformata di Fourier per punti sarà dunque un nuovo vettore X i (f), nel dominio delle frequenze Xk(f) Xi(f)=FFT{xi(t)} con i=1,2,…,N e k=1,2,…,N+1 che rappresenta (simbolo ) lo spettro d’ampiezza del segnale, X i (f). Ricordiamo che la trasformata di Fourier di un segnale reale è un segnale complesso con modulo e fase rispettivamente simmetrico e antisimmetrica rispetto all’origine dell’asse delle frequenze. Lo stesso vale per le componenti del vettore X k (f). Considerazioni pratiche e note di approfondimento sulla FFT dal dominio temporale a quello della frequenza spettrale Notiamo che se per il segnale campionato l’asse dei tempi si estende da 0 a T con passo T c , l’asse delle frequenze spettrali si estenderà da –f Nyquist a +f Nyquist (intervallo simmetrico e spettro bilatero, ossia con frequenze positive e negative) con passo Δf=1/T. Dunque la risoluzione spettrale (distanza in frequenza tra due campioni adiacenti) dipende inversamente dal tempo di osservazione T. Per avere una buona risoluzione in frequenza, Δf piccolo, dovremo osservare il segnale x(T) per un tempo di osservazione T abbastanza lungo. Inoltre, la frequenza di Nyquist, ossia la massima frequenza spettrale ricostruibile da un segnale campionato con frequenza di campionamento fc è pari a fNyquist=fc/2. Pertanto la massima frequenza spettrale osservabile dipende direttamente dalla frequenza di campionamento f c e dunque inversamente dall’intervallo di campionamento T c . Per osservare lo

description

fft

Transcript of Note_FFT

Page 1: Note_FFT

Note sulla trasformata veloce di Fourier FFT Sappiamo che l’operatore matematico trasformata di Fourier consente di passare, per un qualunque segnale continuo x(t), dal dominio del tempo al dominio della frequenza (frequenza spettrale o frequenza di Fourier appunto), ottenendo lo spetto di ampiezza X(f) del segnale medesimo. Il calcolo analitico della trasformata di Fourier dei segnali reali, ad es. delle forme d’onda di un sistema di TLC in funzione del tempo, può essere più o meno difficile a seconda della complessità degli stessi e delle conoscenze matematiche dell’operatore umano che deve eseguire la trasformata. Con l’avvento delle macchine di calcolo evolute, oggi spesso “semplici PC”, e grazie al sempre maggiore impiego di segnali campionati (dunque discreti nel tempo e con una rappresentazione numerica dell’ampiezza) è divenuto di grande interesse pratico un particolare algoritmo di calcolo detto FFT (Fast Fourier Transform). La FFT consente di calcolare rapidamente la trasformata di Fourier discreta di un insieme N di campioni del segnale. La trasformata di Fourier per punti sarà dunque un nuovo vettore Xi(f), nel dominio delle frequenze

Xk(f) ↔ Xi(f)=FFT{xi(t)} con i=1,2,…,N e k=1,2,…,N+1 che rappresenta (simbolo ↔) lo spettro d’ampiezza del segnale, Xi(f). Ricordiamo che la trasformata di Fourier di un segnale reale è un segnale complesso con modulo e fase rispettivamente simmetrico e antisimmetrica rispetto all’origine dell’asse delle frequenze. Lo stesso vale per le componenti del vettore Xk(f). Considerazioni pratiche e note di approfondimento sulla FFT dal dominio temporale a quello della frequenza spettrale Notiamo che se per il segnale campionato l’asse dei tempi si estende da 0 a T con passo Tc, l’asse delle frequenze spettrali si estenderà da –fNyquist a +fNyquist (intervallo simmetrico e spettro bilatero, ossia con frequenze positive e negative) con passo Δf=1/T. Dunque la risoluzione spettrale (distanza in frequenza tra due campioni adiacenti) dipende inversamente dal tempo di osservazione T. Per avere una buona risoluzione in frequenza, Δf piccolo, dovremo osservare il segnale x(T) per un tempo di osservazione T abbastanza lungo. Inoltre, la frequenza di Nyquist, ossia la massima frequenza spettrale ricostruibile da un segnale campionato con frequenza di campionamento fc è pari a fNyquist=fc/2. Pertanto la massima frequenza spettrale osservabile dipende direttamente dalla frequenza di campionamento fc e dunque inversamente dall’intervallo di campionamento Tc. Per osservare lo

Page 2: Note_FFT

spettro del segnale su un ampio intervallo di frequenza, [–fNyquist, +fNyquist], bisogna utilizzare una frequenza di campionamento fc sufficientemente elevata o, corrispondentemente, un intervallo di campionamento Tc sufficientemente breve. NOTE DI APPROFONDIMENTO [parte facoltativa, e di una certa difficoltà] Si segnala che per il calcolo dell’algoritmo FFT, N deve essere una potenza di 2 e dunque risulta essere un numero pari. Supponiamo ora di voler calcolare la FFT di un segnale x(t) campionato nel tempo e noto mediante N suoi campioni (valori numerici acquisiti in particolari istanti di tempo). Possiamo immaginare che i campioni/punti siano stati prelevati nel dominio del tempo [ xi(t)=x(ti)=x((i-1)Tc) con i=1,2,…,N ], con passo o intervallo di campionamento Tc e dunque su un tempo di osservazione T=(N-1)Tc. Ovviamente, Tc=1/fc dove fc è la frequenza di campionamento. Per il vettore xi(t) possiamo considerare un asse temporale ti(i)=(i-1)Tc. Ora, la FFT del vettore xi(t) di N punti ci dovrà fornire in un vettore Xi(f), sempre di N punti, dal quale sia possibile ricavare lo spettro discreto Xk(f) del segnale. Essendo l’asse delle frequenze per Xk(f) simmetrico rispetto all’origine e corrispondente a un intervallo [-fNyquist, +fNyquist] con spaziatura Δf, il vettore delle frequenze per Xk(f), fk(k) sarà costituito da N+1 punti come [-(N/2)Δf, -(N/2-1)Δf,…, -Δf, 0, +Δf,…, +(N/2-1)Δf, +(N/2)Δf]. Date le proprietà di simmetria della trasformata di Fourier di un segnale reale, degli N+1 punti di Xk(f) solo N/2+1 sono indipendenti (i valori dello spettro per frequenze negative possono essere ricavati dai corrispondenti valori per le frequenze positive, eseguendo il calcolo del numero complesso coniugato). Tuttavia, la FFT fornisce un vettore Xi(f) di N punti spettrali dei quali N/2+1 sono strettamente necessari alla ricostruzione dello spettro Xk(f) (punti indipendenti) mentre i rimanenti N/2-1 sono ridondanti. Il vettore Xi(f) sarà dunque così costituito:

i f k 1 0 N/2+1 2 Δf N/2+2 3 2Δf N/2+3 … … …

1≤p≤N/2+1 (p-1)Δf N/2+p … … …

N/2-1 (N/2-2)Δf N-1 N/2 (N/2-1)Δf N

N/2+1 (N/2)Δf N+1 N/2+1 -(N/2)Δf 1 N/2+2 -(N/2-1)Δf 2 N/2+3 -(N/2-2)Δf 3 … … …

N/2+1≤q≤N -(N-(q-1))Δf q-N/2 … … …

N-2 -3Δf N/2-2 N-1 -2Δf N/2-1 N -Δf N/2