// WIKI

Analog filters and the Bode plot

1st- and 2nd-order filters — RC, RL, RLC and Sallen-Key — cutoff frequency and Q factor, how to read a Bode plot and why you move to an active topology.

Published on Updated on FiltersRCRLCSallen-KeyBode

A filter does one thing: let some frequencies through and attenuate others. Behind this simple sentence is the transfer function, and the standard way to read it is the Bode plot. This tool designs filters up to 2nd order and draws their Bode plot; this page explains what to look at.

Transfer function and the Bode plot

Every filter is described by H(jω): for each frequency, how much it attenuates (magnitude) and how much it phase-shifts (phase) the signal. The Bode plot draws these two quantities against frequency, with two devices that make it readable: the frequency axis is logarithmic (decades are equally spaced) and the magnitude is in dB (logarithmic too). With these scales the attenuation slopes become straight lines, read at a glance. In normalized form, with x = f/f₀:

Natural frequency, and where the −3 dB point really is

The reference around which everything is read is f₀, and it has a name: the natural (or pole) frequency. The cutoff frequency is something else — the point where the magnitude drops 3 dB below the passband, that is a factor √2 in voltage and a halving of the power. In first order the two coincide; in second order, as shown below, in general they do not. For the elementary filters:

A 1st-order filter has exactly −45° of phase at its own cutoff. For the 2nd order the −90° point falls on the natural frequency f₀, which coincides with the −3 dB point only in the Butterworth case (Q = 1/√2): with a different Q the two frequencies separate, as the table below shows.

f₀ is not the cutoff, except in one case

In second order the magnitude is

and at x = 1 the two terms under the root become 0 and 1/Q², so |H(f₀)| = Q. Not −3 dB: Q. The −3 dB point comes from solving |H|² = 1/2, which with u = x² gives a quadratic:

Q |H(f₀)| f₋₃dB / f₀
0.5 (critically damped) -6.02 dB 0.644
0.577 (Bessel) -4.78 dB 0.786
0.7071 (Butterworth) -3.01 dB 1.000
1 0.00 dB 1.272
2 +6.02 dB 1.485
5 +13.98 dB 1.543

The Butterworth row is the only one where the ratio is 1: Q = 1/√2 is exactly the condition for f₀ to be the −3 dB cutoff, and that is no coincidence — it is the same condition that makes the response maximally flat. Above it the cutoff moves up, tending to 1.554·f₀ as Q → ∞; below it the cutoff falls (at Q = 0.5 the magnitude at f₀ is already −6 dB and the cutoff sits at 0.64·f₀).

The practical consequence is that asking for “cutoff at 1 kHz” on a second order with Q = 2 and setting f₀ = 1 kHz gives a cutoff at 1485 Hz and a +6.3 dB peak at 935 Hz. This is why the tool reports the realized f₀ as a natural frequency rather than a cutoff: they are two different numbers, and calling them by the same name leads to sizing mistakes.

A worked example

For an RC low-pass with a 1 kHz cutoff, fixing C = 100 nF, you need R = 1/(2π·1000·100·10⁻⁹) ≈ 1591 Ω, rounded to the nearest E24 value 1.6 kΩ (actual cutoff ≈ 995 Hz). One decade past the cutoff, at 10 kHz, the magnitude has already dropped ~20 dB and the phase has passed −84°: the asymptotic 1st-order behaviour, −20 dB/decade and −90° in the limit.

The Q factor

In 2nd-order filters the cutoff frequency is not enough: you need the Q factor, which governs the shape of the response around the cutoff.

  • Q = 0.707 (1/√2) is the Butterworth condition: the flattest possible passband response, with no peak.
  • Q > 0.707 produces a resonance peak before the cutoff and a sharper transition: useful for selectivity, risky for overshoot and stability.
  • Q < 0.707 softens the transition (a “slower” response).

In a band-pass the Q has a second, direct meaning: it is the selectivity, i.e. f0 divided by the −3 dB bandwidth. High Q = narrow band.

Roll-off: the order matters

Past the cutoff the magnitude falls at a constant slope: −20 dB/decade per order. A 1st order attenuates at −20 dB/decade, a 2nd at −40. Each order also adds 90° of asymptotic phase shift. When a steeper cutoff is needed, stages are cascaded — and this is where the active topology becomes convenient.

What a high Q costs, in overshoot

“Risky for overshoot” does not say how much. For a second-order system the link between Q and the step response is closed: with ζ = 1/(2Q) the overshoot is exp(−πζ/√(1−ζ²)), and a frequency peak exists only for Q > 1/√2.

Q ζ Step overshoot Frequency peak Peak f
0.5 (critically damped) 1.000 0.0 % — —
0.58 (Bessel) 0.862 0.5 % — —
0.707 (Butterworth) 0.707 4.3 % — —
1 0.500 16.3 % +1.25 dB 0.707·f₀
2 0.250 44.4 % +6.30 dB 0.935·f₀
5 0.100 72.9 % +14.02 dB 0.990·f₀

The two columns say different things and should be read together. Butterworth has no frequency peak — that is the definition of maximal flatness — and yet on a step it produces 4.3 % overshoot: flatness in amplitude does not imply a clean response in time. Bessel drops to half a per cent, which is why it is chosen when waveform shape matters. At Q = 2 you are at 44 % overshoot with only 6.3 dB of peak: the time domain degrades far faster than the Bode plot suggests, and looking at the magnitude alone you cannot see it.

Cascading is not enough: the cutoff moves

The easiest thing to get wrong in practice. Cascading N identical stages each tuned to f_c gives the expected −20·N dB/decade asymptotic slope — but the −3 dB cutoff does not stay at f_c: each stage contributes −3 dB there, so the combination is already at −3·N dB. The new cutoff comes from solving for the point where the product is −3 dB:

Cascaded stages Overall cutoff Asymptotic slope Pre-compensation
1 1.000·f_c −20 dB/decade 1.000·f_c
2 0.644·f_c −40 dB/decade 1.554·f_c
3 0.510·f_c −60 dB/decade 1.961·f_c
4 0.435·f_c −80 dB/decade 2.299·f_c
6 0.350·f_c −120 dB/decade 2.858·f_c

Two identical RCs at 1 kHz cut at 644 Hz, not 1 kHz. To actually get 1 kHz the two stages must be tuned to 1.554 kHz. With four stages the factor is 2.3. Note also what you do not get: N identical stages are not an Nth-order Butterworth, which needs poles with different Qs (for fourth order, 0.54 and 1.31). A cascade of equal stages is always softer around the cutoff than the Butterworth of the same order.

How much E-series rounding moves the cutoff

Design mode derives the ideal components and then rounds them to the nearest standard value. Since the cutoff frequency is inversely proportional to R and C, the relative error on the component transfers one to one to the cutoff. The worst case is an ideal value landing at the geometric midpoint between two adjacent series values:

Series Tolerance Largest step Worst cutoff error
E12 10 % 1.25× ±11.8 %
E24 5 % 1.154× ±7.4 %
E96 1 % 1.030× ±1.5 %

E12 can miss the cutoff by nearly 12 %, which on an anti-aliasing filter is a lot; E96 stays under 1.5 %. It adds in quadrature with the component tolerance, which is a different thing: a 10 % E12 part can have its nominal value 11.8 % from the ideal and the actual piece another 10 % from nominal. If the cutoff has to sit in a narrow window, the series must be chosen before the topology — or a trimmer added.

Sallen-Key: why active

A passive 2nd-order filter needs an inductor. At audio frequencies and below, inductors are bulky, expensive and far from ideal (series resistance, coupling). The Sallen-Key cell achieves the same 2nd order with an op-amp and only Rs and Cs:

  • no inductors;
  • low output impedance: cells cascade without one stage loading the previous;
  • adjustable Q from component ratios, independent of the cutoff frequency.

It is the most common active topology for filters up to 2nd/4th order. The tool synthesises it in design mode, in the equal-R variant.

Design mode and E-series

Inverse design starts from the requirements — cutoff frequency and, for 2nd order, Q — and derives the components. The ideal values almost never coincide with a standard one, so they are rounded to the nearest E-series value (E12/E24/E96, at decreasing tolerance). A reference component is fixed (the capacitor C, the resistor R for the RL) and the rest derived. With ω₀ = 2π·f₀:

Which family: Butterworth, Bessel, Chebyshev, elliptic

At a given order, the family (or alignment) is the trade-off between three things you cannot maximise together: passband flatness, cutoff steepness and phase / transient quality.

  • Butterworth — maximally flat passband, no ripple, moderate cutoff and phase. The neutral default.
  • Bessel — nearly linear phase (constant group delay): clean step response, no overshoot or ringing. In return, the gentlest cutoff. Used when the waveform shape matters (audio, pulses, data).
  • Chebyshev — steeper cutoff than Butterworth, at the cost of passband ripple (more ripple = steeper). When you need selectivity and ripple is acceptable.
  • Elliptic (Cauer) — the steepest cutoff for a given order, but with ripple in both passband and stopband and the worst phase. For a minimal transition band.

For an all-pole 2nd-order cell (RLC, Sallen-Key) the family reduces to a Q value: Bessel ≈ 0.58, Butterworth = 0.707, Chebyshev > 0.707 (with ripple). Elliptic and inverse-Chebyshev also need zeros (a notch) and cannot be realised with a plain Sallen-Key low-pass. That is why, at 2nd order, the tool offers Bessel/Butterworth/Chebyshev.

Limitations

  • Ideal components: no tolerances, no real ESR/ESL, no downstream load (an unloaded output).
  • Sallen-Key uses an ideal op-amp (infinite bandwidth, gain and slew-rate): real op-amp limits distort the high-frequency response.
  • Up to 2nd order; higher orders come from cascading, not covered here.
  • Demonstrative tool, not a SPICE simulator.

References

  • Circuit-theory texts and active-filter application notes from op-amp vendors — the reference for Sallen-Key sizing, Q selection and the standard filter tables (Butterworth, Chebyshev, Bessel).
  • Related tool — the filter designer with Bode plot puts this page into practice: pick a topology and values and read cutoff, Q and the Bode plot, or start from the frequency and get the components.

Last updated: · Spotted an error or stale figure? Let us know

← Back to the Wiki index

A similar project?

Acoustics, embedded, calculation tools: if you have a related use case, let’s talk.