Fiveable

🎛️Control Theory Unit 4 Review

QR code for Control Theory practice questions

4.2 Bode plots

4.2 Bode plots

Written by the Fiveable Content Team • Last updated August 2025
Written by the Fiveable Content Team • Last updated August 2025
🎛️Control Theory
Unit & Topic Study Guides

Bode plot basics

Bode plots let you see how a linear time-invariant (LTI) system responds to sinusoidal inputs across a range of frequencies. They're one of the most practical tools in control engineering because you can read stability margins, bandwidth, and steady-state behavior directly off the plots, and you can use them to shape a controller's frequency response during design.

A Bode plot is actually two plots stacked vertically, sharing the same frequency axis:

  • Magnitude plot: shows the system's gain (output amplitude / input amplitude) in decibels (dB) versus frequency.
  • Phase plot: shows the phase shift between input and output in degrees versus frequency.

Together, they give you a complete picture of the system's frequency-domain behavior.

Logarithmic frequency scale

Both plots use a logarithmic frequency axis, typically in rad/s. The log scale compresses a huge frequency range into a manageable width, so you can see low-frequency and high-frequency behavior on the same graph. Frequencies are usually labeled by decade: 0.1, 1, 10, 100, 1000 rad/s, and so on.

Decibel scale for magnitude

Magnitude is expressed in decibels using:

Magnitude (dB)=20log10G(jω)\text{Magnitude (dB)} = 20 \log_{10} |G(j\omega)|

where G(jω)|G(j\omega)| is the ratio of output amplitude to input amplitude at frequency ω\omega. The dB scale is useful for two reasons: it turns multiplication into addition (critical for combining subsystems), and it lets you use straight-line approximations to sketch plots by hand.

Bode plot construction

To build a Bode plot, you factor the transfer function into simple first-order and second-order terms, sketch each term's contribution separately, then add them together. This works because of the logarithmic scales: multiplying transfer functions in the frequency domain becomes adding their dB magnitudes and adding their phase angles.

First-order systems

A first-order system has the form:

G(s)=Kτs+1G(s) = \frac{K}{\tau s + 1}

where KK is the DC gain and τ\tau is the time constant. The corner frequency (also called break frequency) is ωc=1τ\omega_c = \frac{1}{\tau}.

How to sketch the magnitude plot:

  1. For ωωc\omega \ll \omega_c, the magnitude is flat at 20log10K20\log_{10}|K| dB.
  2. At ω=ωc\omega = \omega_c, the actual curve is about 3 dB below the flat portion.
  3. For ωωc\omega \gg \omega_c, the magnitude drops at 20-20 dB/decade.

How to sketch the phase plot:

  1. At low frequencies (roughly a decade below ωc\omega_c), the phase is approximately 0°.
  2. At ω=ωc\omega = \omega_c, the phase is 45°-45°.
  3. At high frequencies (roughly a decade above ωc\omega_c), the phase approaches 90°-90°.

A first-order zero (numerator term τs+1\tau s + 1) has the mirror-image behavior: +20+20 dB/decade slope and phase going from 0° to +90°+90°.

Second-order systems

A standard second-order system looks like:

G(s)=ωn2s2+2ζωns+ωn2G(s) = \frac{\omega_n^2}{s^2 + 2\zeta\omega_n s + \omega_n^2}

where ωn\omega_n is the natural frequency and ζ\zeta is the damping ratio.

  • Magnitude: flat at low frequencies, then rolls off at 40-40 dB/decade above ωn\omega_n. For underdamped systems (ζ<1\zeta < 1), there's a resonant peak near ωn\omega_n. The peak height depends on ζ\zeta; smaller ζ\zeta means a taller peak. At ζ=0.707\zeta = 0.707, the peak just disappears.
  • Phase: transitions from 0° to 180°-180°, passing through 90°-90° at ω=ωn\omega = \omega_n. The transition is sharper for lower damping ratios.

Higher-order systems

Any higher-order transfer function can be factored into a product of first-order and second-order terms (plus possibly a pure gain and integrators/differentiators). You plot each factor's magnitude and phase contribution, then sum them:

  • Add the dB magnitudes at each frequency.
  • Add the phase angles at each frequency.

Plotting straight-line approximations

Asymptotic (straight-line) approximations make hand-sketching feasible:

  1. Identify all corner frequencies from the poles and zeros of the transfer function.
  2. At each corner frequency for a pole, decrease the magnitude slope by 20 dB/decade; for a zero, increase it by 20 dB/decade. Second-order terms change the slope by 40 dB/decade.
  3. Draw the resulting piecewise-linear magnitude curve.
  4. For phase, use the rule that each first-order term transitions over roughly two decades centered on its corner frequency (one decade below to one decade above).

The straight-line approximation is exact at frequencies far from the corners. The maximum error for a first-order term is about 3 dB in magnitude and occurs right at the corner frequency.

Bode plot analysis

Once you have a Bode plot of the open-loop transfer function, you can extract several key performance and stability metrics directly from the graph.

Stability assessment using gain and phase margins

  • Gain margin (GM): how much you could increase the system gain before the closed-loop system goes unstable. Measured in dB at the phase crossover frequency.
  • Phase margin (PM): how much additional phase lag the system can tolerate before instability. Measured in degrees at the gain crossover frequency.

A stable system requires both GM > 0 dB and PM > 0°. Typical design targets are GM ≥ 6 dB and PM between 30° and 60°. Larger margins mean the system is more tolerant of modeling errors and parameter changes.

Magnitude and phase plots, File:Bode High-Pass.PNG - Wikipedia, the free encyclopedia

Gain crossover and phase crossover frequencies

  • Gain crossover frequency (ωgc\omega_{gc}): where the magnitude plot crosses 0 dB. This is where you read the phase margin. Specifically, PM=180°+G(jωgc)\text{PM} = 180° + \angle G(j\omega_{gc}).
  • Phase crossover frequency (ωpc\omega_{pc}): where the phase plot crosses 180°-180°. This is where you read the gain margin. Specifically, GM=G(jωpc)dB\text{GM} = -|G(j\omega_{pc})|_{\text{dB}}.

If the magnitude is below 0 dB when the phase hits 180°-180°, the system is stable (positive GM). If the phase is above 180°-180° when the magnitude hits 0 dB, the system is also stable (positive PM).

Bandwidth and peak resonance

Bandwidth is the frequency range from 0 up to the point where the closed-loop magnitude drops 3 dB below its DC value. It indicates how fast the system can respond: higher bandwidth means faster tracking of reference signals but also more sensitivity to high-frequency noise.

Peak resonance (MrM_r) is the maximum value of the closed-loop magnitude response. It's related to the damping ratio and overshoot in the time domain. A large MrM_r (say, above 1.5 or about 3.5 dB) usually signals an underdamped, oscillatory response.

Steady-state error from low-frequency gain

The low-frequency portion of the open-loop Bode plot tells you about steady-state accuracy:

  • Type 0 system (no integrators): the magnitude plot is flat at low frequencies. The DC gain gives you the position constant KpK_p, and the steady-state error to a unit step is ess=11+Kpe_{ss} = \frac{1}{1 + K_p}.
  • Type 1 system (one integrator): the magnitude plot has a 20-20 dB/decade slope at low frequencies. Extending this slope to ω=1\omega = 1 rad/s gives the velocity constant KvK_v, and the steady-state error to a unit ramp is ess=1Kve_{ss} = \frac{1}{K_v}.
  • Type 2 system (two integrators): the low-frequency slope is 40-40 dB/decade, and the acceleration constant KaK_a can be read similarly.

Bode plot for design

Beyond analysis, Bode plots are a primary tool for designing controllers. The idea is to reshape the open-loop frequency response until the closed-loop system meets your specs.

Gain adjustment for desired crossover frequency

The simplest design move is adjusting the overall gain KK:

  1. Plot the Bode diagram of the uncompensated plant.
  2. Identify the frequency where you want the gain crossover to occur (based on bandwidth requirements).
  3. Read the current magnitude at that frequency.
  4. Set KK so the magnitude at that frequency becomes 0 dB.

Increasing gain raises the entire magnitude curve, pushing ωgc\omega_{gc} higher (faster response but reduced phase margin). Decreasing gain does the opposite. This is always a trade-off between speed and stability.

Phase lead and lag compensation

When gain adjustment alone can't meet both stability and performance specs, you add compensators:

  • Lead compensator: adds positive phase near the crossover frequency. This boosts the phase margin without sacrificing bandwidth. The transfer function is Gc(s)=Kcτs+1ατs+1G_c(s) = K_c \frac{\tau s + 1}{\alpha \tau s + 1} with 0<α<10 < \alpha < 1. The maximum phase lead occurs at ωm=1τα\omega_m = \frac{1}{\tau\sqrt{\alpha}}.
  • Lag compensator: increases low-frequency gain (reducing steady-state error) while leaving the crossover region mostly unchanged. It uses α>1\alpha > 1 in the same form, placed well below ωgc\omega_{gc}.
  • Lead-lag compensator: combines both effects when you need to improve both steady-state accuracy and phase margin.

PID controller design using Bode plots

A PID controller has the form:

GPID(s)=Kp+Kis+KdsG_{PID}(s) = K_p + \frac{K_i}{s} + K_d s

Each term has a distinct effect on the Bode plot:

  • Proportional (KpK_p): shifts the magnitude curve up or down uniformly. Use it to set the crossover frequency.
  • Integral (Ki/sK_i / s): adds a pole at the origin, giving +20+20 dB/decade boost at low frequencies and 90°-90° phase. This eliminates steady-state error but reduces phase margin.
  • Derivative (KdsK_d s): adds a zero, giving +20+20 dB/decade at high frequencies and +90°+90° phase. This improves phase margin but amplifies high-frequency noise.

A practical design approach is to tune iteratively: set KpK_p for the right crossover, add KiK_i to kill steady-state error, then add KdK_d to recover the phase margin lost from the integral term.

Robustness and sensitivity considerations

A well-designed controller should tolerate uncertainty in the plant model. On the Bode plot, robustness shows up as adequate gain and phase margins. Some practical guidelines:

  • Keep the magnitude slope at crossover near 20-20 dB/decade. Steeper slopes (40-40 or worse) at crossover indicate poor phase margin.
  • Avoid resonant peaks in the closed-loop response that are too tall; they signal sensitivity to disturbances at those frequencies.
  • The sensitivity function S(jω)=11+G(jω)H(jω)S(j\omega) = \frac{1}{1 + G(j\omega)H(j\omega)} can be plotted on a Bode diagram. Keeping S(jω)|S(j\omega)| below a bound (commonly 6 dB) across all frequencies is a standard robustness requirement.

Bode plot applications

Magnitude and phase plots, Control Systems/Bode Plots - Wikibooks, open books for an open world

Stability analysis of feedback systems

For any feedback system, you plot the open-loop transfer function G(s)H(s)G(s)H(s) on a Bode diagram and read off the gain and phase margins. This is often the first check an engineer performs. If margins are too small, the system is redesigned with compensators.

The Nyquist stability criterion can also be interpreted from Bode data: if the magnitude is above 0 dB when the phase crosses 180°-180°, the system has a potential instability (depending on the number of open-loop unstable poles).

Frequency response of closed-loop systems

The closed-loop transfer function for unity feedback is:

T(jω)=G(jω)1+G(jω)T(j\omega) = \frac{G(j\omega)}{1 + G(j\omega)}

You can compute T(jω)|T(j\omega)| and T(jω)\angle T(j\omega) from the open-loop Bode data at each frequency. The closed-loop Bode plot reveals bandwidth, resonant peaks, and how well the system attenuates disturbances at various frequencies. Shaping the open-loop response to get a desired closed-loop response is the core of loop-shaping design.

System identification

When you don't have a mathematical model, you can build one experimentally:

  1. Drive the system with sinusoidal inputs at various frequencies.
  2. Measure the output amplitude and phase shift at each frequency.
  3. Plot the measured data as a Bode plot.
  4. Fit a transfer function (poles, zeros, gain) to match the experimental Bode plot.

This is a standard technique in practice. The Bode plot format makes it straightforward to visually compare the fitted model against measured data and refine the model where discrepancies appear.

Cascaded systems

When subsystems are connected in series, the overall transfer function is the product of the individual transfer functions. On a Bode plot, this means:

  • Add the individual magnitude plots (in dB).
  • Add the individual phase plots (in degrees).

This additive property is one of the biggest practical advantages of Bode plots. You can design each subsystem's frequency response independently, then combine them to verify the overall system meets specifications.

Bode plot limitations and alternatives

Limitations of straight-line approximations

Straight-line approximations are convenient but introduce errors, especially:

  • Near corner frequencies (up to 3 dB error for first-order terms, potentially much more for lightly damped second-order terms).
  • When poles and zeros are closely spaced, causing their transition regions to overlap.

For precise work, use exact calculations or software tools like MATLAB's bode() command. The asymptotic sketch is best used for quick intuition and initial design, not for final verification.

Bode plots vs. Nyquist plots

Bode plots display magnitude and phase on separate graphs with an explicit frequency axis. They make it easy to read gain/phase margins and to perform loop shaping.

Nyquist plots map the frequency response onto the complex plane (real vs. imaginary). They're better for applying the Nyquist stability criterion directly, especially for systems with open-loop unstable poles or transport delays.

In practice, engineers often use both: Bode plots for design and Nyquist plots for rigorous stability verification.

Bode plots vs. Nichols charts

Nichols charts plot magnitude (dB) on the vertical axis against phase (degrees) on the horizontal axis, with frequency as a parameter along the curve. Closed-loop magnitude and phase contours (M-circles and N-circles) are overlaid on the chart.

Advantage over Bode plots: you can see both open-loop and closed-loop behavior on a single graph, making loop shaping more direct.

Disadvantage: frequency isn't shown on an axis, so you lose the explicit frequency information that Bode plots provide.

Bode plots in discrete-time systems

Bode plots can be adapted for discrete-time (sampled-data) systems, but with key differences:

  • The frequency response is periodic with period 2π/T2\pi / T, where TT is the sampling period.
  • The maximum meaningful frequency is the Nyquist frequency, ωN=π/T\omega_N = \pi / T rad/s.
  • Plots are often shown using normalized frequency (0 to π\pi rad/sample) or physical frequency (0 to ωN\omega_N).

Stability margins are interpreted the same way as in continuous time, but aliasing and the effects of zero-order hold reconstruction can alter the frequency response significantly compared to the underlying continuous-time plant. Always account for these effects when designing digital controllers.