Can you simulate the "response time" of a lower window size FFT on a higher window size?

That is, is it possible to calculate the equivalent lower window sized FFTs from a higher one in order to iterate over the equivalent e.g. 128 window sized FFTs, but plot the higher one e.g. 8192 samples window size?

This is a problem in e.g. when one is sampling at a higher window size for the FFT, but some signal parts (e.g. strong amplitude peaks in audio) appear at a faster pace and are thus "missed" by the FFT. Or not necessarily the FFT, but any processing that uses that higher window size FFT.

What I therefore need is the visible resolution of a higher window size and the faster response of a lower window size.

My application (in audio) requires me to be able to track frequencies that follow closely to the beats of the audio. If e.g. a drum loop plays at a high bpm, then a 8192 samples FFT might be too slow to be done reading form since it changes slower than the drum loop's frequencies.

  • $\begingroup$ If you sample in a high enough frequency you will get the information you want. You can not "miss" frequencies that are higher in rate, they will collapse into lower frequencies. May be you mean that you have peaks in the audio signal which are not repeated regularly. They will smeared on many frequencies, and than they are not visible. If you will describe better your signal you might get better insight here. $\endgroup$ – Moti Aug 15 '15 at 21:27
  • $\begingroup$ @Moti Does high here mean more samples (high as in more samples) or less samples (high as in faster in time)? $\endgroup$ – mavavilj Aug 15 '15 at 21:48
  • $\begingroup$ I could though merely do the FFT at every 128 samples as well as the 8192. Then just plot at the 8192, use the smaller ones for analysis. $\endgroup$ – mavavilj Aug 15 '15 at 21:54
  • $\begingroup$ High as in higher sampling rate. What you mean by faster in time? Do you understand how the FFT works? Keeping the sampling rate, but doing it in groups of 128 points, you will have a lower resolution of frequency (higher frequencies) but you will get information sooner (after 128 samples) $\endgroup$ – Moti Aug 16 '15 at 21:40
  • $\begingroup$ So you mean the FFT extends to the high frequencies as the window size is increased? I thought the bins are always spread across the audio bandwidth (samplerate/2), but with lower window size one has wider bins and thus less precision. $\endgroup$ – mavavilj Aug 16 '15 at 21:42

No. The time of accumulation will determine the resolution of frequencies - how far are measures separated.

  • $\begingroup$ So what alternatives/compromises exist for having a high accuracy FFT, but a faster response? Bandpassing the signal prior to taking the FFT so a lower window size suffices for detection of the frequencies? $\endgroup$ – mavavilj Aug 17 '15 at 0:15
  • $\begingroup$ The way to attack the problem is to first specify what is the signal you are interested in - bandwidth, what frequencies, how fast - FFT is a tool and you need to understand and learn how to use it. Start with describing your signal. $\endgroup$ – Moti Aug 17 '15 at 0:52
  • $\begingroup$ It explains that "simulation" depends on what you want to achieve, And the answer is: NO. $\endgroup$ – Moti Aug 18 '15 at 3:32

To bypass the direct question, and answer the underlying question: You can gain a higher temporal resolution without giving up on frequency resolution by using overlapping FFT frames. You keep a data buffer of 8192 samples. Every 128 samples, you discard the oldest 128 out of those 8192 samples, shift the remaining 8064 samples, and add those 128 new samples. You then apply the window function on those 8192 samples, followed by the 8192 point FFT.

As 8192/128 = 64, you see that every individual sample will contribute to 64 different FFT's. The result is an overrepresentation - it contains a lot of redundant information. You could discard 63 out of every 64 FFT's, call the IFFT on that 64th FFT and still get back the original (windowed) signal.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.