# How to do the highest resolution FFT?

I wish to do the FFT of streaming audio data coming into a computer. I am just interested in frequencies from 80 Hz up to 1000 Hz but with a frequency resolution of 3 to 4 Hz and no more.

Basically my question is , as my sampling frequency (Fs) is 44100, will my FFT window size have to be no less than 11025 (N) ? (because spacing of FFT bins = Fs/N). Does this mean that I am completely limited to taking windows of data any higher than 4 times a second with my desired resolution.

Unfortunately I need to be able to capture windows of data 8 times a second and also have a resolution of 3 to 4 Hz.

Is this actually possible? Many thanks in advance.

• Can your windows not overlap? Apr 11 '16 at 15:58
• What do you mean exactly? Apr 11 '16 at 19:03
• If you want the DFT to have that resolution, then, yes, you will have to use 11025 data samples (this does not include zeropadding, which does not improve resolution but often helps by decreasing the frequency sample spacing). However, if you can overlap your windows, then you can still get 8 per second. For instance, use samples 0-11024 on the first one and then 5512-16536 on the second one. The data in the separate windows will not be independent anymore, but I don't know if that matters to you. Apr 11 '16 at 20:05
• I'm looking for note changes from a violin at around 8 times a second. If the windows will be overlapped, i'm not sure if this will be an issue. Why won't padding zeros to windows of size 5512 samples to increase the sizes to 11025 not work? Isn't decreasing the frequency sample spacing the same as increasing the frequency resolution? Btw, thanks alot for your replies Apr 12 '16 at 14:06
• For violin sounds, you need to find a pitch detection/estimation algorithm. An FFT frequency estimator will often give you wrong results because musical pitch is different from spectral frequency, especially with stringed instruments. Apr 12 '16 at 15:11