Tweeter Phase Shifter


It can’t be guaranteed that a tweeter and a midrange driver mounted to a baffle of a loudspeaker will be properly time-aligned over the crossover region for correct acoustic amplitude summing.  That “thing” on the left is a 3-stage all-pass filter (AKA phase shifter) and cost about $30 in parts.  It provides for my speakers the choice of measured near field on-axis acoustic amplitude responses shown on the right with a simple tweeter wire reversal.  Without the shifter, the notch in the red trace would not be as deep, nor would the blue trace be as flat. They’d both be “wrong” somewhere in between these extremes.¹  Some say that the improvements achievable using a phase shifter (vs. DSP delay) are marginal, but I have found this simple shifter to provide a result that’s so close to ideal that digital delay couldn’t possibly improve on it in any meaningful way.

  1. The March 2019 addendum further down the page has an overlay illustrating this.

Also as far as my particular loud speakers were concerned, the phase shifter improved the raw horizontal polar response sweeps from those shown on the left to those shown on the right in which ever-deepening off-axis crossover notches were essentially eliminated.


Some so-called “high-end” passively crossed commercial speakers had “lattice phase equalisers” included in their tweeter networks to delay the electrical signal to the tweeter with phase lag.  Their shallow crossover slopes were a problem and frequency response anomalies were the inevitable result of applying such “equalisers”.  Active LR4 crossovers on the other hand have much steeper slopes for a narrower crossover region, so there’s an argument that an equivalent feature isn’t warranted.  That’s nonsense of course as this page will demonstrate.

LR4 is said to be “phase-coherent” across the crossover region.  Whilst this is true electrically, more often that not the acoustic outputs of the drivers are misaligned due to physical offset from one another.  Linkwitz’s 1970s papers on the subject assumed a common propagation plane – something rarely seen in practical loudspeaker designs – something apparently abandoned in favour of “Lab Pixie-land” creations in later commercial pursuits. Unless you’re really lucky and have an ideal 180° phase difference, a tweeter wire reversal alone won’t correct it.

This page details the implementation of an electronic three-stage all-pass filter AKA “phase shifter” to an actively crossed LR4 system in which the tweeter previously worked better with a reversed wire connection, but it’s phase lagged the midrange at crossover by 60°.  120° of additional electronic lag assured a 180° misalignment, so that a simple wire flip back to “standard” would align the drivers correctly.

  • This page ignores compression driver tweeters in which the sound passes through a tube that’s deeper than the midrange cone, as used in PA and for which certain “pro” crossovers are available commercially with means of delaying the midrange signal.  This page concerns conventional home audio loudspeakers in which the tweeter’s acoustic centre is set forward of that of the next driver.  Such commercial offerings are not suited to this application.

Some say the only proper way to assure time alignment is with full band tweeter delay, but that requires a stepped baffle tweeter set-back (with diffraction artefacts that will be a problem greater than the solution), an inclined baffle, waveguide, or DSP with additional DAC channels at the very least and does not necessarily provide a better result because the propagation plane – particularly of large cone midrange drivers – is not fixed.  It moves with frequency.  FIR DSP (like DEQX) at some crazy price (and a serious deficit to learning, fun and doing) can address this however.  MiniDSP can do it cheaply, but I’ve tested that system and IMO (with measurements to validate) it’s a very noisy lo-fi option – useful for testing filters, then throwing on the tip.  Playback software can add delay to individual channels (intended for surround sound, but configurable for active crossover use), but millisecond precision (limited by the bit rate of the media or it’s up-sampled bit rate) is hardly the microsecond precision required to align tweeters, and again – additional DAC channels are required.  For DSD playback forget it.  Those ninnies can bask in ignorant placebo-induced glory until the cows come home as far as I’m concerned, but then again this analogue method could actually serve them well because DSP certainly won’t – I don’t care though. 😆


  • There is a beast known as the “BBC dip” that is said to be deliberately “engineered” into certain commercial loudspeakers supposedly aimed at pleasing classical music enthusiasts when playing orchestral works.  This dip “conveniently” happens to coincide with their mid/tweeter crossover point!  To the best of my guesstimation the “original” BBC dip was approximately a 3dB notch centred at about 2.8kHz with a Q of around 3.  It can be dialled-in to an otherwise flat system easily with digital PEQ.  I have experimented with it and it’s a foul beast that must die.  It does not improve the sound of new or old orchestral recordings at all.  It just gobbles up natural sparkle and detail – leaving only scraps for music.  Any branded loudspeaker displaying such a dip was “engineered” by accountants!  That marketers claim a poor frequency response to be a desirable and deliberate “feature” is farcical.  Many of the audiophile-revered speakers tested here fall into this “Fail” category.
  • There are numerous suggestions on the ‘net that the “acoustic centre” of a cone driver (coinciding with the propagation plane) is at the centre of the voice coil. Why would anybody even think that?  Just that it’s repeated ad nauseam doesn’t make it true!  The voice coil is not a sound source.  It’s just the motor that drives the cone and dust cap from which sound radiates, so the acoustic centre surely shifts from the dust cap forward as frequency reduces.  There is some suggestion that voice coil inductance can shift the acoustic centre. It might perhaps add electrical phase lag, but that’s not the same as moving something!  For the sake of this page and the loudspeakers in question, I simply measured the depth of the midrange dust cap using a laser measurer from a fixed position about 3m back and subtracted that from the distance to the tweeter dome (about 50mm) and used that for the delay requirement (50 ÷ 0.345mm/µs ≈ 145µs). The results of my measurements here indeed verify that the acoustic centre is NOT at any voice coil.

Specific reason for doing this myself

The long “de-passified” Jamo Oriels that have been in my custody for almost two decades have seen some tweaking over the years with active analogue tri-amplification and DSP “polishing” to the point that they had an on-axis response that was within ±0.68dB in the quasi-anechoic measurable range.  However there was no phase alignment correction, so this was instead achieved “brutally” by applying DSP parametric EQ filtering in the playback software including a mild boost across the crossover region where that 60° phase misalignment prevented the natural acoustic output of the drivers from summing by the expected 6dB on-axis.  This “boost” was applied up-front and ahead of the active crossover.  No doubt there was alignment due to lobe-steering off-axis in the vertical plane, but that misdirected lobe would have been emphasised by the boost.  The relevance in general of vertical plane directivity eludes me to some degree since it has no bearing on stereo image, but I’m sure that a misdirected lobe would be better off without a boost!  A close inspection of the “before” horizontal polar traces however showed that a boost applied at crossover to address the on-axis dip would not correct the deepening off-axis dips and that was of concern as off-timbre reflections from side walls can affect stereo perception adversely.

The tweeter section of the junked passive crossover networks from the Oriels as originally sold indeed had lattice phase equalisation bridges to align the tweeter with the midrange.  This phase shifter project aims at substituting for that in the much more steeply crossed active set-up to hopefully improve their horizontal off-axis performance.

Original polar response overlays

Clearly although the raw on-axis performance wasn’t all that bad, things got pretty ugly at around ≈2.3kHz as the microphone was moved off-axis sideways.

Initial 15° off-axis phase overlay

  • It should be understood that the phase shifter is not aiming at defying physics to provide perfect phase/timing alignment across the whole crossover region.  It merely aims at achieving ideal alignment at the crossover point with  minimised compromises to either side.

Here is the initial phase overlay of midrange and tweeter driven separately through the active crossover, measured on-axis by microphone at about 1m:

With the cursor positioned at the 2kHz crossover point (cursor not shown, but the figures at the bottom are for 2kHz), the tweeter lags the midrange by (171 – 111 =) 60°.  Neither the numbers nor the count of phase rotations/wraps matters since the fixed mic distance is arbitrary.  Only the difference matters.

  • The measurements were taken from a fixed microphone using a timing loop-back reference through another channel of the sound card so that all overlays are valid.

Big admission of prior STUPIDITY

About 5 years ago (I forget exactly) I attempted this exercise (with a single-stage shifter) and failed because I didn’t read the phase overlay correctly!  I had assumed hastily that the tweeter lead by 60°, so hacked out a 60° shifter.  Of course adding 60° of lag got me nowhere fast (either to a 120° lag, or a 60° lead depending on the tweeter connection polarity).  VERY DUMB!  Both amplitude sweeps looked like crap – just slightly different crap!  The penny only dropped on this a few weeks before doing the present simulations. 😳

Anyway back on track:  The tweeter is in green and it’s lagging at 2kHz because the green trace is below the orange midrange trace there.  There is alignment at around 4.2kHz, but that’s not so important per the following graph where the individual tweeter and summed amplitude traces converge.  Phase alignment is not so important at the wide extremes of the crossover region. At 2kHz where the individual midrange and tweeter traces cross there is equal acoustic power from both drivers so the phase ought to align best there.  Moreover – in the case of these speakers the shifter is intended to shift alignment from 4.2kHz (tweeter wire reversed) down to 2kHz (tweeter wire not reversed).

BTW it doesn’t matter that phase well outside the crossover region at say 8kHz (where the tweeter leads the midrange) is completely different to that at say 1kHz.  Try telling that to those on the FIR bandwagon!

Lobe steering

The Oriels have the tweeter situated below the midrange driver, so with the tweeter wires reversed per the above measured phase plots, the main central lobe would have been steering downward toward the floor.  That “simulation” on the right was from very crappy freeware, but illustrates the point schematically.  There is excessive vertical displacement of around 190-200mm between driver centres brought about by the very large faceplate of the Dynaudio Esotar T-330D tweeter.  This causes the central lobe to be quite narrow making lobe steering all the more critical.  The shifter will steer this to where it belongs – horizontal and directly toward the seated listener’s ears.  But it’s not just on-axis!  The shifter steers the off-axis lobes up to a horizontal direction as well, so that reflections from walls have the same timbre.  This is one of Toole’s famous points that “everyone” seems to fail to appreciate.

Initial  15° amplitude traces

It kind of looks OK, but the scale is deceptive.  There is a 1.5dB dip in the summed upper trace in the crossover region.  Anomalies in the tweeter response are addressed with DSP later on.  BTW none of the traces on this page have deliberate smoothing applied.  All are taken “near-field” at around a 1.5m radius with around 2.8ms of gating.

How to work out the phase shifter circuit component values etc.

Not easily.  Some web sites touch on the topic but don’t really help.  There are several sites discussing the matter broadly and showing the various circuit schematics, but useful detail and practical applications with real measured examples are nowhere to be found.  And must be avoided like the plague.  It’s just a rabble of smart arses trying to out-do one another with conjecture.

A circuit simulator package such as 5Spice freeware is needed, along with an understanding that the group delay is related to the slope of the phase curve.  A circuit needs to be tweaked until the crossover frequency falls on a point on the phase curve that’s has sufficient down-slope (when shown with log scaling) to provide the required delay in microseconds.

Here is what I ended up with:

It’s a trio of identical “non-inverting” opamp all-pass filters – i.e. it does not invert the lowest frequencies.  Reversing the tuning R and C positions in one section just shifts the output phase bode by 180°.  I.e. it inverts the output.  Reversing the R and C positions in any two sections gets you back to where you started.  In any case the whole discussion of “inverting” and “non-inverting” phase shifter circuits is irrelevant to this application since the tweeter wires can be reversed at will.  In my case the choice of “non-inverting” sections simplified the board layout by allowing all of the capacitors to be soldered at the top side of the board, with the resistors at the bottom side. See below.

The 5Spice file can be downloaded here.  It might save someone drawing it all up and the component values and test point can be changed easily enough to the output of any one of the opamps.

I had to keep adding stages and fiddling the R & C values until the desired phase and delay were reached.  One might err to assume that delay is tied to the phase value and need not be plotted, but we need to see the slope!  You only start to see the desired delay when the phase curve becomes steep enough at the point of interest.  And stages have to be added until something works.  The tuning resistor values (6K2 in this case) can’t be reduced too far else the preceding opamp can see too high a load (not a big deal with modern devices but TL072s for example might start to complain).  They can’t be too high either else you might end up with too much thermal noise from the resistors themselves.

Here is the simulated phase and delay plot:

Numbers in the box relate to the cursor position along the red curve (phase).  The Blue curve is delay and is slightly off the desired 145μs target at 2kHz and that’s because I only simulated with standard R and C values that were available from my supplier.  This of course is done knowing that the drivers will end up connected in-phase electrically.

  • There is some talk on a few web sites about the 90° or “quadrature” point on the phase curve.  Who cares?  It is an irrelevant point unless you happen to be chasing a 90° shift which is important in some applications (such as SSB transmitters), but can lead only to confusion here.

Important to understanding:

Here is the above simulation repeated but with a linear frequency scale:

Very important to the understanding of phase and delay is to know that group delay is the negative derivative of phase.  Moreover that delay is the slope of the phase curve.  In linear scale it is clear the the red phase curve  approaches flatness beyond 20kHz as the blue delay curve approaches zero asymptomatically.

The board

Nobody sells one of these, so you have to build it.  I have zero PCB designing skills, so just hacked it out with stock perforated board.

ICs, connectors, power supply bypass and tuning capacitors on top.  It’s a stereo board with the above circuit replicated at both sides of dual opamps:

Resistors, power rails and ground bus on bottom side:

Messy eh? It’s tight because if it worked, it had to slot into a narrow space in the crossover chassis.

First test

First ‘scope test revealed a horror story:

I had LME49720 opamps on hand, so tried them (rather ambitiously given the amateurish board construction and unity gain nature of the circuit) and got those wild oscillations. OPA2134 opamps oscillated even worse!  “Unity gain stable” bah! 😆 LF353 opamps worked fine and so did NE5532, so I ended up leaving in low noise versions – NE5532AP.  And contrary to all the idiotic debates and anecdotal drivel at from people without oscilloscopes, as long as they don’t oscillate in the circuit ALL REASONABLE OPAMPS SOUND EXACTLY THE SAME TO HUMAN EARS! Use EQ if you want the sound to change!

2kHz Input/output overlay with NE5532AP opamps:

Scope needs timing calibration, but at 2kHz it’s providing around 125° – close enough to target.

REW sweep

Here is a line level distortion/noise trace made with REW and a Focusrite 2i2 sound card through one channel of the shifter board with “lowly” LF353 opamps installed:

As expected the ruler-flat amplitude response of an all-pass filter, but little distortion and noise.  Cursor is at about 1kHz and all harmonics and noise are some 80dB down!  “Oh shock and horror.  You’re adding opamps to the signal path.”  Shut up! Nobody can hear it and any PSU noise is later filtered out by the tweeter’s series protection capacitor anyway. “Oh not a capacitor in the signal path?” SILENCE ninny! 😆

Testing on a speaker


Note – the “not really on-axis” microphone position is on the line of sight from the sweet spot to the tweeter/midrange mid point – in this case around 15° “off”, but it’s the same position from which measurements were made for the above phase overlays. 🙂

One channel of shifter board attached between crossover’s right tweeter output and tweeter amp right input (100Ω resistor in series with the board’s output):

Expecting a deep 2kHz suck-out notch right?

And got it! Awesome! Well more-or less. It’s actually slightly off-target and it might be due to the 5° deviation noted earlier, but I suspect it’s more of an acoustic phenomenon.   Nonetheless at around 1/200th the swept power level at crossover, that’s as close as anyone will ever see to a 180° misalignment. Ignore high SPL. Ever in fear of high-frequency/amplitude frying of amplifiers and tweeters, I tricked REW into thinking the approx. 60dB sweep was at 80dB (just by manipulating the Focusrite 2i2 Monitor Out and Input pots).  The notch actually nudges the ambient noise floor so it was probably even deeper than displayed.

  • The deep notch actually set aside some doubts that I had about the accuracy of REW’s phase data in the original sweeps upon which this whole exercise was based.  I still have serious reservations about REW’s phase accuracy (which is based on an estimated impulse response peak) having done numerous subsequence sweeps with a loopback reference showing some very bizarre phase outcomes.  Whilst it’s amplitude data can almost certainly be trusted, I fear that I may have fluked things here with the original 60° measured gap! 

Tweeter wires flipped to “normal”

Well I’d need a helper to get to the bottom of the speakers where the terminals are buried, so I wired-up a “Speakon-reversor” for the back of the amp instead:

Probably best just to show it as an overlay with the previous “wrong” one:

Absolutely fantastic!  Of course blue is the end result and it’s actually better than expected!  The tweeter level is set slightly high deliberately for later downward flattening with DSP PEQ.  Interestingly, the wobble at around 2.7kHz in the orange trace is pretty much “summed away” with tweeter wire inversion.  Leaves a tiny dip at about 2.6kHz that’s ignorable since it’s no worse than raw driver deviations anyway.  At the crossover point there is perfect summing.  The overall result is a very pleasant surprise actually.  It’s seriously amazing and a flatter “analogue only” amplitude response than a factory standard Jamo Oriel.  Professional anechoic chamber measurement of a production sample with red box showing my equivalent graph range.

March 2019 addendum

I just found a REW measurement that I forgot even doing.  It was done back in January 2018 when I was fiddling around with a borrowed MiniDSP to confirm that a 2kHz crossover point would work well for the Oriels.  I must have hit an “invert channel” button in the MiniDSP GUI for one of the sweeps and here it is in purple overlaid with the red inverted tweeter phase-shifted trace from above:

Of course the microphone is in a slightly different spot (being over a year between measurements) and the gating is slightly different, but nonetheless it is very evident that without the phase shifter, inversion of the tweeter wires could not induce anywhere near the desired notch depth.

Here is an overlay of that MiniDSP trace (with better gating) and one taken at the same time without the tweeter inversion:

Clearly neither tweeter polarity was anywhere near ideal, with just a 4.5dB difference between notch depths compared to a 13dB difference in the preceding graph.

Shifter board installation to crossover chassis

The active crossover is a DIY effort built using ESP boards as detailed here. It’s been a work in progress and the chassis houses a lot more than was initially intended.  Needless to say there is little space apart from this 22mm wide slot alongside a partition to which the board can be bolted (hence the 7mm short-arse electrolytic caps chosen):

Of course there’s a grounding wire in the way so it’ll be a bit of a fiddle, but this is where it will end up with a zillion wires attached.

The upper left board divides the tweeter HP output from the rest and has 20K multi-turn level-setting trim pots ahead of its output buffers.  The shifter is to be “spliced-in” ahead of those – hence the 20K load shown in the schematic and the use of (perhaps unnecessary) 22K input impedance resistors in the circuit.  That stuff on the right is for bass/subwoofer EQ to the room and there’s an infrasonic filter there (top right) to protect the amps and woofers.

Just some progress pics of the connections and installation:

A video showing crossover output on oscilloscope

The tweeter and midrange outputs show a phase shift as I twiddle the generator frequency back and forth across the crossover region.  Previously the traces were aligned at all times.

Comparison video showing standard LR4 without phase correction:

That was the 100Hz bass/midrange crossover section of the same chassis where phase adjustment is not wanted.

Final acoustic phase overlay

I’m having some trouble with this. It has come to light that the REW software is inaccurate in its phase representations – even using a loop-back timing reference.  I’ll add something here later if I figure it out.  At the moment it’s having me thinking that I fluked the results here big time!

Addendum – yes it seems that REW’s phase plots are a grab-bag.  The original phase overlays done under an older build of the software were evidently fine.  While I trust the amplitude representations generated by the latest builds, the phase data leaves me scratching my head.  Then again it is free so who’s complaining?

New polar measurements

0, 15, 30, 45 and 60 degrees

The phase shifter has almost completely eliminated the ever-deepening ≈2.3kHz notch as the microphone is moved off-axis!  Moreover mild PEQ filtering applied in the playback software (perhaps retaining a slight boost around crossover) will not only serve the on-axis response well, but will follow through very nicely off-axis – at least up to 30° where the tiny remnant crossover dip remains identical to that on-axis.

New digital EQ “polish” over the top

I’ll post the acoustic measurements later maybe.  The on-axis probably won’t look any better than the old one so maybe I won’t bother.

Anyway the filters are a simple set of 6 as generated by REW:

This is applied to the 15° “line of sight” trace for “dead flat” in the direct sound to the seat.

You’ll see that one does include a tiny boost at around 2.4kHz but that was eliminated afterwards with better EQ optimisation in REW.  The vertical plane lobe now steers horizontally and as noted earlier the EQ applies validly to the horizontal off-axis responses to at least 30° and with good effect to at least 60°.  Far more importantly however is the removal of the very nasty 4.8kHz driver resonance that is consistent throughout all of the traces.  The mild flattening above that was considered desirable rather than essential.

Here is the graph – an actual microphone measurement made by sweeping REW through JRMC‘s WDM so that the polishing EQ is applied as if music were playing.  This is a carefully gated sweep so as to eliminate all room reflections:

None of that EQ is aimed at “correcting” the room!  Other measurements taken from the sofa with wide gating address room modes below 200Hz, but that’s not relevant to this page.

Listening impressions

Well I could gush with superlatives, but no way!  Anecdotal expressions from “Audio Nirvana” all originate surreptitiously from Audiofoolsville (via Chickasaw Falls) and I don’t live there.  They could only be a waste of .space.  Instead I’ll simply give a nod to Dr Toole!


I don’t have one.  Ask the frog man.

Oh yes I do. 😆  There are some:

  1. Don’t just “go active” without considering acoustic timing/phase interactions at mid/tweeter crossover,
  2. $30 is a lot cheaper than even the cheapest of the “insta-world” commercial alternatives – from most of which you will learn a grand total of nothing,
  3. Even the most expensive of the FIR digital options won’t necessarily address time alignment correctly as they don’t encourage near-field off-axis measurements per Toole’s recommendations.  Some providers of very expensive software plug-ins (and their advocates at online forums) actually encourage speaker calibration based solely on a single measurement taken from the far field listening position which is of course completely and utterly absurd for anything above about 200Hz, and
  4. BIG LESSON: The group delay is derived from the slope of the phase curve! A flat section of a phase curve has ZERO group delay.  Even if it’s at 180° or 360°, there is NO delay.

3 thoughts on “Tweeter Phase Shifter

  1. Ian, is the any merit in stepping the drivers in the baffle? Specifically stepping the mid back. Lets just say that the baffle is very thick like 50 mm plus. Also lets just say that I don’t want to go to a lot of trouble with electronics and can do it mechanically. Also placing the tweeter a top the enclosure with the baffle shaped into a conical shape similar to what B&W do with their tweeter in the 803d3. And have the tweeter stepped back. My configuration would be TMWW.

  2. Hey Craig. Long time no see. 50mm LOL. What are you doing? Building speakers out of railway sleepers or something? Ha ha. Yes ppl I know Craig from the ESP forum and he does stuff like that.

    I wouldn’t recess the mids as that would increase the acoustic offset. You might be lucky and the natural driver offsets could have them smack on 180 degrees target acoustically so a wire flip would do the trick.

    You’d probably need to take microphone measurements with REW or similar so you know where you’re at. Without a mic, you could measure the physical offset of the radiating surfaces of each driver and do the maths on that using your crossover frequency to get an approximation of required offsets.

    I have a mate in Sydney with DIY speakers comprising a tweeter on a pod like that B&W and he managed to align it on-axis using a microphone and physically repositioning the pod until the response flatted across crossover. It ended up with quite a set-back, but there were issues off-axis due (we assume) to reflections of the tweeter output off the lower structure.

    IMO the tidiest way to set a tweeter back physically is to use a waveguide and that has other great benefits too. Maybe if you raise it over at ESP that might get Robert started too.

  3. Thanks Ian, I was thinking there might be issues and hence why B&W put the mid in a sphere too. Actually it all looks way to ridiculous for my eyes so no. And as you say, without doing measurements and calcs I may get it completely wrong. I just figured it may be a good application for a 1 inch edge driven tweeter. I like building way out furniture just because I can. I am planning to use transparent side panels and negate the internal reflections with an absorbent rear panel. The drivers and crossover components will be contained completely in the baffle and the box will look empty.

Leave a Reply

Your email address will not be published. Required fields are marked *