6.4 Crossover and Filter Math
First-Order (6 dB/octave) Crossover
Component values:
High-pass (tweeter):
C = 1 / (2π × f_c × R)
Low-pass (woofer):
L = R / (2π × f_c)
Where R = speaker impedance (use nominal, e.g., 4Ω or 8Ω)
Worked example: 3,000 Hz crossover, 4Ω speakers:
C = 1 / (2π × 3000 × 4) = 1 / 75,398 = 13.3 μF
L = 4 / (2π × 3000) = 4 / 18,850 = 0.212 mH = 212 μH
Phase shift: 45° at crossover. Sum of HPF + LPF = flat but with 90° phase difference — may cause cancellation or reinforcement depending on driver polarity and placement.
Second-Order (12 dB/octave) Butterworth
Component values:
High-pass:
C₁ = 1 / (√2 × π × f_c × R) = 0.225 / (f_c × R)
L₁ = (√2 × R) / (2π × f_c) = 0.225R / f_c
Low-pass:
L₂ = (√2 × R) / (2π × f_c)
C₂ = 1 / (√2 × π × f_c × R)
(Same values as HPF — symmetric network)
At crossover: Each section = −3 dB. Drivers sum 3 dB hot (over-peaked). Reverse tweeter polarity to correct: flat sum but with polarity inversion.
Fourth-Order Linkwitz-Riley (24 dB/octave)
Most common professional crossover order.
Implementation: Cascade two Butterworth 12 dB/octave sections at same frequency.
Component values for each 2nd-order stage:
Stage 1 (Q = 0.5):
L₁ = R / (2π × f_c × 0.5)
C₁ = 0.5 / (2π × f_c × R)
Stage 2 (Q = 0.5 × same):
(Same values — both stages identical for LR4)
Properties: - At crossover: Each section = −6 dB - Phase: HPF = 360° (in phase), LPF = 360° - Sum: Flat response when both drivers in polarity - No polarity reversal needed
This is why LR4 became the standard for professional audio crossovers.
Active Crossover — High-Pass Biquad (IIR)
Digital Butterworth HPF coefficients:
ω₀ = 2π × f_c / f_s
α = sin(ω₀) / (2 × Q)
b₀ = (1 + cos(ω₀)) / 2
b₁ = −(1 + cos(ω₀))
b₂ = (1 + cos(ω₀)) / 2
a₀ = 1 + α
a₁ = −2 × cos(ω₀)
a₂ = 1 − α
Normalize: divide b₀, b₁, b₂, a₁, a₂ by a₀
Worked example: 80 Hz HPF, Q = 0.707 (Butterworth), 48 kHz sample rate:
ω₀ = 2π × 80 / 48000 = 0.01047 rad
α = sin(0.01047) / (2 × 0.707) = 0.01047 / 1.414 = 0.00740
b₀ = (1 + cos(0.01047)) / 2 = (1 + 0.99995) / 2 = 0.99997
b₁ = −(1 + 0.99995) = −1.99995
b₂ = 0.99997
a₀ = 1 + 0.00740 = 1.00740
a₁ = −2 × 0.99995 = −1.99990
a₂ = 1 − 0.00740 = 0.99260
After normalization (÷ by 1.00740):
b₀ = 0.9927 b₁ = −1.9854 b₂ = 0.9927
a₁ = −1.9852 a₂ = 0.9854
These coefficients are entered directly into DSP programming interfaces.
Parametric EQ Biquad Coefficients
Peaking filter:
A = 10^(gain_dB / 40)
ω₀ = 2π × f_center / f_s
α = sin(ω₀) / (2Q)
b₀ = 1 + α × A
b₁ = −2 × cos(ω₀)
b₂ = 1 − α × A
a₀ = 1 + α / A
a₁ = −2 × cos(ω₀)
a₂ = 1 − α / A
Normalize all by a₀.
Low-shelf filter:
A = 10^(gain_dB / 40)
ω₀ = 2π × f_c / f_s
α = sin(ω₀) / 2 × √((A + 1/A) × (1/S − 1) + 2)
(where S = shelf slope, typically 1.0)
b₀ = A × [(A+1) − (A−1)×cos(ω₀) + 2√A×α]
b₁ = 2A × [(A−1) − (A+1)×cos(ω₀)]
b₂ = A × [(A+1) − (A−1)×cos(ω₀) − 2√A×α]
a₀ = (A+1) + (A−1)×cos(ω₀) + 2√A×α
a₁ = −2 × [(A−1) + (A+1)×cos(ω₀)]
a₂ = (A+1) + (A−1)×cos(ω₀) − 2√A×α
Normalize all by a₀.
These are the "Audio EQ Cookbook" formulas — the standard reference for digital filter design, by Robert Bristow-Johnson.