Anyway, the transfer function from a source position to a receiver position in a room has a numerator and a denominator. The roots of the numerator are the zeroes of the TF, the roots of the denominator are the poles, which correspond to individual resonant frequencies in the TF. The closer the poles are to the unit circle in the Z plane or the imaginary axis in the S plane, the slower the associated resonance decays and the greater the peak in the frequency response due to that particular resonance - the overall response is the combined effect of all the poles and zeroes of course, but each has its contribution.

I agree that for clarity of demonstration, we are entitled to treat each resonance as a separate entity.

Quote:

If we could move the room TF poles further away from the unit circle we would have a response that had smaller peaks and faster decay. We can't actually alter the poles of the room TF, but what we can do is put a biquad EQ filter in the path to the source for each resonance we want to target. The filter adds its own pair of poles and its own pair of zeroes to the TF. We can adjust the EQ filter cut and bandwidth so that its zero locations fall exactly on top of a particular pair of poles in the room TF. The net effect of a pole and a zero in the same location is nil, so doing this effectively eliminates the room TF pole pair we have targeted.

This is clear to me, so far.

Quote:

We are left with the pole pair of the filter itself, but the nature of EQ cut filters is that their poles are further from the unit circle than their zeroes, so overall the effect is as if we moved the room TF pole pair to the locations of the filter pole pair, where they have much smaller influence on the frequency response than they had in their original locations.

That's where I lose you (or you lose me). What do you do with the zeroes of the biquad that is derived from the actual RTF?I understand when you say "I am not attempting to do anything about the zeroes of the room transfer function", I understand you can't change them, but my understanding is that the algorithm "translates" the actual RTF into a set of biquads with a set of poles and zeroes. My gut feeling is that the correcting EQ should have its zeroes and poles at the same location and they would both cancel.

That's where I lose you (or you lose me). What do you do with the zeroes of the biquad that is derived from the actual RTF?I understand when you say "I am not attempting to do anything about the zeroes of the room transfer function", I understand you can't change them, but my understanding is that the algorithm "translates" the actual RTF into a set of biquads with a set of poles and zeroes. My gut feeling is that the correcting EQ should have its zeroes and poles at the same location and they would both cancel.

We are getting closer now . If the aim was to produce a perfect inverse of the room TF then you would indeed want to put zeroes on all the poles and poles on all the zeroes, literally invert the TF. That, however, is not possible. Room TF's have zeroes that are outside the Z plane unit circle/in the right half of the S plane. Poles in such locations would be unstable (their damping would be negative). So half of the answer is that this is not an attempt to make a perfect inverse because that cannot be done.

The other half of the answer concerns what tools we have in the toolbox. What is readily available are parametric EQ filters. The parameters you can adjust are the centre frequency, gain and bandwidth or Q. As you adjust those parameters the corresponding poles and zeroes of the filter move. There is no way with a parametric EQ filter to adjust the poles independently of the zeroes, they are inextricably linked. When you have adjusted a filter so its zeroes lie on the poles of a room TF resonance, the poles of the filter are always further from the unit circle than the zeroes, and the bigger the cut that was applied the further away from the unit circle those poles end up. You cannot leave the filter zeroes in their desired location and start shifting the poles about to a convenient spot. Fortunately, the locations the filter poles end up in means they have fast decay and little effect on the frequency response, so overall there has been a substantial improvement in the frequency response and time domain behaviour of the TF in the region where the parametric EQ filter was applied, for the position at which the TF was measured.

........ If the aim was to produce a perfect inverse of the room TF then you would indeed want to put zeroes on all the poles and poles on all the zeroes, literally invert the TF. That, however, is not possible. Room TF's have zeroes that are outside the Z plane unit circle/in the right half of the S plane. Poles in such locations would be unstable (their damping would be negative). So half of the answer is that this is not an attempt to make a perfect inverse because that cannot be done.......

Yes . . . you're right.

I even try to simply invert actual FFT response and use this for acoustic correction (at my beginnings ) but output signal has indeed overall negative damping, and diverge very fast, after a couple of samples This is one of reasons why we need better algorithms than this

That's where I lose you (or you lose me). What do you do with the zeroes of the biquad that is derived from the actual RTF?I understand when you say "I am not attempting to do anything about the zeroes of the room transfer function", I understand you can't change them, but my understanding is that the algorithm "translates" the actual RTF into a set of biquads with a set of poles and zeroes. My gut feeling is that the correcting EQ should have its zeroes and poles at the same location and they would both cancel.

We are getting closer now . If the aim was to produce a perfect inverse of the room TF then you would indeed want to put zeroes on all the poles and poles on all the zeroes, literally invert the TF. That, however, is not possible. Room TF's have zeroes that are outside the Z plane unit circle/in the right half of the S plane. Poles in such locations would be unstable (their damping would be negative). So half of the answer is that this is not an attempt to make a perfect inverse because that cannot be done.

OK; so I was wrong in assuming that the RTF could be "broken down" in a series of "invertable" biquads. I mean in the domain where it is valid to assimilate the response to an IIR. You've just become responsible for a fortnight of insomnia ...

I owe you an apology. It wasn't the best style to link to your text without giving you a notice. Glad you found your way to this thread! Am much obliged to your splendid effort with REW. It's a charm to use and it's sure a generous gesture to put it out for free. Much appreciated!

Hope you don't misunderstand that part. It's a great analytical tool. What I'm questioning is not the system itself(except for the modal T60 calculations post filtering, more on that below). The question is how the observed results relates to reality.

Real life is a signal leaving a speaker and bouncing around in a room. Modal response, standing waves, are waves passing the measurement mic at regular intervals. A reflective rectangular room will have clearly audible flutter echo from speaker to listener. That's the high frequency sound of a broadband lump of energy bouncing back and forth at regular intervals. Standing waves are typically filtered more towards the low end, but it's still "wave packets" of energy passing the sweet spot at regular intervals. That this repetition rate happens to be this or that Hertz is the product of the waves passing the microphones at those intervals. Not other way around! There's no "Hertz" in reality, only energy changes across time.

"When you have a hammer, everything looks like a..." The ability to view a room response as a frequency domain response doesn't mean that the real world behaviour IS a frequency domain behaviour. The same goes for the Z plane.

An arbitary set of FIR taps can have any response in time domain, including very long ones. Minimum phase filtering will invariably give a very short time response compared to the acoustic response. Having a single short impulse response altering the signal can not, even in the 2D world of digital signal processing, do anything to the long time behaviour. The rate of decay is still constant! The EQ can't do anything about the room and it can't change the rate of decay.

Looking at the calculated before/after filtering in the waterfall plots in REW confirms this. I've looked at the simulations for several different rooms and the results are the same. A -10dB EQ cut shows up as a -10dB cut across the whole decay range. It doesn't increase the rate of decay.

The modal EQ part in REW seems to calculate a shortening in decay rate that corresponds directly to the EQ cut in deciBels. Ie, -6.02 dB is half decay time and -12.04 dB is one fourth decay time, and so on. The ability to do such a calculation doesn't mean that the real world behaves that way. The plots in the waterfal tells another story than the EQ filters indicate. Please have a better look at what the changes does to the response if you don't believe me. I've looked at several different rooms and there's no doubt: the EQ does work like one expects from an EQ, giving the same cut or boost across all time, not increasing the cut or boost as time passes..

The situation is akin to strapping an EQ in front of a reverb unit. Twisting the EQ knobs can't change the amount of feedback circulation in the reverb patch following the EQ. Changing the sound of the 'verb unit needs to be done inside the 'verb system by altering the strenght of the feedback. Or, in real life, altering the strength of reflections in a room.

EQ'ing will do exactly what one expects based on general signal processing experience: more or less level of the relevant frequencies across all time. Cutting in the direct signal to counteract standing waves will leave a hole in the direct signal.

If the EQ could actually affect the decay rate, it would have to involve "cancellation impulses". And we all know how well that stuff works..

So I'm still utterly unable to see how minimum phase have any real world connection to room acoustics!

Now we have something we can work with. Anywhere the excess group delay plot is flat is a minimum phase region of the response.

I've also looked at this aspect in several different room measurement. The only way I can find any part of the excess group delay to "be flat" is by not looking hard enough. As I zoom in, the response observed is never flat in any region of any room responses.

Real life is a signal leaving a speaker and bouncing around in a room. Modal response, standing waves, are waves passing the measurement mic at regular intervals. A reflective rectangular room will have clearly audible flutter echo from speaker to listener. That's the high frequency sound of a broadband lump of energy bouncing back and forth at regular intervals. Standing waves are typically filtered more towards the low end, but it's still "wave packets" of energy passing the sweet spot at regular intervals. That this repetition rate happens to be this or that Hertz is the product of the waves passing the microphones at those intervals. Not other way around! There's no "Hertz" in reality, only energy changes across time.

I am fully aware of this - how do you think I wrote the REW modal simulation tool? It is a time domain simulator

Quote:

Minimum phase filtering will invariably give a very short time response compared to the acoustic response.

This is incorrect. To be pedantic, the time response of a typical IIR filter is, well, infinite but for a real world example simply make a measurement of a very narrow EQ boost and look at how long its response rings.

Quote:

Having a single short impulse response altering the signal can not, even in the 2D world of digital signal processing, do anything to the long time behaviour. The rate of decay is still constant! The EQ can't do anything about the room and it can't change the rate of decay.

This also incorrect. Remember that the filter is not correcting the room, it is correcting the transfer function from one point in the room to another. The boost the room characteristic provides (in frequency and time domains) can be exactly countered by a cut in the filter. Properly placed zeroes in the filter can and do eliminate the effect of a resonance at the measurement location (actually the decay change is the same anywhere you measure, but the level at the centre frequency will be different at different points).

Quote:

Looking at the calculated before/after filtering in the waterfall plots in REW confirms this. I've looked at the simulations for several different rooms and the results are the same. A -10dB EQ cut shows up as a -10dB cut across the whole decay range. It doesn't increase the rate of decay.

The filter you have used is not matched to the resonance you are trying to counter. The matching needs to be extremely precise, better than 0.5% in centre frequency and also matching filter bandwidth to the mode decay time. The plots I posted show what happens when the matching is correct, if you send me some of your measurements I'll be happy to determine the correct filters to illustrate the effect.

Quote:

The modal EQ part in REW seems to calculate a shortening in decay rate that corresponds directly to the EQ cut in deciBels.

REW's modal analysis absolutely does not do this. It analyses the impulse response to determine its values for mode centre frequencies and decay times, it doesn't know or care what the frequency response plot looks like, but I'm not sure you are talking about the modal analysis results here. If you are referring to the "Predicted" results REW shows, they accurately reflect the effect of the filters that are applied. If the filters do not match a mode, the decay will not be affected.

Quote:

Cutting in the direct signal to counteract standing waves will leave a hole in the direct signal

This is absolutely correct, but we need to consider the time scale of the frequencies being discussed and our ability to detect changes on timescales that are fractions of a cycle. In a typical domestic sized room, for example, the reflections of a 50Hz signal are arriving at the listening position before even a single cycle of the direct signal has completed, so the room's contributions are already arriving well within the time in which the auditory systems starts to process low frequency signals.

Now we have something we can work with. Anywhere the excess group delay plot is flat is a minimum phase region of the response.

I've also looked at this aspect in several different room measurement. The only way I can find any part of the excess group delay to "be flat" is by not looking hard enough. As I zoom in, the response observed is never flat in any region of any room responses.

"Flat" is a relative term, if you use an electron microscope is anything flat?

Andreas, as a footnote on your concerns over impulse response length, bear in mind that we are not attempting to invert the whole impulse, just to address some specific frequencies within it. As an example, suppose our impulse response was host to the world's worst 50Hz resonance, that rings for a week. That resonance could nonetheless be completely suppressed by a filter whose IR had just two samples separated by 10ms. The IR of the filter is convolved with the IR of the room, a short filter can do its work on signals of any length.

The situation is akin to strapping an EQ in front of a reverb unit. Twisting the EQ knobs can't change the amount of feedback circulation in the reverb patch following the EQ. Changing the sound of the 'verb unit needs to be done inside the 'verb system by altering the strenght of the feedback. Or, in real life, altering the strength of reflections in a room.

I think you cannot compare an algorithmic reverb, which is a non-minimum-phase IIR non-entropic process and a real RTF. You would think otherwise if you used a convolution reverb.

Quote:

So I'm still utterly unable to see how minimum phase have any real world connection to room acoustics!

Does it mean you don't see how part of the frequency response (at low frequencies) can be factorised in a series of biquads?

In your original post, you mentioned a membrane flapping: it is obvious that no EQ can correct this because it is both non-linear and time-variant, but reflections are enough linear and time-invariant, when they are significantly shorter than the period of the signal.Then, if the response has the shape and phase of a biquad, it is a biquad as far as processing is concerned.

There are however, in the room EQ industry, a typical assumption that parts of a room response is close enough to "being" minimum phase. Close enough that the resulting observed aberrations in frequency response can be corrected by minimum phase IIR filters where the poles and zeroes are set by virtue of the seemingly "minimum phase" behaviour in parts of the observed response. Typically done by finding areas where the excess phase calculation is flat. In other words, looking for "a pure delay + minimum phase" response in the room and then disregard the "pure delay" part.

It doesn't seem to me that it's a procedure that have any physical basis. How is a delay+minimum phase response supposed to be corrected by a pure minimum phase response?

You don't want to correct pure delay in a control-room; whenever you playback anything, you have much longer delay than any RTF would incur.

So.. I've received excellent coaching from John via email. It really seems the minimum phase EQ's can and do change the rate of decay for the boosts caused by standing waves.

Have been discussing EQ'ing and room correction with various folks over the last year. None in the "EQ camp" have been able to provide any sort of evidence like that. My hat is of to John for finally making some sense out of one aspect of room EQ'ing! Namely: to tame low frequency peaks caused by standing waves.

The price: punching a hole in the direct sound.

It may be a worthwhile trade off in some circumstances.

There's also some other issues. More on that below.

JohnM wrote on Tue, 12 October 2010 17:06

This is incorrect. To be pedantic, the time response of a typical IIR filter is, well, infinite but for a real world example simply make a measurement of a very narrow EQ boost and look at how long its response rings.

This was one of the biggest surprises in this exercise. Have of course looked at EQ impulse responses before, but I tend to use way lower Q's. The extremely long responses of the high Q low F filters explains a lot.

Geoff Emerick de Fake wrote on Tue, 28 September 2010 14:32

Most of the "reverse impulse response techniques" end up doing just about the same as their purely EQ counterparts. Those techniques that are supposed to work at MF are plagued with a too-narrow sweet spot.

Right on. Basically, it boils down to the EQ giving a sort of impulse cancellation across a rather long stretch of time.

Which makes me wonder.. Cancelling stuff in the computer is all fine and cancelling at the point of an omni microphone is fine. But what about the hearing system? The ability to hear direction at low frequency isn't good, but it's not totally gone before one hits the lowest octave or so. This may be an issue, or it may not be an issue.

In any case, the situation is one where positive pressure is cancelled with negative pressure, and vice versa. How does it feel compared to simply having less pressure fluctuations in the first place? Listener fatigue comes to mind.

JohnM wrote on Tue, 12 October 2010 17:06

Quote:

Cutting in the direct signal to counteract standing waves will leave a hole in the direct signal

This is absolutely correct, but we need to consider the time scale of the frequencies being discussed and our ability to detect changes on timescales that are fractions of a cycle. In a typical domestic sized room, for example, the reflections of a 50Hz signal are arriving at the listening position before even a single cycle of the direct signal has completed, so the room's contributions are already arriving well within the time in which the auditory systems starts to process low frequency signals.

I think this deserves more discussion. Integrating 20ms (1/50Hz) is pretty common. Integrating several hundreds of milliseconds, as in a typical standing wave boom, seems a bit far fetched to me. Haven't read any particular tests on this or done much study on my own. From what I've gleamed, it seems that standing waves are heard more as a separate boom than an aural entity that fuse with direct sound like early reflections do.

Anyone?

JohnM wrote on Tue, 12 October 2010 17:10

AndreasN wrote on Tue, 12 October 2010 15:11

Quote:

Now we have something we can work with. Anywhere the excess group delay plot is flat is a minimum phase region of the response.

I've also looked at this aspect in several different room measurement. The only way I can find any part of the excess group delay to "be flat" is by not looking hard enough. As I zoom in, the response observed is never flat in any region of any room responses.

"Flat" is a relative term, if you use an electron microscope is anything flat?

This situation is different. If looking at a pure minimum phase response, the excess phase plot is absolutely flat no matter how far one zooms in.

"Being sorta minimum phase" is obviously not the same as being minimum phase. At what point is the excess phase plot flat enough? 10 millisecond deviation? 1 millisec? 0.1 ms? It doesn't seem to hold up to scrutinous analysis.

Another strange thing is that all the excess phase plots I've looked at, from real rooms, tends to be flatter in the high end than the low end. If one is to take this literally, EQ'ing high end should be better than EQ'ing low end.. We know it doesn't work that way.

Geoff Emerick de Fake wrote on Wed, 13 October 2010 00:44

In your original post, you mentioned a membrane flapping: it is obvious that no EQ can correct this because it is both non-linear and time-variant, but reflections are enough linear and time-invariant, when they are significantly shorter than the period of the signal.Then, if the response has the shape and phase of a biquad, it is a biquad as far as processing is concerned.

Hmm.. Shorter than the period of the signal? Impulses doesn't have periods.

In your original post, you mentioned a membrane flapping: it is obvious that no EQ can correct this because it is both non-linear and time-variant, but reflections are enough linear and time-invariant, when they are significantly shorter than the period of the signal.Then, if the response has the shape and phase of a biquad, it is a biquad as far as processing is concerned.

Hmm.. Shorter than the period of the signal? Impulses doesn't have periods.

Shorter than the period of the frequency at which one intends to put an EQ.

"Being sorta minimum phase" is obviously not the same as being minimum phase. At what point is the excess phase plot flat enough? 10 millisecond deviation? 1 millisec? 0.1 ms? It doesn't seem to hold up to scrutinous analysis.

Whether this matters depends on what you are trying to do. If an attempt is being made to completely invert a response, the minimum phase issue is very important - if the response is not minimum phase it cannot be inverted because that would require unstable poles to counter the non-minimum phase zeroes. Happily, we are all too clued up here to try such inversion, right? So whether the response is minimum phase now takes on a different meaning, it tells us whether we can correct both the magnitude and phase of a response in a region, or only the magnitude. In the context of modal resonances, it doesn't really matter, as the poles which the resonance generates in the transfer function are correctable (with the usual caveats about the spatial range over which the correction is valid or useful) whether the response is minimum phase there or not.

Quote:

Integrating 20ms (1/50Hz) is pretty common. Integrating several hundreds of milliseconds, as in a typical standing wave boom, seems a bit far fetched to me.

There is no requirement to integrate several hundreds of milliseconds, the critical time period is that between the direct sound arriving and the first reflections from the surfaces arriving. Don't forget that the filter has its own transient response, or startup time if you like. If you start a 50Hz tone playing through a 50Hz filter the filter doesn't "know" in advance that the tone is going to be 50Hz, it just sees a series of samples in time which need to develop into a 50Hz tone before there is 50Hz there for the filter to start cutting, so the "hole" you imagine in the direct sound has much gentler edges than you might think. The filter's effect takes time to build just as the effect of the resonance takes time to build, if all is done right those can match quite closely at the long wavelengths where such countermeasures may be effective over a useful region.