rePhase, a loudspeaker phase linearization, EQ and FIR filtering tool

Complementary hi and low pass filter will sum to get a flat on axis response, with a known off axis behavior. Think about it as a seamless crossover.
All that is left on axis is an allpass in the case of a minimum-phase crossover.

A typical example of such a crossover is a LR, where both drivers are in phase throughout the crossover (phase tracking) and at -6dB at the crossover point.
Another example is an odd order Butt where phase is still tracked but 90° apart, and both drivers crossing at -3dB.

Both give a flat on axis response, but a different off axis behavior: different trade offs for different situations.

With FIR you can manipulate many other types of complementary filters, such as reject hi/low, Horbach-Keele, brickwall, overlapping filters, etc.

Of course in all cases, what matters is not the electrical filter alone, but the final filter that encompass the natural response of the driver/box and the electrical filter.


Ahh okay I get it now.... they “compliment” each other. Yes an all pass would be what’s left, I see what you mean. . too bad it almost never works that nice in a car lol.... OK we’re on the same page now as far as that terminology goes.

And “known off axis” is sorta key for my situation where I tune a lot of customers cars with minimum phase DSP.


Thanks , :)
 
I suspect in a highly reflective environment like a car you might want to try quadratic summation crossovers such as odd order Butts, as the power response will then be flat. There are also easy to linearize with an LR preset of order n-1

Lol :nod: there you go with the terminology again! Lol

Okay “quadratic” ??? Does it have anything to do with quadrature? Meeting both slow low passing and Hipas are exactly 90° Out with each other? Like an all pass quadrature being the center?


I have linearized a butt, I just lower the frequency or raise the frequency depending if it’s a low pass or a high pass until it’s 3db down instead of 6db down and then use phase eq to get the shape right.... that seems to work so unless I’m wrong what are you talking about with n-1 ?

I know what n mean as far as coefficients go, (ok I’m the “for dummies” guy) but n-1 if I’m not mistaken is if it’s multiplied it goes in reverse..... is that what you’re talking about or am I way off track


Thanks in advance:)
 
Lol :nod: there you go with the terminology again! Lol
Sorry 'bout that :(

Quadratic summation is when the two signals are 90° apart, so you need to have them at -3dB to get a 0dB sum.

The n-1 should read n+1 (d'oh!) and refers to the order of the equivalent LR... or that could actually read n-1 and refer to the order of the all pass.
I will try to illustrate this when time permits.
 
OK that makes sense now I understand I’ve been doing a lot of reading about coefficients and stuff and the whole n thing ..... A lot of the math is Chinese to me but I understand the raw basics.....

OK so we’re on the same page I know what you’re talking about now I’m so excited to go try some Butterworth filters I can’t believe I’m actually saying this but it’s really going to make the guys on the car audio forms scratch their head and wonder why I’m going to recommend such a crazy idea if this actually works for years in years everybody’s been against BW because they get all their information from the home audio expert this could be a revolutionary Backstep
 
Here is an illustration with a pair of 18dB/oct Butts (3rd order) at 1kHz.

You can see the phase traces are 90° apart throughout, both filters are at -3dB at 1kHz, and the sum is a 2nd order all pass.

It is the exact same summed response as a LR 24dB/oct, and can be linearized as such.

If you want to try this you have to remember that this only works with odd order Butts! Using even order Butts will give you a +3dB boost at the crossover point as both filters are in phase.

Now regarding the potential advantages of these type of crossovers, you get a flat on-axis response (like a LR), a flat power response (unlike a LR that has a -3dB hole), but you also get a +3dB lobe somewhere off-axis (unlike LR). So this is a design choice...

Here is a good write-up on the subject by member John K: Power
 

Attachments

  • butt18.png
    butt18.png
    16.9 KB · Views: 158
Last edited:
  • Like
Reactions: 1 user
Here is an example of a 3rd order Butterworth crossover created with rephase and combined in REW. The alignment of the impulse had me scratching my head for a while as using estimated IR delay did not work.

To linearize this I used a 2nd order all pass with a Q of 1.0 in compensate images below due to size. I found linearizing with an LR4 wasn't quite right as it is the same as a Q 0.707 2nd order all pass which still left some phase variation.
 

Attachments

  • 3rd Order Butterworth Aligned Sum.png
    3rd Order Butterworth Aligned Sum.png
    17.4 KB · Views: 154
  • Compensated.png
    Compensated.png
    88.5 KB · Views: 161
Last edited:
  • Like
Reactions: 1 user
Yes you are correct the Q is 1, not 0.707 like a LR would be :ashamed:

Regarding impulse alignment, when I import a FIR in HOLM I usually directly use the offset value shown by rephase, but of course when dealing with a real world measurement you have to adjust manually, looking for that asymptotic phase value up high...

When centering is exact you get a perfect 2nd order allpass-pass (Q=1!) when summing, which in turn turns into a perfect linear phase when compensated for.
 
Last edited:
  • Like
Reactions: 1 user
Okay so I got it on my own ........ I think

Had my wife help me write out the coefficients by hand.... we drank a bottle of fine scotch and stayed up most the night. She is much smarter then I at mathematics.

I have 3 working BW filters now.... the sucky part is there raw filters, no windowing , no centering values , just raw coefficients. They play audio but I have no clue if there right or wrong... ugh I wish I knew how to do this more!!! If it weren’t for her I could NOT have gotten this far!!!!

So this is harder then I thought....
 
Why are you trying to hand write the coefficients?

If using a MiniDSP the Butterworth IIR filters are available as presets or if not they can be created directly in rephase under the minimum phase tab. The filter needed to linearize can also be created in rephase (Compensate 2nd order All Pass Q 1.0) as I showed before. How much simpler could it be?
 
I’m making linear phase fir and half linearized

Because of tap count mostly

My Hf drivers I can do all linear phase filters



Besides ..... they don’t work :-( we did something wrong


They don’t play audio I forgot to unbypass the DSP
And they won’t inport into REW or rephase

That was too hard.... I give up
 
Last edited:
What kind of coefficient are you trying to build? biquads? FIR?

As fluid said, you don't need to build anything yourself, be it biquad or FIR.
If you want to only linearize part of the phase due to tap limitation then you should probably first try to stick with minimum-phase, and then apply a partial phase linearization (et 1st order allpass instead of 2nd order, etc.)
In any case, what matter most, far above the final phase response, in the coherency of the crossover, so you should probably leave the linear-phase part out of the equation for now.
 
Fir ....


So I was trying to do the same thing I’m doing with LR filters except with bWs

It’s a epic fail , I’m just not smart enough


The issue is ..... when I make a butt in rephase (only for phase eq then take off the butt in fir and use iir in Minidsp it’s only a visual aid) , hit generate so I can linearize the textbook crossover, I use a LR linearization , then use phase eq to match the shape.... that works,
Bit for some reason the use of phase eq and my whimsy 1024taps at 96k isn’t enough, although it works just fine with Lr and no phase eq

I think the phase eq makes more taps needed


Also , I can’t do a linear phase BW .....
not that i need it but would be cool


So it comes down to this .... either I don’t do BW or
Allocate all my taps to the LF and just do minimum phase for the highs (where it isn’t as important)

Now I’m depressed about it and lost my ambition

If I had textbook crossovers, I could simply “make them work” with peq measurements

I just need the fir , and I can’t do it




All rectangular windows 96k IEEE32mono.bin

86hz LP BW36 linearization with 1776 taps

3500hz HP BW18 linear phase crossover with 266taps


180hz to 3500hz BW18 linear phase crossover with 1024 taps

86hz BW36 linearization to 300hz linearization 1024taps

111hz to 350hz linearization 1024taps



Filters , Offsets I need

Some will have to be centered at like 10ms to work....I can’t do this it’s way too hard.....
 
Last edited:
So let me ask ? Does a LR36 give the same magnitude that a BW would if I simply move them closer together so there -3db down at cross ?

I am Magine not I think it has something to do with the filter coefficients because I’ve tried in iiir and studied the biquads and there not at all the same (BW and LR of same slope)

But just curious?
 
I don't really understand much of your last few posts. The MiniDSP stuck at 96K is always going to struggle with FIR filters targeted at low frequencies. 86Hz is pretty low. The best chance would be to use IIR filters for the crossover and use the FIR taps in an overall combined Stereo phase correction where 4000 or more taps has much more chance of getting a decent correction response.

The delays can be set along with the IIR filters instead of using different length FIR's.
 
So I have a 6144tap open ddrc (or ddrc22) upstream

I have 12ch of fir at the outputs. I have 3 2x4hds as a dac and fir crossover


I’ve done just fir stereo correction and although it does do a nice job on the sum
Having fir crossovers and an upstream room correction is the cats meow in a car as of now
Even with the sum made linear , I can still hear the crossovers moving. And can still hear the other issues. The music does sound good and all that , but it’s not quite like linear phase
And I’m tellin it! The sub to midbass and midbass to midrange with LinPh is the “glory hole” lol (lack of better words, plus a funny joke on my build page)


I just really want to try BW filters , but don’t want to give up the fir crossovers.....
And I know I can make it work, (if I was smart enough) meaning I know it can work....
 
Last edited: