Control engineering · Zacher/Reuter, Regelungstechnik für Ingenieure, 17. Aufl. 2024, Abschn. 2.3, 3.5, 6.1

Transfer function: calculate poles, zeros and stability

Build G(s) from time constants, PT2 parameters or polynomial coefficients, see poles and zeros in the s-plane and read damping, natural frequency and stability of plant and closed loop.

G(s)Zacher/Reuter 2024
01

Plant and controller

G₀(s) = [0.5·s + 0.5] / [2·s^2 + s]

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

02

Key figures

K_PR = 1
Closed loop
stable
x_mOvershoot: first maximum above the steady-state value in percent.
3.5 %
T_anRise time 10 % → 90 %.
3.96 s
T_ausSettling time until the response stays within ±2 % (±5 % in brackets).
10.64 s (4.96 s)
e(∞)Steady-state error e(∞) = w₀ − x(∞) for w₀ = 1.
0
Dominant poleSlowest closed-loop pole (smallest |Re s|) – it shapes settling time and damping.
-0.375 + j0.331 1/s
D / ω₀
0.75 / 0.5 rad/s
Pole–zero map of the s-plane
-2-1.5-1-0.50-0.500.5σ = Re s [1/s]jω [1/s]× open-loop poleszerosclosed-loop poles (current K)

Open-loop poles of G₀(s)

s [1/s]T = 1/|σ| [s]Dω₀ [rad/s]
-0.520.5
-00

Zeros

  • s = -1 1/s

G₀(0) =

Closed-loop poles at K_PR = 1

s [1/s]T = 1/|σ| [s]Dω₀ [rad/s]
-0.375 + j0.33072.6670.750.5
-0.375 − j0.33072.6670.750.5
Linked views – same loop, same gain
Method

What is calculated?

The calculator combines plant and controller into the open-loop transfer function G₀(s) = G_R(s)·G_S(s) (Zacher/Reuter eq. 6.24), expands the factors into numerator and denominator polynomials and finds their roots numerically. The roots of the denominator are the poles: a pole at s = σ + jω represents a natural-motion term e^(σt)·cos(ωt). Negative real part means decaying, positive means growing. A complex conjugate pair yields the damping ratio D = −σ/|s| and natural angular frequency ω₀ = |s| (sec. 3.5). The calculator also solves the closed-loop characteristic equation 1 + G₀(s) = 0 (eq. 6.25) and shows the closed-loop poles at the selected gain.

Equations

G₀(s) = G_R(s)·G_S(s)·e^(−s·Tt) = K·Z(s)/N(s)

Pole: N(s) = 0, Nullstellen: Z(s) = 0

Polpaar s = σ ± jω: D = −σ/√(σ²+ω²), ω₀ = √(σ²+ω²), T = 1/|σ|

geschlossener Kreis: N(s) + K·Z(s) = 0 (Gl. 6.25)

Limits

Assumptions and typical mistakes

Linear time-invariant lumped-parameter model. Dead time is not represented in the pole/zero picture (it has infinitely many poles); stability with dead time is given by the Nyquist calculator. Root finding is numerical; the last digits of repeated poles are uncertain.

Entering time constants in minutes while the unit stays at seconds – poles then appear off by a factor of 60. Confusing open-loop and closed-loop poles: only the closed-loop poles decide the stability of the control.

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.

Imaginary axis
Dividing line between stable (left) and unstable (right). The real part σ of a pole is the decay rate e^(σt): negative = decaying, zero = sustained oscillation or integrator, positive = growing.
Pole at the origin (s = 0)
An integrator: the plant is non-self-regulating, a constant input makes the output grow linearly. In the loop it removes the steady-state error – but costs 90° of phase.
Distance from the imaginary axis
The further left a pole, the faster its share decays (T = 1/|σ|). The pole with the smallest distance dominates the step response and sets the settling time; the others may be neglected at ≥ 5 times the distance.
Angle of a pole pair to the negative real axis
Its cosine is the damping ratio D: poles on the real axis (0°) are aperiodic, 45° corresponds to D ≈ 0.7 (4.3 % overshoot), 60° to D = 0.5 (16 %), poles near the imaginary axis (→ 90°) oscillate almost undamped.
Right-half-plane zeros
An all-pass share: the step response first moves in the wrong direction and the phase falls instead of rising. Such plants can only be controlled with limited gain.
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)this page

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.

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 plot

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.

Open the calculator with this main plot

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

Open-loop poles
Roots of the denominator of G₀(s) in 1/s (rad/s). Real part < 0: stable term, = 0: integrator or sustained oscillation, > 0: unstable plant. For each pole the time constant 1/|σ|, damping ratio D and ω₀ are listed.
Zeros
Roots of the numerator. Left-half-plane zeros add phase lead, right-half-plane zeros (all-pass share) reduce it and limit achievable performance.
Closed-loop poles
Roots of N(s) + K·Z(s) at the current gain. If all lie left of the imaginary axis the loop is stable (Hurwitz condition, sec. 6.1). The rightmost pole sets the settling time.
Static gain G₀(0)
Value of the transfer function at s = 0, i.e. the ratio of steady-state values. Infinite with integral action (non-self-regulating).
Example

Worked example from the literature

Zacher/Reuter Beispiel 7.1: PT1 plant K_S = 0.5, T₁ = 2 s with a PI controller K_PR = 1, Tn = 1 s. G₀ has poles at 0 and −0.5 s⁻¹ and a zero at −1 s⁻¹. At K_PR = 4 the closed loop has the pole pair −0.75 ± j0.66 s⁻¹ on a circle around −1/Tn with radius 0.707 s⁻¹ (eq. 7.16), i.e. D = 0.75 and ω₀ = 1 s⁻¹.

Context

What this calculator is for

First step of every loop analysis: checking whether a plant model is plausible, which time constant dominates, whether pole placement is feasible and whether the closed loop stays stable at a chosen gain. Also a checking tool for exercises that ask for poles and zeros from time constants.

How to proceed

  1. Choose the plant form and enter gain, time constants or polynomial in the selected time unit.
  2. Optionally add a controller type and parameters; 'no controller' shows the plant alone.
  3. Check poles and zeros in the table and s-plane: real part, damping, natural frequency.
  4. Move the gain slider and watch the closed-loop poles travel.
Source

Technical basis

Zacher/Reuter, Regelungstechnik für Ingenieure, 17th ed. 2024 (Springer Vieweg, DOI 10.1007/978-3-658-45897-3): sec. 2.3 transfer function, sec. 3.5 PT2 element (D, T₀), eq. 6.24–6.25 open and closed loop, Beispiel 7.1.

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.

How do I see which pole dominates?

The pole with the smallest magnitude of real part decays slowest and shapes the step response. Poles at least five times further left may be neglected in an approximation.

What does a pole on the imaginary axis mean?

At s = 0 it is an integrator; at s = ±jω an undamped sustained oscillation at ω. Both are the borderline between stable and unstable (Zacher/Reuter sec. 6.1, σ = 0).