What is a ladder delay network?

A ladder delay network or a lattice delay network is a compensation network that doesn’t affect the amplitude response, but alters the phase and group delay response. This is quite similar to time alignment from a digital sound processor. However, no fancy computer stuff, just passive electrical components.

The main purpose of a ladder delay network is to align the acoustic centers of the drivers on the horizontal plane. Let’s consider a 2 way setup. Even though the speakers are placed flush on the baffle, the tweeter is actually in front of the woofer, acoustically. Implementing a lattice delay network will delay the tweeter, and the two drivers will be phase coherent.

You can check this by wiring the tweeter in reverse polarity. If everything is done correctly, the 2 speakers will cancel each other out. This will translate in a deep null in the frequency response, at the crossover region. If you see this null, you’re on the right track.

Types of ladder delay networks

There are 2 types of ladder delay networks :

  • 1st order – 4 components per network.
  • 2nd order – 8 components per network, but larger delay.

Might as well open SoundEasy and go to Crossover Tools -> Lattice Network. Here you will find a calculator for both types of lattices :

1st and second order ladder delay network

Our main focus for this article is the 1st order ladder delay network. Most of the time it should be enough. However, if you need a larger delay, you can implement a 2nd order one. Furthermore, if you need even bigger delays, you can cascade 1st order or 2nd order lattices for an added effect.

For what is about to follow, I’m going to use SoundEasy’s crossover design and optimizer. If you are not familiar with it, make sure you check out how to make a passive crossover using SoundEasy.

The setup

Basically, there is 2 way bookshelf loudspeaker. Bass reflex with rear firing port. The drivers in question are the following :

I’m going to make a simple crossover for this loudspeaker, and then add a ladder delay network and see how that goes. Here is the crossover design :

simple crossover

And here is the frequency response with this crossover :

frequency response simple crossover

Pretty damn good for such a simple crossover. However, this is not the point of this article. In conclusion, let’s take it step by step, and implement a ladder delay network.

First things, first

First of all, let’s use the calculator to give us the numbers for the ladder delay network. Simply go to Crossover Tools -> Lattice Network, and enter the DC resistance of the tweeter and the crossover frequency.

lattice calculator

After that, we get some numbers to start with. I’m saying that because this calculator assumes that the speaker is a resistor, and we know it isn’t. As a result, we got 2 capacitors with 22 uF, and 2 inductors with 0.2 mH. Let’s go to CAD schematic editor and insert the ladder delay network. The final circuit should look like this :

crossover with ladder delay network

We got the following components :

  • L0 – 1st order low pass filter for the woofer.
  • C3 , L4 – 2nd order high pass filter for the tweeter.
  • L8, C7, L11, C10 – ladder delay network.
  • R6 – attenuation resistor for the tweeter.

Tinkering procedure

After you have completed the circuit, go to Crossover Design -> Frequency / Time domain.


Here you have to check if the drivers are assigned to the correct nodes. Sometimes you just click Auto Nodes and it sorts everything out, but just to explain this. Look on the circuit diagram. Every node is marked with a number. The woofer is between node 4 and the ground (ground is marked with an *). The tweeter is between node 8 and 7. Some of these numbers may have a minus sign in front of them. This is to show the polarity of the tweeter. This is helpful, because we are going to switch the polarity back and forth to check for the deep null in the frequency response.

When all this is done, make sure you assign each driver type correctly (woofer and tweeter) and check the ON box. Finally, we can move on to the frequency tab.

component tweak

Here is where we are going to tweak the components. There are 2 ways to do this :

  • Select the component from the “Component Tweak” section and use the slider to adjust the value.
  • Directly right click the component on the CAD window and adjust the value.

After you made your tinkering, click the “Clear” button and then click “Plot”. As a result, you will see the frequency response chart for your new network.

Polarity switching

Another thing to mention is switching the polarity of the tweeter :

out of phase tweeter

You simply right click the tweeter on the CAD window and click the “Out-of-Phase” check box. There is a small catch here. This is a 2nd order crossover topology (mind refresher here), so the tweeter is wired in reverse polarity. In conclusion, when the “Out-of-Phase” box is checked, we are striving for a linear response. When it is unchecked, we’re striving for a deep null.

Optimization procedure

Like you see from the frequency response chart above, the overall response of the system has been modified as we added the ladder delay network. As a result, when we modify the ladder, we will optimize the response again and again. Little by little, we will get both done right.

I’m going to use the optimizer in a non conventional way.  Go to Crossover Design -> Filter / Crossover Optimizer, and set the following values :

  • HP passive +6 dB / Octave.
  • Butterworth.
  • High pass 5 Hz.
  • Optimize from 80 to 20 000 Hz. Basically from the point where the response starts to roll-off, all the way up to 20 kHz.

Use the Attenuation (-9.9 dB in my case) to get the target to the appropriate level.

optimization target

We do this trickery to optimize all of the components of the crossover (minus the ladder) to get a flat response. Not like before, where we take each driver individually and assign a different slope for each one. Then, we can move on to the optimization tab :


Here we can optimize any components we like, to reach linearity. Right now, the ladder components are really not picked right, so the response is all over the place. Anyway, now you know which procedures I’m using.

Getting down to business

First of all let’s reverse the polarity of the tweeter and look at the frequency response :

ladder delay network 1

We can see that we have a null in the response already, but it’s kind of high in frequency. Ideally, we want the crossover frequency at 2400 Hz. To fix this, I’m decreasing the values of the capacitors of the ladder. As a result I went from 9.5 to 6 uF. The null moved to the left, as intended. Tinkering with the values of the inductors (from 0.34 mH to 0.5 mH) I managed to make the null deeper, which is always a good thing. Here is the new chart :

ladder delay network 2

Looking good! Now, let’s switch the polarity of the tweeter and see the actual frequency response :

frequency response 1

Again, looking pretty good already, but let’s try to optimize the response.

Crossover optimization

Go into the optimizer, and set the target to a flat line from 80 Hz to 20 kHz, like mentioned above. Select all the components of the circuit, except the ladder, and click optimize.


After this optimization we can draw few conclusions :

  • The series inductor with the woofer has an optimal value of 3.22 mH and 0.67 Ohm. A 3.3 mH coil with 1.25 mm wire is 0.69 Ohms. The response is pretty linear on the low frequency spectrum and we will leave it at that. We shall not optimize this component any longer.
  • The resistance of the parallel inductor with the tweeter is of 2 Ohms. This is very high, unless you use very thin wire coils. Change this value to around 0.4 Ohms and don’t include it in the optimizer any longer. Let’s do this changes and re-optimize. In conclusion, we include only the capacitor, the inductor and the series resistor with the tweeter in the optimizer.

optimization 2

The closest components which are easiest to find is a 5.6 capcitor and a 0.82 mH / 0.44 Ohm inductor. Enter these values in the CAD and we are left with the ladder to optimize and the attenuation resistor.

Ladder optimization

All that is left to optimize is the 4 components of the ladder and the series resistor with the tweeter.

lattice delay network 4

As you can see, the cancellation between the two drivers is unsatisfactory. For what it is to come, I invite you to play with the values of the ladder components and the attenuation resistor. As a result, intuition and good luck will be a factor in your success. After much tinkering, I managed a deep null between the drivers and a flat response when the polarity is reversed.

ladder 5

The crossover frequency is around 1800 Hz. A bit lower than I wanted it to be. However, the tweeter has a resonant frequency of 450 Hz (which is ridiculous, but don’t go anywhere near that), and should handle 1800 Hz and above. Coincidentally, the ladder components have the same values as the LR2 filter for the tweeter : 5.6 uF capacitors and 0.82 mH inductors.

frequency response

As we switch the polarity of the tweeter and look at the actual frequency response, it’s nice a flat. Really flat. Ignore the response above 20 kHz, that’s just an artifact of the Hilbert-Bode transform.


The ladder delay network is one of the several solutions to align the acoustic centers of the the speakers. Besides this, you can use a slanted baffle, an asymmetrical baffle, use a steeper slope filter for the driver in front, and maybe some other techniques that I’m not aware of. In conclusion, a ladder delay network will solve many of the phase issues between drives.


  1. Image source : link.