This page is the "no surprises" drill for Bode plots . We enumerate every kind of case a Bode problem can throw at you, then work one example per case so that when you hit a new problem you can say "ah, that's cell X, I've seen it."
Everything here uses only tools already built in the parent note: the Transfer function G ( s ) , its frequency response G ( j ω ) , magnitude in decibels ∣ G ∣ dB = 20 log 10 ∣ G ( j ω ) ∣ , and phase ∠ G ( j ω ) . If a symbol appears here, it was defined there or is defined below on the spot.
Think of a Bode problem as choosing one option from each column. Every example below is tagged with the cell (row label) it covers.
Cell
Case class
What makes it different
Covered by
A
Constant gain only
Flat line, zero phase — the "do-nothing" baseline
Ex 1
B
Single real pole (lag)
One −20 dB/dec corner, phase → −90°
Ex 2
C
Single real zero (lead)
One +20 dB/dec corner, phase → +90°
Ex 3
D
Pole at the origin (integrator)
Degenerate: no corner, slope from ω → 0 , phase pinned at −90°
Ex 4
E
Repeated / high-order factor
Slopes and phases multiply (−40 dB/dec, −180°)
Ex 5
F
Pole and zero together (lead–lag)
Two corners; slope goes flat again between them
Ex 6
G
Gain sign is negative (K < 0 )
Magnitude unchanged, phase shifted by ±180°
Ex 7
H
Limiting behaviour (ω → 0 and ω → ∞ )
Read off DC gain and final slope without a calculator
Ex 8
I
Real-world word problem
Translate physics → G ( s ) → margins
Ex 9
J
Exam twist: find crossover & margins numerically
Solve $
L
K
Underdamped 2nd-order (complex poles)
Resonant peak and sharp phase drop of −180°
Ex 11
The columns hidden inside these rows are the sign cases (positive/negative gain, poles vs zeros → phase up vs down) and the degenerate cases (pole at origin, ω = 0 , ω = ∞ , complex resonance). Every one gets its own worked cell.
G ( s ) = 4
Forecast: before reading on, guess the magnitude in dB and the phase. Is the line flat or sloped?
Magnitude. ∣ G ( j ω ) ∣ = ∣4∣ = 4 for every ω .
∣ G ∣ dB = 20 log 10 4 = 12.04 dB
Why this step? A constant has no ω in it, so evaluating at s = j ω changes nothing — the value is the same at all frequencies, giving a horizontal line.
Phase. ∠4 = 0 ∘ (it's a positive real number, pointing along the +real axis).
Why this step? Phase is the angle of the complex number G ( j ω ) ; a positive real number sits on the positive real axis, angle 0 .
Verify: 1 0 12.04/20 = 1 0 0.602 ≈ 4.0 . ✓ Undoing the dB formula returns the gain we started with. Units: dB is dimensionless (a ratio), degrees for phase — consistent.
This is the baseline every other plot is measured against: add 12 dB everywhere and rotate phase by 0 .
G ( s ) = 1 + s /20 1 , corner ω c = 20 rad/s
Forecast: guess the dB value exactly at ω = 20 , and the phase there.
The figure plots magnitude (dB, blue) against ω on a log axis. The pink dashed lines are the asymptotes: a flat one at 0 dB below the corner and a − 20 dB/dec one above it. The yellow dot marks the true curve at the corner ω = 20 , sitting 3 dB below where the asymptotes cross.
DC value. As ω → 0 , G → 1/1 = 1 ⇒ 20 log 10 1 = 0 dB.
Why this step? Below the corner the ( 1 + s /20 ) term is ≈ 1 , so the pole hasn't "kicked in."
At the corner ω = 20 : ∣ G ∣ = 1/ 1 + 1 2 = 1/ 2 .
20 log 10 ( 1/ 2 ) = − 3.01 dB
Why this step? This is the universal −3 dB corner derived in the parent note.
High frequency ω ≫ 20 : ∣ G ∣ ≈ 20/ ω , slope −20 dB/dec (upper pink dashed line).
Why this step? The s /20 term dominates, so magnitude falls like 1/ ω .
Phase: ∠ G = − arctan ( ω /20 ) : 0 ∘ at DC, − 4 5 ∘ at ω = 20 , → − 9 0 ∘ high.
Why this step? The angle of 1/ ( 1 + j ω /20 ) is minus the angle of the denominator.
Verify: at ω = 200 (one decade above corner), ∣ G ∣ dB = 20 log 10 ( 1/ 1 + 100 ) = − 20.04 dB — about 20 dB below the corner, confirming the −20 dB/dec slope. ✓
Look at the pink dashed asymptotes in the figure: they meet exactly at the corner, and the true curve (blue) sags 3 dB below that meeting point.
G ( s ) = 1 + s /2 , corner ω c = 2 rad/s
Forecast: a zero is the mirror of a pole. Guess the slope above the corner and the phase at ω = 2 .
DC value. ω → 0 ⇒ G → 1 ⇒ 0 dB. Why? Same as a pole below its corner — the term is ≈ 1 .
At the corner ω = 2 : ∣ G ∣ = 1 + 1 = 2 ⇒ + 3.01 dB.
Why this step? A zero adds + 3 dB at its corner — the sign flips versus the pole.
High frequency: slope +20 dB/dec . Why? ∣1 + j ω /2∣ ≈ ω /2 grows linearly.
Phase: ∠ G = + arctan ( ω /2 ) : 0 ∘ → + 4 5 ∘ at ω = 2 → + 9 0 ∘ high.
Why this step? The zero is in the numerator, so its angle adds (positive), not subtracts.
Verify: at ω = 20 (one decade up), ∣ G ∣ dB = 20 log 10 1 + 100 = + 20.04 dB — up 20 dB, confirming +20 dB/dec. ✓ Compare with Ex 2: identical magnitude size, opposite sign. This is the pole↔zero mirror. This is exactly the ingredient of a Lead-lag compensator .
G ( s ) = s 50 — an integrator with gain
Forecast: there is no corner here. Where does the curve cross 0 dB, and what is the phase at every frequency?
The figure plots magnitude (dB, blue) versus ω (log axis, x-labelled "frequency w"). The line is a single straight ramp of slope − 20 dB/dec with no flat section — that is the degenerate signature. The yellow dot marks where it crosses 0 dB at ω = 50 ; the pink arrow points at the low-frequency end where the magnitude keeps rising without limit.
Magnitude. ∣ G ( j ω ) ∣ = 50/ ω , so
∣ G ∣ dB = 20 log 10 50 − 20 log 10 ω = 33.98 − 20 log 10 ω
Why this step? log turns the quotient into a difference; the 50 shifts the whole − 20 dB/dec line up.
Crossover (0 dB). Set ∣ G ∣ dB = 0 : 20 log 10 ω = 33.98 ⇒ ω = 50 rad/s.
Why this step? ∣ G ∣ = 1 when 50/ ω = 1 , i.e. ω = 50 — the gain equals the numerator.
Phase. ∠ ( 50/ j ω ) = ∠50 − ∠ ( j ω ) = 0 ∘ − 9 0 ∘ = − 9 0 ∘ , for all ω .
Why this step? Dividing by j ω (angle + 9 0 ∘ ) subtracts 9 0 ∘ from everything — a flat phase line, the degenerate hallmark of an integrator.
Verify: at ω = 50 : ∣ G ∣ dB = 33.98 − 20 log 10 50 = 0.00 dB. ✓ And ω = 5 gives 33.98 − 13.98 = 20 dB — ten times lower frequency, 20 dB higher, confirming the slope through the origin case.
The degenerate feature: unlike Ex 2/3 there is no flat low-frequency section — the slope holds all the way down to ω → 0 where the magnitude blows up (a Low-pass filter pole would eventually flatten, an origin pole never does).
G ( s ) = s 2 1 — the double integrator
Forecast: two integrators stacked. Guess the slope and the phase.
Magnitude. ∣ G ∣ = 1/ ω 2 ⇒ ∣ G ∣ dB = − 40 log 10 ω : slope −40 dB/dec .
Why this step? Two factors of 1/ ( j ω ) each contribute − 20 dB/dec; logs add, so − 20 − 20 = − 40 .
Crossover. ∣ G ∣ = 1 when ω 2 = 1 ⇒ ω = 1 rad/s ⇒ passes through 0 dB at ω = 1 .
Why this step? log 10 1 = 0 .
Phase. ∠ ( 1/ ( j ω ) 2 ) = − 9 0 ∘ − 9 0 ∘ = − 18 0 ∘ , constant.
Why this step? Each pole gives − 9 0 ∘ ; they add.
Verify: at ω = 10 : ∣ G ∣ dB = − 40 log 10 10 = − 40 dB — one decade up from the crossover, 40 dB down. ✓
GNC insight: sitting at − 18 0 ∘ means zero phase margin if the gain crossover lands here — the loop is on the knife-edge. A lead term must inject phase back near crossover.
G ( s ) = 1 + s /100 1 + s /1 — zero at 1, pole at 100
Forecast: two corners. What does the magnitude do between ω = 1 and ω = 100 ?
The figure has two y-axes: left (blue) is magnitude in dB, right (pink) is phase in degrees, both against ω on a log x-axis. The blue curve is flat at 0 dB, ramps up at + 20 dB/dec between the two yellow corner lines (ω = 1 and ω = 100 ), then flattens at + 40 dB. The pink curve rises to a phase bump and falls back — the pink dot marks its peak at ω = 10 .
Below ω = 1 : both terms ≈ 1 ⇒ 0 dB, flat. Why? Neither corner active yet.
Between 1 and 100: the zero is active (+20 dB/dec) but the pole is not yet — net slope +20 dB/dec .
Why this step? Only the zero's corner has been passed, so only its slope is added.
Above ω = 100 : now the pole activates too: + 20 − 20 = 0 dB/dec — flat again , at a higher level.
Why this step? Slopes add; zero and pole cancel above both corners.
High-frequency level. As ω → ∞ , G → ( s /1 ) / ( s /100 ) = 100 ⇒ 20 log 10 100 = 40 dB.
Why this step? The s terms dominate top and bottom; their ratio is the corner ratio 100/1 .
Phase. ∠ G = arctan ( ω /1 ) − arctan ( ω /100 ) : rises toward + 9 0 ∘ near ω ≈ 10 , then falls back toward 0 ∘ — a phase bump . (Here the zero's corner is 1 rad/s, so its arctan argument is ω /1 , i.e. ω itself.)
Why this step? Zero adds phase early; pole cancels it late; peak lies at the geometric mean 1 ⋅ 100 = 10 .
Verify: at the geometric mean ω = 10 : ∠ G = arctan ( 10/1 ) − arctan ( 10/100 ) = 84.2 9 ∘ − 5.7 1 ∘ = 78.5 8 ∘ . ✓ This positive phase bump is precisely what a lead compensator provides — see Loop shaping .
G ( s ) = 1 + s /8 − 10
Forecast: the minus sign changes which graph — magnitude or phase?
Magnitude. ∣ − 10∣ = 10 ; the sign vanishes under absolute value. Split the dB into its two parts:
∣ G ∣ dB = flat gain term = 20 dB 20 log 10 10 − frequency-dependent pole term 20 log 10 1 + ( ω /8 ) 2
The first term is a constant 20 dB (the flat region). The second term is 0 below the corner, 3 dB at ω = 8 , and grows as 20 log 10 ( ω /8 ) above it (the −20 dB/dec roll-off). This is identical to the positive-gain version.
Why this step? Magnitude is ∣ G ∣ ; multiplying by − 1 doesn't change a length. Separating the constant term from the ω -dependent term makes clear the sign only touches phase.
Phase. ∠ ( − 10 ) = 18 0 ∘ (or equivalently − 18 0 ∘ ). So
∠ G = − 18 0 ∘ − arctan ( ω /8 )
Why this step? − 10 is a negative real number — it points along the negative real axis, angle 18 0 ∘ . The pole's lag then subtracts on top of that.
Verify: at ω = 8 : ∠ G = − 18 0 ∘ − 4 5 ∘ = − 22 5 ∘ (equivalently + 13 5 ∘ ). ✓ The entire phase curve is shifted by ± 18 0 ∘ versus the positive-gain case — a subtlety that flips stability conclusions on a Nyquist plot .
G ( s ) = s ( 1 + s /1000 ) 100 ( 1 + s /10 ) — read off the two ends only
Forecast: guess the low-frequency slope and the high-frequency slope before doing any arithmetic.
As ω → 0 . Keep only lowest-order terms: numerator → 100 , denominator → s = j ω . So G → 100/ ( j ω ) : slope −20 dB/dec , phase −90° .
Why this step? Near zero frequency, every ( 1 + s / corner ) collapses to 1 ; only the origin pole survives.
As ω → ∞ . Keep only highest-order terms: numerator → 100 s /10 = 10 s , denominator → s ⋅ s /1000 = s 2 /1000 . So G → 10 s ⋅ 1000/ s 2 = 10000/ s : slope −20 dB/dec , phase −90° .
Why this step? At huge ω , each ( 1 + s / corner ) → s / corner ; count the net powers of s : numerator has s 1 , denominator has s 2 → net s − 1 .
Verify (count of slopes): poles at origin and 1000 (two, each −20), zero at 10 (one, +20): net order at high ω = − 2 + 1 = − 1 ⇒ − 20 dB/dec. ✓ Both ends match without evaluating a single logarithm — the point of the limiting-value cell.
Worked example Reaction-wheel attitude loop
A spacecraft's attitude responds to torque like a double integrator (angle = force twice-integrated), and a controller adds a lead term. The open loop is
L ( s ) = s 2 20 ( 1 + s /2 )
Find the gain-crossover frequency ω g c (where ∣ L ∣ = 1 ) and the phase margin there.
Forecast: without the zero, the plant sits at − 18 0 ∘ (Ex 5). Does the zero rescue it?
Set up ∣ L ∣ = 1 . ∣ L ∣ = ω 2 20 1 + ( ω /2 ) 2 = 1 .
Why this step? Gain crossover is defined by unit magnitude (0 dB).
Solve numerically. This gives ω g c ≈ 4.61 rad/s.
Why this step? No clean closed form; it's a single-variable root, solved once.
Phase there. ∠ L = arctan ( ω /2 ) − 18 0 ∘ . At ω = 4.61 : arctan ( 2.305 ) = 66.5 5 ∘ , so ∠ L = 66.55 − 180 = − 113.4 5 ∘ .
Why this step? The double integrator contributes − 18 0 ∘ ; the zero adds back + 66. 6 ∘ .
Phase margin = 18 0 ∘ + ∠ L = 180 − 113.45 = 66.5 5 ∘ .
Why this step? Definition from the parent note: how much lag remains before − 18 0 ∘ .
Verify: plug ω = 4.61 back: ∣ L ∣ = 20 1 + ( 2.305 ) 2 / ( 4.61 ) 2 = 20 ( 2.512 ) /21.25 ≈ 1.00 . ✓ Phase margin + 66. 6 ∘ is healthy — the lead zero saved a plant that alone had 0 ∘ margin. See Stability margins .
L ( s ) = s ( 1 + s /4 ) ( 1 + s /20 ) 40
Forecast: guess whether phase margin or gain margin will be the binding one.
Phase crossover ω p c : solve ∠ L = − 18 0 ∘ .
∠ L = − 9 0 ∘ − arctan ( ω /4 ) − arctan ( ω /20 ) = − 18 0 ∘
So arctan ( ω /4 ) + arctan ( ω /20 ) = 9 0 ∘ , giving ω p c = 4 ⋅ 20 = 8.944 rad/s.
Why this step? Two arctans summing to 9 0 ∘ means their arguments are reciprocals : tan α and tan ( 9 0 ∘ − α ) = 1/ tan α multiply to 1 . Here ( ω /4 ) ( ω /20 ) = 1 ⇒ ω 2 = 80 ⇒ ω = 80 , the geometric mean of the two corner frequencies 4 and 20 . That is why the − 18 0 ∘ phase point of two lags always sits at the geometric mean of their corners (plus the − 9 0 ∘ from the origin pole gets us exactly to − 18 0 ∘ ).
Gain margin = − ∣ L ( j ω p c ) ∣ dB .
∣ L ( j 8.944 ) ∣ = 8.944 1 + ( 8.944/4 ) 2 1 + ( 8.944/20 ) 2 40
= 40/ ( 8.944 ⋅ 2.449 ⋅ 1.096 ) = 1.667 , so ∣ L ∣ dB = 20 log 10 1.667 = 4.44 dB, giving gain margin = − 4.44 dB .
Why this step? At ω p c the magnitude exceeds 0 dB, so raising gain isn't the danger — the loop is already past the safe point. A negative gain margin means unstable .
Gain crossover ω g c : solve ∣ L ∣ = 1 numerically ⇒ ω g c ≈ 12.9 rad/s.
Why this step? Gain crossover is where ∣ L ∣ = 1 ; with three poles rolling off, we solve the single magnitude equation numerically.
Phase margin = 18 0 ∘ + ∠ L ( j ω g c ) . At ω = 12.9 : ∠ L = − 90 − arctan ( 3.225 ) − arctan ( 0.645 ) = − 90 − 72.79 − 32.83 = − 195. 6 ∘ , so phase margin = 180 − 195.6 = − 15. 6 ∘ (negative → unstable).
Why this step? Both margins agree: this loop is unstable and needs its gain lowered (or a lead added).
Verify: ω p c = 80 = 8.944 . ✓ ∣ L ( j ω p c ) ∣ = 1.667 . ✓ Both margins negative — consistent stability verdict. The fix: reduce the 40 so gain crossover drops below ω p c , restoring positive margins.
G ( s ) = s 2 + 2 ζ ω n s + ω n 2 ω n 2 with ω n = 10 rad/s, ζ = 0.1
New symbols (built here): ω n is the natural frequency — where the two poles "want" to oscillate; ζ (zeta) is the damping ratio — how strongly oscillation is suppressed (ζ = 1 critically damped, ζ → 0 pure ringing). When ζ < 1 the two poles are a complex-conjugate pair , and the magnitude curve grows a resonant peak instead of a clean corner.
Forecast: with ζ = 0.1 (very light damping), guess how tall the peak is and where it sits.
The figure has magnitude (dB, blue, left) and phase (deg, pink, right) versus ω on a log axis. Notice the blue curve does not just bend at ω n = 10 — it spikes up to a sharp yellow-dotted peak near ω n , then rolls off at − 40 dB/dec. The pink phase drops through − 9 0 ∘ at ω n and swings all the way to − 18 0 ∘ , and the drop is steep because damping is small.
Low frequency ω ≪ ω n : G → ω n 2 / ω n 2 = 1 ⇒ 0 dB, flat.
Why this step? The s 2 and 2 ζ ω n s terms are negligible below ω n ; only ω n 2 / ω n 2 remains.
High frequency ω ≫ ω n : G → ω n 2 / ( − ω 2 ) , slope −40 dB/dec , phase −180° .
Why this step? Two poles roll off together — same as the double integrator, but shifted up.
The peak. Evaluate at ω = ω n : denominator = ( j ω n ) 2 + 2 ζ ω n ( j ω n ) + ω n 2 = − ω n 2 + 2 ζ ω n 2 j + ω n 2 = 2 ζ ω n 2 j . So
∣ G ( j ω n ) ∣ = 2 ζ ω n 2 ω n 2 = 2 ζ 1 = 0.2 1 = 5 ⇒ 20 log 10 5 = 13.98 dB
Why this step? The real parts of the denominator cancel exactly at ω n , leaving only the tiny imaginary damping term 2 ζ ω n 2 — a small denominator means a big magnitude. That is the resonant peak. The lighter the damping, the taller: peak ≈ 1/ ( 2 ζ ) .
Phase. At ω n the denominator is purely imaginary (+ j ), so ∠ G = − 9 0 ∘ . It sweeps 0 ∘ → − 9 0 ∘ → − 18 0 ∘ , and the sweep is sharp for small ζ .
Why this step? Complex poles rotate the phase through − 18 0 ∘ over a narrow band around ω n .
Verify: peak = 1/ ( 2 ⋅ 0.1 ) = 5 , i.e. 20 log 10 5 = 13.98 dB. ✓ (The true peak is at ω r = ω n 1 − 2 ζ 2 ≈ 9.9 rad/s, essentially at ω n for small ζ .) GNC insight: a lightly damped structural mode (fuel slosh, flexible boom) shows up as exactly this spike — if the loop gain there exceeds 0 dB, the loop can drive the resonance unstable. Loop shaping notches it out.
Recall Which cell is which?
Negative gain changes the phase (by ±180°), not the magnitude ::: magnitude is ∣ G ∣ , unaffected by sign
A pole at the origin has no corner and constant −90° phase ::: it never flattens as ω → 0
Between a low zero and a high pole the slope is +20 dB/dec, then flat again above the pole ::: slopes add
Two arctans sum to 90° when ::: the product of their arguments equals 1 (geometric-mean frequency)
A negative gain margin means ::: the loop is unstable — gain already exceeds the safe level at −180°
An underdamped pole pair peaks at height ::: about 1/ ( 2 ζ ) near ω n
Mnemonic Cell checklist before any Bode sketch
G ain sign? O rigin poles? R epeated factors? C orners (poles & zeros)? E nds (limits)? R esonance (complex poles)? — "GORCER" through every problem.