Bode Plots and Frequency Response
Frequency response studies the steady-state output of a stable linear system driven by sinusoidal inputs. Nise introduces Bode plots as a practical way to approximate and interpret magnitude and phase over many decades of frequency. The same transfer function used for time response is evaluated on the imaginary axis, .
The value of frequency response is design visibility. Low-frequency gain relates to steady-state tracking. Crossover frequency relates to speed and bandwidth. Phase lag near crossover relates to overshoot and stability margin. Bode plots show these trade-offs in a form engineers can sketch, measure, and tune.
![]()
Figure: Asymptotic Bode plot for frequency-response analysis. Image: Wikimedia Commons, Mintz l, public domain.
Definitions
For a transfer function , the frequency response is
The magnitude is often expressed in decibels:
The phase is
in degrees or radians.
A Bode magnitude plot graphs versus . A Bode phase plot graphs phase versus .
The break frequency or corner frequency of a factor is . First-order factors change magnitude slope by dB/decade and phase by up to . A pole contributes negative slope and phase; a zero contributes positive slope and phase.
For a sinusoidal input
a stable LTI system produces steady-state output
Key results
Basic Bode factors:
| Factor | Magnitude asymptote | Phase trend |
|---|---|---|
| constant | if , if | |
| pole at origin | dB/dec | |
| zero at origin | dB/dec | |
| real pole | slope changes by dB/dec | to |
| real zero | slope changes by dB/dec | to |
| second-order poles | possible resonant peak | up to |
For a product of transfer-function factors, magnitudes in dB add and phases add. This is why Bode plots are convenient:
The low-frequency magnitude of the open-loop transfer function indicates static error constants. A Type 1 system has a dB/dec low-frequency slope because of one pole at the origin; a Type 2 system has dB/dec.
Bandwidth is loosely associated with how fast a closed-loop system responds. Higher crossover or bandwidth often means faster response, but high bandwidth also passes more noise and may reduce robustness if phase lag is large.
Bode plots are asymptotic design tools as well as exact computational plots. Hand sketching begins with low-frequency gain and slope, then changes slope at each break frequency. The exact curve is smooth: a first-order pole is already contributing phase a decade before its break frequency and continues a decade after. The magnitude is dB away from the asymptote at the break frequency. Knowing the asymptotes helps the designer understand the exact plot rather than merely display it.
Minimum-phase systems have a close relationship between magnitude slope and phase. A downward magnitude slope near crossover usually corresponds to phase lag. Nonminimum-phase zeros and time delays break the most comforting versions of this intuition: a right-half-plane zero may increase magnitude like a left-half-plane zero but contributes negative phase, and a pure delay contributes phase lag without magnitude change. These effects limit achievable bandwidth.
Frequency response can be measured directly. Apply sinusoids at different frequencies, wait for transients to decay, then record output amplitude ratio and phase shift. This experimental method is valuable when physical parameters are uncertain. The resulting Bode plot may be used for design even if no exact differential-equation model is available, though noise, nonlinearities, and actuator limits must be managed during testing.
Open-loop and closed-loop frequency responses answer different questions. Open-loop loop transfer is used for gain crossover, phase margin, Nyquist plots, and loop shaping. Closed-loop transfer shows how commands pass to outputs. Sensitivity shows disturbance rejection and robustness. Complementary sensitivity shows command following and noise transmission for unity feedback.
A good loop shape is usually high at low frequency, crosses over with adequate phase margin, and rolls off at high frequency. High low-frequency gain reduces tracking error and load disturbances. Moderate crossover gives speed. High-frequency rolloff avoids amplifying sensor noise and unmodeled plant dynamics. Most frequency-response design is a disciplined negotiation among those three regions.
Second-order factors add another layer of interpretation. A lightly damped pair of poles can create a resonant peak in the magnitude plot and a rapid phase transition. The peak corresponds to the same low damping that creates overshoot in step response. Increasing damping flattens the resonance and spreads the phase change over a broader frequency range. This is one reason frequency response and time response are not separate subjects; they are two views of the same poles.
The decibel scale is useful because it turns multiplication into addition, but it can hide ordinary ratios. A dB gain is a factor of in amplitude; a dB gain is a factor of ; a dB attenuation is a factor of . When checking actuator effort or sensor noise, convert back to ordinary magnitude so the physical size of signals remains clear.
For design documentation, a Bode plot should be accompanied by the transfer function, units, operating point, and whether the plotted system is open loop, closed loop, sensitivity, or complementary sensitivity. Many wrong conclusions come from looking at the correct curve for the wrong transfer function.
Phase should be unwrapped or interpreted consistently. A plot that jumps from to may represent a smooth continuation, not a sudden physical phase lead. Margin calculations depend on the continuous phase trend near crossover, so plotting conventions must be checked.
Always label wrapped phase plots clearly.
Units matter.
Visual
Magnitude asymptote for 10/(1+s/5)
dB
20 |---------
| \
| \
0 | \ slope -20 dB/dec
+----+-------+--------> log omega
5
| Quantity | How read from Bode plot | Design meaning |
|---|---|---|
| dc gain | low-frequency magnitude | step tracking and disturbance rejection |
| crossover frequency | where magnitude crosses 0 dB | approximate speed and margin location |
| phase at crossover | phase plot at gain crossover | phase margin |
| high-frequency rolloff | final magnitude slope | noise attenuation and unmodeled dynamics |
| resonant peak | magnitude bump | low damping and overshoot tendency |
Worked example 1: magnitude and phase at one frequency
Problem: For
find magnitude in dB and phase at rad/s.
Method:
- Substitute :
- Denominator magnitude:
- Magnitude:
- Convert to dB:
- Denominator angle:
- Numerator is positive real, so phase is
Checked answer: magnitude is about dB and phase is .
Worked example 2: asymptotic Bode sketch
Problem: Sketch the asymptotic magnitude slopes for
Method:
- Put factors in Bode form:
Thus
- Constant magnitude contribution:
-
Pole at origin contributes slope dB/dec from the start.
-
Zero at contributes dB/dec after , changing slope from to dB/dec.
-
Pole at contributes dB/dec after , changing slope from to dB/dec.
-
Magnitude at from the initial asymptote:
Since dB at after the origin pole expression , at it is dB.
- From to , slope is , so magnitude remains dB. After , it falls at dB/dec.
Checked answer: slopes are dB/dec for , dB/dec for , and dB/dec for .
Code
import numpy as np
from scipy import signal
num = [100, 100] # 100(s + 1)
den = [1, 10, 0] # s(s + 10)
sys = signal.TransferFunction(num, den)
w = np.logspace(-2, 3, 500)
w, mag, phase = signal.bode(sys, w=w)
idx = np.argmin(np.abs(w - 2.0))
print("magnitude at 2 rad/s:", mag[idx], "dB")
print("phase at 2 rad/s:", phase[idx], "deg")
print("approx gain crossover rad/s:", w[np.argmin(np.abs(mag))])
Common pitfalls
- Using for voltage-like transfer-function magnitude instead of .
- Forgetting that phases add algebraically, with poles contributing negative phase and zeros positive phase.
- Treating asymptotes as exact near break frequencies. First-order factors differ by about dB at the corner.
- Evaluating frequency response at instead of .
- Ignoring units of . Bode formulas use rad/s unless explicitly converted.
- Assuming higher bandwidth is always better. Noise, actuator limits, and unmodeled dynamics constrain useful bandwidth.
Connections
- Nyquist and margins uses the same open-loop frequency response for stability.
- Frequency-response design shapes Bode plots with lag, lead, and lag-lead compensation.
- Steady-state errors connect low-frequency gain to tracking error.
- Time response relates bandwidth and damping to transient behavior.
- Signals and systems studies sinusoidal steady state in a broader setting.