Control Systems
Nyquist Stability
Encircling −1 to predict instability
The Nyquist stability criterion tells you whether a feedback loop is stable by counting how many times the open-loop frequency response encircles the single point −1 + j0 in the complex plane. One contour, one count — and you know if the closed loop will hold or oscillate, without ever solving for a closed-loop root.
- Core ruleN = Z − P (encirclements of −1)
- Stable whenZ = 0 closed-loop RHP poles
- Critical point−1 + j0 (|L| = 1, ∠L = −180°)
- Gain margintarget ≥ 6 dB (factor 2)
- Phase margintarget 30°–60°
- FoundationCauchy's argument principle, 1932 (H. Nyquist)
Interactive visualization
Press play, or step through manually. The visualization is yours to drive — try it before reading on.
Watch the 60-second explainer
A condensed visual walkthrough — narrated, captioned, under a minute.
What the Nyquist criterion actually does
Every feedback loop closes the same way: take a plant G(s), wrap it with a sensor and controller H(s), feed the output back, and the closed-loop poles become the roots of 1 + G(s)H(s) = 0. Stability is decided entirely by whether any of those roots sit in the right half of the complex plane. The brute-force way is to expand the characteristic polynomial and hunt for right-half-plane roots — fine for a second-order system, miserable for a tenth-order one with a transport delay buried inside it.
The Nyquist criterion sidesteps the root hunt completely. It looks at the open-loop frequency response L(jω) = G(jω)H(jω) — the thing you can measure directly on a real plant with a sine-sweep — plots it as a single curve in the complex plane, and counts how many times that curve wraps around the point −1 + j0. That count, compared against the number of unstable poles the open-loop system already had, tells you exactly how many unstable closed-loop poles you will end up with. No polynomial, no roots, just a contour and a point. That is why it is the backbone of practical control design: you can apply it to a frequency response you measured in the lab, even when you have no analytical model of the plant at all.
The argument principle — why counting encirclements works
The criterion is Cauchy's argument principle in disguise. The principle says that if you walk a closed contour around a region of the complex plane and track the total angle swept by a function F(s) as you go, the net number of full turns equals the number of zeros of F inside the contour minus the number of poles of F inside it.
Apply that to F(s) = 1 + L(s) with the contour chosen to enclose the entire right half-plane (the Nyquist contour: up the imaginary axis from −j∞ to +j∞, then closed by an infinite semicircle around the right half). The zeros of 1 + L(s) are the closed-loop poles; its poles are the same as the open-loop poles of L(s). So the number of times 1 + L(s) encircles the origin equals Z − P, where Z is closed-loop right-half-plane poles and P is open-loop right-half-plane poles. Shifting the function by one — plotting L(s) instead of 1 + L(s) — just moves the reference point from the origin to −1. The headline identity falls out:
N = Z − P
N = clockwise encirclements of −1 by L(jω)
Z = closed-loop poles in the right half-plane (want this = 0)
P = open-loop poles in the right half-plane (a known property of L)
Stable closed loop ⇔ Z = 0 ⇔ N = −P
(the curve must encircle −1 counter-clockwise
exactly P times)
For the common case of an open-loop-stable plant, P = 0, so the rule collapses to something you can state in one breath: the loop is stable if and only if the Nyquist curve does not encircle −1 at all. Touch the point and you have a pure oscillation; wrap it and you have a growing one.
Why the magic point is exactly −1
Closed-loop poles live where L(s) = −1. On the frequency-response curve, that is the single point where the open-loop gain is exactly one (0 dB) and the open-loop phase is exactly −180 degrees. Picture the physical signal path: a disturbance goes around the loop, gets amplified by |L|, and is phase-shifted by ∠L. If, at some frequency, the round trip multiplies the signal by 1 and flips it by 180 degrees, the fed-back error reinforces itself perfectly. The loop sustains a steady oscillation at that frequency with no input — Barkhausen's condition, the same one an oscillator designer deliberately engineers and a control engineer desperately avoids.
That is why distance from −1 is the universal currency of robustness. The closer the polar plot of the frequency response sweeps to −1, the more lightly damped and ringy the closed loop, and the smaller the modelling error needed to tip it over. The two classical margins are just two ways of measuring that distance:
- Gain margin — follow the curve to where it crosses the negative real axis (phase = −180°). If it crosses at −0.4, you can multiply the loop gain by 1/0.4 = 2.5 (about 8 dB) before the crossing slides out to −1. That factor is the gain margin.
- Phase margin — follow the curve to where its magnitude is exactly 1 (it crosses the unit circle). Measure the angle from the negative real axis to that crossing point. If the curve crosses at −135°, you have 45° of phase margin: that much extra lag — from an unmodelled delay, say — would drag the crossing onto −1.
Worked example — a third-order plant going unstable
Take a textbook plant: three identical lags in series with an adjustable loop gain K.
L(s) = K / (s + 1)^3 (open-loop stable: P = 0)
Frequency response magnitude and phase:
|L(jω)| = K / (1 + ω²)^(3/2)
∠L(jω) = −3·arctan(ω)
Phase reaches −180° when:
3·arctan(ω) = 180° → arctan(ω) = 60° → ω = tan(60°) = 1.732 rad/s
Magnitude at that crossover frequency:
|L| = K / (1 + 3)^(3/2) = K / 8
The curve crosses the negative real axis at −K/8.
Instability boundary: −K/8 = −1 → K = 8
K = 4 → crosses at −0.5, gain margin = 1/0.5 = 2 (6 dB), STABLE
K = 8 → crosses at −1.0, marginal — sustained oscillation at 1.732 rad/s
K = 16 → crosses at −2.0, curve now encircles −1, N = 1, Z = 1, UNSTABLE
The same plant, the same hardware, swings from comfortably stable to oscillating to divergent purely by turning up the gain. At K = 8 the Nyquist plot kisses −1 and the closed loop rings at exactly 1.732 rad/s forever — which, not coincidentally, is the frequency the Ziegler–Nichols ultimate-gain tuning method deliberately drives a loop to in order to read off Ku and the oscillation period. Nyquist explains why that tuning trick works: the ultimate gain is the gain that puts the −180° crossing exactly on the critical point.
Reading a real Nyquist plot
A few features recur on almost every plot and are worth recognising at a glance:
- The curve is symmetric about the real axis. The response at −ω is the complex conjugate of the response at +ω, so you only ever draw the positive-frequency half and mirror it. The encirclement count uses the full closed curve.
- Strictly proper plants close through the origin. If L(s) has more poles than zeros, |L(jω)| → 0 as ω → ∞, so both ends of the curve spiral into the origin. The infinite semicircle of the Nyquist contour maps to that single point.
- Integrators detour around the origin. A free integrator (a pole at s = 0, the thing that gives you zero steady-state error) sits right on the Nyquist contour, so the contour must bulge around it with a tiny semicircle. That tiny semicircle maps to a huge arc out at infinity that closes the plot — and miscounting that arc is the single most common error in hand-drawn Nyquist analysis.
- Transport delay spirals. A pure delay e−sT adds phase −ωT without changing magnitude, so it winds the curve into an ever-tightening spiral that crosses the negative real axis again and again. Each crossing is a potential encounter with −1, which is why dead time is so corrosive to stability margins.
The counter-intuitive case: conditional stability
The naive engineer believes that less gain is always safer — turn the knob down and the system calms. The Nyquist plot says otherwise. Consider a high-order loop whose curve loops back on itself so that it passes to the left of −1 at low frequency but to the right of it at the design gain. Scaling the gain down shrinks the entire curve toward the origin — and that contraction can sweep the curve across −1, creating an encirclement where there was none. The loop is stable at the design gain, goes unstable if you reduce the gain, and becomes stable again only if you reduce it much further. This is conditional stability.
It is not a curiosity. Conditionally stable loops show up in process controllers with several cascaded lags, in some aircraft pitch autopilots, and in any loop where a lead network has been stacked to recover phase near crossover. The practical sting is that a conditionally stable loop can go unstable during start-up or during an actuator saturation event — exactly when the effective gain is temporarily low. A Bode plot read with the usual single-crossover rule will quietly give the wrong answer; the encirclement count on the Nyquist plot will not, because it counts wraps of −1 no matter how many times the magnitude crosses unity.
How Nyquist compares to the other stability tests
| Property | Nyquist criterion | Bode plot | Routh–Hurwitz | Root locus |
|---|---|---|---|---|
| What it plots | L(jω) as one polar contour | |L| and ∠L vs frequency, separately | nothing — algebraic table | closed-loop poles vs gain K |
| Needs a model? | No — works on measured data | No — works on measured data | Yes — needs the polynomial | Yes — needs poles and zeros |
| Gives margins? | Gain & phase & vector margin | Gain & phase margin | No margin info | Indirect (damping vs K) |
| Handles open-loop-unstable plants | Yes (count P correctly) | Ambiguous | Yes | Yes |
| Handles pure time delay | Yes (curve spirals) | Yes (phase keeps falling) | No (delay is not polynomial) | Awkward (infinite poles) |
| Catches conditional stability | Yes (encirclement count) | Easy to misread | Yes, but no insight | Yes (poles cross axis twice) |
| Best for | Unstable, delayed, or odd loops | Quick margin checks by hand | Exact yes/no from coefficients | Seeing pole motion vs gain |
None of these replaces the others. Routh–Hurwitz answers "is it stable, yes or no" from the coefficients with zero geometry. Bode is the fastest hand tool for reading margins on a well-behaved minimum-phase loop. Root locus shows you where the poles actually go as you turn up the gain. Nyquist is the one you reach for when the plant is open-loop unstable, when there is transport delay, when the loop might be conditionally stable, or when all you have is a frequency response measured off the real hardware. In modern software all four are one function call apart, so the practical skill is knowing which picture answers your question fastest.
Where Nyquist analysis actually earns its keep
- Process control. Refinery and chemical-plant loops are riddled with transport delay (the time for fluid to travel down a pipe) and high-order lags. Nyquist and the related dead-time-tolerant designs (Smith predictors) are how engineers certify that a temperature or composition loop will not hunt.
- Flight control. Aircraft and launch-vehicle autopilots must meet hard gain-margin and phase-margin specifications — historically 6 dB and 45° on classical loops — verified across the entire flight envelope. The Nyquist plot, and its multivariable cousin the singular-value / disk-margin analysis, is the certification artefact.
- Switching power supplies. A buck or boost converter's control-to-output transfer function has a resonant LC pole pair and, in current mode, a right-half-plane zero. Designers compensate the loop and confirm a phase margin of 45–60° on the Nyquist or Bode plot before the supply ships, because too little margin shows up as audible buzzing or output ripple.
- Op-amp and feedback-amplifier design. An amplifier is a feedback loop, and its loop-gain Nyquist/Bode plot is what tells you whether it will be stable for a given closed-loop gain. The phase margin sets the step-response ringing; capacitive loads erode it.
- Robotics and motion control. Servo loops with structural resonances and sampling delay are checked on the Nyquist plot to ensure a resonant peak does not poke out toward −1. Higher controller bandwidth always nibbles at the margin.
- Grid-tied inverters. Phase-locked loops and current controllers interacting with a stiff or weak grid impedance are analysed with an impedance-ratio Nyquist criterion; an encirclement of −1 there predicts harmonic resonance and grid instability.
Where Nyquist analysis goes wrong in practice
- Miscounting the integrator detour. A free integrator forces a small semicircle around the origin of the Nyquist contour. Sketch that detour the wrong way and you flip the sign of the encirclement count, declaring a stable loop unstable or vice versa. Always trace the contour with the right half-plane on your right.
- Forgetting P ≠ 0. If the plant is open-loop unstable (an inverted pendulum, a tokamak vertical-position loop, an aircraft with relaxed static stability), the criterion is not "don't encircle −1". You must encircle it counter-clockwise exactly P times. Applying the stable-plant shortcut to an unstable plant is a classic blunder.
- Reading gain margin alone. A loop can have a healthy gain margin and a healthy phase margin yet still pass perilously close to −1 between the two crossings. The honest robustness number is the vector margin — the shortest distance from the curve to −1 — not either classical margin in isolation.
- Trusting a Bode-style single-crossover rule on a conditionally stable loop. When the magnitude crosses 0 dB more than once, the simple "phase at the crossover" rule breaks. Use the full encirclement count.
- Ignoring unmodelled high-frequency dynamics. The plot you drew from your model may stay clear of −1, but real actuators add lag and real sensors add delay at high frequency. Those extra phase shifts rotate the curve and can introduce a fresh −180° crossing near unity gain. This is why margins exist: they are the budget for the dynamics you did not model.
- Saturation and nonlinearity. The Nyquist criterion is a linear result. A real actuator that saturates changes the effective loop gain, and a describing-function or circle-criterion analysis is needed to predict limit cycles. A "stable" linear Nyquist plot does not guarantee a saturating loop will not lock into a sustained oscillation.
Practical margin targets
The numbers engineers actually design to are remarkably consistent across industries, because they all trace back to the same closed-loop step-response behaviour:
| Phase margin | Approx. damping ζ | Step overshoot | Closed-loop feel |
|---|---|---|---|
| 75° | ~0.8 | ~2 % | Sluggish, very safe |
| 60° | ~0.6 | ~9 % | Conservative, robust |
| 45° | ~0.45 | ~20 % | Typical design sweet spot |
| 30° | ~0.3 | ~35 % | Aggressive, ringy |
| < 20° | < 0.2 | > 50 % | Fragile — one delay from instability |
The rule of thumb that a phase margin in degrees divided by 100 roughly equals the closed-loop damping ratio (ζ ≈ PM/100) is good enough for a first pass on a second-order-dominant loop, and it is why the 45° / 0.45 / 20% overshoot row is the one most controllers are quietly tuned around. A gain margin of at least 6 dB (a factor of two) and a phase margin of at least 30° are the floor for most industrial work; safety-critical flight and nuclear loops demand 8–12 dB and 45° or more.
Frequently asked questions
What is the Nyquist stability criterion in one sentence?
A closed-loop feedback system is stable if and only if the Nyquist plot of the open-loop transfer function L(s) = G(s)H(s) encircles the critical point −1 + j0 counter-clockwise a number of times equal to the number of unstable open-loop poles. Formally N = Z − P, where N is clockwise encirclements of −1, P is open-loop right-half-plane poles, and Z is closed-loop right-half-plane poles. The loop is stable when Z = 0, which for a stable open-loop plant (P = 0) means −1 must not be encircled at all — and the whole test is read off a single curve without solving for a closed-loop root.
Why does the −1 point matter so much in the Nyquist plot?
Closed-loop poles are the roots of 1 + L(s) = 0, i.e. where L(s) = −1. When the open-loop frequency response L(jω) passes through −1, the loop has magnitude 1 and phase −180°, so the fed-back signal returns full-strength and in phase and the loop oscillates forever. Inside −1 the oscillation grows (unstable); outside, it decays. Distance from −1 is therefore a direct measure of robustness, which is exactly what the gain margin and phase margin quantify.
How are gain margin and phase margin read off the Nyquist plot?
Gain margin: find where the curve crosses the negative real axis (phase = −180°). If it crosses at −0.4, the gain margin is 1/0.4 = 2.5, about 8 dB. Phase margin: find where the curve crosses the unit circle (magnitude = 1) and measure the angle from the negative real axis — a crossing at −135° gives 45° of phase margin. Typical targets are ≥ 6 dB gain margin and 30–60° phase margin, with 45° corresponding to a damping ratio near 0.45 and roughly 20% overshoot.
How does Nyquist differ from a Bode plot or the Routh–Hurwitz test?
All three decide closed-loop stability. Routh–Hurwitz is algebraic — it counts right-half-plane roots from polynomial coefficients but gives no margins or frequency insight. The Bode plot is the same frequency response split into magnitude and phase curves: great for quick margin checks on minimum-phase loops, but ambiguous for open-loop-unstable or conditionally stable systems. The Nyquist plot keeps magnitude and phase together as one contour and handles unstable plants, transport delay, and conditional stability correctly through the encirclement count.
Can a loop go unstable when you reduce the gain instead of raising it?
Yes — this is conditional stability. If the open-loop curve loops back so it passes left of −1 at low frequency but right of it at the design gain, shrinking the gain pulls the curve across −1 and creates encirclements. The loop is stable at the design gain, unstable lower down, and stable again much further down — the opposite of "less gain is always safer". A naive single-crossover Bode reading misses it; the Nyquist encirclement count gets it right.
What does the big semicircle at infinity in the Nyquist contour mean?
The Nyquist contour wraps the whole right half-plane: up the imaginary axis from −j∞ to +j∞, closed by an infinite-radius semicircle around the right half. The imaginary axis maps to the polar frequency response L(jω), symmetric about the real axis. For a strictly proper plant the infinite semicircle maps to the origin, so the plot simply closes there. A pole on the imaginary axis — such as an integrator at s = 0 — forces a small detour that maps to a large closing arc at infinity, and getting that detour's direction right is where most sign errors in the encirclement count happen.