I am trying to implement a multirate fft system to try and achieve frequency windowed analysis of audio.

Say I have managed to get an impulse response of a system. This impulse may be say one second long, but actually the particular time of interest is only 400ms long, and there are other noises in the impulse at this time that did not come from the source of interest.

I would like to split the signal into sub bands, use different window lengths on each sub band, perform an fft of each band, and view the entire spectrum result at once. If I window my entire impulse to just the area of interest, I end up high passing the result as the window length is too small. However making it any larger ends up letting in unwanted information in the higher frequencies that may result in comb filtering, so I would like to be able to vary this windowing.

Reading up, I believe computationally, using a multirate system is the best way to go. I can quickly break the impulse into 2 or 3 sub bands, window each sub band with the appropriate window length, decimate the signal and then perform an fft on this.

I have read that I also need to perform a low pass filter on this prior to the fft to guarantee that the highest frequency for each band is the nyquist of the sampling frequency. Do I also need to perform a high pass?

If I am using decimation, I am decreasing the sample rate, and removing x amount of samples every y samples. So that I can perform my fft on all bands and add the results together, should I then interpolate the decimated signal to keep my end sample rate t he same? meaning that the frequency bins for each fft will be the same.

Any pointers would be great.



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.