Removing Loudspeaker Group Delay using reverse-IIR filtering

Have you tried a hybrid IIR lowpass + IIR allpass (phase linearisation) and an FIR highpass (with the appropriate delay(s) applied) ??
Not sure what you're asking.
What I have tried is:

For the system (sub) high-pass.
  • using a linear-phase FIR hpf
  • using a IIR hpf, and fully linearizing its phase with FIR inverse all-pass
I equate these two as having essentially equal results.
I'm happy with any negative step response from using a flat phase hpf, as that only offsets the electrical phase rotation/group delay of the hpf.
and doesn't correct the minimum phase rotation from the sub's natural frequency response roll-off.
My compromise solution.




For crossovers between sub and main, or elsewhere.
  • using complementary linear-phase FIR xovers
  • using IIR crossovers and linearizing the their phase with FIR inverse all pass.
They may give the same results, but IIR plus phase linearization is a comparative pain in the butt.....
and precludes the use of FIR where it really shines, which is fully matching an acoustic response target, both xovers and minimum-phase response flattening, all in one simple step.
 
What you describe is (part of) the physical model and while it may sound intuitive, it is not what is really happening.

As long as dimensions and distances involved are small compared to the wavelengths we can safely use lumped model which tells us that both cone and port radiate simultaneously, albeit with different frequency responses, the cone being a highpass response with a dip at Fb, and the port being a bandpass with the peak at Fb. Just as seen from close-field measurements.
The vent output lagging behind the direct radiator output by 270 degrees at Fb can be seen in the close-field measurements posted by stv:
https://www.diyaudio.com/community/...ers-out-of-fashion.412687/page-5#post-7684005

The 50 Hz Fb used in the test makes for even numbers, 1000ms/50Hz=20ms being one cycle (360 degrees) duration time, each 90 degrees of phase 5ms.
At Fb (bass reflex tuning frequency) his "hard burst" test clearly shows the first arrival of the port output delayed by 15ms, (270 degrees) from the driver output:
240515-hard_burst.png

As stv wrote:"during the first cycle of bass reflex speakers the driver has an increased excursion, because the resonator does not yet provide the counteracting air pressure."

Above Fb, it is true the "cone and port radiate simultaneously", they oscillate "in phase" after the initial ramp up period, but the delay provided by the Helmholtz resonator is the reason the inverted polarity of the driver's back wave combines "in phase", providing a +3dB gain when 90 degree off (270 degree phase lag) and +6dB above when the output lags by 360 degrees.

Same response (impulse response, or mag/phase frequency response) is same response, and sounds the same.
Does a fourth order HP filter's impulse response exhibit two arrival times and a 3 cycle initial settling time as the bass reflex response above?

Art
 
  • Like
Reactions: SubSoniks and stv
Not sure what you're asking.
Very simple hybrid crossing:

  • The LPF is classic IIR with IIR phase compensation (low delay) as opposed to a long FIR filter.
  • The HPF (crossing filter) is FIR with the correct delay that matches the phase of the IIR at the crossing point.
  • The net phase is approximately linear at low frequencies and perfectly linear at higher frequencies (good compromise with low error).
 
Does a fourth order HP filter's impulse response exhibit two arrival times and a 3 cycle initial settling time as the bass reflex response above?
For the second question, yes of course, as given by the transfer function. Take its impulse response and convolve it it with any signal and you get the output signal.
50Hz non-windowed sine burst --> 50Hz Bu4 Highpass:
1727330430562.png


For the first question, that's sort of ill-posed as the total transfer function only has one output. In the real speaker, this is the sum of port and cone outputs.


If a ported box behaved differently than a simple 4th order analog highpass, that is, if it would not be a minimum-phase system, then Small and Thiele and everyone else after them would be wrong and we would know by now. There is no such evidence. Small's equations in his seminal JAES article still hold (see section 4, "Response Function", equation 20).

1727330046923.png


As mentioned, this all assumes dimensions/distances way smaller than the wavelengths of interest. OTOH, if you place the port on the rear of the speaker and the box dimension is large in that direction, then the port output undergoes an additional time delay (when looked on on-axis, far-field) which affects the transfer function.

Above Fb, it is true the "cone and port radiate simultaneously", they oscillate "in phase" after the initial ramp up period, but the delay provided by the Helmholtz resonator is the reason the inverted polarity of the driver's back wave combines "in phase", providing a +3dB gain when 90 degree off (270 degree phase lag) and +6dB above when the output lags by 360 degrees.
They radiate simultaneously at all times -- this is not to be confused with outputting the same signal in phase, which they don't.
But there is no time delay (OK, some microscopic one, < 1...3ms typically) when you look at the step response of cone and port, they start at the same time. It's the natural consequence of the individual transfer functions of cone and port what causes the phase offset and the "turn-on/off" behavior etc.
 
Last edited:
As stv wrote:"during the first cycle of bass reflex speakers the driver has an increased excursion, because the resonator does not yet provide the counteracting air pressure."
Hi Art, here's a couple of scope grabs , of one-cycle wavelets taken at 20Hz, about 5-6Hz the below port tuning of my latest double 18" sub

The blue traces are the microphone grabs. The yellow is the reference channel loopback to establish a timing reference.

1727368162689.png


As you can see, for 20Hz which is below Fb, both the top graph with direct output and bottom graph with port output , had virtually reference-peak to measurement-peak timing.

93 ms equals the FIR processing time and ToF. Mic was about 2 inches inside the direct radiator vee-cavity, and 2 inches inside the port.
(93ms held the same for 25Hz and 30 Hz, both direct and port as well.)

So it seems to me there is no delay at all between port output and direct output......no ramp up / or port charging time, iow..




1727367367766.jpeg
 
  • Like
Reactions: Juhazi
Very simple hybrid crossing:

  • The LPF is classic IIR with IIR phase compensation (low delay) as opposed to a long FIR filter.
  • The HPF (crossing filter) is FIR with the correct delay that matches the phase of the IIR at the crossing point.
  • The net phase is approximately linear at low frequencies and perfectly linear at higher frequencies (good compromise with low error).

Ok, so if I read you correctly, your are talking about the sub to main crossover...a low pass for the sub, and a high pass for the main. Right?

If so, I can confidently say the above strategy if executed properly, should give essentially identical results compared to a straight linear phase crossover.
The magnitude, phase, and latency should all be same.

Maybe there a bit less computational horsepower needed with the above, but frankly in today's processing world, i see it as a 'who cares' advantage.
And there is the advantage of one less FIR channel needed....but another who cares I think.
Adding in the complexity of the above, using different strategies for the two sides, as well as two-steps needed for the LPF,...why????
There's simply next to nothing to be gained ime/imo.
 
The magnitude, phase, and latency should all be same....Maybe there a bit less computational horsepower ....
Since the IIR filter is used to avoid a long FIR filter and not to cut CPU cycles, the latency is not the same as linear phase FIR.
Adding in the complexity of the above ...
This is probably the simplest a linear-phase filter can get, especially at low frequencies.
using different strategies for the two sides, as well as two-steps needed for the LPF...
Do not underestimate hybrid/mixed processing, such methods are the ones that give the best results.

i see it as a 'who cares' ...another who cares ....why????...There's simply next to nothing to be gained ime/imo.
Well, I think you're not ready yet, so let us leave it here.
 
Hi Art, here's a couple of scope grabs , of one-cycle wavelets taken at 20Hz, about 5-6Hz the below port tuning of my latest double 18" sub

The blue traces are the microphone grabs. The yellow is the reference channel loopback to establish a timing reference.

View attachment 1360823

As you can see, for 20Hz which is below Fb, both the top graph with direct output and bottom graph with port output , had virtually reference-peak to measurement-peak timing.

93 ms equals the FIR processing time and ToF. Mic was about 2 inches inside the direct radiator vee-cavity, and 2 inches inside the port.
(93ms held the same for 25Hz and 30 Hz, both direct and port as well.)

So it seems to me there is no delay at all between port output and direct output......no ramp up / or port charging time, iow..




View attachment 1360821
Glad to see those impulses wit reference!. Yes I notice similarity of acoustic impulses, but aren't both half cycle late? Also acoustic pulses have three peaks instead of two in the signal.
 
No - the simplest linear pahse crossover at low frequencies is the classic subtractive-delay crossover.
Dear phase, I wrote 'simplest linear-phase filter', and not crossover !! Besides, for a subtractive crossover to have linear phase alignment between both sections, one has to start with a basis filter (usually the LPF) that is 'linear phase' on its own.

Hybrid crossing is one thing many people do not want to get into, but I think it is, at least. worth trying,
 
Last edited:
I don't get what you want to tell us. You were first trying to tell us something about a simple linear phase crossover consisting of a Bessel lowpass and a FIR highpass and now you reduced your subject to the simplest linear filter (what type does the simplest refer to ? Highpass or lowpass ?).

Regards

Charles
 
Maybe there a bit less computational horsepower needed with the above, but frankly in today's processing world, i see it as a 'who cares' advantage.
And there is the advantage of one less FIR channel needed....but another who cares I think.
Adding in the complexity of the above .....
From #127, the 'above' that mark100 refers to as 'complex' is what I call 'probably the simplest'. In other words, that is the IIR portion(s) of the crossover. And I do not remember having said 'Bessel' anywhere.

Please read #126 again to clarify this yourself.
 
This thread is starting to wander off topic a bit... do we really need to hash out the time domain response of a ported system here?

Also, I think it is clear that both FIR and IIR+R-IIR have their pros and cons. If you are used to one-stop shopping with FIR filtering and are well-versed in how to treat your impulse response to get what you want, then this method of reverse-IIR group delay compensation is definitely not offering you any new features that you don't already have. On the other hand, if you are used to and like using IIR filters you finally have a non-FIR way to do phase/group delay compensation and/or create a linear phase filter. The pool is certainly wide and deep enough for both camps to get along, doing their own thing. Personally I am in the IIR camp, so for ME this is indeed offering some new features. I'm not really interested in making a linear phase crossover, because that is just not necessary in my opinion. But a little nip and tuck to the time domain could be beneficial, and I can now try some filtering that were not really feasible in the past.

UPDATE: I have finished writing and testing my LADSPA plugins for first and second order allpass reverse-IIR filters. I hope to post these to my web site on my LADSPA page shortly.
 
This thread is starting to wander off topic a bit... do we really need to hash out the time domain response of a ported system here?
Sorry if this was too much of a swerve.
Must admit, I think one of the greatest motivations for looking into reducing group delay / phase rotation is about the system / sub high-pass. For the sonic benefits the paper you linked in #120 describe.
In my mind, the lower the frequency we are dealing with, the greater the potential for audible benefits.
So anything to do with the order of the system low frequency rolloff, be it from ported with a hfp, or sealed with a LT transform and perhaps hpf too, or frequency dependent excursion limiting....whatever final low-end mag roll-off we have....is paramount to the whole topic of reducing group delay.
Anyway, that's why I get so quick to swerve onto the time domain response of ported.....

@stv, (and juhazi)
I did make some more scope grabs, longer bursts....I'll post them in your neat 'Investigating ports' thread...hope that's ok.


Oh, a favor request Charlie....when you are giving examples/comparisons of RIIR, would you use a lower frequency...say 100Hz or less. It puts a magnifying glass on group delay reduction strategies ime.


Also, I think it is clear that both FIR and IIR+R-IIR have their pros and cons.
1000% agree.
I don't mean to debate them, just state my personal reasoning and preferences.
I meant to be debunking the idea that a particular group delay reduction strategy can offer greatly reduced latency vs other strategies, given the same task. I believe that is the conclusion of almost everyone in this thread, that both techniques (and any others) will all end up with essentially the same latency.


@ newvirus, if you can show a hybrid/mixed processing strategy that significantly reduces latency vs a straight linear-phase crossover, I'm all ears and ready to learn.
I ask please don't direct the conversation towards me. Pls make a case that Greg, KSTR, Charlie...all of whom have stronger math and processing skills than I do...can confirm you made superior latency mouse trap. Oh, and how about using a 100Hz or lower xover point.
If you can (which I don't believe is possible)...I thank you. And will learn how to implement it.
 
  • Like
Reactions: Juhazi and stv
I meant to be debunking the idea that a particular group delay reduction strategy can offer greatly reduced latency vs other strategies, given the same task. I believe that is the conclusion of almost everyone in this thread, that both techniques (and any others) will all end up with essentially the same latency.
A few pedantic comments, if I may:

1. We are discussing group delay equalization, not reduction. Physical systems, such as woofers, must be causal. Their maximum group delay cannot be reduced without making the system anticipatory. Thus, what we are trying do with group delay equalization is to make the group delay at all frequencies the same as that maximum group delay. (We usually compromise by not worrying about phase at frequencies in the stopband of a filter.)

2. The latency depends entirely upon the final magnitude/phase response. No matter how we achieve it, whether by "IIR plus FIR phase EQ", "linear-phase FIR", or "voodoo", if the final magnitude and phase responses are the same, then the group delay and latency are the same. (Again, we can compromise a bit by accepting approximate solutions.)

3. For an all-mathematical system such as a crossover filter, "IIR plus FIR phase EQ" may impose approximately the same processing load as "linear-phase FIR". How can this be? Well, the FIR phase EQ will be asymmetrical, so every operation in the convolution equation must be implemented. The linear-phase FIR filter will be symmetrical, so the number of operations will be reduced by about 1/3:
ax + by: two multiplications and one addition
ax + ay = a(x+y): one addition and one multiplication
 
if you can show a hybrid/mixed processing strategy that significantly reduces latency vs a straight linear-phase crossover,
For the linear phase crossover, the group delay is constant across all frequencies. Thus, if we begin with an acceptable IIR LPF delay, the HPF that crosses would have to have the same delay in order to give an overall linear phase response. And if I'm right, latency is the filter delay plus the computational delay which is a quantity different from group delay.
 
Though the mathematics say that computational delay can be as little as zero, in the real world it doesn't work that way. The practical minimum is probably one sample, though most processing is done in blocks.

I think for the task we've been discussing, group delay equalization (the term elimination works for me ! 😀),
staying practical means that no matter what method is used to perform that task,
computational delay is so relatively miniscule compared to filter delay, it's almost never worth mentioning.
 
  • Like
Reactions: mdsimon2