⚙ Why Stability Is the First Question Engineers Ask
- Aircraft autopilot: unstable → oscillations grow → aircraft crashes. Stability is non-negotiable
- Power grid frequency control: instability → cascading blackouts (Northeast US 2003 grid failure)
- Op-amp circuit oscillation: too much gain → unwanted oscillation (violates stability)
- Insulin infusion pump: unstable controller → hypoglycemic shock (life-critical)
- Building damper control (earthquake): insufficient damping margin → resonance destruction
- Motor drive: high gain → motor oscillates, bearings fail (mechanical instability)
1. Stability Definitions
| Stability Type | Definition | Condition on Poles |
|---|---|---|
| BIBO Stable | Every bounded input produces bounded output | All closed-loop poles in open LHP (Re(s) < 0) |
| Asymptotically Stable | Output → 0 as t→∞ for any finite IC, zero input | All poles in open LHP (same condition) |
| Marginally Stable | Output remains bounded (neither grows nor decays) for zero input | Poles on jω axis (simple, not repeated) |
| Unstable | Output grows without bound for some bounded input or initial condition | At least one pole in RHP, or repeated pole on jω |
2. Routh-Hurwitz Criterion — Construction
Given characteristic equation: aₙsⁿ + aₙ₋₁sⁿ⁻¹ + ... + a₁s + a₀ = 0
Step 1: Check necessary condition — all coefficients must be positive. If any is zero or negative → unstable (stop here).
Step 2: Build the Routh array:
| sⁿ | aₙ | aₙ₋₂ | aₙ₋₄ | ... |
| sⁿ⁻¹ | aₙ₋₁ | aₙ₋₃ | aₙ₋₅ | ... |
| sⁿ⁻² | b₁ | b₂ | b₃ | ... |
| sⁿ⁻³ | c₁ | c₂ | c₃ | ... |
| ⋮ | ⋮ | ⋮ | ⋮ | |
| s⁰ | k |
b₁ = (aₙ₋₁·aₙ₋₂ − aₙ·aₙ₋₃) / aₙ₋₁ | b₂ = (aₙ₋₁·aₙ₋₄ − aₙ·aₙ₋₅) / aₙ₋₁
c₁ = (b₁·aₙ₋₃ − aₙ₋₁·b₂) / b₁ | Continue pattern — each row uses two rows above it
Step 3: Stability Rule — Number of sign changes in first column = number of RHP poles. For stability: no sign changes in first column.
Worked Example — 4th Order System
Row s⁴: 1 3 5
Row s³: 2 4 0
Row s²: b₁ = (2·3−1·4)/2 = (6−4)/2 = 1 | b₂ = (2·5−1·0)/2 = 5
Row s²: 1 5
Row s¹: c₁ = (1·4−2·5)/1 = (4−10)/1 = −6
Row s¹: −6
Row s⁰: d₁ = (−6·5−1·0)/(−6) = 5
First column: 1, 2, 1, −6, 5 → Two sign changes (1→−6 and −6→5) → 2 RHP poles → Unstable
3. Special Cases in Routh Array
Case 1: Zero in First Column (Not Entire Row)
Replace the zero with a small positive ε and continue. After completing the array, evaluate sign changes as ε → 0⁺.
Row s³: 1 1
Row s²: 2 2
Row s¹: (2·1−1·2)/2 = 0/2 = 0 ← first column zero
Replace with ε: ε (next: (ε·2−2·0)/ε = 2)
Row s⁰: 2
First column: 1, 2, ε, 2 → As ε→0⁺: no sign changes → Marginally stable
(Verify: CE = (s²+1)(s+2) → poles at ±j and −2, so indeed marginal)
Case 2: Entire Row of Zeros
Indicates symmetric pole pairs: either on jω axis, or one in LHP and one in RHP (mirror pair). Form auxiliary polynomial from the row above the zero row, differentiate it, and use the derivative's coefficients to replace the zero row.
Row s⁵: 1 2 1
Row s⁴: 1 2 1
Row s³: (1·2−1·2)/1 = 0 (1·1−1·1)/1 = 0 ← entire zero row
Auxiliary polynomial from s⁴ row: A(s) = s⁴ + 2s² + 1 = (s²+1)²
dA/ds = 4s³ + 4s → coefficients: 4 4 0 → replace s³ row
Row s³: 4 4 (replace zeros)
Row s²: (4·2−1·4)/4 = 1 1
Row s¹: 0 → use ε again
Conclusion: Poles of A(s) = ±j (order 2) → marginally stable (repeated jω poles → technically unstable)
4. Range of K for Stability
A common GATE problem: given G(s) with gain K in a unity feedback loop, find the range of K for stability.
1. Find closed-loop CE: 1 + G(s)H(s) = 0 → polynomial in s with K as parameter
2. Apply Routh criterion — all first-column elements must be positive
3. Express conditions on K from each row and find intersection
Example: Find K for Stability
CE: s(s+1)(s+2) + K = 0 → s³ + 3s² + 2s + K = 0
Routh array:
s³: 1 2
s²: 3 K
s¹: (3·2 − 1·K)/3 = (6−K)/3
s⁰: K
For stability:
• s² row: 3 > 0 ✓ (always)
• s¹ row: (6−K)/3 > 0 → K < 6
• s⁰ row: K > 0
→ 0 < K < 6 for stability. At K=6: marginally stable (imaginary axis poles).
5. Relative Stability
Absolute stability tells us stable/unstable. Relative stability tells us how stable — how much margin before instability.
Shifting the s-plane
To check if all poles are to the left of s = −σ₀ (σ₀ > 0), substitute s = p − σ₀ into the CE and apply Routh to the resulting polynomial in p.
Gain Margin and Phase Margin (Introduction)
| Measure | Definition | Good Design Value |
|---|---|---|
| Gain Margin (GM) | Factor by which gain can be increased before instability; GM = 1/|G(jω_pc)| at phase crossover ω where ∠G = −180° | GM > 6 dB (factor > 2) |
| Phase Margin (PM) | How much phase can decrease before instability; PM = 180° + ∠G(jω_gc) at gain crossover ω where |G| = 1 | PM > 30° (typically 45°–60°) |
| Relation to damping | PM ≈ 100ζ degrees (for 2nd order); PM = 45° → ζ ≈ 0.45 | Higher PM = better damped response |
⚙ Lab: Checking Stability via Routh
- Build 3rd order system with op-amps: CE = s³ + as² + bs + c
- Use Routh: stable if ab > c (for 3rd order, simplified Routh condition)
- Simulate: gradually increase K (potentiometer) until sustained oscillation appears — that's the boundary K
- Measure oscillation frequency at boundary → compare with jω-axis roots from auxiliary polynomial
- MATLAB: roots([1 3 2 K]) for K=6 gives [0+1.41j, 0-1.41j, -3] → boundary poles at ±j√2
GATE Previous Year Questions
For the characteristic equation s⁴ + s³ + 2s² + 2s + 3 = 0, the number of roots in the right half of the s-plane is:
Routh array for s⁴+s³+2s²+2s+3:
s⁴: 1 2 3
s³: 1 2 0
s²: (1·2−1·2)/1=0 → ε (1·3−1·0)/1=3
s¹: (ε·2−1·3)/ε = (2ε−3)/ε → as ε→0⁺: (−3/ε) → negative
s⁰: 3
First column: 1, 1, ε, (negative), 3 → 2 sign changes → 2 RHP poles.
G(s) = K/[s(s+1)(s+2)] with unity feedback. The value of K at which the system becomes marginally stable is:
CE: s³+3s²+2s+K=0. Routh array:
s³: 1 2 | s²: 3 K | s¹: (6−K)/3 | s⁰: K
Stability: K>0 AND (6−K)/3>0 → K<6. Marginal at K=6: s¹ row = 0 → imaginary axis poles.
Auxiliary: 3s²+6=0 → s=±j√2 → oscillation at √2 rad/s. K_marginal = 6.
A necessary (but not sufficient) condition for stability of a polynomial is:
Necessary condition for stability: all coefficients of the characteristic polynomial must be positive (assuming leading coefficient positive). If any coefficient is zero or negative, at least one root is in the RHP or on the jω axis.
This is necessary but not sufficient — you still need to complete the Routh array. A polynomial with all positive coefficients can still have RHP roots (shown in the CE s⁴+s³+2s²+2s+3 example above).
For the characteristic equation s³ + Ks² + (K+2)s + 4 = 0, the range of K for stability is:
Routh array for s³+Ks²+(K+2)s+4:
s³: 1 (K+2)
s²: K 4
s¹: [K(K+2) − 1·4]/K = (K²+2K−4)/K
s⁰: 4
Conditions: K>0 AND (K²+2K−4)/K>0 → K²+2K−4>0 → K>(−2+√20)/2 = −1+√5 ≈ 1.236.
Rounded answer: K > 1 (approximate, exact: K > √5−1).
The characteristic equation s³ + 3s² + 4s + K = 0. The system is stable for:
Routh array:
s³: 1 4 | s²: 3 K | s¹: (12−K)/3 | s⁰: K
s¹ > 0: 12−K > 0 → K < 12
s⁰ > 0: K > 0
Stability range: 0 < K < 12. At K=12: marginal stability.
CE: s⁴ + 2s³ + s² + 4s + 2 = 0. How many roots are in the right-half plane?
s⁴: 1 1 2
s³: 2 4 0
s²: (2·1−1·4)/2 = −1 2
s¹: (−1·4−2·2)/(−1) = (−4−4)/(−1) = 8
s⁰: 2
First column: 1, 2, −1, 8, 2 → sign changes: 2→(−1) and (−1)→8 = 2 sign changes → 2 RHP poles.
For a system with CE s³ + 2s² + Ks + 4 = 0, which condition makes the system stable?
Routh array:
s³: 1 K | s²: 2 4 | s¹: (2K−4)/2 = K−2 | s⁰: 4
Conditions: K−2 > 0 → K > 2. s⁰ = 4 > 0 always.
G(s)H(s) = K/[s(s+2)(s+4)]. For marginal stability, K = ? and the oscillation frequency is ?
CE: s(s+2)(s+4)+K=0 → s³+6s²+8s+K=0
Routh: s³:1,8 | s²:6,K | s¹:(48−K)/6 | s⁰:K
Marginal: (48−K)/6=0 → K=48
Auxiliary (s² row at K=48): 6s²+48=0 → s²=−8 → s=±j√8=±j2√2 → ω=2√2 ≈ 2.83 rad/s
CE: s⁵ + s⁴ + 10s³ + 10s² + s + 1. An entire zero row appears. The system has:
A zero row indicates symmetric poles. The auxiliary polynomial from the row above gives the symmetric pair. These could be on the jω axis (imaginary poles → marginal) or mirror pairs in LHP+RHP (unstable). Completing the array after substituting the auxiliary derivative determines which case applies. The existence of an entire zero row itself signals the presence of symmetric pole patterns — the system is at best marginally stable.
The characteristic equation is s³ + (1+K)s² + 10s + (1+K) = 0. For stability, the minimum value of K is:
Let a = 1+K. CE: s³ + as² + 10s + a = 0
Routh: s³:1,10 | s²:a,a | s¹:(10a−a)/a=9 | s⁰:a
Conditions: a>0 AND 9>0 (always) AND a>0 → 1+K>0 → K>−1.
The s¹ row simplifies nicely: (a·10−1·a)/a = 9 always positive! So only condition is a > 0 → K > −1.