# 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: 2026-06-23
Updated: 2026-08-25
Practice: elettronica
Standard: Analog filters and the Bode plot <https://en.wikipedia.org/wiki/Electronic_filter>

Page: <https://www.stline.it/en/wiki/analog-filter-bode/>

---

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₀:

$$
\begin{array}{ll} H_{\mathrm{LP},1}=\dfrac{1}{1+jx} & H_{\mathrm{HP},1}=\dfrac{jx}{1+jx} \\[8pt] H_{\mathrm{LP},2}=\dfrac{1}{(1-x^2)+jx/Q} & H_{\mathrm{HP},2}=\dfrac{-x^2}{(1-x^2)+jx/Q} \\[8pt] H_{\mathrm{BP}}=\dfrac{jx/Q}{(1-x^2)+jx/Q} & H_{\mathrm{notch}}=\dfrac{1-x^2}{(1-x^2)+jx/Q} \end{array}
$$

## 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:

$$
\text{RC:}\ \ f_0=\dfrac{1}{2\pi R C} \qquad\qquad \text{RLC:}\ \ f_0=\dfrac{1}{2\pi\sqrt{L C}}
$$

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

$$
|H| = \dfrac{1}{\sqrt{(1-x^2)^2 + (x/Q)^2}}, \qquad x = f/f_0
$$

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:

$$
u^2 + \left(\dfrac{1}{Q^2} - 2\right)u - 1 = 0 \quad\Longrightarrow\quad \dfrac{f_{-3\text{dB}}}{f_0} = \sqrt{\dfrac{\left(2 - \frac{1}{Q^2}\right) + \sqrt{\left(2 - \frac{1}{Q^2}\right)^2 + 4}}{2}}
$$

| 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:

$$
f_{-3\text{dB}} = f_c\sqrt{2^{1/N} - 1}
$$

| 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₀:

$$
\begin{array}{ll} \textsf{RC} & R=\dfrac{1}{\omega_0 C} \\[8pt] \textsf{RL} & L=\dfrac{R}{\omega_0} \\[8pt] \textsf{RLC series} & L=\dfrac{1}{\omega_0^{2} C},\quad R=\dfrac{1}{Q}\sqrt{L/C} \\[8pt] \textsf{RLC parallel} & L=\dfrac{1}{\omega_0^{2} C},\quad R=Q\sqrt{L/C} \\[8pt] \textsf{Sallen-Key} & C_1=4Q^{2} C_2,\quad R_1=R_2=\dfrac{1}{\omega_0\sqrt{C_1 C_2}} \end{array}
$$

## 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](/en/tools/analog-filter-bode/) 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.
