Estrarre frequenze da FFT


15

Ho eseguito FFT a 512 punti su un segnale. Ho ricevuto un altro set di 512 numeri. Capisco che quei numeri rappresentano l'ampiezza delle varie onde sinusoidali e coseno con frequenze diverse.

Se la mia comprensione è corretta qualcuno può dirmi come conoscere le frequenze di quelle onde sinusoidali e coseno dalla conoscenza di quei 512 numeri (cioè le ampiezze)?

Risposte:


16

Supponendo che i tuoi 512 campioni del segnale siano prelevati in un freqeuncy di campionamento , i 512 coefficienti FFT risultanti corrispondono alle frequenze:fS

0, , 2 f_s / 512 , \ ldots , 511 f_s / 512fS/5122fS/512...511fS/512

Dato che hai a che fare con segnali a tempo discreto, le trasformazioni di Fourier sono periodiche e FFT non fa eccezione.

Quindi puoi pensare al tuo ultimo coefficiente come corrispondente anche alla frequenza 511fS/512=(511-512)fS/512=-1fS/512 .

Lo stesso vale per il penultimo coefficiente e così via. Questo è il mirroring commentato da Daniel Hicks.

Inoltre, se stai trasformando un segnale reale, tutte le tue informazioni sono contenute nei primi 256 coefficienti FFT. Il resto sono semplicemente coniugati complessi dei primi coefficienti.


7

Mi fa sempre male la testa, ma prima capisci che hai solo 256 frequenze. A seconda dell'algoritmo utilizzato, i secondi 256 sono solo uno specchio del primo o rappresentano i componenti immaginari corrispondenti ai componenti reali nei primi 256.

Comprendi anche che la risoluzione in frequenza di una FFT arriva solo alla metà della frequenza di campionamento, quindi se esegui il campionamento a 10.000 campioni al secondo, la frequenza massima risolta sarà di 5.000 Hz.

Da lì puoi in qualche modo capirlo. Supponiamo che tu abbia 256 bucket, il più alto che rappresenta 5000Hz e il più basso che rappresenta DC. Ogni bucket ha una larghezza dello spettro di 5000/256 Hz, quindi lo zero inizia a DC, il primo inizia a 19,5Hz, il secondo a 39Hz, ecc.

Ad ogni modo, è così che l'ho sempre capito.


7

Innanzitutto, i coefficienti FFT ottenuti non sono suddivisi in 256 coefficienti seno e 256 coseni. Questi sono i coefficienti degli esponenziali complessi di cui è composto il tuo segnale. Se il tuo segnale di ingresso è reale, solo 257 di questi coefficienti trasportano informazioni utili (componente DC; 255 componenti; componente frequenza nyquist; quindi il coniugato dei 255 componenti, l'unica informazione che trasportano è che il tuo segnale ha una parte immaginaria nulla) . Il modulo del coefficiente porta informazioni sull'ampiezza, l'angolo porta informazioni sulla fase, l'ampiezza del coseno della parte reale e l'ampiezza del seno della parte immaginaria; e un componente di indice contengono informazioni sulla frequenza dove è la dimensione FFT eioioNSrNSr la tua frequenza di campionamento.


1

Juancho risponde alla domanda, ma sento che dovrei sottolineare in ulteriori discussioni che in generale l'input alla DFT / FFT non è strettamente reale, e quindi le frequenze negative o maggiori di Nyquist contengono informazioni diverse da un coniugato del Dati Fs / 2.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.