In an ideal world, we would always use matching speaker sets. Main from brand A is designed to work with Sub from brand A and we have confidence that when they are deployed in the field that they will work harmoniously together.
But what happens when we combine two speakers from different families or brands?
Takeaway
If phase slopes do not match, look for differences in phase divisible by 45 to identify filter opportunities.
Seeing actionable data in our audio analyzer for the main to subwoofer crossover frequency range is like seeing a shooting star. It’s rare and it never happens when someone else is looking.
Sometimes we get lucky and they match up pretty well.


For example, a dB Technologies DVA T4 would normally be matched with something from the same family like a DVA S1518N subwoofer. But if there are no more S1518N available at the sound company, they may send a substitute. This exact situation happened to me and they sent a VRX918SP. I had not used one in a long time and I wondered, will they work together?
Luckily, they did.

Anecdotally, I would say that 60% of the time, it works every time. You get lucky and they play together out of the box. So what do you do the other 40% of the time?
What if you go through your normal alignment process and you end up with something like this.

I know, I know. Not the most dramatic example, but here we have a main+sub pair that will not achieve maximum summation through the crossover region. You could try a polarity inversion and different delay values, but no matter how much you fiddle with it, you won’t be able to grab that last 5%.
You might start wishing you were an expert at all-pass filters, but then you realize that your DSP doesn’t even have them. You start wondering if maybe adding a filter would produce better alignment.
To help satisfy your curiosity here’s a helpful rule to memorize: every order * 45º = total phase shift.

In practice, if you compare two phase measurements and observe phase shift of 45º, 90º, 135º or any multiple of 45º, consider adding a filter.
In the example we started with above, it looks like we might need to add a filter to red Sub trace. After all, it needs to be 45º more steep, right?
Not so fast. The measurement is misleading because I added 3.66ms to the sub measurement in pursuit of alignment. Let’s remove the delay first. I’ll also add a few milliseconds to the delay locator to unwrap the phase and make it easier to look at.

From this graph we can identify a couple of things:
- The red Main trace is steeper than the blue Sub trace.
- They are 90º apart at 72Hz and 180º apart at 190Hz.
90 / 45 = 2
This makes me think that a 2nd order filter may work. The image below of a 2nd order (12dB/oct) Butterworth filter shows both the magnitude and the phase. You can see 90º of phase shift at 72Hz sloping down to 150º at 190Hz.

Let’s insert it and see the result.

The slopes of the phase traces are now better matched (without electronic delay) and I have reduced the crossover interaction from 2oct to 1oct.
Now that we have a relative preset, let’s deploy these speakers and see how easy it is to restore alignment with a simple distance measurement.

If we did nothing. The prediction would look like this.

It looks like we have put the audience into a null while our precious summation blasts into the sky.
Here’s the magnitude at the measurement mic location.

Let’s see if we can fix that.

- Distance to main = 22ft
- Distance to sub = 18.7ft
- 22 – 18.7 = 3.3
- 3.3 * 0.9 = 2.97ms in the Sub output

Wait, it didn’t work. What happened? Why is there still 180º of phase difference between main and sub??
Let’s check to see if I applied any extra processing.

This u-shaping filter says that it’s only applying 30º of phase shift, but our results argue otherwise. There may be another detail I’m missing here, but I think a polarity inversion in the Sub will fix it.

Better!
And here’s the final measurement of combined systems.

And we have pushed the coupling zone down onto the audience.

Big thanks to Mauricio Ramirez for the feedback! [why is there no luchador emoji??]
What about you? Have you tried improving alignments by adding crossover filters? What were your results?
Further questions
Mystery polarity inversion?
I discovered later that if I turn the delay integration (Lyon 55-70, not sure if that matters) on and back off again, the polarity inversion from the u-shaping filters disappears.
Why not just compare magnitude slopes instead of phase?
I thought about this, but the more I looked into it, the more confused I got. Measuring electrical filters makes pretty pictures that are easy to compare, but real speakers measured in the field are more difficult to compare.
Here’s an example speaker pair. Do the slopes match?

Looking at the phase graph, it seems clear, but I’m not so sure about the magnitude graph. Where should I start counting dB/oct and where should I stop? The red trace has a nice steady slope that looks like 24dB/oct, but the blue trace looks almost asymmetrical since it has a gradual slope and then a sudden drop-off. 🤷♂️
Nathan
The sub falls off with less then 12dB. If I remember correctly from your video on crossfreqency you want a 12 dB + an 12 dB LR to get a 24 dB as a result.
If you follow that route would the phase align then be the same and did you use the same correction.
Hey Peter, it’s a good point. Wouldn’t it be easier to just look at the magnitude response and roll-off? The math would be easier.
I did consider this, but unfortunately, I could not get it to work reliably on field measurements. On electrical measurements of filters, it’s easy, but data from rooms is highly variable and noisy. Where is 0dB? Is the slope 20dB/oct or 24dB/oct? I really had a hard time figuring it out. There might still be a way to do it, with enough practice, but it just seemed like comparing phase was more reliable.
3.3 * 0.9 = 2.97ms in the Sub output
Could you please explain derivation of 0.9 and why it is multiplied. (Im pretty sure im forgetting some very basic Math)
Hey Sohel, 0.9ms/ft is an estimation for the speed of sound. This may also help – http://www.sounddesignlive.com/how-to-estimate-delay-and-level-offset-between-speakers-in-your-3d-models/
Hey Nathan,
I assume you did all of this is MAPP XT. Are you using 2 mic/probe locations for this process? It wouldn’t make sense that the simulator shows good phase overlap but then also shows a drop in the magnitude response for the same mic/probe location.
Hi Sunil!
>I assume you did all of this is MAPP XT.
Correct.
>Are you using 2 mic/probe locations for this process?
No. Single location.
>It wouldn’t make sense that the simulator shows good phase overlap but then also shows a drop in the magnitude response for the same mic/probe location.
I don’t understand, but I’d like to. Maybe you could draw on some of the images from the article or even edit the MAPP design?
I’m looking for the crossover phase equations. Many sites overlook the phase, which, as you point out, can lead to bad results.
You are discussing the phase. I would like to read this article, but none of the pictures show up on my tablet. I’m using the Brave browser on my Samsung tablet (Android 7.1.1). Brave is a slimmed down browser based on Chrome.
Hi D. I’m not sure if this is what you are looking for, but maybe…
https://www.merlijnvanveen.nl/en/study-hall/165-group-delay-101
> none of the pictures show up on my tablet
Shoot. That sucks. I’m not sure why. Would you be able to send me a screen shot of the problem? Also, what happens if you use a different browser?
Hi Nathan
I tried Chrome and Firefox and still no pictures. The text is there with blank white spaces where the pictures should be. If I press and hold in the center of one of these spaces to get the options, it shows a yH5BAEAAAAALAAAAAABAAEAAAIBRAA7.bin filename. I tried opening the file in another tab and got this:
data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
I’m not sure how to attach a screenshot.
Hey D., thanks for alerting me to the problem. I’m looking into it.
Ok, I think the problem has been fixed. Please let me know.
It works great now. I can see all of the pictures and graphs in Brave browser. Since Brave is based on Chrome, the pics should also show up in Chrome. If I find any problems I’ll let you know. Thanks! Lots of info in the graphs to check out.