DSP Xover - When would you all pass?

Hi Everyone,

I ran across an interesting video, mostly about how the final output of a driver is the combination of the driver plus the speaker. All good. The author discusses the use of DSP tools to achieve ideal LR4 crossover behavior. I thought I knew all of this until he did something which was very curious to me.

In the Woofer to Tweeter filters he demonstrates the use of an all-pass filter to fix phase alignment issues, but he eventually discards this idea. I knew this was possible for passive speakers, and I know about digital delays. I just thought it was very curious to use a very narrow all-pass filter as a possible phase alignment fix. I'm curious about when you might like to do this for real? Given that DSP already has digital delay in addition to crossover selection and parametric EQ, when would you say "hey, this is something I should do with an all-pass filter?"

Thanks!

Erik
 
Traditionally filters are tweaked to adjust phase, but compensating non minimum phase areas can upset the response. Usually it's hardly significant enough to be a problem and besides, it can be compensated globally if it is.

Could you specify a start point in the video where it says this, to save time?
 
One way to think about all-pass filters is this: they produce frequency dependent delay, with the "shape" of the delay being sort of like a lowpass filter is for amplitude. First and second order all-pass filters behave WRT delay just like their LP cousins behave with amplitude, such that the second order AP has a Q factor and this impacts what happens at the "knee". This is how I like to explain AP filters 101. There is some more to it but IMO it helps people understand what the filter is doing more than e.g. talking about the phase response of an AP filter.

Delay is used for "time alignment" in loudspeaker crossovers, and the AP is one of the tools for doing that, the other being digital delay which produces a delay that is the same for all frequencies.

So, to answer the Q in the thread title, you typically use an AP as a tool to improve the phase alignment of drivers (typically and most importantly at the crossover point between a pair of drivers).
 
  • Like
Reactions: witwald
I haven't watched the video, but... Traditionally, in the good old analogue days, all-pass filters with half the order of the Linkwitz-Riley filter and with Butterworth pole positions were sometimes used to keep the phases aligned in a three-way Linkwitz-Riley crossover filter.

That is, suppose you cascade two two-way Linkwitz-Riley filters, so you have one filter separating the bass from the rest, and the rest then goes into a filter separating the mid from the treble. The bass path then has less phase shift than the mid and the treble, because bass only passes through the first filter, not through the second filter.

To correct for that, you can put an all-pass filter in the bass path with a natural frequency equal to the crossover frequency of the mid-treble crossover, with half its order and with Butterworth pole positions.
 
One way to think about all-pass filters is this: they produce frequency dependent delay, with the "shape" of the delay being sort of like a lowpass filter is for amplitude. First and second order all-pass filters behave WRT delay just like their LP cousins behave with amplitude, such that the second order AP has a Q factor and this impacts what happens at the "knee". This is how I like to explain AP filters 101.
Thanks so much for that philosophical introduction, Charlie! Much appreciated.
 
The reason why it works is that a Linkwitz-Riley low-pass filter of order 2n and an all-pass filter of order n with Butterworth poles both have exactly twice the phase shift of a Butterworth low-pass filter of order n. The same holds for a Linkwitz-Riley high-pass, except that you need to invert the polarity when the order is not a multiple of four.

A Linkwitz-Riley filter of order 2n is by definition equivalent to two Butterworth filters of order n, hence the doubled phase shift.

An all-pass filter has phase shift from its poles and an equal amount of phase shift from its right-half-plane zeros (right half plane in the s domain), hence the doubled phase shift.
 
One way to think about all-pass filters is this: they produce frequency dependent delay, with the "shape" of the delay being sort of like a lowpass filter is for amplitude. First and second order all-pass filters behave WRT delay just like their LP cousins behave with amplitude, such that the second order AP has a Q factor and this impacts what happens at the "knee". This is how I like to explain AP filters 101. There is some more to it but IMO it helps people understand what the filter is doing more than e.g. talking about the phase response of an AP filter.
To illustrate the above, the group delay and phase response curves for a 2nd-order all-pass filter with its frequency set to fo = 1.0 kHz are plotted below. Here fo is the frequency where the output is 180° out of phase with the input. The red curves corresponds to Q = 0.60, while the green curves correspond to Q = 0.70.

1721451743703.png


It is evident that the Q = 0.70 setting produces significant peaking in the group delay curve. The group delay results for Q = 0.60 are much flatter, with just a minimal amount of peaking.

From the above results, if one requires a nominally constant group delay over a 1-octave-wide frequency range, it will be necessary to ensure that the tuning frequency fo of the all-pass filter is set significantly higher than the centre of the frequency range of interest.

Below is a first-order all-pass filter's group delay and phase response with fo = 1.0kHz. Here the phase shift at fo is only −90°. The group delay at low frequencies is about half of that which was produced by the second-order all-pass filter.

1721452185021.png
 
If you want a flat group delay, in the continuous-time (analogue) case, you can use a high-order all-pass filter with a high natural frequency and Bessel pole positions. Then again, when you use a DSP anyway, you can just use a fixed delay rather than an all-pass (provided rounding to an integer number of sample times is acceptable, otherwise you need to interpolate).