Removing Loudspeaker Group Delay using reverse-IIR filtering

Yep. Pretty much everything this thread is this thread is text book stuff today. The algorithms may evolve but the theory is historic. Anyway, the issue is not so much removing GD from the filters. The emphasis should be on removing GD from the speaker, IMO. But I understand there are always new individuals coming on board who haven't seen this stuff before. So threads like this are educational, and that's good. I just don;t have the patience for it any more. 🙂
 
  • Like
Reactions: Juhazi
A latency of 4,25 is not an issue, but if it gets more than 15-20ms it probably will, at least for live performances. If I'd like to compensate the GD of a horn (etc) subwoofer, a steep low cut at 35-40Hz (ie your LR24) would result in which latency?
Hi ICG, I do live too, and agree with your take on 15-20ms latency. I figure that to be total acceptable latency, so I substact mixer and processor fixed latencies form that, to get the amount of time a FIR filter has to work within. I use 12ms FIR filter latency as the goal to stay under.

I'm not sure what you mean by steep low-cut at 35-40Hz? Do you mean the subs high-pass filter? If so, that needs to be IIR, ime.
(I've never seen a horn sub large enough to go low enough, to be able to use a low-pass at 40 Hz.)
 
FIR resources need not be limited / valuable. Implementing FIR is not $ expensive at all.
Just requires some learning (and for sure, it's a lot less learning than working with IIR + APF, ime).

JRiver for example, running on anything (even a Raspi), easily allows tap counts far exceeding anything we've been discussing, or that anyone could ever use. (like > 100,000 taps per channel).
There are a number of other similar very low cost alternatives.
People may not have much control over their DSPs, as these frequently come built into their amplifiers / processors. And whenever they do, there are several preferences related to hardware, cabling, interfaces, heating, power consumption, jitter / noise, ADCs / DACs etc. that govern people's choices much more than tap count. And lastly, not everyone wants a software platform with an OS just for making a crossover and playing some music. For example, the ADAU1701 is a popular device used in many products.

Yep. Pretty much everything this thread is this thread is text book stuff today. The algorithms may evolve but the theory is historic.
Yes Sir, I'm aware that these techniques are old and tested. However, I just wanted to show how the linearised phase IIR LPF could be treated like a linear phase filter and used to make a linear phase crossover without FIR filters at all.
Anyway, the issue is not so much removing GD from the filters. The emphasis should be on removing GD from the speaker, IMO.
Similar techniques could be be used for 'removing' GD from speakers (pun intended). The maximum GD needs to be carried through across the entire band and thereby maintain linear phase.
 
Last edited:
... You started with a LR4 IIR filter, linearized its phase in and somewhat above its passband, and got nearly a 4th-order derived highpass slope. ....

Actually it is supposed to look more like the following. The low frequency issues we see are probably due to the non-optimised phase compensation.
Also, the individual passes are linear phase in their own right without FIR filters.

1728305996909.png
 
Actually it is supposed to look more like the following.
The optimization criteria in my MDS papers were linear-phase LPF (within its passband), minimum-duration impulse response, and steepest possible HPF transition-band slope. If the minimum-duration impulse constraint is removed, then a whole new world of possibilities opens-up, as shown by this and many other examples in this thread. Each of those solutions is as valid as mine. The definition of "optimal" depends entirely upon what one wants to optimize.
 
Actually it is supposed to look more like the following. The low frequency issues we see are probably due to the non-optimised phase compensation.
Also, the individual passes are linear phase in their own right without FIR filters.
Maybe you could explain a little more what would be the advantage of your LR4 + phase linearisation lowpass over a simple 4th order lowpass used for a subtractive delay crossover.
Is its vertical lobing behaviour better ?

Regards

Charles
 
Is its vertical lobing behaviour better ?
... When a simple 4th-order IIR LR filter is used as the basis for an MDS crossover, the lowpass response and highpass response are never in-phase with each other.
The above is no better. It uses slight time misalignment (~600us at 100Hz) to get the said slope. If you see, the highpass is also 3rd order. This was why I first wanted to show the version where the highpass was FIR.
 
You started with a LR4 IIR filter, linearized its phase in and somewhat above its passband, and got nearly a 4th-order derived highpass slope. Thank you; that is good information. I may have to expand section 2.2.1.6 of my MDS paper.
:up:
The low frequency issues we see are probably due to the non-optimised phase compensation.
I've refined the phase compensation of the LR4 and the result is exactly how you predict !!! Only 3 APF biquads were used on top of the LPF, and the derived HPF is linear phase with a 4th order slope upto 20Hz below which there's no audio anyway. The net delay is about 12ms (constant).

Those with more biquad capabilities may add more APF biquads to further linearise the phase but it woudn't matter much due to the fast rolloff of the fourth order lowpass.

1730270085449.png


Unwrapped phase below. The red trace (HPF) is not visible as it under the black one (summed output) as it is essentially linear phase across the entire band. The blue trace (LPF) eventually departs but remains coherent upto almost 1.8 times the crossover by which frequency the magnitude has already dropped off by more than 20dB.

1730271272251.png
 
Last edited:
Incidentally, I happened to realise that a (much) better IIR-only linear phase Linkwitz Riley crossover could be obtained simply by using a different delay value in the above post, with absolutely no changes to the APF biquad parameters !!

While the new delay is 12.7ms, the symmetry of the derived HPF is retained beyond -100dB, as opposed to only -70dB in the above post. The HPF, as before remains linear phase throughout its passband and approximately linear phase elsewhere. The LPF phase becomes less important above 1.5x the cutoff, as its magnitude response would already have dropped off considerably by then.

For use at other crossover frequencies, simply scale the delay time and the center frequencies of all the filters/biquads alike.

1730967421221.png
 
Last edited:
The processing hardware required for practical implementation of an MDS crossover requires some very basic capabilities:

  • Audio interface (I2S, SPDIF, analogue etc).
  • IIR / FIR filtering capabilitiies as applicable. IIR only / limited tap FIR is also OK.
  • Time alignment delay with good resolution (say 1 sample).
  • Adjustable channel selection / mapping.
  • Output summing / subtraction capabilities between channels for deriving other filters. This summing / subtraction needs to be after the delay stages.

The crossover filters discussed here are a diversion and the main topic is being discussed in the following thread:
https://www.diyaudio.com/community/...bal-phase-linearization-by-fir.393435/page-44

Also, what would be the implications of using real drivers (linearizing response, etc.)?
Forget drivers, the output reconstruction filters of DACs are more than capable of rendering any linear phase filter non-linear phase !!
 
Last edited:
  • Like
Reactions: Gill.T and pelanj
I have a bit hard time to follow - let me ask a question - how would one implement such a crossover practically and what hardware would be needed?
I have it try three (potentially) different values of delay ... The values are usually within ±1 sample, but not always.
let me check again ...

The results above are not wrong, but the granularity of delay time used was much higher than the usual 1 sample resolution. The exact delay that was used for the -120dB symmetry case was 608.18 samples at 48kHz for which the closest value of 608 samples could be used in practice. The symmetry would still be great upto -60dB, as shown below.


1730993892117.png