# Nyquist stability criterion In control theory, the **Nyquist stability criterion** is a graphical test for the stability of a closed feedback loop that works directly from the open-loop frequency response, without ever solving for the closed-loop poles. Harry Nyquist described it at Bell Telephone Laboratories in 1932, and the German engineer Felix Strecker is credited with an independent version reached two years earlier, at Siemens.[^nyquist1932][^strecker1930] The primary microsim on this page draws the Nyquist plot of a delayed, three-pole feedback loop and lets the reader raise the loop gain, stretch the time delay, and move the third pole, watching the plotted curve swell toward the point −1 and cross it at the exact gain the loop turns unstable. The test answers the same question a [[Bode_plot|Bode plot]]'s gain and phase margins answer, but from a single curve traced once in the complex plane rather than from two curves read at two different frequencies, and it keeps working on transfer functions a Bode plot cannot always handle safely, including ones with poles in the right half of the complex plane or a pure time delay with no finite pole at all. Within [[Control_theory|control theory]] it sits alongside [[Root_locus_analysis|root-locus analysis]] as one of the two classical graphical alternatives to computing closed-loop poles directly, and the margin it reports feeds into the gain choices a [[PID_controller|PID controller]] is tuned against. ## Nyquist plot A Nyquist plot is the image of the open-loop [[Transfer_function|transfer function]] L(s) = G(s)H(s), evaluated at s = jω, traced in the complex plane as ω sweeps from very negative to very positive frequencies; it is the same complex-valued frequency response a [[Bode_plot|Bode plot]] shows as two separate curves, folded instead onto one curve where magnitude is distance from the origin and phase is angle measured from the positive real axis. Unlike a Bode plot, usually drawn only for a [[Linear_time-invariant_system|linear, time-invariant system]] whose poles sit safely in the left half-plane, a Nyquist plot is defined for any L(s) that can be evaluated along the imaginary axis, whatever its poles, and it is exactly this generality the stability criterion built on it relies on. In the primary microsim, raising the loop gain visibly inflates the whole curve outward from the origin without changing its shape, the geometric fact the criterion turns into a stability test: growing the curve until it reaches the critical point −1 is the same event, at the same gain, that the closed-loop poles crossing the imaginary axis marks in the s-plane. ## Background The question the criterion answers, whether a feedback loop with a large, imperfectly known gain will settle or run away, became urgent at Bell Telephone Laboratories in the 1920s, where long-distance telephone repeaters needed many amplifier stages in series and the accumulated distortion of an open loop was no longer acceptable. Harold Black's negative-feedback amplifier, conceived in 1927 and published in 1934, traded amplifier gain deliberately for linearity and stability, using [[Negative_feedback|negative feedback]] as an engineering tool rather than tolerating it as an accident of a circuit's wiring.[^black1934] Black's circuits could instead fail by oscillating, and it was his [[Bell_Labs|Bell Labs]] colleague Harry Nyquist who, in 1932, supplied the graphical test for exactly that failure: plot the loop's frequency response once, and read stability off how the curve sits relative to a single point, rather than factoring a high-order characteristic polynomial by hand.[^nyquist1932] A Siemens engineer, Felix Strecker, is now credited with an equivalent graphical criterion reached independently in Germany two years earlier, in 1930, though a primary record of that work is not in hand here.[^strecker1930] ## Cauchy's argument principle The mathematics behind the criterion is a general theorem from [[Complex_analysis|complex analysis]]: for a function f(s) that is meromorphic inside and on a closed contour, with no zeros or poles exactly on the contour itself, the number of times f(s) winds around the origin as s traverses that contour once, counted with sign for direction, equals the number of zeros of f enclosed by the contour minus the number of poles enclosed, each counted with its multiplicity. Nyquist's construction applies this principle to f(s) = 1 + L(s), whose zeros are exactly the closed-loop poles of the feedback system and whose poles are exactly the open-loop poles, and chooses the contour to be the imaginary axis together with a semicircle of unbounded radius closing it around the entire right half of the s-plane, so that "enclosed" means "unstable." Counting how many times 1 + L(jω) winds around the origin is the same as counting how many times L(jω) winds around the point −1, which is the whole reason the criterion can be read directly off a plot of L(jω) without ever constructing 1 + L(s) explicitly. ## Definition Let P be the number of open-loop [[Pole–zero_plot|poles]] of L(s) in the right half of the complex plane, and let N be the number of times the Nyquist plot of L(jω) encircles the point −1 in the clockwise direction as ω sweeps the whole contour described above. The number of closed-loop poles in the right half-plane is then Z = N + P, and the closed loop is stable exactly when Z = 0. For the common case of an open-loop-stable plant, P = 0, and the rule collapses to its simplest and most quoted form: the closed loop is stable if and only if the Nyquist plot does not encircle −1 at all. The primary microsim is built around exactly this simplest case, a loop whose three poles all sit in the left half-plane, so P = 0 there and the only question the plot answers is whether the curve reaches around the critical point or stays clear of it. ## The Nyquist criterion for systems with poles on the imaginary axis Cauchy's argument principle requires that f(s) have no poles or zeros exactly on the contour, and an open-loop transfer function with an integrator, a pole at s = 0, or any other pole on the imaginary axis violates that requirement outright, since such a pole sits exactly where the standard contour runs. The usual fix deforms the contour itself: at each such pole, the straight path along the imaginary axis is replaced by a small semicircular detour of vanishing radius, conventionally bulging into the right half-plane so the pole is excluded from the enclosed region and does not count toward P. That small detour maps, under L(s), to an arc of very large or infinite radius in the Nyquist plot, sweeping through a large angle as the detour's own angle sweeps through 180°, and a plot that omits this arc can look like it avoids −1 when the completed contour does not. A loop built around a plant with a free integrator, the standard case for a controller with integral action, is the everyday example where this detour is not optional. ## Mathematical derivation Writing out the argument principle for f(s) = 1 + L(s) gives, formally, one over 2π times the total change in the argument of 1 + L(s) as s traverses the contour once, equal to Z − P, where Z and P count the zeros and poles of 1 + L(s) enclosed by the contour, which by construction is the entire right half of the [[Complex_analysis|complex plane]]. Because 1 + L(s) is just L(s) shifted right by one unit on the real axis, the point where 1 + L(s) equals zero is exactly the point where L(s) equals −1, so tracking how many times 1 + L(jω) circles the origin is identical to tracking how many times L(jω) circles the point −1. Rearranged for N, the signed count of clockwise encirclements of −1, this reads N = Z − P, or equivalently Z = N + P, the form the definition above already gives; the derivation adds nothing beyond making explicit that the result is one instance of a general theorem, not a fact special to feedback systems. ## Importance The criterion's practical value in 1932 was that it needed no computer and no factoring of a high-order polynomial: a loop's open-loop frequency response could be measured directly on a physical amplifier, plotted point by point, and read for stability without ever writing down the closed-loop transfer function at all, an enormous saving of effort when finding the roots of even a fourth or fifth-degree polynomial by hand was a serious undertaking. The same property still matters for systems with no finite-order transfer function to factor in the first place, such as a loop with a pure transport delay, `e^(-s*tau)`, which has no poles or zeros anywhere and so cannot be handled by [[Root_locus_analysis|root-locus analysis]] or any other method built around counting them; the delay enters a Nyquist plot as nothing more than an extra, frequency-dependent twist in the curve's phase, and the criterion applies exactly as before. A further generalization extends the same encirclement idea to systems with several coupled inputs and outputs, of the kind found in [[MIMO|multiple-input, multiple-output]] problems such as an aircraft's coupled attitude-control loops, at the cost of tracking a matrix-valued generalization of L(s) rather than a single scalar curve. ## Summary Reduced to a procedure, the criterion asks for one plot and one count: draw the open-loop frequency response L(jω) as ω sweeps from very negative to very positive, count the signed number of clockwise encirclements N it makes of the point −1, add the number of open-loop right-half-plane poles P, and the closed loop is stable exactly when that sum is zero. Everything else here, the argument principle, the indented contour for poles on the imaginary axis, the derivation, exists to justify why that count is trustworthy rather than to complicate carrying it out. The same plot also yields the gain and phase margins a Bode plot reports separately, read here as how close the curve comes to −1 along the real axis and around it, which is why a single Nyquist plot is sometimes preferred to a pair of Bode curves even when both are available. [[Root_locus_analysis|Root-locus analysis]], developed a generation later, asks a related but different question of the same loop: not whether −1 is encircled at one gain, but where every closed-loop pole sits as the gain varies continuously.[^evans1948] ## Microsims The primary sketch draws the Nyquist plot of a canonical third-order feedback loop, `L(s) = K*e^(-s*tau) / ((s+1)(s+2)(s+p3))`, whose two fixed poles and one movable pole all sit in the left half-plane, so P = 0 and the simplest form of the criterion applies directly: the loop is stable exactly when the plotted curve does not encircle −1. A gain control sets K, a delay control sets the transport delay tau, and a third control moves the pole p3; a live diagnostics panel reports the argument-principle count the criterion is built on as the controls move. ILLUSTRATIVE: the plant is fixed to this one three-pole, one-delay structure so the shape of the curve stays legible; a real loop's open-loop transfer function is rarely known this exactly, and is usually measured rather than assumed. *Try:* Raise the loop gain K from a small value until the curve first touches the point −1, then keep raising it and watch the curve swallow −1 entirely, the exact gain at which the closed loop the sketch describes turns unstable. A three.js companion renders the same loop locus and the point −1 in more depth, with encirclements counted explicitly as the gain rises. <!-- SIGSIM:BEGIN g35 — Signal Processing portal microsim (framework build, specs/sims/Nyquist_stability_criterion.json); do not hand-edit inside --> **Microsim — three.js (Wikitube framework), pending deploy:** *Nyquist stability criterion: encirclements of -1* will play here once `https://wikitube-3d-microsims.netlify.app/signal/Nyquist_stability_criterion.html` is live. <!-- pending: <div class="wt-sim" data-src="https://wikitube-3d-microsims.netlify.app/signal/Nyquist_stability_criterion.html" data-title="Nyquist stability criterion"></div> --> *Built from `MICROSIM_GUIDE/specs/sims/Nyquist_stability_criterion.json`; part of the [[Signal_processing]] set ([[PORTAL_Signal_Processing]]).* <!-- SIGSIM:END --> ## Wikipedia : Wikitube **Strict pair:** [Wikipedia](https://en.wikipedia.org/wiki/Nyquist_stability_criterion) : [Wikitube](https://en.wikitube.io/wiki/Nyquist_stability_criterion) Skeleton mirrored at revision 1344117279. Prose, emphasis and the microsims are Wikitube's own. ## See also - [[Bode_plot]] - [[Control_theory]] - [[Transfer_function]] - [[Root_locus_analysis]] - [[PID_controller]] - [[Pole–zero_plot]] - [[Lyapunov_stability]] - [[Frequency_response]] ## References [^nyquist1932]: Harry Nyquist, "Regeneration Theory," *Bell System Technical Journal*, vol. 11, no. 1 (January 1932), pp. 126–147. https://doi.org/10.1002/j.1538-7305.1932.tb02344.x [^black1934]: Harold S. Black, "Stabilized Feedback Amplifiers," *Bell System Technical Journal*, vol. 13, no. 1 (January 1934); Black dated the underlying invention to 1927. https://doi.org/10.1002/j.1538-7305.1934.tb00652.x [^strecker1930]: Citation needed: a primary record of Felix Strecker's 1930 Siemens analysis, or the historical paper first establishing his priority over Nyquist's 1932 publication. [^evans1948]: Walter R. Evans, "Graphical Analysis of Control Systems," *Transactions of the American Institute of Electrical Engineers*, vol. 67, no. 1 (1948), pp. 547–551. https://ui.adsabs.harvard.edu/abs/1948TAIEE..67..547E/abstract ## Further reading - Christian Tiberius; Max Mulder. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory - Don Johnson. *Fundamentals of Electrical Engineering I*. 2014. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/fundamentals-of-electrical-engineering-1 - Steven Ellingson. *Radio Systems Engineering*, Revised 1st ed. 2023. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/radio-systems-engineering ## External links - [Nyquist plot (live microsim)](https://editor.p5js.org/sciencenibber/full/PtD9eAjto) - [Nyquist plot (editor / fork)](https://editor.p5js.org/sciencenibber/sketches/PtD9eAjto) <!-- Hubs: Signal_processing. Portals: PORTAL_Signal_Processing. Signal Processing portal wave 1 · 2026-09-17 · drafted. -->