Bode Plots

The engineer's log-scale sketch that turns a transfer function into a readable picture — with a simple straight-line trick that is surprisingly accurate.

Circuit AnalysisElectrical Engineering Year 2Free preview
⏱️ About 18 min

A transfer function evaluated at a thousand frequencies gives you a thousand numbers. A Bode plot turns them into two lines you can sketch by hand in under a minute.

💡
The big idea: A Bode plot displays a transfer function's magnitude (in decibels) and phase (in degrees) against log-scaled frequency. The real power is the straight-line approximation: replace smooth curves with simple asymptotes — flat below the corner, sloping at ±20 dB/decade above it — and you get a plot that is accurate to within about 3 dB everywhere, and to within fractions of a dB just one decade away from each corner.
🎯 By the end, you'll be able to
  • Convert magnitude |H(jω)| to decibels using 20 log10|H(jω)| and explain why the log scale is used
  • Draw the straight-line asymptotic magnitude Bode plot for a single real pole (0 dB below ωc, −20 dB/decade above)
  • Compute the true dB value at the corner frequency and compare it with the asymptotic prediction
  • Quantify the error between the asymptotic approximation and the true curve at the corner and one decade away
📎 Helpful to know first

Why decibels and log frequency?

A transfer function's magnitude can span many orders of magnitude — from near-unity gain at low frequencies to vanishingly small values at high frequencies. Plotting this on a linear scale would crush the interesting detail. The Bode plot solves this with two tricks: magnitude is expressed in decibels (dB), defined as 20 log10|H(jω)|, and frequency is plotted on a logarithmic axis. This compresses huge dynamic ranges into a readable picture and, crucially, turns multiplicative effects into additive slopes.

\[ |H|_{\text{dB}} = 20\log_{10}|H(j\omega)| \]
Magnitude in decibels. Unity gain maps to 0 dB; a factor of 10 in gain maps to ±20 dB.

Straight-line magnitude approximation

For the RC low-pass filter H(jω) = 1/(1 + jω/ωc) with ωc = 1000 rad/s, the asymptotic magnitude plot is built from two straight lines: a flat 0 dB line for ω ≪ ωc (where |H| ≈ 1, so 0 dB), and a line sloping downward at −20 dB/decade for ω ≫ ωc (where |H| ≈ ωc/ω, so the dB value drops by 20 for every decade increase in ω). These two asymptotes meet at ω = ωc. For a zero (numerator factor 1 + jω/ωz), the same logic applies but the high-frequency asymptote slopes upward at +20 dB/decade.

\[ \text{Asymptote: } 0 \text{ dB for } \omega \ll \omega_c, \quad -20\,\text{dB/dec} \text{ for } \omega \gg \omega_c \]
Straight-line magnitude approximation for a single real pole. A single real zero would slope upward at +20 dB/decade instead.

How good is the approximation?

The true curve is smooth, not piecewise linear. At the corner frequency ω = ωc, the true magnitude is |H| = 1/√2 ≈ 0.7071, which in dB is 20 log10(0.7071) ≈ −3.01 dB. The asymptotes predict 0 dB there, so the error is about 3 dB — the worst-case deviation. But move just one decade above the corner to ω = 10ωc = 10,000 rad/s, and the true magnitude is 1/√(1 + 100) = 1/√101 ≈ 0.0995, giving 20 log10(0.0995) ≈ −20.04 dB. The asymptote predicts exactly −20 dB at that point. The error has shrunk to about 0.04 dB — essentially negligible for engineering purposes. This rapid convergence is why the straight-line Bode plot is so useful.

📝 Worked example: For the RC low-pass filter with R = 1 kΩ, C = 1 μF (ωc = 1000 rad/s), compare the true magnitude in dB with the straight-line asymptotic prediction at (a) ω = ωc and (b) ω = 10ωc.
  1. (a) At ω = ωc: true |H| = 1/√2 ≈ 0.7071, so dB = 20 log10(0.7071) ≈ −3.01 dB. The asymptote (0 dB flat line meeting the −20 dB/dec slope at ωc) predicts 0 dB. Error ≈ 3.01 dB — the maximum deviation.
  2. (b) At ω = 10ωc = 10,000 rad/s: true |H| = 1/√(1 + 10²) = 1/√101 ≈ 0.0995, so dB = 20 log10(0.0995) ≈ −20.04 dB.
  3. The asymptote at one decade above ωc: starting from 0 dB at ωc, one decade up at −20 dB/dec gives exactly −20 dB.
  4. Error at 10ωc: −20.04 − (−20) = −0.04 dB. The asymptotic approximation is already accurate to within about 0.04 dB just one decade from the corner.
✓ (a) True ≈ −3.01 dB vs. asymptote 0 dB (error ≈ 3 dB). (b) True ≈ −20.04 dB vs. asymptote −20 dB (error ≈ 0.04 dB).

The phase Bode plot

The phase plot shares the same log-frequency axis. For a single real pole, the true phase ∠H = −arctan(ω/ωc) varies smoothly from 0° (well below ωc) through −45° (at ωc) to −90° (well above). A common straight-line approximation places this transition over two decades — flat at 0° until 0.1ωc, then a linear −45°/decade slope reaching −90° at 10ωc — with the exact value of −45° at the corner. For a zero the phase is positive, mirroring the same shape upward.

✏️ Practice: Using the straight-line approximation for a single-pole low-pass filter with ωc = 1000 rad/s, what is the predicted magnitude in dB at ω = 10,000 rad/s (one decade above the corner)?
dB
Solution
  1. The flat asymptote is 0 dB for ω ≤ ωc = 1000 rad/s.
  2. Above ωc the slope is −20 dB/decade.
  3. At ω = 10,000 rad/s (one decade above ωc): 0 dB + (−20 dB/dec × 1 dec) = −20 dB.

Check your understanding

1. On a Bode magnitude plot, what does the straight-line approximation predict at the corner frequency ωc of a single real pole?
The two asymptotes — the flat 0 dB line and the −20 dB/decade slope — meet at ωc, so the approximation predicts 0 dB. The true value is about −3.01 dB.
2. If a transfer function has a real zero (a numerator factor 1 + jω/ωz) instead of a pole, what is the asymptotic magnitude slope for ω ≫ ωz?
A zero contributes the factor |1 + jω/ωz| ≈ ω/ωz at high frequencies, which grows with ω. In dB this is +20 log10(ω/ωz), a +20 dB/decade upward slope.
✅ Key takeaways
  • A Bode magnitude plot shows 20 log10|H(jω)| in dB versus log10(ω); the phase plot shows ∠H(jω) in degrees on the same frequency axis.
  • For a single real pole, the straight-line magnitude approximation is 0 dB below ωc and slopes downward at −20 dB/decade above it, meeting at ωc.
  • At the corner the true value is −3.01 dB (about 3 dB below the asymptote), but just one decade away the error shrinks to roughly 0.04 dB.
  • A real zero produces the mirror image: a +20 dB/decade upward slope above its corner frequency.
➡️ With straight-line Bode plots in hand, the next lesson applies them directly to the four canonical first-order RC and RL filter circuits — low-pass and high-pass, built from a single resistor and a single reactive element.
Want to test yourself on this? Try the Electrical Aptitude test →