Control engineering · Zacher/Reuter, Regelungstechnik für Ingenieure, 17. Aufl. 2024, Abschn. 2.4.2 und 6.2

Nyquist plot and Nyquist criterion: check closed-loop stability

Draw the locus of the frequency response G₀(jω) in the complex plane, evaluate its position relative to the critical point (−1, j0) and judge stability by the general and the simplified Nyquist criterion – including dead time and unstable plants.

G(s)Zacher/Reuter 2024
01

Plant and controller

G₀(s) = 10 · [16·s + 0.8] / [2000·s^2 + 20·s] · e^(−10 s · s)

All views update immediately. Times in the selected unit, angular frequencies in rad/s (= 1/s).

02

Key figures

K_PR = 10

Stability limit at K_PR,krit ≈ 14.8886 · range 0.044744.6658

Closed loop
stable
ω_dGain crossover: |G₀(jω_d)| = 1 (0 dB).
0.0908 rad/s
φ_RdPhase margin φ_Rd = φ₀(ω_d) + 180° (Zacher/Reuter eq. 6.65). Recommended 40…70°.
15.4°
ω_πPhase crossover: φ₀(ω_π) = −180°; T_crit = 2π/ω_π.
0.1275 rad/s · T_krit = 49.263 s
A_RGain margin A_R = 1/|G₀(jω_π)| as factor and in dB; K_crit = K·A_R.
1.489 = 3.5 dB
Nyquist locus G₀(jω) with critical point
-1.5-1-0.50-0.500.5(−1, j0)ReImLocus for ω > 0; dashed: unit circle · values with |G₀| > 1.7 hidden
Move the pointer onto the locus to read ω, real and imaginary part.
n_r / n_i
0 / 1
Crossing sum Σ(S₊ − S₋)
0 (required 0)
Re G₀(jω_π)
-0.6717
simplified criterion applicable
yes (n_r = 0, n_i ≤ 2)
Linked views – same loop, same gain
Method

What is calculated?

The locus is the path traced by the complex pointer G₀(jω) as ω runs from 0 to ∞ (Zacher/Reuter sec. 2.4.2). Its length is the magnitude, its angle with the real axis the phase – the same quantities as in the Bode plot, in one picture. The Nyquist criterion (sec. 6.2) considers the pointer from the critical point (−1, j0) to the locus: the closed loop is stable exactly when this pointer performs the angle change Δφ = (2·n_r + n_i)·π/2 (eq. 6.43), where n_r is the number of poles of G₀ in the right half plane and n_i the number of poles on the imaginary axis. For the common case n_r = 0 and n_i ≤ 2 this simplifies to: the locus must leave the critical point on its left, i.e. at |G₀| = 1 the phase must be larger than −180° (eq. 6.64). The calculator evaluates the general crossing form (eq. 6.61) and shows the phase margin (intersection with the unit circle) and gain margin (intersection with the negative real axis) directly in the plot. Because dead time only rotates the phase, the locus spirals into the origin with dead time – exactly what makes the Nyquist criterion more universal than Hurwitz.

Equations

G₀(jω) = Re(ω) + j·Im(ω), ω = 0 … ∞

Δφ = (2·n_r + n_i)·π/2 bei Stabilität (Gl. 6.43)

Schnittpunktform: Σ(S₊ − S₋) = n_r/2 (n_i ≤ 1) bzw. (n_r + 1)/2 (n_i = 2) (Gl. 6.61)

vereinfacht (n_r = 0): φ₀(ω_d) > −180° (Gl. 6.64)

A_R = 1/|Re G₀(jω_π)|, φ_Rd = Winkel zwischen Fahrstrahl im Einheitskreisschnitt und negativ reeller Achse

Limits

Assumptions and typical mistakes

The locus is computed over a finite frequency grid and scaled around the critical point; with integral action the values near ω → 0 are infinite and are clipped. For n_i > 2 the calculator gives no verdict. Nonlinearities (saturation, hysteresis) are not included; see Zacher/Reuter ch. 9 (two-locus method).

Counting the mirror image for negative frequencies and thereby doubling encirclements. Applying the simplified 'pass the critical point on the left' rule to plants with unstable poles – only the general form holds there.

Which method when?

Simplified criterion (eq. 6.64) for a stable plant with at most a double pole at the origin; general crossing form (eq. 6.61) for unstable plants (n_r > 0). Both agree with the Hurwitz check when there is no dead time.

Marked points

What the marked positions in the plot mean – and why they matter

Background for all points: a signal travels through controller and plant and is fed back with inverted sign at the comparator (negative feedback). If it returns after one trip with unchanged magnitude (|G₀| = 1) and a phase rotated by −180°, the negative feedback cancels that rotation – the signal sustains itself. All marked positions measure the distance from exactly this situation.

Critical point (−1, j0)
The point where G₀(jω) = −1: magnitude 1 and phase −180° at once. A signal travelling once around the loop returns here with the same amplitude and inverted sign – together with the negative feedback it reinforces itself. If the locus passes exactly through this point the loop oscillates permanently; that is the stability limit.
Unit circle |G₀| = 1
Inside the circle the open loop attenuates signals, outside it amplifies them. The intersection of the locus with the circle lies at the crossover frequency ω_d; the angle of this point to the negative real axis is the phase margin.
Intersection with the negative real axis
There the phase is −180° (ω_π). The distance of the intersection from the origin is |G₀(jω_π)|; its reciprocal is the gain margin. If the intersection lies right of −1 there is margin for a stable plant; the gain could still rise by the factor A_R until the intersection slides onto −1.
Curve passing left/right of −1
For stable plants the simple rule is: if the locus (with increasing ω) passes the critical point leaving −1 on its left, the closed loop is stable. If it encircles the point, it is unstable. Gain stretches the curve from the origin, dead time curls it inward – both push it towards −1.
Understanding the diagrams

What the five diagrams show and what they are used for

All views arise from the same transfer function G₀(s) and the same gain. They show the same system from different angles – time domain, frequency domain and s-plane – and lead to the same stability statement. The highlighted diagram is the main plot of this page; the others are linked below.

Pole–zero map (s-plane)

What it shows: The complex s-plane with real part σ (horizontal, in 1/s) and imaginary part jω (vertical). Crosses are the poles of the open loop G₀(s), circles its zeros, filled dots the closed-loop poles at the current gain. The left half plane is shaded green.

Used for: Quick judgement of how a system responds to an excitation: each pole stands for a natural-motion term e^(σt)·cos(ωt). Poles left of the axis decay (stable), right of it grow (unstable), on the axis oscillate permanently. Distance from the axis sets the decay time, the angle to the negative real axis the damping.

How to read it: The further left a pole, the faster its share decays (T = 1/|σ|). The larger the imaginary part, the higher the oscillation frequency. A pole pair on a straight line through the origin has constant damping D = cos of the angle to the negative real axis – 45° corresponds to D ≈ 0.7. The closed loop is stable when all filled dots lie on the left.

Open the calculator with this main plot

Bode plot

What it shows: Two curves over logarithmically scaled angular frequency ω: the magnitude |G₀(jω)| in decibels (20·log) on top, the phase angle φ₀ in degrees below. Both describe how strongly and with what delay the open loop transmits a sinusoidal signal of frequency ω.

Used for: Stability proof and controller design in the frequency domain: at the crossover ω_d (0 dB) you read the phase margin, at the phase crossover ω_π (−180°) the gain margin. Because series elements simply add in dB and degrees, you immediately see which element (time constant, integrator, dead time, D action) consumes or supplies margin.

How to read it: Bends in the magnitude lie at the corner frequencies 1/T; each pole lowers the slope by 20 dB/decade and the phase by 90°, each zero raises both, dead time only rotates the phase. A gain change shifts the magnitude in parallel – the phase stays. Stable (simplified Nyquist criterion): phase at ω_d above −180°. Rules of thumb: φ_R 40…70°, A_R ≈ 6…12 dB.

Open the calculator with this main plot

Nyquist plotthis page

What it shows: The frequency response G₀(jω) as a curve in the complex plane: one point with real and imaginary part for each frequency ω; ω runs along the curve from 0 to ∞. The critical point (−1, j0) and the unit circle |G₀| = 1 are drawn in.

Used for: The most general stability criterion – it also holds with dead time and for unstable plants where Hurwitz fails. It also shows intuitively why gain (curve is stretched) and dead time (curve curls inward) tip the loop over.

How to read it: For stable plants with at most a double pole at the origin: the curve must leave the critical point −1 on its left. The intersection with the negative real axis shows the gain margin (distance to −1), the intersection with the unit circle the phase margin (angle to the negative real axis). With integrators the curve starts at infinity (−90° per integrator); the calculator shows the region around −1.

Root locus

What it shows: The paths along which the closed-loop poles travel in the s-plane as the gain K is raised from 0 to ∞. They start at the open-loop poles (×) and end in its zeros (○) or run to infinity along the asymptotes. Breakaway points and imaginary-axis crossings are marked.

Used for: Controller design by pole placement: choose K so the dominant pole pair has the desired damping and speed, and see at once from which gain the loop becomes unstable (K_crit). It also shows whether an additional D term (zero) pulls the branches to the left.

How to read it: Points near the crosses belong to small K, distant ones to large K; the marker shows the position at the selected gain. Where two branches meet on the real axis (breakaway point), oscillation begins. Where a branch crosses the imaginary axis lies the stability limit with the sustained-oscillation frequency ω_crit. If n − m ≥ 3 branches go to infinity, the loop inevitably becomes unstable at large K.

Open the calculator with this main plot

Step response

What it shows: The time course of the controlled variable x(t) after the setpoint is switched from 0 to 1 at time 0 (closed loop) – optionally the open-loop response to a step of the manipulated variable. Dashed: steady-state value, shaded: ±2 % tolerance band.

Used for: The most intuitive assessment of control performance and the proof of requirements: overshoot, rise time, settling time and steady-state error can be read directly and compared with specifications. All other diagrams are ultimately tools for shaping this curve.

How to read it: Overshoot: first maximum above the steady-state value (16 % at D = 0.5, 4.3 % at D = 0.707, 0 % aperiodic). Rise time: 10 % → 90 %. Settling time: from when the curve stays inside the band. If the curve ends below the setpoint, integral action is missing (steady-state error). Growing oscillations mean instability – the same statement as poles right of the axis or a negative phase margin.

Open the calculator with this main plot

Inputs

What you enter – and where the values come from

Plant type
Selects the plant form: 'lags' for P, I or PT plants built from individual time constants (the common case of Zacher/Reuter ch. 3), 'oscillatory PT2' for a denominator 1 + 2·D·T₀·s + T₀²·s² (spring–mass systems, RLC circuits) and 'polynomial' for arbitrary numerator/denominator coefficients when the transfer function is already expanded.
Plant gain K_S
Static gain of the plant: change of the controlled variable per unit of manipulated variable at steady state (dimensionless or e.g. K/% for temperature control). For integrating plants K_S is the integral gain K_IS in 1/s. Obtained from a step test (final value ÷ step size) or modelling; typically 0.1 to 10, must be > 0.
Integrators
Number of free integrators (poles at s = 0) of the plant: 0 for self-regulating plants (temperature, pressure), 1 for non-self-regulating plants (level, position with a velocity actuator), 2 for double integrators (position with a force actuator). Each integrator shifts the phase by −90°.
Time constants T₁, T₂, T₃
Lag time constants of the (1 + s·T) denominator factors in the selected time unit. 0 means 'not present'. From a step response (63 % time for PT1, see the PT1 time-constant calculator) or component data (RC, mass/damping). Order does not matter; typical values range from milliseconds (electronics) to minutes (thermal processes).
Numerator time constant Tz
Optional (1 + s·Tz) factor in the numerator, i.e. a zero at s = −1/Tz. It appears in plants with lead behaviour (e.g. sensors with a high-pass share). 0 = no zero.
Natural time T₀ and damping ratio D
Parameters of the oscillatory PT2 element per Zacher/Reuter sec. 3.5: T₀ = 1/ω₀ is the reciprocal of the undamped natural angular frequency, D the dimensionless damping ratio. D < 1 gives complex conjugate poles (oscillation), D ≥ 1 two real poles. From a decay test (see the logarithmic-decrement calculator) or component data.
Numerator/denominator polynomial
Coefficients in ascending powers of s, separated by comma or space: '1, 3, 2' means 1 + 3·s + 2·s². The numerator degree must not exceed the denominator degree. Use this form for transfer functions that are already computed or exported from simulation tools.
Dead time Tt
Transport delay e^(−s·Tt): the output reacts only after Tt to an input change (conveyor, pipeline, sampling). It leaves the magnitude unchanged but rotates the phase by −ω·Tt (in radians) and is therefore the main enemy of stability. 0 = no dead time. A root locus is only possible without dead time.
Controller type
'no controller' analyses the plant alone (G₀ = G_S). P, PI, PD and PID follow the additive form G_R(s) = K_PR·(1 + 1/(s·Tn) + s·Tv) of Zacher/Reuter sec. 4.3 with an ideal derivative term. Integral action removes the steady-state error; derivative action adds phase lead.
Controller gain K_PR
Proportional gain of the controller, dimensionless or in manipulated units per controlled unit. The slider below the results varies exactly this value (K_S without controller), so poles, curves and step response move live. Must be > 0.
Reset time Tn
Time after which the integral share has caught up with the proportional share for a constant error (Zacher/Reuter sec. 4.3.3). Small Tn = strong integration but less phase margin. PI/PID only.
Derivative time Tv
Weighting of the error rate in the derivative share (Zacher/Reuter sec. 4.3.5). Adds phase lead near ω = 1/Tv. The calculator uses an ideal derivative without a filter; real controllers need an additional filter time constant. PD/PID only, ≥ 0.
Time unit
Unit of all time constants and the dead time (ms, s, min, h). Internally everything is computed in seconds; angular frequencies are shown in rad/s.
Results

What each value means

Locus
Curve Re/Im of G₀(jω) for ω > 0 in the complex plane with unit circle and critical point. With integral action it starts at infinity (−90° per integrator); the calculator shows the region around the critical point.
Intersection with the negative real axis
Re G₀(jω_π) at φ₀ = −180°. If it lies right of −1 (magnitude < 1), a loop with n_r = 0 is stable; the reciprocal magnitude is the gain margin.
Crossing sum Σ(S₊ − S₋)
Number of positive minus negative crossings of the locus with the negative real axis left of −1 (Zacher/Reuter sec. 6.3, Bild 6.10–6.16). A crossing counts positive when the phase increases with frequency. Stable when the sum reaches the required value.
Phase and gain margin
The same figures as in the Bode plot, here geometric: φ_Rd as the angle at the unit-circle intersection (Bild 6.19), A_R as the distance of the axis intersection from the origin.
Example

Worked example from the literature

Zacher/Reuter Beispiel 6.2: I-T1 plant K_S = 0.5, T_I = 10 s (integral gain 0.05 s⁻¹), T₁ = 5 s with a PID controller K_PR = 20, Tn = 4 s, Tv = 0.2 s. G₀ has a double pole at the origin (n_i = 2), requiring Δφ = +π, i.e. Σ = ½. The locus intersects the negative real axis at ω = 0.5 s⁻¹ in the point Re G₀ = −0.8 (eq. 6.53), i.e. right of the critical point: the crossing sum is −½ instead of +½, the loop is unstable. From K_PR = 20/0.8 = 25 (eq. 6.55) the curve passes the critical point on the left and the loop becomes stable – the calculator shows exactly this switch when you drag the slider past 25.

Context

What this calculator is for

Stability proof for loops with dead time or unstable plants where Hurwitz fails; illustrating why too much integral action or dead time tips the loop; comparing measured loci (frequency-response measurement) with the model.

How to proceed

  1. Enter plant and controller and look at the position of the locus relative to −1.
  2. Check whether G₀ has right-half-plane poles (table). The simplified rule holds only for n_r = 0.
  3. Raise the gain with the slider until the locus passes through −1: that is K_crit.
  4. Add dead time and watch the curve curl inward as the margin shrinks.
Source

Technical basis

Zacher/Reuter, Regelungstechnik für Ingenieure, 17th ed. 2024: sec. 2.4.2 locus, sec. 6.2 Nyquist stability criterion (eq. 6.26–6.43), sec. 6.3 crossing form (eq. 6.56–6.64), Beispiele 6.2 and 6.3. Dubbel, ch. X, sec. 5.2.

The sources support the equations and worked examples; the reference examples are recomputed in the calculator's automated tests. The calculator does not replace a simulation with the complete nonlinear plant model.

Last updated: 2026-09-20

FAQ

Frequently asked questions

What is a transfer function?

G(s) = output(s)/input(s) describes a linear time-invariant element in the Laplace domain. The denominator holds the natural dynamics (poles), the numerator the input dynamics (zeros). With s = jω it becomes the frequency response from which Bode and Nyquist plots follow.

Why does the slider change only K_PR or K_S?

Loop gain is the parameter practitioners adjust first and the only one that shifts magnitude, root locus and step response proportionally without changing the phase curve. Change all other parameters in the input fields; the display updates immediately as well.

Why does the locus start at infinity for integrating plants?

A pole at the origin makes |G₀(jω)| ~ 1/ω for small ω. The curve comes from −j∞ (one integrator) or from −∞ on the real axis (double integrator). Zacher/Reuter treats these cases in Bild 6.6 and 6.13–6.16.

How does the locus relate to the step response?

Initial and final values agree: G₀(j0) is the steady-state value, G₀(j∞) the initial value of the step response (Zacher/Reuter sec. 2.4.3). A semicircle in the fourth quadrant corresponds to PT1 behaviour.