La FFT, o trasformata di Fourier veloce, è un modo rapido per calcolare la trasformata discreta di Fourier (DFT). Se parti da campioni equidistanti, la DFT ti dice quanto di ciascuno schema di frequenza discreto è presente in quei campioni.
Il punto importante è che la FFT non cambia il risultato. Fornisce gli stessi valori della DFT ottenuti con la formula diretta, ma ci arriva con molto meno lavoro ripetuto.
FFT in una frase
La FFT è un algoritmo più veloce per ottenere gli stessi numeri nel dominio della frequenza già definiti dalla DFT.
Che cosa misura la DFT
Supponi di avere campioni . La DFT produce numeri definiti da
Ogni misura quanto fortemente i dati corrispondono a uno schema di frequenza discreto.
Se i campioni sono equidistanti con frequenza di campionamento , allora i bin di frequenza adiacenti sono separati da
Questa condizione è importante. Senza una frequenza di campionamento nota, hai comunque i bin della DFT, ma non puoi etichettarli come frequenze fisiche, per esempio in hertz.
Perché la FFT è più veloce
La FFT è una famiglia di algoritmi per calcolare la DFT in modo efficiente. L’idea principale è riutilizzare la struttura dei fattori esponenziali complessi invece di ricalcolare da zero somme quasi identiche.
La versione più facile da visualizzare è la FFT radix-2. Funziona in modo più naturale quando è una potenza di , e divide una trasformata di lunghezza in due trasformate di lunghezza prima di combinare i risultati.
Per la DFT diretta, la quantità di calcoli cresce dell’ordine di . Per i metodi FFT più comuni, scende a circa .
È questa differenza che rende la FFT importante nella pratica. Per input piccoli, entrambi i metodi possono sembrare accettabili. Per input grandi, la FFT è enormemente più veloce.
Come la FFT divide il lavoro
Invece di confrontare direttamente ogni campione con ogni schema di frequenza, la FFT scompone il problema in trasformate più piccole e poi le ricombina con fattori di fase.
Una suddivisione standard è:
- Metti i campioni con indice pari in un elenco.
- Metti i campioni con indice dispari in un altro elenco.
- Calcola trasformate più piccole su questi elenchi.
- Combina le due metà.
Questo è il principio del divide et impera applicato all’analisi in frequenza.
Esempio di FFT a 4 punti
Prendi il segnale a 4 punti
Questo schema alterna e , quindi ci aspettiamo una certa struttura in frequenza invece di un risultato completamente piatto.
Dividilo in indici pari e dispari:
La DFT a 2 punti della parte pari è
e la DFT a 2 punti della parte dispari è
Per una FFT a 4 punti, il passaggio di combinazione è
dove
Poiché , la combinazione è particolarmente semplice:
Ora interpreta il risultato.
è il termine a frequenza zero, quindi riflette il valore medio non nullo dei campioni. Il valore non nullo in cattura la parte alternata dello schema in questo caso a 4 punti. Se prima sottrai la media, il termine scompare e la componente alternata risalta più chiaramente.
Questo esempio è piccolo, ma l’idea si estende: risolvi trasformate più piccole, poi combinane i risultati invece di ricostruire ogni volta l’intera somma.
Errori comuni sulla FFT
Trattare FFT e DFT come risultati diversi
Non lo sono. La FFT è un metodo più veloce per calcolare la DFT.
Leggere i bin come frequenze fisiche troppo presto
Le posizioni dei bin diventano frequenze fisiche solo quando è nota la spaziatura dei campioni. Se la frequenza di campionamento è , allora la spaziatura tra i bin è per campioni equidistanti.
Supporre che lo zero-padding aggiunga nuove informazioni
Lo zero-padding può far apparire uno spettro più liscio perché campiona la trasformata sottostante in modo più fine, ma non aggiunge nuovi dati misurati.
Ignorare la preparazione del segnale
La rimozione della media, l’applicazione di finestre e scelte accurate di campionamento possono contare molto. Se queste condizioni vengono ignorate, l’output della FFT può essere ancora matematicamente corretto per i campioni dati, ma fuorviante nell’interpretazione.
Dove si usa la FFT
La FFT compare ovunque servano informazioni rapide nel dominio della frequenza a partire da dati campionati. Esempi comuni includono analisi spettrale, filtraggio, elaborazione di immagini, analisi delle vibrazioni, risoluzione numerica di equazioni differenziali e calcoli rapidi di polinomi o convoluzioni.
Il motivo è pratico: molte operazioni diventano più semplici o più veloci dopo il passaggio dal dominio dei campioni al dominio della frequenza.
Prova un caso simile
Prendi campioni equidistanti di un’onda sinusoidale su un periodo completo e calcola la DFT con una calcolatrice o uno script. Poi aggiungi un offset costante e confronta il nuovo output. Il valore più grande in è un modo semplice per vedere che cosa separa la FFT.
Hai bisogno di aiuto con un problema?
Carica la tua domanda e ottieni una soluzione verificata, passo dopo passo, in pochi secondi.
Apri GPAI Solver →