Loudspeaker design

Passive crossover design: the values, the response, and the corner a real driver moves

Every crossover calculator gives you component values. This one also gives you the response those components actually produce, and tells you how far the corner moves once the driver stops being the resistor the formula assumed.

Crossover calculator

Butterworth and Linkwitz-Riley ladders, first through fourth order, for either branch. Component values are derived from the filter polynomial rather than transcribed from a table, so every one of them can be checked against the response below.

Slope
—
Level at the crossover
—
Corner, nominal load
—
Corner, measured load
—
Corner shift
—
Measured slope, 4× to 8× fc
—

Components

Series
—
Nearest E24
—

Response

Magnitude of the branch with the measured load substituted for the nominal resistance. The dashed line is the nominal-resistor response, so the gap between them is the shift.
Sum with the opposite branch
—

Why the published constants are not enough

The audio literature hands you a table: .1125/(Rf) for a capacitor, .2251·R/f for an inductor, and a longer list for third order. Those numbers are correct. They are also opaque — they do not say which alignment they belong to, they stop at third order, and there is no way to check one against the filter it produces.

This page derives the same values instead. A ladder of alternating series and shunt elements, starting with series, has the transfer function

H(x) = 1 / (1 + x·e₁ + x²·(e₁e₂ + e₄(e₁+e₃)) + x³·e₁e₂e₃ + …)

where x = jω and the e values are the normalised elements. That falls out of cascading each element's transmission matrix and taking H = Zload/(A·Zload + B), which is the voltage-source case an amplifier actually presents. Match the coefficients against the target alignment's polynomial and the element values drop out.

Two things follow that are worth knowing before ordering parts. Butterworth of order n is 3.01 dB down at the crossover. Linkwitz-Riley of order 2n is 6.02 dB down, because it is two Butterworth sections of order n in cascade and its denominator is that section squared.

The part every calculator skips

All of the above treats the driver as a resistor equal to its nominal impedance. So does every crossover calculator you will find, and the standard formulas are built on that assumption. It is also wrong, and not by a little.

A real driver is a resistance in series with an inductance. Its impedance rises with frequency, it peaks hard at resonance, and its phase is nowhere near zero anywhere useful. At a typical 2.5 kHz crossover, a driver labelled 8 Ω measures closer to 6.3 Ω at −35°.

Substitute that into the ladder and the corner moves a long way. For the high-pass branch in the default example, the −3 dB point goes from 2503 Hz to 5741 Hz — more than an octave off. The low-pass branch moves the other way, from 2497 Hz down to 2151 Hz. The two branches no longer cross where you asked them to, and the acoustic sum develops a notch you did not design.

That is why the tool asks for a measured magnitude and phase, and why it reports both corners. If you have not measured, enter the nominal impedance and a phase of zero — you will get the textbook answer, and the tool will not pretend it is more than that.

What a Zobel actually buys you

The fix is to flatten the impedance before the crossover sees it. A Zobel network is a resistor and capacitor in parallel with the driver, chosen so the capacitor resonates with the voice-coil inductance and the resistor sets the flattened level. Done properly the driver looks resistive across the crossover region and the calculated values start meaning something.

The cost is real. The Zobel resistor carries current and dissipates power — in a high-frequency branch it can be the largest resistor in the box — and the capacitor is often larger than anything else in the crossover. Both are reasons Zobels appear on some designs and not others, and neither shows up in a component table.

Order, polarity, and what sums flat

A first-order crossover leaves the two branches 90° apart at the crossover, so one driver is usually reversed to fill the gap. A second-order Butterworth pair is 180° apart, which is the same advice for a different reason. Third-order is 90° apart again and its sum is not flat at all.

Linkwitz-Riley exists to avoid this. LR2 is 6 dB down at the crossover and its two branches sum to unity across the whole band with no reversal — you can see that in the tool's acoustic sum row, which stays at 0.000 dB from 100 Hz to 10 kHz. The price is a deeper notch at the crossover and a wider transition, because LR2 is two first-order sections and LR4 two second-order ones.

Component values are not the whole build

Three things the arithmetic cannot see, all of which move the measured response:

  • Inductor DC resistance. A series inductor's DCR sits in line with the driver. At 5% of the load it starts damping the response and shifting the corner; air-core inductors are large and iron-core ones are lossy, so this is a real trade rather than a detail.
  • Capacitor voltage rating. A shunt capacitor sees the full output swing. A bipolar electrolytic rated below it will fail, and a polypropylene part that fits costs more than the arithmetic suggests.
  • Driver natural roll-off. The electrical slope is not the acoustic slope. A woofer's own roll-off adds to the filter's, so the measured crossover point sits somewhere other than where the components put it.

The tool reports the first two once you give it an amplifier swing, a capacitor rating and an inductor DCR. Leave any of the three at zero and that check stays silent, so a design you have not specified parts for draws no warnings about parts. The third it cannot report at all. Measure.

Nearest E24, and why the exact value is still shown

You cannot buy a 1.8012 mH inductor or a 14.07 µF capacitor. The tool shows the exact value and the nearest E24 part, because the difference between them is the error you are accepting: a rounded series element changes the corner frequency, and a rounded shunt element changes the load the amplifier sees. Both are reported so you can decide whether the error is acceptable or whether to series-parallel two standard values to get closer. The exact value stays on screen because it is the one the mathematics refers to — the E24 part is what you order.

Exporting the design

The design is also a library: crossover.js is a set of plain functions with no DOM dependency, so it imports into Node, Deno, Bun or a browser, and it ships with type declarations that describe every parameter and return value. It does not emit compilable code the way the biquad and FIR generators do — a passive ladder is a bill of materials, not a difference equation, so what you copy out of the tool is the component list. If you are building the crossover in an embedded target rather than out of coils and film, the biquad article covers the digital equivalent, where the same alignments are implemented as coefficient arrays instead of ladders.