Forums

multi windowing and combining fft

Started by Samp17 3 months ago4 replieslatest reply 3 months ago95 views

I have made an impulse response of an acoustical system.  I have windowed this impulse response to filter any reflections.  The window length used on this impulse defines the frequency resolution of the FFT, and importantly defines the usable low frequency. If I lengthen the window by a lot, I gain frequency resolution in the lower frequencies, but at the cost of letting more reflections into the measurement in the higher frequencies.  


What I would like to achieve is to use two windows, one that is user definable to filter the high reflections, and then a longer one that will take the usable resolution down to 20Hz.  I can do this, however I do not know how to 'glue' the two results together.  

Both magnitude and Phase plots should be made up of the result of the two FFT windows, but I do not know if I can literally pick a crossover frequency based on the shorter window length, and then use the results of the longer window for everything above this.


[ - ]
Reply by dudelsoundJuly 31, 2019
I know I don't answer your question, but to me you seem to have a error in your assumption: You are talking about 'high' reflections - indicating they are relevant for high frequency content only. But in generall they also alter your low frequency response and thus using a larger window will not help you improve the measurement result for the low frequency behaviour of the initial impulse...
[ - ]
Reply by drmikeJuly 31, 2019

Your description leaves me a bit confused.  Even with dispersion, you will have the same number of reflections at all frequencies even in a stadium.  If you know the size of your system you can limit the collection time based on the speed of sound.  How big is your system, and how low a frequency do you need to get to?

[ - ]
Reply by Samp17July 31, 2019

Thanks for your reply.  This is about coming up with a system that is easy to manipulate to quantify data.  So this is not expected to measure once, leave a fixed window and expect the frequency-magnitude spectrum to be 100% accurate, that would be ridiculous (plus I would be rich if that were the case!)
It is designed to make suitable calls when looking at system EQ for the HF, getting rid of these interactions and smoothing the response by altering the window.  This way we know any EQ we apply, is for the audio system only, and not what the room may be offering as well.  However we know this to be good up to a point, so yes, we are going to have to take a longer window time to gain frequency resolution in the low end, and for this, the same reflections are going to be introduced to our measurement in these lower frequencies. There is little we can do to limit this, however we are still windowing the impulse in the lower frequency domain, so filtering out a large part of the room interactions.  

I am hoping that I can gain enough insight into these interactions using coherence and group delay so that the user knows when to either move the microphone or use baffles to limit reflections.  

The end goal is to be able to use this application as a tool for any system, from small home cinema tuning, to stadium and festival systems. Forgive me if this seems a bit naive, I am not the most knowledgable on this, just a very keen hobbyist!  

[ - ]
Reply by drmikeJuly 31, 2019

There is more to "resolution" than bin size.  Suppose you want to measure the center of a specific peak.  If you take 10 measurements and then average all of them you will get a more accurate result than what any one of the measurements tells you.  If you take 10 measurements of short duration and 10 measurements of long duration you can average out the high frequency data and subtract it from the higher bin resolution data.  I would bet there are books written on these kinds of averaging techniques - but I've never looked for them.  I think that is what will work - you want to measure as much as possible and use the measurements to pull out the region of interest.  Should be fun!