Hello, Im new to dsp related stuff and fft. My problem is that i have low frequency data that i want to analyze. Assume a time signal like this which has time length of 1 sec. /----------\ / \ ---/ \--- Normaly my fft gives me results that my fundamental frequencies are below 1 Hz. My question is now how can i get those low frequencies, lets say in the range of 0.1 Hz - 1Hz? Has this something to do with up and downsampling? And if so how is it done? Thanks and regards for any information. Andre This message was sent using the Comp.DSP web interface on www.DSPRelated.com
low frequency FFT
Started by ●August 15, 2005
Reply by ●August 15, 20052005-08-15
andresz wrote:> Hello, > > Im new to dsp related stuff and fft. My problem is that i have low > frequency data that i want to analyze. > Assume a time signal like this which has time length of 1 sec. > > /----------\ > / \ > ---/ \--- > > Normaly my fft gives me results that my fundamental frequencies are below > 1 Hz. My question is now how can i get those low frequencies, lets say in > the range of 0.1 Hz - 1Hz? Has this something to do with up and > downsampling? And if so how is it done? > > Thanks and regards for any information.An FFT gives results that are consistent with the signal's being repeated indefinitely, with exactly one period having been given. The lowest frequency that can be represented by a second's worth of data is 1 Hz. To reveal anything about 1/2 Hz, requires two second's worth of data, and so on. An FFT will have a zeroth result that gives the DC (or average of all the samples). Some of the actual signal energy at frequencies below one Hz will find it's way there simply because fractional cycles of sinusoids have a non-zero average value. Without data spanning a longer interval, there's no way to know what they are. With only one second's worth of data, the next higher result of a correct FFT will be nominally about one Hz. (Here, I ignore "spectral leakage".) Jerry. Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●August 15, 20052005-08-15
Hi, When doing FFT analysis there are two main things you have to consider: 1) the maximum frequency that you can represent based on your sampling rate and 2) the frequency resolution The maximum frequency you can analyze in the FFT is equal to half your sampling frequency. If you want your frequency range to be between 0-1Hz than you have to sample your signal at *at least* 2Hz (in practice however you should sample it at 5 Hz). ***Make sure you filter your signal with a low-pass filter with cut-off equal to your sampling frequency before sampling it in order to avoid aliasing***. The frequency resolution depends on your frequency range and how long you sample your signal for. If your range is from 0-1 Hz and you want a sampling resolution of 0.1 Hz, than you will need 2*10 =20 samples (the frequency spectrum is symetrical). Sampling at 5 Hz, this will require: 20/5= 4 seconds of data. There will always be this trade-off between time and frequency resolution...if you want to have better frequency resolution using the FFT, you will need to sample your signal for a longer time. hth...