Fast Fourier Transformation (FFT) on low sampling rate data

16 vues (au cours des 30 derniers jours)
Adib Yusof
Adib Yusof le 6 Nov 2017
Commenté : Adib Yusof le 7 Nov 2017
I am studying 1 year geomagnetic data that has sampling rate of 1 minute. I need to perform Fast Fourier Transformation to distinguish different frequencies in my data but my main interest is to focus on the frequency between 0.01 to 0.1 Hz. My question is, is it even possible since according to my readings, I need higher resolution data, e.g: 1 sec. If it's im/possible, why? Thanks.

Réponse acceptée

David Goodmanson
David Goodmanson le 6 Nov 2017
Modifié(e) : David Goodmanson le 6 Nov 2017
Hi Muhammed,
The highest frequency that you can get to with the fft is the Nyquist frequency, which is half the sampling rate. This is (1/2)*(1/60) which is .0083 Hz, approximately .01 Hz. Even that is pushing it quite a bit in terms of data quality.
As you suspected, you are at least a factor of 10 short in the data rate.
(To represent an oscillation you need to see the signal go up and then down, so you need at least two time samples per cycle, or no more than 1/2 cycle per time sample. Working back from that gives the expression above).
At .1 Hz and 60 sec sampling time you would have 6 cycles per sample.
  3 commentaires
David Goodmanson
David Goodmanson le 7 Nov 2017
There are about 3.2e7 seconds in a year, and Matlab can easily do an fft of that size. If you split the data into, say, one-week pieces then none of those ffts can have anything to say about oscillations that take more than about a week, so you lose low frequency data.
You might want to look into some alternatives to the straight fft such as the periodogram and Welch's method.
Adib Yusof
Adib Yusof le 7 Nov 2017
Thank you very much David you have been such a great help! Wishing you a good day! :)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Fourier Analysis and Filtering dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by