Why is FFT spectrum of a 260 Hz cycle so broad-looking?

Juan Novaron's icon

Why is FFT spectrum of a 260 Hz cycle so broad-looking? Why not like a sharp-needle if it is only a single sinusoidal of 260 Hz?

Thank you!

fft-260-Hz.jpg
jpg
David's icon

What FFT-Size do you use? Might be too small.
Other than that, it's hard to give you any advice without seeing the patch.

Juan Novaron's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Here is the patch. My question is about what are the theoretical reasons for the peak to be broad and centered at the sinusoidal frequency. I would have expected the fft spectra just give one point at frequency X and amplitud Y.

David's icon

Ah ok. If you set the domain attribute of the spectroscope object to 0-22050, it looks almost like a needle. It looks broad, because you "zoom in" very deep.

The reason, why it's not giving you exactly one point, lies in the nature of the fourier transform. For example, if you have a signal that is 512 samples long (around 86 Hz at 44,1 kHz samplerate), the FFT will tell you how to recreate this signal with sinewaves of the frequencies: 86Hz, 172Hz,258Hz,344Hz, 430Hz... and so on. Only integer multiples of the lowest frequency that "fits" into the 512 samples.

Now if the frequency of the sinewave, that you use as an input to the fft lies between these integer multiples (let's say 100Hz in our example) it cannot be recreated by using only one sinewave, but by using a "mixture" of the 86Hz and the 172Hz sinoid. Therefore you won't see a "needle" in the spectrogramm but a "hill".

The spectroscope object probably uses a larger window size than 512 samples but still, the frequency of your input wave is very likely to lie between two integer multiples of the lowest frequency it can analyze.

Sorry, english is not my native language and this is a complex topic to explain. If you want to know more about it: at www.dspguide.com it is explained very well and you don't even need to much math to understand it.

Juan Novaron's icon

Thank you so much. This was a great explanation. I didn't know FFT was so close dependent to sample (512) window and sample rate. So, if the FFT is 512, it will use frequencies multiples of 86 Hz to recreate the spectrum of the incoming signal?
THank you!

hardcoder's icon

In other words: if your sampling rate is 44100 Hz and your fft has 512 points, the frequency resolution of your spectrum is 44100 Hz / 512 = 86.13 Hz.