Intuition The big picture
A Bode plot is a way to see how a system reacts to sine waves of every possible frequency, all on one graph.
WHAT: Two stacked plots vs frequency ω \omega ω (on a log axis): one for gain (how much the output amplitude grows/shrinks) and one for phase (how much the output lags/leads).
WHY: In GNC we drive controllers with oscillating disturbances (wind gusts, sensor noise, sloshing fuel). We must know at which frequencies the loop amplifies, and by how much it delays — because delay + gain is what causes instability .
HOW: We evaluate the transfer function G ( s ) G(s) G ( s ) on the imaginary axis s = j ω s=j\omega s = j ω , and plot 20 log 10 ∣ G ( j ω ) ∣ 20\log_{10}|G(j\omega)| 20 log 10 ∣ G ( j ω ) ∣ (in dB) and ∠ G ( j ω ) \angle G(j\omega) ∠ G ( j ω ) (in degrees) against log 10 ω \log_{10}\omega log 10 ω .
Intuition Sine in → sine out
A linear time-invariant (LTI) system has a magic property: feed it a pure sine at frequency ω \omega ω , and at steady state the output is a sine at the same frequency — only the amplitude is scaled and the phase is shifted. Nothing else changes.
WHY this happens (derive it). Take a system with transfer function G ( s ) G(s) G ( s ) and input u ( t ) = cos ω t = Re { e j ω t } u(t)=\cos\omega t = \text{Re}\{e^{j\omega t}\} u ( t ) = cos ω t = Re { e j ω t } . The complex exponential e j ω t e^{j\omega t} e j ω t is an eigenfunction of any LTI system:
y ( t ) = G ( j ω ) e j ω t y(t) = G(j\omega)\, e^{j\omega t} y ( t ) = G ( j ω ) e j ω t
Write the complex number G ( j ω ) G(j\omega) G ( j ω ) in polar form:
G ( j ω ) = ∣ G ( j ω ) ∣ e j ϕ , ϕ = ∠ G ( j ω ) G(j\omega) = |G(j\omega)|\, e^{j\phi}, \qquad \phi = \angle G(j\omega) G ( j ω ) = ∣ G ( j ω ) ∣ e j ϕ , ϕ = ∠ G ( j ω )
Then
y ( t ) = ∣ G ( j ω ) ∣ e j ( ω t + ϕ ) ⇒ Re { y } = ∣ G ( j ω ) ∣ cos ( ω t + ϕ ) y(t) = |G(j\omega)|\, e^{j(\omega t + \phi)} \;\Rightarrow\; \text{Re}\{y\} = |G(j\omega)|\cos(\omega t + \phi) y ( t ) = ∣ G ( j ω ) ∣ e j ( ω t + ϕ ) ⇒ Re { y } = ∣ G ( j ω ) ∣ cos ( ω t + ϕ )
Definition Frequency response
The frequency response is G ( j ω ) G(j\omega) G ( j ω ) : the transfer function evaluated at s = j ω s=j\omega s = j ω . Its magnitude ∣ G ( j ω ) ∣ |G(j\omega)| ∣ G ( j ω ) ∣ is the gain and its argument ∠ G ( j ω ) \angle G(j\omega) ∠ G ( j ω ) is the phase shift, both functions of ω \omega ω .
So the Bode plot is literally a picture of the complex-valued function G ( j ω ) G(j\omega) G ( j ω ) — magnitude and angle split into two graphs.
Intuition Products become sums
Real transfer functions are products of simple factors. Logarithms turn products into sums — so we can add the Bode contributions of each factor by eye. This is the whole reason Bode is so fast.
Derivation. Suppose G = G 1 G 2 G 3 G = G_1 G_2 G_3 G = G 1 G 2 G 3 . Then
∣ G ∣ = ∣ G 1 ∣ ∣ G 2 ∣ ∣ G 3 ∣ |G| = |G_1||G_2||G_3| ∣ G ∣ = ∣ G 1 ∣∣ G 2 ∣∣ G 3 ∣
Take 20 log 10 20\log_{10} 20 log 10 :
20 log 10 ∣ G ∣ ⏟ dB = 20 log 10 ∣ G 1 ∣ + 20 log 10 ∣ G 2 ∣ + 20 log 10 ∣ G 3 ∣ \underbrace{20\log_{10}|G|}_{\text{dB}} = 20\log_{10}|G_1| + 20\log_{10}|G_2| + 20\log_{10}|G_3| dB 20 log 10 ∣ G ∣ = 20 log 10 ∣ G 1 ∣ + 20 log 10 ∣ G 2 ∣ + 20 log 10 ∣ G 3 ∣
And phase adds directly (angle of a product = sum of angles):
∠ G = ∠ G 1 + ∠ G 2 + ∠ G 3 \angle G = \angle G_1 + \angle G_2 + \angle G_3 ∠ G = ∠ G 1 + ∠ G 2 + ∠ G 3
Definition Magnitude in decibels
∣ G ∣ dB ≡ 20 log 10 ∣ G ( j ω ) ∣ |G|_{\text{dB}} \equiv 20\log_{10}|G(j\omega)| ∣ G ∣ dB ≡ 20 log 10 ∣ G ( j ω ) ∣
The factor 20 (not 10) is because magnitude is an amplitude ratio; power ∝ \propto ∝ amplitude2 ^2 2 , and 10 log 10 ( amp 2 ) = 20 log 10 ( amp ) 10\log_{10}(\text{amp}^2)=20\log_{10}(\text{amp}) 10 log 10 ( amp 2 ) = 20 log 10 ( amp ) .
WHY log-frequency axis: control systems span many decades (0.01 rad/s slosh → 1000 rad/s structural modes). Log spacing shows all of them, and — bonus — the asymptotes of simple factors become straight lines with slopes in dB/decade .
Any rational G ( j ω ) G(j\omega) G ( j ω ) decomposes into these factors. Learn these 4 and you can sketch anything (the 80/20 core).
∣ K ∣ dB = 20 log 10 K (flat horizontal line) , ∠ K = 0 ∘ |K|_{\text{dB}}=20\log_{10}K \text{ (flat horizontal line)}, \qquad \angle K = 0^\circ ∣ K ∣ dB = 20 log 10 K (flat horizontal line) , ∠ K = 0 ∘
∣ G ∣ dB = 20 log 10 1 ω = − 20 log 10 ω |G|_{\text{dB}} = 20\log_{10}\frac{1}{\omega} = -20\log_{10}\omega ∣ G ∣ dB = 20 log 10 ω 1 = − 20 log 10 ω
This is a straight line of slope − 20 -20 − 20 dB/decade (each 10× in ω \omega ω drops 20 dB).
∠ 1 j ω = ∠ 1 e j 90 ∘ = − 90 ∘ (constant) \angle \frac{1}{j\omega} = \angle \frac{1}{e^{j90^\circ}} = -90^\circ \text{ (constant)} ∠ j ω 1 = ∠ e j 9 0 ∘ 1 = − 9 0 ∘ (constant)
∣ G ( j ω ) ∣ = 1 1 + ( ω / ω c ) 2 |G(j\omega)| = \frac{1}{\sqrt{1+(\omega/\omega_c)^2}} ∣ G ( j ω ) ∣ = 1 + ( ω / ω c ) 2 1
Why the asymptotes:
Low freq ω ≪ ω c \omega\ll\omega_c ω ≪ ω c : term → 1 \to 1 → 1 , so ∣ G ∣ dB → 0 |G|_{\text{dB}}\to 0 ∣ G ∣ dB → 0 (flat).
High freq ω ≫ ω c \omega\gg\omega_c ω ≫ ω c : ∣ G ∣ ≈ ω c / ω |G|\approx \omega_c/\omega ∣ G ∣ ≈ ω c / ω , so slope − 20 -20 − 20 dB/decade.
At ω = ω c \omega=\omega_c ω = ω c : ∣ G ∣ = 1 / 2 |G|=1/\sqrt{2} ∣ G ∣ = 1/ 2 , i.e. 20 log 10 ( 1 / 2 ) = − 3.01 dB 20\log_{10}(1/\sqrt2)=-3.01\text{ dB} 20 log 10 ( 1/ 2 ) = − 3.01 dB — the famous −3 dB corner .
Phase: ∠ G = − arctan ( ω / ω c ) \angle G = -\arctan(\omega/\omega_c) ∠ G = − arctan ( ω / ω c ) : 0 ∘ 0^\circ 0 ∘ low, − 45 ∘ -45^\circ − 4 5 ∘ at ω c \omega_c ω c , − 90 ∘ -90^\circ − 9 0 ∘ high.
Mirror image of the pole: slope +20 dB/decade above corner, phase rises 0 ∘ → + 45 ∘ → + 90 ∘ 0^\circ\to+45^\circ\to+90^\circ 0 ∘ → + 4 5 ∘ → + 9 0 ∘ .
Worked example Example 1 — first-order lag
G ( s ) = 10 1 + s / 5 G(s)=\dfrac{10}{1+s/5} G ( s ) = 1 + s /5 10
Goal: sketch the Bode plot; ω c = 5 \omega_c=5 ω c = 5 rad/s, DC gain K = 10 K=10 K = 10 .
DC gain in dB: 20 log 10 10 = 20 20\log_{10}10 = 20 20 log 10 10 = 20 dB. Why? At ω → 0 \omega\to0 ω → 0 the ( 1 + s / 5 ) (1+s/5) ( 1 + s /5 ) term is 1, so gain = K K K .
Low-frequency asymptote: flat at 20 dB . Why? Pole hasn't "kicked in" yet below its corner.
At corner ω = 5 \omega=5 ω = 5 : magnitude = 20 − 3 = 17 =20-3=17 = 20 − 3 = 17 dB. Why? The −3 dB dip we derived at any first-order corner.
Above 5 rad/s: slope −20 dB/dec . Why? The pole's high-frequency asymptote.
Phase: 0 ∘ 0^\circ 0 ∘ (low) → − 45 ∘ -45^\circ − 4 5 ∘ at ω = 5 \omega=5 ω = 5 → − 90 ∘ -90^\circ − 9 0 ∘ (high). Why? ∠ = − arctan ( ω / 5 ) \angle=-\arctan(\omega/5) ∠ = − arctan ( ω /5 ) .
Worked example Example 2 — pure double integrator
G ( s ) = 1 s 2 G(s)=\dfrac{1}{s^2} G ( s ) = s 2 1
This is a rigid body's position response to force (F = m a F=ma F = ma , twice-integrated).
∣ G ∣ dB = − 40 log 10 ω |G|_{\text{dB}}=-40\log_{10}\omega ∣ G ∣ dB = − 40 log 10 ω : slope −40 dB/dec everywhere. Why? Two integrators, each −20.
Passes through 0 dB at ω = 1 \omega=1 ω = 1 . Why? log 10 1 = 0 ⇒ ∣ G ∣ = 1 \log_{10}1=0\Rightarrow|G|=1 log 10 1 = 0 ⇒ ∣ G ∣ = 1 .
Phase = − 180 ∘ =-180^\circ = − 18 0 ∘ constant. Why? Each 1 / ( j ω ) 1/(j\omega) 1/ ( j ω ) gives − 90 ∘ -90^\circ − 9 0 ∘ ; two of them = − 180 ∘ =-180^\circ = − 18 0 ∘ .
GNC insight: a plant sitting at − 180 ∘ -180^\circ − 18 0 ∘ phase is on the edge of instability — the controller must add phase back (a lead/PD term) near crossover.
Worked example Example 3 — reading stability margins
Let the open-loop L ( j ω ) L(j\omega) L ( j ω ) cross 0 dB at ω g c \omega_{gc} ω g c (gain-crossover) and cross −180° at ω p c \omega_{pc} ω p c (phase-crossover).
Phase margin = 180 ∘ + ∠ L ( j ω g c ) =180^\circ+\angle L(j\omega_{gc}) = 18 0 ∘ + ∠ L ( j ω g c ) . Why? How many degrees of extra lag before phase hits −180° at the frequency where gain is unity (the danger point).
Gain margin = − ∣ L ( j ω p c ) ∣ dB =-|L(j\omega_{pc})|_{\text{dB}} = − ∣ L ( j ω p c ) ∣ dB . Why? How many dB you can raise the gain before magnitude reaches 0 dB at the −180° point.
Positive margins ⇒ stable, robust loop.
10 log 10 10\log_{10} 10 log 10 for magnitude."
Why it feels right: decibels are famously 10 log 10 ( P ) 10\log_{10}(P) 10 log 10 ( P ) for power — true. The fix: a Bode magnitude is an amplitude ratio, and power ∝ \propto ∝ amplitude². So 10 log 10 ( A 2 ) = 20 log 10 A 10\log_{10}(A^2)=20\log_{10}A 10 log 10 ( A 2 ) = 20 log 10 A . Always 20 for gain.
Common mistake "The corner is where phase = 0°."
Why it feels right: the corner sounds like a special "start" point. The fix: at the corner ω c \omega_c ω c the phase of a single pole is already − 45 ∘ -45^\circ − 4 5 ∘ (halfway), and the magnitude is − 3 -3 − 3 dB, not 0. Phase transition spreads roughly one decade each side of ω c \omega_c ω c .
Common mistake "Slope is −20 dB per octave."
Why it feels right: confusing octaves (×2) with decades (×10). The fix: standard Bode slopes are per decade . (−20 dB/dec ≈ −6 dB/octave.)
Common mistake "Magnitude and phase are independent — I can tune one freely."
Why it feels right: they're two separate graphs. The fix: for minimum-phase systems they're linked (Bode gain–phase relation): a −20 dB/dec slope implies ≈ −90° phase. You can't get steep roll-off without paying in phase lag — that's why aggressive filters destabilize loops.
Recall Try before revealing
Why do we evaluate G G G at s = j ω s=j\omega s = j ω ? (sinusoidal steady-state; eigenfunction e j ω t e^{j\omega t} e j ω t )
What slope does a pole add above its corner? (−20 dB/dec, −90°)
What is the magnitude at a first-order corner? (−3 dB)
Define phase margin. (180 ∘ + ∠ L 180^\circ+\angle L 18 0 ∘ + ∠ L at gain crossover)
Recall Feynman: explain to a 12-year-old
Imagine pushing a kid on a swing. If you push slowly, the swing follows you easily (big response). If you push super fast, the swing barely moves (small response) and it lags behind your hand. A Bode plot is just a chart of "how big is the swing" and "how far behind does it lag" for every pushing speed. Engineers use it to make sure a robot or rocket doesn't start shaking itself apart when something jiggles it at the wrong speed.
Mnemonic Remember the pole
"Pole pulls DOWN: −20, −90." A P ole P ushes magnitude down 20 dB/dec and P hase down 90°. A Z ero does the ze-opposite (up +20, +90).
What does a Bode plot show? Magnitude (dB) and phase (deg) of the frequency response
G ( j ω ) G(j\omega) G ( j ω ) vs log frequency.
Why substitute s = j ω s=j\omega s = j ω ? Because
e j ω t e^{j\omega t} e j ω t is an eigenfunction of LTI systems; the response to a sinusoid is a scaled, phase-shifted sinusoid
∣ G ( j ω ) ∣ cos ( ω t + ∠ G ) |G(j\omega)|\cos(\omega t+\angle G) ∣ G ( j ω ) ∣ cos ( ω t + ∠ G ) .
Formula for magnitude in dB? 20 log 10 ∣ G ( j ω ) ∣ 20\log_{10}|G(j\omega)| 20 log 10 ∣ G ( j ω ) ∣ ; factor 20 because power
∝ \propto ∝ amplitude².
Slope and phase contributed by one pole above corner? −20 dB/decade and −90°.
Slope and phase of one zero above corner? +20 dB/decade and +90°.
Magnitude at a first-order corner frequency? −3 dB (exactly
20 log 10 ( 1 / 2 ) 20\log_{10}(1/\sqrt2) 20 log 10 ( 1/ 2 ) ).
Phase at a first-order pole's corner? −45°.
Slope and phase of a double integrator 1 / s 2 1/s^2 1/ s 2 ? −40 dB/decade, constant −180°.
Definition of phase margin? 180 ∘ + ∠ L ( j ω g c ) 180^\circ+\angle L(j\omega_{gc}) 18 0 ∘ + ∠ L ( j ω g c ) at the gain-crossover (0 dB) frequency.
Definition of gain margin? The dB below 0 dB at the phase-crossover (−180°) frequency:
− ∣ L ( j ω p c ) ∣ d B -|L(j\omega_{pc})|_{dB} − ∣ L ( j ω p c ) ∣ d B .
Why log frequency axis? Spans many decades and makes simple factors' asymptotes straight lines with dB/decade slopes.
Bode gain–phase relation (minimum phase)? Slope and phase are linked; e.g. a −20 dB/dec slope implies about −90° phase.
Transfer function — the G ( s ) G(s) G ( s ) we evaluate at s = j ω s=j\omega s = j ω .
Nyquist plot — same G ( j ω ) G(j\omega) G ( j ω ) plotted in the complex plane; encircles −1 for stability.
Stability margins — gain & phase margins read directly off Bode.
Lead-lag compensator — designed by shaping the Bode plot near crossover.
Low-pass filter — a first-order pole; its −3 dB corner is its cutoff.
Laplace transform — where s s s , poles, and zeros come from.
Loop shaping — GNC design method driven entirely by Bode magnitude.
Frequency response G of jw
Intuition Hinglish mein samjho
Bode plot ek aisa graph hai jisme hum dekhte hain ki koi system har frequency ke sine wave ko kitna badhata/ghatata hai (magnitude) aur kitna peeche kar deta hai (phase). LTI system ki khaas baat: agar input pure sine hai, to output bhi usi frequency ka sine hoga — sirf amplitude change hoti hai aur ek phase shift aata hai. Isiliye hum transfer function G ( s ) G(s) G ( s ) ko s = j ω s=j\omega s = j ω par evaluate karte hain, aur ∣ G ( j ω ) ∣ |G(j\omega)| ∣ G ( j ω ) ∣ ko dB me aur ∠ G ( j ω ) \angle G(j\omega) ∠ G ( j ω ) ko degree me, log-frequency axis par plot karte hain.
dB ke liye hamesha 20 log 10 20\log_{10} 20 log 10 lagao (kyunki power amplitude ka square hota hai), aur log axis isliye kyunki control systems bahut saari decades cover karte hain — 0.01 se 1000 rad/s tak. Log lene ka ek aur fayda: transfer function factors ka product hota hai, aur log lene se product addition ban jaata hai. Isliye har pole/zero ka contribution alag-alag add karke by-hand sketch bana sakte ho. Rule yaad rakho: har pole magnitude ko −20 dB/decade neeche aur phase ko −90° neeche kheenchta hai; zero iska ulta karta hai (+20, +90).
GNC me yeh super important hai. Rocket ya drone ka control loop kisi disturbance (hawa ka jhonka, sensor noise, fuel slosh) se hilta hai. Agar kisi frequency par loop gain bada hai aur phase −180° ke paas pahunch gaya, to system oscillate karke unstable ho sakta hai. Bode plot se hum seedha phase margin (180 ∘ + ∠ L 180^\circ+\angle L 18 0 ∘ + ∠ L at 0 dB crossover) aur gain margin padh lete hain — yeh batate hain ki system kitna safe hai. Compensator (lead/PD) design bhi Bode plot ko shape karke hota hai, isliye is topic ko achhe se samajhna zaroori hai.