Frequency Response, Bode Plots & Bandwidth
How gain and phase change with frequency. Learn transfer functions, poles and zeros, low-frequency response from coupling and bypass capacitors, midband gain, high-frequency response from device capacitances, corner frequencies and time constants, bandwidth and gain-bandwidth product, dominant-pole behaviour, cascaded poles, and drawing Bode magnitude and phase plots (slopes of ±20 dB/decade, phase contributions, decades and octaves) — with Python computing a bandpass amplifier's Bode magnitude, coupling-capacitor size and cascaded bandwidth.
Real amplifiers only amplify over a range of frequencies. Coupling capacitors cut low frequencies; transistor and parasitic capacitances cut high frequencies. The Bode plot captures both on one graph.
Bode plots are also the language of feedback stability, filters and op-amp specifications — reading them fluently is essential for every analog engineer.
An analogy
An amplifier's frequency response is like a stadium's audience: very slow chants (low frequencies) fade because nobody keeps them going, very fast ones (high frequencies) blur because people can't keep up — only the middle range gets the full roar.
Three frequency regions
Low frequencies: coupling and bypass capacitors have high reactance, reducing gain (high-pass behaviour). Midband: capacitors are effectively shorts/opens and gain is flat. High frequencies: device and parasitic capacitances shunt signals (low-pass behaviour). Bandwidth = f_H − f_L ≈ f_H for audio and wideband amplifiers.
Poles, zeros and Bode plots
Rules for sketching:
- Write H(s) in factored form; each (1 + s/p) in the denominator is a pole
- Magnitude slope decreases 20 dB/decade after each pole, increases after each zero
- Phase: −45° at a pole's corner, −90° a decade above (−5.7° a decade below)
- Right-half-plane zeros add magnitude like a zero but phase like a pole (bad for stability)
- Complex pole pairs give peaking set by Q and −40 dB/decade roll-off
Low-frequency design
Each coupling capacitor forms a high-pass with the resistance it sees (source + input, or output + load); the emitter bypass capacitor often sets the dominant low corner because it sees the small resistance r_e + R_s/β. Choose one capacitor to set f_L and make the others' corners ~10× lower so they don't interact.
Gain-bandwidth trade-offs
For single-pole (dominant-pole) amplifiers, gain × bandwidth is constant: an op-amp with GBW = 10 MHz gives 100 kHz at gain 100. Cascading n identical stages multiplies gain but shrinks bandwidth by √(2^(1/n) − 1). Feedback trades gain for bandwidth (and stability). Rise time relates to bandwidth: t_r ≈ 0.35/f_H for a single pole.
Formulas
- Single pole:
H(f) = A/(1 + jf/f_p); |H| = A/√(1 + (f/f_p)²); ∠ = −atan(f/f_p) - Bandpass amplifier:
H(f) = A_M·(jf/f_L)/(1 + jf/f_L)·1/(1 + jf/f_H) - Coupling capacitor:
f_L = 1/(2π(R_s + R_in)C) - Gain-bandwidth:
GBW = A_M·f_H (constant for dominant-pole amplifiers) - n identical poles:
f_H,total = f_p·√(2^(1/n) − 1) - Slopes:
±20 dB/decade = ±6 dB/octave per pole/zero; phase ±90° per pole/zero
Worked example: Gain at 10× corner
Given: Single pole at 1 kHz, A = 60 dB
Find: Gain at 10 kHz.
- −20 dB per decade (≈ −20.04 dB exact)
Answer: ≈ 40 dB
Worked example: Bandwidth from GBW
Given: GBW 1 MHz op-amp, gain 50
Find: f_H.
- 1 MHz/50
Answer: 20 kHz
Worked example: Rise time
Given: f_H = 200 kHz
Find: t_r.
- 0.35/200e3
Answer: 1.75 µs
Bode-plot construction rules
|H| (dB)
40 ┤ ________________________
│ ╱ 20 Hz ╲ 200 kHz
20 ┤ ╱ +20 dB/dec −20 dB/dec ╲
0 ┼────╱────────────────────────────────────╲────► f (log)
Each pole: −20 dB/dec after its corner, phase −45° at the corner, −90° total
Each zero: +20 dB/dec, phase +45° at the corner, +90° total
At the corner the exact curve is 3 dB below the straight-line asymptoteDraw straight-line asymptotes: flat midband, slopes that change by 20 dB/decade at each corner. The true curve is 3 dB below the corner. Phase changes over roughly a decade either side of each corner.
Bode magnitude and bandwidth calculations
import math
# Bode magnitude of an amplifier with low-frequency (coupling) and high-frequency poles
A_mid, fL, fH = 100.0, 20.0, 200e3
def mag_db(f):
lo = (f / fL) / math.sqrt(1 + (f / fL) ** 2)
hi = 1 / math.sqrt(1 + (f / fH) ** 2)
return 20 * math.log10(A_mid * lo * hi)
for f in (2, 20, 1e3, 200e3, 2e6):
print(f"f = {f:>9.0f} Hz: {mag_db(f):6.2f} dB")
print(f"bandwidth {fH-fL:.0f} Hz; gain-bandwidth product {A_mid*fH/1e6:.0f} MHz")
# Coupling capacitor for fL = 20 Hz with Rin = 5 k
print(f"coupling C for 20 Hz with 5k input: {1/(2*math.pi*20*5e3)*1e6:.2f} uF")
# Two cascaded identical poles at 200 kHz: overall -3 dB point
print(f"two identical 200 kHz poles -> overall fH = {200e3*math.sqrt(2**0.5-1)/1e3:.0f} kHz")
# f = 2 Hz: 19.96 dB
# f = 20 Hz: 36.99 dB
# f = 1000 Hz: 40.00 dB
# f = 200000 Hz: 36.99 dB
# f = 2000000 Hz: 19.96 dB
# bandwidth 199980 Hz; gain-bandwidth product 20 MHz
# coupling C for 20 Hz with 5k input: 1.59 uF
# two identical 200 kHz poles -> overall fH = 129 kHzThe amplifier gives 40 dB in midband, 3 dB less at each corner, and falls 20 dB per decade beyond them. Cascading two stages with identical 200 kHz poles narrows the overall bandwidth to 129 kHz — cascades always shrink bandwidth.
Common mistakes
- Wrong: Adding bandwidths of cascaded stages. — Right: Cascades shrink bandwidth.
- Wrong: Choosing all coupling capacitors for the same corner. — Right: Set one dominant, make others 10× lower.
- Wrong: Forgetting 3 dB error at corners. — Right: Asymptotes are 3 dB above the true curve at the corner.
Applications
- Audio: 20 Hz–20 kHz flat response specifications.
- Instrumentation: Bandwidth vs noise trade-offs.
- Video & RF: Wideband amplifier design.
- Control loops: Bode plots for stability (next modules).
Key takeaways
- Coupling caps set f_L; device caps set f_H.
- Bode: ±20 dB/decade and ±90° per pole/zero.
- GBW constant for dominant-pole amplifiers.
- Cascades shrink bandwidth: f_H·√(2^(1/n) − 1).
Going further
- Nyquist and Nichols plots: Alternative frequency-response views.
- Pole-zero cancellation: Compensation and filters.
- Group delay: Phase linearity and pulse fidelity.