And how you know that you are not truncating anything if you gate it where the first reflection comes? Whether it is at 5ms or 10ms, whatever. You can't see the data you need because of the reflection. This is what it's all about. That and the inherent frequency resolution from FFT.First, I'd like to say that your last example using the figures from HOLM is a very poor one, Mbat. You are in effect truncating part of the initial impulse, so there is no surprise that there are changes to the resulting frequency response.
Sorry, I don't buy this "adding information by adding zeroes" stuff. It is absurd. It's just the way of making the data look smooth on a plot or to fill the FFT size as it's usually power of two, which reduces computation time.
Last edited:
And how you know that you are not truncating anything if you gate it where the first reflection comes? Whether it is at 5ms or 10ms, whatever. You can't see the data you need because of the reflection. This is what it's all about. That and the inherent frequency resolution from FFT.
Sorry, I don't buy this "adding information by adding zeroes" stuff. It is absurd. It's just the way of making the data look smooth on a plot or to fill the FFT size as it's usually power of two, which reduces computation time.
We are not talking about arbitrary signals here. We know we are talking about impulse responses, right? In the general sense you can NOT add information by padding the time domain response with zeros, because an arbitrary signal might still have something going on there. But an impulse response has the characteristic of dying out to zero (eventually) in the time domain, so zeros are indeed a good representation of the long time limit of the impulse, or for higher frequencies. This is why zeroing the data and padding with zeros works.
The "Lecture 9" example uses a continuous signal. This is a completely different animal compared to an impulse response. In that case they are completely correct in saying that padding with zeros is not adding any new information. Zeros do not represent the signal.
See the example from Toole, page 382 😱
Oh BTW, FFT works allways the same, it doesn't know anything about the data it is fed with. Continuous or impulse.
Oh BTW, FFT works allways the same, it doesn't know anything about the data it is fed with. Continuous or impulse.
Last edited:
Where have I said anything about the FFT being sentient??? Don't put words in my mouth.
This is about the data fed to the FFT...
This is about the data fed to the FFT...
Simply put, if the impulse response ever ceases, all you need is just this length of data. Adding any number of zeroes to this (i.e. using longer window than necessary) surely won't increase any resolution in this situation (it never does) - because you already have all you could get. This is plain simple.
So if it ceases quickly enough, you're fine. But how can you tell it has ceased enough when there are reflections obscuring it and you only see some first few miliseconds of it? You can only assume... And there is absolutely no way of getting to resolution higher than that is given by the gate length. You simply can't provide any more information to the picture. This holds in every situation. In some situation it may be enough, in another it might not. But generally you can't tell.
So if it ceases quickly enough, you're fine. But how can you tell it has ceased enough when there are reflections obscuring it and you only see some first few miliseconds of it? You can only assume... And there is absolutely no way of getting to resolution higher than that is given by the gate length. You simply can't provide any more information to the picture. This holds in every situation. In some situation it may be enough, in another it might not. But generally you can't tell.
Last edited:
You can just look at it in your software... For instance, here is an impulse with the y-axis "zoomed" to show more detail near y=0:
I took this in a small-ish room on a small 2-way speaker. The gating was set to start at 5.85 (red line approx.) and end at 10.52ms (blue line, approx.), so we have a window of about 5ms. Note: I added in the blue and red lines just now by eye so placement may not be exact.
It's pretty clear that the loudspeaker's impulse has mostly died away before the first reflection occurs. The remaining part of the loudspeaker's initial impulse response that is underneath all of the reflections is only due to the woofer.

I took this in a small-ish room on a small 2-way speaker. The gating was set to start at 5.85 (red line approx.) and end at 10.52ms (blue line, approx.), so we have a window of about 5ms. Note: I added in the blue and red lines just now by eye so placement may not be exact.
It's pretty clear that the loudspeaker's impulse has mostly died away before the first reflection occurs. The remaining part of the loudspeaker's initial impulse response that is underneath all of the reflections is only due to the woofer.
Well the problem is that low frequencies, that are the most problematic here, have generally very low amplitudes and slow "decays" in impulse response. You can't see much of real low frequency behaviour from this plot. It can last for a couple of more miliseconds and there can be e.g. some low frequency resonance, which will be gated out/truncated/"smoothed" this way. You simply can't tell.
Yes, and there is the problem 🙂The remaining part of the loudspeaker's initial impulse response that is underneath all of the reflections is only due to the woofer.
Last edited:
Second question: Is there a higher information content in these 2000 points?
If so, where does this new information come from?
No, the information content remains the same, of course 🙂
The extra 'interpolated' points in freq domain come from the window function, and they are dependent on the selected window function. But it's not real information of the original, as the result depends on your window selection.
However it may look better that way, which justifies the whole process.
It seem there are two or more arguments going on here. One that you can not accurately measure low frequencies impulse response in a small room that I think that we have all acknowledged is true. The other is that above a specific frequency in room decay plots can not be highly accurate which some of us do not agree upon. This is why we use the windowing to stop the analysis before the first reflection giving very reasonable results. The only way besides a large anechoic chamber to have accurate high resolution low frequency response plots is outdoors with the source pointing up and level with the ground. I see no other way to do this. At the same time I do not see why anyone is discounting nearfield measurements and insists on having to do far field measurement if you are only looking at on axis frequency response and are not trying to do polar response plots? Unless of course the entire conversation is based on the premise we are only talking about horn loaded devices?
..One that you can not accurately measure low frequencies impulse response in a small room that I think that we have all acknowledged is true..
Cepestral Analysis
Well the problem is that low frequencies, that are the most problematic here, have generally very low amplitudes and slow "decays" in impulse response. You can't see much of real low frequency behaviour from this plot. It can last for a couple of more miliseconds and there can be e.g. some low frequency resonance, which will be gated out/truncated/"smoothed" this way. You simply can't tell.
Yes, and there is the problem 🙂The remaining part of the loudspeaker's initial impulse response that is underneath all of the reflections is only due to the woofer.
It's not a problem. We already have a sufficient length of time to get down to 200Hz in the frequency domain. Information below 200Hz is not available, not correct, etc. That is not the question. We are talking about the resolution for frequencies above 200Hz, and the question was whether you had to live with data that was spaced every N times the minimum frequency (200Hz in this example), and if so where would that "information" come from?
As a signal has lower and lower frequency components in it, it's impulse response takes longer and longer to die out. The converse is true - as long as there is not a high Q peak present, the impulse from a signal that only has "high frequency" components dies out to zero (more) quickly. This figure illustrates that:

Figure: The Impulse response from a simple audio system. Showing the original impulse, the response after high frequency boosting, and the response after low frequency boosting.
Well, how low can you go before some of that "high frequency" impulse data becomes corrupted by the reflections? That's the well known relationship that give us the "minimum frequency" of the inverted impulse data. Below this we still have no data, but above it we can get more resolution because we can assume that the part of the impulse contributed by the high frequency parts of the system have died out to zero. Thus adding zeros to the data is just the same as measuring their zero signal longer.
ScottG,
Thanks for the reference. This also points to my question about why the resistance to nearfield measurements as we are talking about very close to the dust cap allowing for longer impulse time before any first reflections would crop up.
Thanks for the reference. This also points to my question about why the resistance to nearfield measurements as we are talking about very close to the dust cap allowing for longer impulse time before any first reflections would crop up.
CharlieLaub -
I'm afraid I don't understand completely, sorry.
I'm afraid I don't understand completely, sorry.
- Yes, and it doesn't give you more resolution.Thus adding zeros to the data is just the same as measuring their zero signal longer.
Last edited:
Earl, Charlie,
truncating, zeroing, applying a windowing function or not, adding zeros... whichever way you look at it you are actually loosing resolution. Call it smoothing or whatever, give it a different name for each possible windowing function in existence (that will modify the way the data gets... "smoothed"), but at the end you are loosing resolution.
If gating involves "cutting" (or fading out, or whatever) the ringing tail of a high Q EQ then same will occur with high Q amplitude variations that do occur in loudspeakers (and can be seen in anechoic measurements). Is it a problem? No of course, as long as you know what you are measuring and the limits of it, but I think it has been made pretty clear that gating does involve a loss of resolution even far beyond the gating frequency.
truncating, zeroing, applying a windowing function or not, adding zeros... whichever way you look at it you are actually loosing resolution. Call it smoothing or whatever, give it a different name for each possible windowing function in existence (that will modify the way the data gets... "smoothed"), but at the end you are loosing resolution.
If gating involves "cutting" (or fading out, or whatever) the ringing tail of a high Q EQ then same will occur with high Q amplitude variations that do occur in loudspeakers (and can be seen in anechoic measurements). Is it a problem? No of course, as long as you know what you are measuring and the limits of it, but I think it has been made pretty clear that gating does involve a loss of resolution even far beyond the gating frequency.
Padding with zero's is added information - period. It's much different than not knowing what the data is. Making it zero is far far more information than not knowing what it is. Do you guys really not see that!
That's a short answer, here is the long answer.
In the time domain the data points are strongly correlated to one another - each point depends on the value of the previous point, they are not statistically independent. In the frequency domain the data points are uncorrelated, each value is basically independent of its neighbor. When I add data, i.e. padding with zeros I am giving the algorithm more and more data to make its ability to de-correlate the signal better and better.
Adding zeros is adding a lot of information and it makes the spectral estimate for the data within the window better and better as more and more zeros are added (with diminishing returns of course). As Charlie said, we are not talking about just any signals here we are talking about impulses and we know that they trend towards zero - monotonically in fact, if the system is minimum phase.
Gating does not loose "significant" resolution beyond the gating frequency as long as the impulse has sufficiently decayed, which of course is more than evident by simply looking at the impulse response. No one applies a gate blindly, that would be foolish. But if properly applied the gated measurement will be identical to the anechoic one "sufficiently" above the gating frequency (a hundred Hz or so for a 200 Hz gate).
You guys are worrying about a problem that does not exist.
That's a short answer, here is the long answer.
In the time domain the data points are strongly correlated to one another - each point depends on the value of the previous point, they are not statistically independent. In the frequency domain the data points are uncorrelated, each value is basically independent of its neighbor. When I add data, i.e. padding with zeros I am giving the algorithm more and more data to make its ability to de-correlate the signal better and better.
Adding zeros is adding a lot of information and it makes the spectral estimate for the data within the window better and better as more and more zeros are added (with diminishing returns of course). As Charlie said, we are not talking about just any signals here we are talking about impulses and we know that they trend towards zero - monotonically in fact, if the system is minimum phase.
Gating does not loose "significant" resolution beyond the gating frequency as long as the impulse has sufficiently decayed, which of course is more than evident by simply looking at the impulse response. No one applies a gate blindly, that would be foolish. But if properly applied the gated measurement will be identical to the anechoic one "sufficiently" above the gating frequency (a hundred Hz or so for a 200 Hz gate).
You guys are worrying about a problem that does not exist.
Last edited:
CharlieLaub -
I'm afraid I don't understand completely, sorry.
- Yes, and it doesn't give you more resolution.
Yes, I think that you are correct, you don't understand Charlie - because everything that he has said is dead on.
It DOES give you more resolution.
Now this really makes me laugh.
- If the added zeroes are considered as a new information, then it must be also stated that this "information" is completely made up! It's what Markus has already said some pages back and it's how this has started 🙂
So then yes, I agree that you can add as much infomation as you like, but you must first make it up.
- If the added zeroes are considered as a new information, then it must be also stated that this "information" is completely made up! It's what Markus has already said some pages back and it's how this has started 🙂
So then yes, I agree that you can add as much infomation as you like, but you must first make it up.
Last edited:
Now this really makes me laugh.
- If the added zeroes are considered as a new information, then it must be also stated that this "information" is completely made up! It's what Markus has already said some pages back and it's how this has started 🙂
So then yes, I agree that you can add as much infomation as you like, but you must first make it up.
I agree with you, for once, that the information is "made up". But we can say that this "made up" information is actually (under some rather loose requirements) a good approximation for what we know must be the behavior of the impulse response beyond where the reflections contaminate the measured data.
Here is what I think is a related example. Let's say I want to know the value of a number to a certain "resolution", e.g. a certain number of digits. Let's say that the number is 1. To three digits, it's 1.00, ten digits its 1.000000000, twenty digits gives you 1.0000000000000000000, etc. We know the "behavior" of the number to any number of digits, so we are free to increase the "resolution" to infinity if we so desire, by adding in some "made up" data that we know follows the correct "behavior".
Last edited:
- Status
- Not open for further replies.
- Home
- Loudspeakers
- Multi-Way
- Uniform Directivity - How important is it?