Bode plots
Draws asymptotic Bode magnitude and phase plots from basic factors, reads type, gain and crossover from them, and identifies minimum-phase transfer functions.
Drafted with Aria, reviewed by the AiCanCode.org team. Spotted an error? Use Give Feedback at the bottom of the page.
Why it matters
Frequency response is how loops are tuned in practice: you can measure it on a real plant with a sine source and an analyser, without knowing the model. A Bode plot turns multiplication of factors into addition of straight lines, so a whole loop — sensor, controller, actuator, process — can be sketched by hand in minutes, and its bandwidth and stability margins read straight off the graph.
Key ideas
Frequency response: for a stable LTI system driven by A·sin(ωt), the steady-state output is A·|G(jω)|·sin(ωt + ∠G(jω)). The Bode plot shows 20·log10|G(jω)| in dB and ∠G(jω) in degrees, both against log10 ω.
Why logs help: G = G1·G2·G3 becomes |G|dB = |G1|dB + |G2|dB + |G3|dB and ∠G = ∠G1 + ∠G2 + ∠G3, so each factor is drawn separately and the curves are added. One decade is a factor of 10 in frequency; one octave is a factor of 2.
Write G in time-constant (Bode) form first: G(jω) = K·(1 + jωTa)… / [(jω)^N·(1 + jωT1)…]. Then the basic factors are:
- Constant K: flat line at
20·log10 KdB; phase 0° (or −180° if K < 0). - Pole at origin
1/(jω)^N: straight line of slope−20NdB/decade through 0 dB at ω = 1 rad/s; phase−90N°. - Simple pole
1/(1 + jωT): asymptotes 0 dB below the corner frequencyωc = 1/T, then −20 dB/decade. The true curve is 3 dB below the corner of the asymptotes atωc. Phase goes from 0° to −90°, passing −45° atωc; the straight-line phase approximation runs from0.1ωcto10ωc. - Simple zero
(1 + jωT): mirror image, +20 dB/decade and 0° to +90°. - Quadratic pole
1/[1 + 2ζ(jω/ωn) + (jω/ωn)²]: 0 dB, then −40 dB/decade fromωn; phase 0° to −180° with −90° atωn. Nearωnthe true curve has a resonant peak whenζ < 0.707— the asymptotes can be badly wrong for smallζ. - Dead time
e^(−jωT): magnitude 0 dB at all frequencies; phase−ωTrad, which falls ever faster on a log axis.
Low-frequency asymptote tells you the type and gain: slope 0 → type 0 with 20·log10 Kp dB; slope −20 dB/decade → type 1, and the line (or its extension) crosses 0 dB at ω = Kv; slope −40 → type 2, crossing 0 dB at ω = √Ka.
Minimum-phase systems (no poles or zeros in the RHP, no dead time) have phase fixed by the magnitude curve, so the transfer function can be identified from the magnitude plot alone. A non-minimum-phase zero (1 − jωT) has the same magnitude as (1 + jωT) but phase lag.
Second-order closed-loop frequency-domain specs: resonant peak Mr, resonant frequency ωr and bandwidth ωb (where the closed-loop gain falls 3 dB below its DC value). Higher bandwidth means a faster time response.
Formulas
|G|dB = 20·log10|G(jω)|ωc = 1/T— corner frequency of(1 + jωT).∠(1 + jωT) = tan⁻¹(ωT);|1 + jωT| = √(1 + ω²T²).Mr = 1/(2ζ·√(1 − ζ²)), valid forζ < 0.707.ωr = ωn·√(1 − 2ζ²).ωb = ωn·√[(1 − 2ζ²) + √(4ζ⁴ − 4ζ² + 2)].∠e^(−jωT) = −ωTrad= −57.3·ωTdegrees.
Symbols: ω angular frequency (rad/s), T time constant (s), K Bode gain (dimensionless or with the units of the loop), ζ damping ratio, ωn natural frequency (rad/s), Mr dimensionless (or in dB), ωb rad/s. The asymptotic plot is accurate to within 3 dB for real poles and zeros.
Worked examples
Example 1 — sketch and crossover of a type-1 loop
Given: G(s) = 100/[s(s + 10)].
- Bode form:
G(jω) = 10/[jω(1 + jω/10)], soK = 10(Kv = 10 s⁻¹) and one corner at 10 rad/s. - Below 10 rad/s: −20 dB/decade line through 20 dB at ω = 1 rad/s. At ω = 10 rad/s it reaches
20 − 20 = 0 dB. - Above 10 rad/s: slope −40 dB/decade.
- Asymptotic gain crossover ≈ 10 rad/s. Exact:
|G| = 1→ω·√(ω² + 100) = 100→ω⁴ + 100ω² − 10⁴ = 0→ω² = 61.8,ω = 7.86 rad/s. - Phase at 7.86 rad/s:
−90° − tan⁻¹(0.786) = −90° − 38.2° = −128.2°.
Result: gain crossover at 7.86 rad/s (asymptotic estimate 10 rad/s) with phase −128.2°, i.e. a phase margin of 51.8°. The phase never reaches −180°, so the gain margin is infinite.
Example 2 — identifying a transfer function from an asymptotic plot (GATE level)
Given: an asymptotic magnitude plot of a minimum-phase open loop starts with slope −20 dB/decade and passes through 20 dB at ω = 1 rad/s; the slope changes to −40 dB/decade at 2 rad/s and to −60 dB/decade at 20 rad/s. Find G(s) and the asymptotic and exact magnitude at 10 rad/s.
- Initial −20 dB/decade → one integrator; 20 dB at ω = 1 →
K = 10. - Each break of −20 dB/decade is a simple pole: corners at 2 and 20 rad/s.
G(s) = 10/[s(1 + s/2)(1 + s/20)] = 400/[s(s + 2)(s + 20)].- Asymptotic value at 10 rad/s: at 2 rad/s,
20 − 20·log10 2 = 13.98 dB; then −40 dB/decade for a factor of 5:13.98 − 40·log10 5 = 13.98 − 27.96 = −13.98 dB. - Exact:
|G(j10)| = 10/[10 × √(1 + 25) × √(1 + 0.25)] = 1/(5.099 × 1.118) = 0.175→ −15.1 dB. - Phase at 10 rad/s:
−90° − tan⁻¹ 5 − tan⁻¹ 0.5 = −90° − 78.7° − 26.6° = −195.3°.
Result: G(s) = 400/[s(s + 2)(s + 20)]; at 10 rad/s, −14.0 dB (asymptotic), −15.1 dB (exact), phase −195.3°.
Common mistakes
- Plotting from the pole-zero form:
100/[s(s + 10)]has a Bode gain of 10, not 100. - Starting the −20N dB/decade integrator line at the wrong place: it passes through 0 dB at ω = 1 rad/s only before other gains are added.
- Assuming the phase of a corner is complete at the corner frequency; it is only half-way (−45°).
- Trusting the asymptotes near a lightly damped quadratic, where the true peak can be many dB above them.
- Treating dead-time phase as a straight line on the Bode plot; it is linear in ω, not in log ω.
- Identifying a transfer function from magnitude alone when the system may be non-minimum phase.
For GATE IN
Expect questions that ask for the transfer function from an asymptotic magnitude plot, the magnitude or phase at a given frequency, the slope in a frequency band, gain crossover frequency, or the resonant peak and bandwidth of a second-order system. Practise converting between dB and ratios quickly and evaluating tan⁻¹ sums at a given ω.
Quick check
- What is 20·log10(5)?
- What is the high-frequency slope of
100/[s(s + 10)]? - Find the phase of
50/(s² + 5s + 50)at ω = 10 rad/s. - A type-1 Bode plot's initial line crosses 0 dB at 25 rad/s. What is
Kv?
Answers: 1. 13.98 dB; 2. −40 dB/decade; 3. Denominator at j10 is −50 + j50, so the phase is −135°; 4. Kv = 25 s⁻¹.
Interview questions
All Control Systems interview questionsTry answering each one aloud before you open it.
1.What is a Bode plot and why is it used in control systems?Concept
A Bode plot is a graphical representation of a linear, time-invariant system transfer function. It consists of two plots: one showing the magnitude (in decibels) versus frequency (on a logarithmic scale) and the other showing the phase angle versus frequency. Bode plots are used to analyze the frequency response of a system, helping engineers understand how the system behaves at different frequencies. They are particularly useful for designing and tuning control systems to ensure stability and performance.
2.Explain the significance of the gain margin and phase margin in a Bode plot.Concept
The gain margin and phase margin are measures of system stability in the frequency domain. The gain margin is the amount by which the gain can increase before the system becomes unstable, measured at the phase crossover frequency where the phase angle is -180 degrees. The phase margin is the additional phase lag required to bring the system to the verge of instability, measured at the gain crossover frequency where the gain is 1 (0 dB). A higher gain and phase margin indicate a more stable system.
3.How do you determine the stability of a closed-loop system using a Bode plot?Application
Draw the Bode plot of the open-loop transfer function G(s)H(s). Find the gain crossover frequency (|GH| = 0 dB) and the phase crossover frequency (∠GH = −180°). For a minimum-phase open loop, the closed loop is stable if the phase at gain crossover is above −180° (positive phase margin) and the magnitude at phase crossover is below 0 dB (positive gain margin). For open-loop unstable or non-minimum-phase systems the margins can mislead, and the Nyquist criterion should be used instead.
4.Why is the logarithmic scale used for frequency in Bode plots?Application
The logarithmic scale is used for frequency in Bode plots because it allows a wide range of frequencies to be displayed in a compact form. This is particularly useful in control systems where the frequency response can span several orders of magnitude. The logarithmic scale also makes it easier to identify multiplicative relationships and simplifies the process of adding and subtracting decibels, which is common in frequency response analysis.
5.What happens to the Bode plot if a pole is added to the system transfer function?Application
If a pole is added to the system transfer function, the magnitude plot of the Bode plot will show a decrease in slope by -20 dB/decade starting at the pole's frequency. The phase plot will show a phase lag that starts at one-tenth of the pole frequency and ends at ten times the pole frequency, with a total phase lag of -90 degrees. This change affects the system's stability and performance, often requiring compensation to maintain desired characteristics.
6.Describe how a zero affects the Bode plot of a system.Application
When a zero is added to the system transfer function, the magnitude plot of the Bode plot will show an increase in slope by +20 dB/decade starting at the zero's frequency. The phase plot will show a phase lead that starts at one-tenth of the zero frequency and ends at ten times the zero frequency, with a total phase lead of +90 degrees. This can improve the system's transient response and stability margins, but it may also introduce overshoot or other undesired effects.
7.How can you use a Bode plot to design a lead compensator?Application
To design a lead compensator using a Bode plot, you first identify the frequency range where phase margin improvement is needed. Then, you introduce a zero at a lower frequency and a pole at a higher frequency within this range. The zero provides a phase lead, improving the phase margin, while the pole limits the high-frequency gain to prevent excessive noise amplification. The exact placement of the zero and pole is adjusted to achieve the desired phase margin and transient response.
8.What is the effect of time delay on a Bode plot?Application
A pure delay e^(−sT) has |e^(−jωT)| = 1, so the magnitude plot is unchanged, but it adds a phase lag of ωT radians (57.3·ωT degrees) that grows linearly with frequency. On the logarithmic frequency axis this lag curves downward ever more steeply. It reduces the phase margin at the gain crossover frequency and can destabilise a loop, which is why process loops with dead time must be tuned with lower gain.
9.Describe the Bode plot of G(s) = 10/(s² + 2s + 10) and comment on its peak.Numerical
Here ωn = √10 = 3.16 rad/s and ζ = 2/(2 × 3.16) = 0.316, with DC gain G(0) = 1, so the low-frequency magnitude is 0 dB (not 20 dB). Because ζ < 0.707 there is a resonant peak Mr = 1/(2ζ√(1 − ζ²)) = 1.67, about 4.4 dB, at ωr = ωn√(1 − 2ζ²) = 2.83 rad/s. Above ωn the magnitude falls at −40 dB/decade, and the phase moves from 0° through −90° at ωn toward −180°. Both poles are in the left half-plane, so the system itself is stable.
Finished this topic? Mark it so your progress, study plan and readiness keep up.
Stuck on something here?