In the print window, choose “Save as PDF” to keep a copy on your device.
1Formulas and methods
Stability: Routh–Hurwitz & root locus
Stability
all roots of the characteristic polynomial in the left half-plane
Routh array, s¹ entry of a cubic
b1 = (a2a1 − a3a0)/a2
Right half-plane roots
number of sign changes in the first column
Cubic s³ + a₂s² + a₁s + a₀
stable when all a > 0 and a₂·a₁ > a₀
K/(s(s + a)(s + b))
Kmax = ab(a + b), ω = √(ab)
Characteristic equation
1 + K·G(s) = 0
Asymptotes
σa = (Σp − Σz)/(n − m), θ = (2q + 1)·180°/(n − m)
Break-away and break-in points
dK/ds = 0
Magnitude condition
K = 1/|G(s)|
Angle of departure
θd = 180° − Σ∠(from other poles) + Σ∠(from zeros)
Method
Write the closed-loop characteristic polynomial: the denominator of 1 + K·G(s) = 0, multiplied out.
Put the coefficients alternately into the first two rows of the Routh array and build the remaining rows.
Count the sign changes in the first column: each one is a pole in the right half-plane. With K in the array, demand that every first-column entry stays positive.
For a root locus, mark the poles and zeros, the real-axis segments, the asymptotes from the centroid and the break points where dK/ds = 0. Use K = 1/|G(s)| for the gain at a point.
Steady-state error & PID control
System type
number of poles of G(s) at s = 0
Error constants
Kp = lim G(s), Kv = lim s·G(s), Ka = lim s²·G(s) (s → 0)
Step A
ess = A/(1 + Kp)
Ramp A·t
ess = A/Kv
Parabola A·t²/2
ess = A/Ka
PID controller
C(s) = Kp + Ki/s + Kd·s
Second-order target
s² + 2ζωns + ωn²
Overshoot and timing
%OS = 100·e−ζπ/√(1−ζ²), tp = π/ωd, ts ≈ 4/(ζωn)
Method
Count the poles of the open loop C(s)·G(s) at s = 0: that is the system type.
Work out the error constant that matches the input: Kp for a step, Kv for a ramp, Ka for a parabola.
Apply ess = A/(1 + Kp), A/Kv or A/Ka, or solve it for the gain you need.
For a damping or speed specification, write the closed-loop characteristic polynomial and match it with s² + 2ζω_n·s + ω_n².
2Practice problems
1.Step responseMedium
A system has the transfer function G(s) = 12/(s² + 5s + 24) and receives a unit step input. Find the 2 % settling time ts of the step response, using ts ≈ 4/(ζωₙ).
G(s) = 12/(s² + 5s + 24)
ts = s
2.Step responseHard
A second-order system without zeros must have a step response with 10 % overshoot. Find the damping ratio ζ.
%OS = 10 %
ζ =
3.Bode plots & marginsMedium
Find the exact magnitude |G(jω)| of G(s) = 4284/((s + 14)(s + 18)) at ω = 20 rad/s, in dB.
G(s) = 4284/((s + 14)(s + 18))ω = 20 rad/s
|G(jω)| = dB
4.Bode plots & marginsHard
A unity-feedback loop has the open-loop transfer function L(s) = 130/(s(s + 5)). Find the phase margin PM in degrees.
L(s) = 130/(s(s + 5))
PM = °
5.Stability: Routh–Hurwitz & root locusMedium
A unity-feedback loop has L(s) = K/((s + 2)(s + 4)(s + 5)), with K > 0. Find the largest gain Kmax for which the closed loop is stable.
L(s) = K/((s + 2)(s + 4)(s + 5))
Kmax =
6.Stability: Routh–Hurwitz & root locusHard
The root locus of L(s) = K/((s + 1)(s + 3)(s + 6)) is sketched. Find the frequency ω at which the locus crosses the imaginary axis.
L(s) = K/((s + 1)(s + 3)(s + 6))
ω = rad/s
7.Steady-state error & PID controlMedium
A unity-feedback loop has G(s) = K/((s + 2)(s + 5)). Find the gain K that gives a steady-state error of 20 % for a step input.
G(s) = K/((s + 2)(s + 5))ess = 20 %
K =
8.Steady-state error & PID controlHard
A PI controller C(s) = 5 + 0.5/s drives the plant G(s) = 10/((s + 1)(s + 10)) in a unity-feedback loop. Find the steady-state error ess for the ramp input r(t) = 5t.
The plant G(s) = 10/(s + 6) has an inner (minor) negative feedback loop with gain H₁ = 5. A controller gain K = 6 and an outer unity negative feedback loop close the system. Find the closed-loop DC gain T(0).
G(s) = 10/(s + 6)H₁ = 5K = 6
T(0) =
10.Block diagramsHard
A proportional controller K = 23 drives the plant G(s) = 10/(s + 10) in a unity negative feedback loop. A disturbance D enters at the plant input (it is added to the controller output). A reference step of size 10 and a disturbance step of size 2 are applied together. Find the steady-state output css.
K = 23G(s) = 10/(s + 10)D = 2R = 10
css =
3Solutions
1.Step response
Answer: ts = 1.6 s
Step response: a first-order system G(s) = K/(τs + 1) answers a step of size U with y(t) = K·U·(1 − e−t/τ): it reaches 63.2 % of the final value K·U after one time constant τ and 98 % after 4τ. A second-order system G(s) = K·ωₙ²/(s² + 2ζωₙs + ωₙ²) has the poles s = −ζωₙ ± jωd with ωd = ωₙ√(1 − ζ²). For 0 < ζ < 1 the step response overshoots: percent overshoot %OS = 100·e−ζπ/√(1−ζ²), peak time tp = π/ωd, and the 2 % settling time ts ≈ 4/(ζωₙ). Compare the denominator with s² + 2ζωₙs + ωₙ² to read off ωₙ and ζ. For a mass–spring–damper ωₙ = √(k/m) and ζ = c/(2√(km)); for a series RLC circuit ωₙ = 1/√(LC) and ζ = (R/2)·√(C/L).
Compare with the standard form
The denominator must match s² + 2ζωₙs + ωₙ².
ωₙ² = 24 → ωₙ = 4.899 rad/s
2ζωₙ = 5 → ζ = 5/(2·4.899) = 0.5103
Result
ζωₙ = 2.5 → ts ≈ 4/2.5 = 1.6 s
Answer
ts = 1.6 s
2.Step response
Answer: ζ = 0.5912
Step response: a first-order system G(s) = K/(τs + 1) answers a step of size U with y(t) = K·U·(1 − e−t/τ): it reaches 63.2 % of the final value K·U after one time constant τ and 98 % after 4τ. A second-order system G(s) = K·ωₙ²/(s² + 2ζωₙs + ωₙ²) has the poles s = −ζωₙ ± jωd with ωd = ωₙ√(1 − ζ²). For 0 < ζ < 1 the step response overshoots: percent overshoot %OS = 100·e−ζπ/√(1−ζ²), peak time tp = π/ωd, and the 2 % settling time ts ≈ 4/(ζωₙ). Compare the denominator with s² + 2ζωₙs + ωₙ² to read off ωₙ and ζ. For a mass–spring–damper ωₙ = √(k/m) and ζ = c/(2√(km)); for a series RLC circuit ωₙ = 1/√(LC) and ζ = (R/2)·√(C/L).
Frequency response: substitute s = jω in the transfer function. The magnitude in decibels is 20·log₁₀|H(jω)| and the phase is the sum of the angles of the numerator factors minus those of the denominator factors. A first-order RC or RL filter has its corner (−3 dB) frequency at ωc = 1/(RC) or R/L, and fc = ωc/(2π); a low-pass filter gives |H| = 1/√(1 + (ω/ωc)²) and φ = −atan(ω/ωc). In the asymptotic (straight-line) Bode plot each pole bends the magnitude down by 20 dB/decade at its corner frequency, each zero bends it up by 20 dB/decade, and an integrator 1/s gives −20 dB/decade at all frequencies. Gain crossover ωc: |L(jω)| = 1 (0 dB); phase margin PM = 180° + ∠L(jωc). Phase crossover ω180: ∠L(jω) = −180°; gain margin GM = −20·log₁₀|L(jω180)| dB. The closed loop is stable when both margins are positive.
Frequency response: substitute s = jω in the transfer function. The magnitude in decibels is 20·log₁₀|H(jω)| and the phase is the sum of the angles of the numerator factors minus those of the denominator factors. A first-order RC or RL filter has its corner (−3 dB) frequency at ωc = 1/(RC) or R/L, and fc = ωc/(2π); a low-pass filter gives |H| = 1/√(1 + (ω/ωc)²) and φ = −atan(ω/ωc). In the asymptotic (straight-line) Bode plot each pole bends the magnitude down by 20 dB/decade at its corner frequency, each zero bends it up by 20 dB/decade, and an integrator 1/s gives −20 dB/decade at all frequencies. Gain crossover ωc: |L(jω)| = 1 (0 dB); phase margin PM = 180° + ∠L(jωc). Phase crossover ω180: ∠L(jω) = −180°; gain margin GM = −20·log₁₀|L(jω180)| dB. The closed loop is stable when both margins are positive.
Gain crossover
ω⁴ + 25ω² − 16900 = 0
ω² = (−25 + √(625 + 4·16900))/2 = 118.1
ωc = 10.87 rad/s
Phase margin
∠L(jωc) = −90° − atan(10.87/5) = −155.3°
PM = 180° + ∠L = 24.71°
Answer
PM = 24.71°
5.Stability: Routh–Hurwitz & root locus
Answer: Kmax = 378
Routh–Hurwitz criterion: a linear system is stable when every root of its characteristic polynomial lies in the left half of the s-plane. Write the coefficients alternately into the first two rows of the Routh array. Each entry of a new row comes from the two rows above it; for a cubic a₃s³ + a₂s² + a₁s + a₀ the s¹ entry is b₁ = (a₂·a₁ − a₃·a₀)/a₂. The number of sign changes in the first column equals the number of roots in the right half-plane. With a gain K in the coefficients, every first-column entry must stay positive: the gain that makes the s¹ entry zero is the stability limit, and the s² row then gives the frequency of the sustained oscillation.
Characteristic polynomial
s³ + 11s² + 38s + 40 + K = 0
Routh array
s³: 1, 38
s²: 11, 40 + K
s¹: (11·38 − 40 − K)/11
s⁰: 40 + K
Condition
The s¹ entry must stay positive.
K < 11·38 − 40 = 378
Answer
Kmax = 378
At the limit the loop oscillates at ω = √38 = 6.164 rad/s.
6.Stability: Routh–Hurwitz & root locus
Answer: ω = 5.196 rad/s
Root locus: as the gain K goes from 0 to ∞, the closed-loop poles, the roots of 1 + K·G(s) = 0, move from the open-loop poles to the open-loop zeros or to infinity. A point on the real axis belongs to the locus when the number of real poles and zeros to its right is odd. The n − m branches that go to infinity follow asymptotes at the angles (2q + 1)·180°/(n − m), which start from the centroid σₐ = (Σ poles − Σ zeros)/(n − m). Branches leave or join the real axis where dK/ds = 0. The angle condition ∠G(s) = 180° fixes the shape, and the magnitude condition K = 1/|G(s)| gives the gain at any point of the locus.
Critical gain
s³ + 10s² + 27s + 18 + K = 0
s¹: (10·27 − 18 − K)/10 = 0 → K = 252
Crossing frequency
10s² + 18 + 252 = 10s² + 270 = 0 → s² = −27
ω = √27 = 5.196 rad/s
Answer
ω = 5.196 rad/s
7.Steady-state error & PID control
Answer: K = 40
Steady-state error: in a unity-feedback loop with open-loop transfer function G(s) the error is E(s) = R(s)/(1 + G(s)), and by the final value theorem ess = lims→0 s·E(s). The system type is the number of poles of G(s) at s = 0. The error constants are Kp = lim G(s), Kv = lim s·G(s) and Ka = lim s²·G(s), all for s → 0. A step of size A gives ess = A/(1 + Kp), a ramp A·t gives A/Kv and a parabola A·t²/2 gives A/Ka. A type-0 loop follows a step with a finite error, a type-1 loop follows it exactly and a ramp with a finite error.
Required error constant
1/(1 + Kp) = 0.2 → Kp = 4
Gain
K/10 = 4 → K = 40
Answer
K = 40
Check the closed-loop stability as well: for this second-order loop any K > 0 is stable.
8.Steady-state error & PID control
Answer: ess = 10
P, PI and PID control: the controller C(s) = Kp + Ki/s + Kd·s acts on the error. A proportional gain makes the loop faster and reduces the error of a type-0 plant, but never removes it. The integral term adds a pole at s = 0: the system type rises by one, and a step is followed without error. The derivative term adds damping. To choose gains, write the closed-loop characteristic polynomial and compare it with s² + 2ζωns + ωn². Then %OS = 100·e−ζπ/√(1−ζ²), tp = π/ωd with ωd = ωn√(1 − ζ²), and ts ≈ 4/(ζωn).
Velocity constant
s·C(s) = 5s + 0.5 → 0.5 as s → 0.
Kv = 0.5·10/10 = 0.5
Ramp error
ess = 5/0.5 = 10
Answer
ess = 10
The PI controller removes the step error completely; a ramp is followed with a constant lag.
9.Block diagrams
Answer: T(0) = 0.5172
Block-diagram algebra: blocks in series multiply (G₁·G₂), blocks in parallel add (G₁ + G₂), and a loop with forward path G and feedback path H reduces to T = G/(1 + G·H) for negative feedback and G/(1 − G·H) for positive feedback. Reduce inner loops first, then work outwards. The closed-loop poles are the roots of the characteristic equation 1 + G(s)H(s) = 0. For a stable loop, a step input of size A gives the steady-state output A·T(0); with unity feedback the steady-state error to a step is A/(1 + Kp) with Kp = G(0).
Block-diagram algebra: blocks in series multiply (G₁·G₂), blocks in parallel add (G₁ + G₂), and a loop with forward path G and feedback path H reduces to T = G/(1 + G·H) for negative feedback and G/(1 − G·H) for positive feedback. Reduce inner loops first, then work outwards. The closed-loop poles are the roots of the characteristic equation 1 + G(s)H(s) = 0. For a stable loop, a step input of size A gives the steady-state output A·T(0); with unity feedback the steady-state error to a step is A/(1 + Kp) with Kp = G(0).
Transfer functions
C/D = G/(1 + K·G) = 10/(s + 10 + 230)
C/R = K·G/(1 + K·G) = 230/(s + 10 + 230)
Steady state
css = 10·230/240 + 2·10/240 = 9.667
Answer
css = 9.667
A larger K reduces the effect of the disturbance, but never to zero with a proportional controller.