Tuesday, May 23, 2017

filters - Can you increase frequency resolution of FFT without increasing window size?



I'd like to use STFT for multipitch analysis. I realise detecting the partials existing in the signal is just the beginning. Still I have problem with it.


Let's say I have signal sampled with 'CD' frequency 44100Hz. With window of 1024 samples I get frequency bin resolution of 22500Hz/512=43Hz. This is enough only to discern high piano notes like: C5 = 523.251Hz and C#5 = 554.365.


I used to think 1024 is quite a large window. But maybe it isn't and normally larger windows are used for detecting partials?


Can frequency resolution be increased with some other method than increasing window size, which worsens time resolution? I thought of two methods:


Method1:



  1. Divide signal into frequency bands with bandpassfilters (for example 0-11.25Hz and 11.25-22.5Hz).

  2. Downsample higher bands so that original high frequencies will be now low frequencies (so do it for second band 11.25-22.5Hz -> 0Hz-22.5Hz) - not sure this is possible.

  3. Concat resulting bins sets with adjusted labels.



Method2:



  1. Use series of lowpass filters with increasing limit.

  2. Perform FFT on increasing frequency ranges.

  3. For each frequency use best possible resolution (bins from the first FFT in which this frequency was included).

  4. This will cause low frequencies to have better resolution but I think this is ok because for higher notes the frequency difference is grater.


I will be grateful any remarks on this issues.


I also read here: How do window size, sample rate influence FFT pitch estimation? about method of improving peak picking results. I think will try to use it.




No comments:

Post a Comment

periodic trends - Comparing radii in lithium, beryllium, magnesium, aluminium and sodium ions

Apparently the of last four, $\ce{Mg^2+}$ is closest in radius to $\ce{Li+}$. Is this true, and if so, why would a whole larger shell ($\ce{...