Skip to content

Help

Fast Fourier Transform

1. How FFT Works

Please watch this helpful Video on youtube to understand how FFT works:

  • The number of frequency points in FFT spectrum is related to the number sample points of waveform.

$$ Number\ of\ Frequency \ Points = \frac{N=Number\ Data\ Points}{2} \ $$

  • After deleting the data behind the Nyquist limit, the magnitudes should be doubled and divided by the number of samples.

2. Frequency Resolution

The output of find_peaks method itself doesn't match with the real data and there is an offset while plotting the raw results. Therefore the results should be corrected.

The problem is apparently the fact that the find_peaks method in scipy.signal has a frequency resolution of 1 Hz, therefore since we are dealing with a continuous frequency spectrum, the frequency resolution should be reformed by multiplying the obtained peak frequencies by the frequency resolution of our present waveform.

$$ \Delta F\ (Frequency\ Resolution) = \frac{Fs= Sample\ Rate}{N=number\ of\ sample\ points} $$

$$ Corrected\ Peak\ Values=(Current\ Peak\ Values)\times\Delta F $$

For further details please check Frequency Resolution in FFT Spectrum