âš™ï¸ ENGINEER LEVEL: Filter Theory and Design
Transfer Functions of Filter Types
First-Order High-Pass (6 dB/octave):
Transfer function:
H(s) = s / (s + ω_c)
Magnitude:
|H(jω)| = (ω/ω_c) / √(1 + (ω/ω_c)²)
Phase:
∠H(jω) = 90° - arctan(ω/ω_c)
At cutoff frequency: |H| = -3 dB, Phase = 45°
Second-Order High-Pass (12 dB/octave):
Transfer function (Butterworth):
H(s) = s² / (s² + √2×ω_c×s + ω_c²)
Magnitude:
|H(jω)| = (ω/ω_c)² / √[(1-(ω/ω_c)²)² + 2×(ω/ω_c)²]
Phase:
∠H(jω) = 180° - arctan(√2×(ω/ω_c) / (1-(ω/ω_c)²))
At cutoff: |H| = -3 dB, Phase = 90°
Fourth-Order (24 dB/octave):
Cascade of two second-order sections.
Linkwitz-Riley:
H(s) = [s² / (s² + √2×ω_c×s + ω_c²)]²
Special property: LR4 HPF + LR4 LPF sum to flat response when added acoustically
At cutoff: |H| = -6 dB, Phase = 180°
Crossover Phase Relationships
Phase shift accumulates:
First-order: 90° total phase shift Second-order: 180° total Third-order: 270° total Fourth-order: 360° total
Practical implication:
If tweeter and woofer crossed with 12 dB/octave: - Each has 90° phase shift at crossover - Total: 180° difference - They sum out of phase!
Solutions:
1. Linkwitz-Riley 24 dB/octave: - Each speaker: 180° shift - Difference: 360° = 0° (in phase!) - Sums to flat response
2. Physical alignment: - Tweeter behind or ahead of woofer - Time delay compensates phase - Complex to implement
3. All-pass networks: - Add phase shift without affecting magnitude - Can align arbitrary crossovers - Used in passive crossovers
Group Delay:
Frequency-dependent time delay:
τ_g(ω) = -dφ/dω
For Butterworth second-order at cutoff:
τ_g(ω_c) = 1/ω_c
Example: 80 Hz subwoofer crossover
τ_g = 1/(2π×80) = 2.0 ms
Audibility:
Group delay <10 ms generally inaudible Crossovers typically 1-5 ms - acceptable
Passive Crossover Design
Component values for Butterworth 12 dB/octave:
High-pass section (tweeter):
C = 1 / (√2 × π × f_c × R)
L = (√2 × R) / (2π × f_c)
Low-pass section (woofer):
L = (√2 × R) / (2π × f_c)
C = 1 / (√2 × π × f_c × R)
Where R = speaker impedance
Example: 3000 Hz crossover, 4Ω speakers
Tweeter capacitor:
C = 1 / (√2 × π × 3000 × 4)
C = 1 / 53,308 = 18.8 μF
Standard value: 18 μF or 20 μF
Tweeter inductor:
L = (√2 × 4) / (2π × 3000)
L = 5.66 / 18,850 = 0.30 mH = 300 μH
Woofer inductor:
L = 300 μH (same)
Woofer capacitor:
C = 18.8 μF (same)
Zobel network for impedance flattening:
Component values:
R_zobel = 1.25 × R_e
C_zobel = L_e / (R_zobel)²
Where: - Re = DC voice coil resistance - Le = voice coil inductance
Example: Tweeter with Re = 3.2Ω, Le = 0.08 mH
R_zobel = 1.25 × 3.2 = 4.0Ω
C_zobel = 0.08×10â»Â³ / 16 = 5 μF
Active Crossover Implementation
Analog active crossover:
Op-amp Sallen-Key topology:
Illustration in preparation Description: Circuit schematic of Sallen-Key second-order filter with component values and transfer function
Transfer function:
H(s) = K / (1 + (Câ‚×Râ‚ + C₂×Râ‚‚ + Câ‚×R₂×(1-K))×s + Câ‚×C₂×Râ‚×R₂×s²)
For Butterworth (Q = 0.707): - Set R₠= R₂ = R - Set C₂ = 2×C₠= 2C - Set K = 1.586 (gain)
Cutoff frequency:
f_c = 1 / (2π × R × C × √2)
Digital crossover (DSP):
IIR (Infinite Impulse Response) biquad:
Transfer function:
H(z) = (bâ‚€ + bâ‚×zâ»Â¹ + b₂×zâ»Â²) / (1 + aâ‚×zâ»Â¹ + a₂×zâ»Â²)
Butterworth HPF coefficients:
ω_c = 2π × f_c / f_s
Q = 0.707 (Butterworth)
α = sin(ω_c) / (2×Q)
b₀ = (1 + cos(ω_c)) / 2
b₠= -(1 + cos(ω_c))
b₂ = (1 + cos(ω_c)) / 2
a₠= -2×cos(ω_c)
a₂ = 1 - α
Normalize: divide all by (1 + α)
Implementation:
y[n] = b₀×x[n] + bâ‚×x[n-1] + b₂×x[n-2] - aâ‚×y[n-1] - a₂×y[n-2]
Computational cost: 5 multiplies + 4 adds per sample
FIR (Finite Impulse Response):
Transfer function:
H(z) = Σ(h[n] × zâ»â¿)
Advantages: - Linear phase (constant group delay) - Always stable - Precise control
Disadvantages: - Many taps required (hundreds for sharp crossovers) - High CPU cost - More latency
Typical modern DSP: - Uses IIR for crossovers (efficient) - Uses FIR for EQ (accuracy) - Hybrid approach