RFrftools.io
Signal ProcessingFebruary 15, 20268 min read

Active Filter Design: Butterworth vs. Chebyshev vs. Bessel

How to choose and design active filters. Compares Butterworth, Chebyshev, and Bessel responses with practical examples for signal processing and RF applications.

Choosing a Filter Type

Three approximations dominate filter design. The best choice depends on what you're trying to optimize:

ResponsePassbandStopbandPhase/DelayBest for
ButterworthMaximally flatModerate roll-offModerateGeneral purpose, ADC anti-aliasing
ChebyshevEquiripple (by design)Steeper than ButterworthPoorSharp cutoff, RF, audio crossovers
BesselGentle, monotoneSlow roll-offLinear (constant group delay)Pulse/data signals, timing

Butterworth: The Safe Default

The Butterworth filter has no ripple in either passband or stopband. Its magnitude response is:

H(jω)2=11+(ω/ωc)2n|H(j\omega)|^2 = \frac{1}{1 + (\omega / \omega_c)^{2n}}

At the cutoff frequency, response is always −3 dB regardless of order. Roll-off is 20n dB/decade where n is filter order.

A 4th-order Butterworth (two cascaded Sallen-Key stages) provides 80 dB/decade roll-off — sufficient for most ADC anti-aliasing applications.

Chebyshev: Maximum Steepness

Chebyshev Type I allows equiripple in the passband in exchange for steeper roll-off. A 0.5 dB ripple specification means passband gain varies by ±0.25 dB. The reward:

  • A 4th-order Chebyshev with 1 dB ripple achieves the same stopband attenuation as a 6th-order Butterworth
  • That's 2 fewer op-amps, 4 fewer resistors, 4 fewer capacitors
The catch: Chebyshev has worse group delay variation (phase nonlinearity), which smears pulses. Don't use it for data signals where timing matters.

Bessel: For Pulse Fidelity

Bessel filters have maximally flat group delay — all frequencies within the passband are delayed by the same amount. This preserves pulse shape, essential for:

  • Oscilloscope input stages
  • Digital signal reconstruction
  • QAM receivers where symbol timing is critical
The tradeoff: Bessel rolls off slowly. A 4th-order Bessel achieves only about −10 dB at 2× the cutoff frequency (vs. −24 dB for Butterworth, −32 dB for 1 dB Chebyshev).

Practical Design: Sallen-Key Topology

For active filters to ~1 MHz, the Sallen-Key is the standard 2nd-order building block:

R1      R2
In ──┤├──┬──┤├──┬──── Out
         │       │
        C1      C2
         │       │
        GND    (feedback)

For each stage, choose a Q factor and ω₀ from the filter design tables (normalized to ω_c = 1 rad/s, then scale). A 4th-order Butterworth decomposes into two 2nd-order stages with Q = 0.5412 and Q = 1.3066.

Equal-component Sallen-Key (simplifies component selection):
  • Set R1 = R2 = R, C1 = C2 = C
  • Then ω₀ = 1/(RC) and Q = 1/(3 − A_v) where A_v is op-amp gain
  • For Q = 0.707 (Butterworth 2nd order): A_v = 1.586

Op-Amp Selection

The op-amp's gain-bandwidth product (GBW) must be much larger than the filter's operating frequency:

GBW>100×Q2×fcGBW > 100 \times Q^2 \times f_c

For a 10 kHz Chebyshev filter with Q = 2, you need GBW > 4 MHz. An LM324 (1 MHz GBW) is marginal. An TL072 (4 MHz) or OPA2134 (8 MHz) works well.

Worked Example: 1 kHz Low-Pass Anti-Aliasing Filter

Goal: Filter signal before 8 kHz ADC sampling. Need >60 dB attenuation at 4 kHz.

1. Required: 60 dB at 4/1 = 4× the cutoff 2. Order: 60 / (20 × log₁₀(4)) = 60/12 = 5th order. Use 6th for margin. 3. Type: Butterworth (linear phase not critical for this ADC) 4. Topology: Three cascaded Sallen-Key stages 5. Component values: With R = 10 kΩ, C = 1/(2π × 1000 × 10000) = 15.9 nF → use 15 nF with trimmer, or 16 nF

Design your filter coefficients and get component values instantly with the Filter Designer Calculator, which supports Butterworth, Chebyshev, and Bessel responses from order 1 through 10.