Frequency-Domain Analysis
Frequency Response Fundamentals
For a stable LTI system G(s), the steady-state response to u(t) = A*sin(omega*t) is:
y_ss(t) = A * |G(j*omega)| * sin(omega*t + angle(G(j*omega)))
The frequency response G(j*omega) is obtained by substituting s = j*omega:
G(j*omega) = |G(j*omega)| * e^(j*angle(G(j*omega)))
Magnitude: |G(j*omega)|
Phase: angle(G(j*omega)) = arctan(Im/Re)
Bode Plots
Two plots vs log(omega):
- Magnitude in decibels:
20*log10(|G(j*omega)|)vs log(omega) - Phase in degrees:
angle(G(j*omega))vs log(omega)
Bode Plot Construction (Asymptotic)
Factor G(s) into standard forms and sum contributions:
Constant gain K:
- Magnitude:
20*log10(|K|)dB (flat line) - Phase: 0 deg (K > 0) or -180 deg (K < 0)
Integrator 1/s^N:
- Magnitude: -20N dB/decade line through 0 dB at omega = 1
- Phase: -90N deg (constant)
First-order term (1 + s/omega_c)^(+/-1):
- Break frequency at omega_c
- Magnitude: 0 dB for omega << omega_c, +/-20 dB/dec for omega >> omega_c
- Phase: 0 deg for omega << omega_c/10, +/-45 deg at omega_c, +/-90 deg for omega >> 10*omega_c
Second-order term (underdamped):
1 / (1 + 2*zeta*(s/omega_n) + (s/omega_n)^2)
- Magnitude: 0 dB for omega << omega_n, -40 dB/dec for omega >> omega_n
- Resonant peak near omega_n at
M_r = 1 / (2*zeta*sqrt(1-zeta^2))for zeta < 0.707 - Phase: 0 deg -> -90 deg at omega_n -> -180 deg
Time delay e^(-T*s):
- Magnitude: 0 dB (flat)
- Phase: -T*omega (linearly decreasing, increasingly negative)
Minimum Phase Systems
A system is minimum phase if all poles and zeros are in the left-half plane. For minimum phase systems, magnitude and phase are related by the Hilbert transform (Bode gain-phase relation):
angle(G(j*omega_0)) = (1/pi) * integral(-inf to inf) [d(ln|G|)/d(ln omega)] * ln|coth(v/2)| dv
Practical implication: a slope of -20 dB/dec near crossover corresponds to roughly -90 deg phase, -40 dB/dec to -180 deg, etc.
Non-minimum phase systems have more phase lag than their minimum-phase counterparts with the same magnitude response. RHP zeros and time delays are non-minimum phase elements.
Nyquist Plot
The Nyquist plot maps G(j*omega) in the complex plane as omega varies from -infinity to +infinity (or equivalently, as s traces the Nyquist contour in the s-plane).
Nyquist Stability Criterion
Z = N + P
Where:
- Z = number of closed-loop poles in the RHP (unstable poles)
- N = number of clockwise encirclements of the point -1 + j0
- P = number of open-loop poles in the RHP
For stability: Z = 0, so N = -P (P counter-clockwise encirclements needed).
For a stable open-loop system (P = 0): the Nyquist plot must not encircle -1.
Counting Encirclements
Draw a line from -1 to infinity. Count crossings:
- CW crossing: +1
- CCW crossing: -1
- N = net count
Gain and Phase Margins
Gain margin (GM): the factor by which gain can increase before instability.
GM = 1 / |G(j*omega_pc)|
GM_dB = -20*log10(|G(j*omega_pc)|)
where omega_pc is the phase crossover frequency (where phase = -180 deg).
Phase margin (PM): additional phase lag that can be tolerated before instability.
PM = 180 + angle(G(j*omega_gc))
where omega_gc is the gain crossover frequency (where |G| = 1 = 0 dB).
Design Guidelines
| Specification | Typical Range | |--------------|---------------| | Gain margin | > 6 dB (factor of 2) | | Phase margin | 30 deg - 60 deg |
Relationship to damping (second-order approximation):
PM ≈ 100 * zeta (degrees, for zeta < 0.7)
So PM = 45 deg corresponds to zeta ~ 0.45, giving about 20% overshoot.
Bandwidth
The bandwidth omega_BW is the frequency where the closed-loop magnitude drops to -3 dB (= 1/sqrt(2) = 0.707).
Relationship to time-domain specs (second-order approximation):
omega_BW ≈ omega_n * sqrt(1 - 2*zeta^2 + sqrt(4*zeta^4 - 4*zeta^2 + 2))
Approximate rules:
omega_BW ≈ 4 / (t_s * zeta) (from settling time)
omega_BW ≈ pi / (t_p * sqrt(1-zeta^2)) * (...) (from peak time)
Higher bandwidth -> faster response, but also more noise sensitivity.
Resonance
For underdamped second-order systems, the resonant peak occurs at:
omega_r = omega_n * sqrt(1 - 2*zeta^2) (exists for zeta < 0.707)
Peak magnitude:
M_r = 1 / (2*zeta*sqrt(1 - zeta^2))
| zeta | M_r (dB) | omega_r / omega_n | |------|----------|-------------------| | 0.1 | 14 dB | 0.99 | | 0.3 | 5.7 dB | 0.91 | | 0.5 | 1.2 dB | 0.71 | | 0.707 | 0 dB | 0 (no peak) |
Large resonant peaks indicate low damping and risk of instability under gain perturbation.
Closed-Loop Frequency Response
Given open-loop L(s) = G_c(s)*G(s):
Closed-loop transfer function:
T(j*omega) = L(j*omega) / (1 + L(j*omega))
Sensitivity function:
S(j*omega) = 1 / (1 + L(j*omega))
On the Nyquist plot, |S(j*omega)| is the inverse of the distance from L(j*omega) to the -1 point.
M-circles and N-circles (Nichols Chart)
M-circles: loci of constant closed-loop magnitude in the G-plane. The circle for magnitude M has center at (-M^2/(M^2-1), 0) and radius M/|M^2-1|.
N-circles: loci of constant closed-loop phase.
The Nichols chart replots M and N contours on magnitude(dB) vs phase(deg) axes, which is particularly useful for design since the open-loop Bode data can be directly plotted.
Bandwidth and Performance Specifications
Frequency-domain specs map to time-domain behavior:
| Freq-domain | Time-domain | |-------------|-------------| | Bandwidth | Rise time, speed of response | | Resonant peak M_r | Overshoot | | Low-frequency gain | Steady-state accuracy | | High-frequency rolloff | Noise rejection |
Loop Shaping Design Philosophy
Shape the open-loop frequency response L(j*omega) to achieve:
- Low frequencies (omega << omega_gc): high gain for tracking and disturbance rejection.
|L| >> 1so|S| << 1. - Near crossover (omega ~ omega_gc): slope of -20 dB/dec at crossover ensures adequate phase margin. Transition smoothly.
- High frequencies (omega >> omega_gc): low gain for noise attenuation and robustness.
|L| << 1so|T| << 1.
Fundamental limitation: at crossover, magnitude must pass through 0 dB. The slope there determines phase margin.