Electronics Guide

Time-Domain Response of Control Systems

A control loop proves itself when something changes. Command a motor to a new speed, or switch a processor from idle to full load on a regulator's output, and the controlled quantity moves to its new value along a curve. How fast the curve rises, how far it overshoots, how long it rings, and how close it finally settles are the loop's time-domain specifications. Servo drives quote them as settling time and following error, regulator datasheets as load-transient response, and process plants as the overshoot and recovery allowed after a setpoint change.

This article defines those specifications, ties each one to the poles and zeros of the loop, and connects them to steady-state error, disturbance rejection, and phase margin. Two worked examples, a motor speed loop and a regulator load step, apply the results.

Throughout, this article treats the loop as linear and time-invariant, which a real loop approximates for small changes about an operating point, and starts every response from rest. Laplace Transform covers transfer functions, poles, and the s-plane, and Transient Response of RC, RL, and RLC Circuits derives first- and second-order responses in circuit terms. A step large enough to saturate an amplifier or actuator leaves the linear theory behind, and the examples show how to check for that.

Open-Loop and Closed-Loop Control

An open-loop controller acts on the command alone. A toaster heats for a set time, and a stepper-motor drive counts out pulses. Such a system is only as accurate as its calibration, and it cannot notice a heavier load, a sagging supply, or a worn part.

A closed-loop controller measures the output, compares it with the reference, and acts on the difference. In the standard single loop, the reference R(s) and the measured output Y(s) form the error E(s) = R(s) − Y(s). A controller C(s) turns the error into a drive signal for the plant G(s), and a disturbance D(s), such as a load torque, enters at the plant input. With a sensor of unity gain and negligible lag,

Y(s) = [C(s)G(s) / (1 + C(s)G(s))] R(s) + [G(s) / (1 + C(s)G(s))] D(s)

The product L(s) = C(s)G(s) is the loop transfer function, or loop gain; a sensor with transfer function H(s) makes it C(s)G(s)H(s). The roots of 1 + L(s) = 0 are the closed-loop poles. The reference and disturbance responses share them and so decay at the same rates, but they differ in their numerators, and so in their zeros, a difference that matters in both worked examples.

Feedback buys accuracy and disturbance rejection at three costs: a sensor, the sensor's noise, and the possibility of instability. Negative Feedback Theory develops the desensitivity argument, and Automatic Control Circuits builds such loops in hardware. The rest of this article assumes unity feedback unless it says otherwise.

Standard Test Inputs

Engineers compare loops by their responses to a few standard inputs, each applied at t = 0 to a system at rest.

Standard test inputs
Input r(t) for t ≥ 0 R(s) What the response reveals
Unit impulseδ(t)1The natural modes alone
Unit step11/sSpeed, overshoot, settling, and error after a sudden change
Unit rampt1/s2Lag while following a constant rate of change
Unit parabolat2/21/s3Lag while following a constant acceleration
Sinusoidsin ωtω/(s2 + ω2)Frequency response, once transients decay

The step is the workhorse. It is easy to produce with a switch, a square wave, or a load that turns on, and one trace shows both speed and damping, so the specifications that follow all refer to it. The ramp and the parabola test tracking, as when an antenna slews at constant angular velocity or a machine axis accelerates. Some texts define the parabola as t2, whose transform is 2/s3; that choice doubles the corresponding error.

A test step must also be small enough to keep every part of the loop linear, as the section on measurement explains.

First-Order Response

A first-order system has a single pole, at s = −1/τ:

T(s) = K / (τs + 1)

where K is the DC gain and τ is the time constant. Its unit-step response,

y(t) = K(1 − e−t/τ)

rises without overshoot, covering 63.2 percent of its change in one time constant, 86.5 percent in two, 95.0 percent in three, 98.2 percent in four, and 99.3 percent in five. Solving for the crossings gives exact specifications:

  • Rise time, 10 to 90 percent: tr = τ ln 9 ≈ 2.20τ.
  • Settling time, 2 percent band: ts = τ ln 50 ≈ 3.91τ, usually rounded to 4τ.
  • Settling time, 5 percent band: ts = τ ln 20 ≈ 3.00τ.
  • Bandwidth: |T(jω)| falls by 3 dB at ω = 1/τ, so fBW = 1/(2πτ) and trfBW = ln 9/(2π) ≈ 0.35, the source of the familiar rule tr ≈ 0.35/fBW, which is exact only for a single pole.

Feedback around an integrator produces a first-order loop. A plant K0/s under proportional gain KP gives T(s) = K0KP/(s + K0KP), with τ = 1/(K0KP) and a DC gain of exactly 1. Raising the gain shortens the time constant in proportion; the linear model sets no limit, but the actuator does. Driven by a unit ramp, the loop's output is

y(t) = t − τ + τe−t/τ

so it settles into a lag of exactly one time constant, a result the section on steady-state error generalizes. Because a first-order response cannot overshoot, it is a common design target; lambda tuning of process loops, for example, aims for a first-order response plus dead time.

The Second-Order Prototype

Most time-domain specifications refer to the standard second-order system,

T(s) = ωn2 / (s2 + 2ζωns + ωn2)

where ωn is the undamped natural frequency in radians per second and ζ is the dimensionless damping ratio; the DC gain is 1. It is exactly the closed loop formed by unity feedback around

L(s) = ωn2 / [s(s + 2ζωn)]

an integrator in series with one real pole. That is the loop of a DC motor positioned by proportional control when its armature inductance is negligible, and many higher-order loops behave approximately like it. Circuit texts write the same denominator as s2 + 2αs + ω02, with α = ζω0.

For 0 < ζ < 1 the poles form a complex pair,

s = −ζωn ± jωn√(1 − ζ2) = −σ ± jωd

where σ = ζωn is the decay rate and ωd = ωn√(1 − ζ2) is the damped natural frequency. Each pole lies at distance ωn from the origin, on a line that makes the angle θ = arccos ζ with the negative real axis. In the s-plane, rays from the origin therefore mark constant damping, circles about the origin constant natural frequency, and vertical and horizontal lines constant decay rate and constant ringing frequency.

Damping regimes of the second-order prototype
Damping ratio Poles Step response
ζ = 0±jωnOscillates at ωn without decay
0 < ζ < 1−σ ± jωdUnderdamped: overshoots and rings at ωd inside a decaying envelope
ζ = 1−ωn, repeatedCritically damped: for a given ωn, the fastest response without overshoot
ζ > 1−ωn[ζ ± √(ζ2 − 1)]Overdamped: no overshoot, and a slow tail set by the pole nearer the origin

The underdamped unit-step response is

y(t) = 1 − [e−ζωnt / √(1 − ζ2)] sin(ωdt + θ)

It starts from zero with zero slope and rings at ωd inside the envelope 1 ± e−ζωnt/√(1 − ζ2). Its slope, which is also the impulse response, is [ωn/√(1 − ζ2)] e−ζωnt sin ωdt.

Rise Time, Peak Time, Overshoot, and Settling Time

Four numbers summarize the transient part of a step response:

  • Rise time, tr: The 10 to 90 percent rise time is standard for overdamped responses and for instrument measurements. For underdamped responses, some control texts use the 0 to 100 percent rise time instead, the time at which the response first reaches its final value, because it has a closed form. At ζ = 0.5 the second is about 48 percent longer than the first, so a rise-time figure should name its definition.
  • Peak time, tp: The time of the first, and largest, peak of an underdamped response.
  • Percent overshoot: 100 × (ymax − yfinal)/yfinal.
  • Settling time, ts: The time after which the response stays within a band around its final value, usually ±2 or ±5 percent of that value.

A fifth number, the steady-state error, has its own section below.

Peak Time and Overshoot

The slope of the prototype response vanishes where sin ωdt = 0, so the first peak comes at ωdt = π:

tp = π/ωd = π / [ωn√(1 − ζ2)]

Substituting tp into y(t) gives a peak of 1 + e−ζπ/√(1 − ζ2), so

percent overshoot = 100 e−ζπ/√(1 − ζ2)

Overshoot depends on ζ alone. Inverting the relation, with M the overshoot expressed as a fraction,

ζ = −ln M / √[π2 + (ln M)2]

An overshoot limit of 10 percent requires ζ ≥ 0.59, a limit of 5 percent requires ζ ≥ 0.69, and a limit of 2 percent requires ζ ≥ 0.78.

Rise Time

The response first reaches its final value where sin(ωdt + θ) = 0, at ωdt + θ = π. For 0 < ζ < 1, the 0 to 100 percent rise time is therefore

tr = (π − θ)/ωd, with θ = arccos ζ

The 10 to 90 percent rise time has no closed form. A cubic fitted to the exact curve,

ωntr ≈ 1 + 1.039ζ − 0.417ζ2 + 1.768ζ3

matches it within 0.3 percent for 0.1 ≤ ζ ≤ 0.9 and within 1 percent at ζ = 1. In a strongly overdamped system, the slow pole, at s = −ωn[ζ − √(ζ2 − 1)], dominates, and the 10 to 90 percent rise time is about 2.2 divided by that pole's magnitude, within 2 percent for ζ ≥ 1.5.

Settling Time

The ringing stays inside an envelope whose distance from the final value shrinks as e−ζωnt/√(1 − ζ2). Dropping the factor 1/√(1 − ζ2) and asking when e−ζωnt falls to 0.02 or 0.05 gives ln 50 ≈ 3.9 or ln 20 ≈ 3.0 envelope time constants, usually written

ts ≈ 4/(ζωn) for a 2 percent band, and ts ≈ 3/(ζωn) for a 5 percent band

Both are envelope approximations, valid only for underdamped responses. The true settling time changes in jumps as ζ varies, because the last excursion outside the band moves from one peak of the ringing to the next. For 0.1 ≤ ζ ≤ 0.7, the exact 2 percent settling time lies between about 24 percent below and 5 percent above 4/(ζωn). The exact 5 percent settling time lies between 25 percent below and 5 percent above 3/(ζωn) only up to ζ = 0.6; near ζ = 0.7 it falls as much as a third below the estimate. Near and above critical damping the envelope estimates fail, and a strongly overdamped response settles like its slow pole, in about 4 divided by that pole's magnitude.

The formulas reduce to geometry. Settling time depends only on σ, the poles' distance from the imaginary axis; peak time only on ωd, their distance from the real axis; and overshoot only on their angle.

Step-response specifications of the second-order prototype, with times multiplied by ωn
ζ Overshoot (%) ωntp ωntr, 10–90% ωntr, 0–100% ωnts, 2% (exact) 4/ζ ωnts, 5% (exact)
0.252.73.211.201.8119.620.013.7
0.337.23.291.321.9711.213.310.1
0.425.43.431.462.168.4110.07.61
0.516.33.631.642.428.088.005.29
0.69.53.931.852.775.946.675.23
0.74.64.402.133.295.985.712.90
0.81.55.242.474.163.765.003.39
1.00None3.36None5.83Not applicable4.74

Specifications therefore translate into pole locations. A loop that may overshoot by no more than 10 percent and must settle within 2 percent in 0.2 s needs ζ ≥ 0.59 and ζωn ≥ 4/0.2 = 20 s−1. Its dominant poles must lie to the left of the vertical line through −20 s−1 and within 54 degrees of the negative real axis. Because the settling estimate can err in either direction, leave margin and confirm the design by simulation.

Dominant Poles and the Effect of Zeros

Real loops have more than two poles, and many have zeros. By partial fractions, the step response is a sum of terms ept, one for each closed-loop pole p, weighted by residues that the zeros help set. Poles far to the left die out quickly, and a pole close to a zero carries a small residue. The response is therefore often shaped by the one real pole or complex pair nearest the imaginary axis: the dominant poles.

The Dominant-Pole Approximation

A common rule of thumb neglects any pole whose real part is at least five times that of the dominant pair. To see what the rule costs, add a real pole at s = −p to the prototype with ζ = 0.5, holding the DC gain at 1. With p = 5ζωn, overshoot falls from 16.3 to 14.8 percent, the 10 to 90 percent rise time grows by 10 percent, and the 2 percent settling time grows by 4 percent. With p = 10ζωn, the rise time grows by only 3 percent. With p = 2ζωn, overshoot halves to 8.1 percent and the rise time grows by 40 percent, so the approximation fails.

A neglected pole must keep its contribution to the DC gain: K/[(s + p)(s2 + 2ζωns + ωn2)] becomes (K/p)/(s2 + 2ζωns + ωn2).

Left-Half-Plane Zeros

A zero at s = −z multiplies the prototype by (1 + s/z). By linearity, the step response becomes

y(t) = y0(t) + (1/z) dy0/dt

where y0(t) is the prototype response. The added term peaks during the rise, so the zero quickens the rise and raises the overshoot. With ζ = 0.5, a zero at 10ζωn lifts overshoot from 16.3 to 16.7 percent, one at 5ζωn to 18.0 percent, and one at 2ζωn to 29.8 percent. Such zeros are common. A PI controller places one at the ratio of its integral gain to its proportional gain, and PD and lead compensators add one, so the prototype formulas can understate the overshoot of a real loop.

Right-Half-Plane Zeros

A zero at s = +z gives y(t) = y0(t) − (1/z) dy0/dt, and the output starts in the wrong direction. With ζ = 0.5, a right-half-plane zero at 2ζωn produces an initial undershoot of 28 percent of the step, and one at 10ζωn an undershoot of 1.8 percent. A boost converter in continuous conduction behaves this way: a longer duty cycle first shortens the interval in which the inductor feeds the output, so the output dips before it rises. DC-DC Converter Topologies lists this zero among the challenges of the boost converter. Feedback cannot cancel such a zero, so the loop's crossover frequency must stay well below it.

Near Cancellation and Slow Tails

A zero that nearly coincides with a closed-loop pole leaves that pole a small residue but its full time constant. The result is a small, slow tail: most of the response finishes quickly, and the last percent creeps, which can set the settling time when the band is tight. Exact cancellation is subtler. A slow plant pole canceled by a controller zero disappears from the setpoint response but remains a pole of the loop, and a disturbance entering after the controller still excites it. The motor example measures the consequence.

Steady-State Error and System Type

With unity feedback, the error E(s) = R(s) − Y(s) is

E(s) = R(s) / [1 + L(s)]

and the final-value theorem gives the error that remains:

ess = lims→0 sR(s) / [1 + L(s)]

The theorem applies only when e(t) settles, which requires every pole of sE(s) to lie in the open left half-plane. The closed loop must therefore be stable; applied to an unstable loop, the formula returns a finite number that means nothing. Laplace Transform states the conditions in full. Everything below assumes unity feedback and a stable closed loop.

The system type is the number of integrators, or poles at s = 0, in the loop transfer function: writing L(s) = L0(s)/sN, with L0(0) finite and nonzero, the type is N. An integrator may be an integral term in the controller or part of the plant, since a motor's shaft angle integrates its speed and a tank's level integrates its net inflow. Three error constants summarize the low-frequency loop gain: the position constant Kp = lims→0 L(s), the velocity constant Kv = lims→0 sL(s), and the acceleration constant Ka = lims→0 s2L(s). The names come from servomechanisms but apply to any controlled quantity, and the lowercase subscripts distinguish these constants from the controller gains KP, KI, and KD. Evaluating the limit for each input gives the table; for an input of amplitude A, multiply the error by A.

Steady-state error of a stable unity-feedback loop
System type Unit step, 1/s Unit ramp, 1/s2 Unit parabola, 1/s3
01/(1 + Kp)Grows without boundGrows without bound
101/KvGrows without bound
2001/Ka
3 or more000

Each integrator removes the error for one more order of input. A type 0 loop leaves a step error, because some error must persist to hold the drive signal. Where the table shows unbounded error, sE(s) keeps a pole at the origin and the error grows steadily. Consider a position servo with L(s) = 50/[s(0.02s + 1)]. It is type 1 with Kv = 50 s−1, so it lands exactly on a commanded position but trails a command moving at 2 rad/s by 2/50 = 0.04 rad; Servo Drive Systems treats this lag as following error. Its closed-loop denominator, s2 + 50s + 2,500, gives ωn = 50 rad/s and ζ = 0.5, so a position step overshoots by 16 percent and settles within 2 percent in about 4/25 = 0.16 s.

The error constants say nothing about the transient, and the two requirements pull against each other. Raising the gain raises Kp or Kv but usually lowers damping, and each added integrator contributes 90 degrees of phase lag, pushing the loop toward instability.

Non-Unity Feedback

When the sensor has a transfer function H(s) and the error of interest is r − y in output units, the table applies to an equivalent unity-feedback loop whose forward transfer function is

Ge(s) = C(s)G(s) / [1 + C(s)G(s)H(s) − C(s)G(s)]

In the common case of a constant sensor gain k, with the reference expressed in sensor units, the loop is simply unity feedback with loop gain kC(s)G(s).

Disturbance Rejection and Sensitivity

A disturbance D(s) entering between controller and plant reaches the output through

Y(s)/D(s) = G(s) / [1 + C(s)G(s)]

With the reference at zero, the error is −Y(s), and for a step disturbance of size d0 the final-value theorem gives

ess = −d0 / [lims→0 1/G(s) + lims→0 C(s)]

The error vanishes only if the denominator grows without bound. An integrator in the controller, upstream of the disturbance, achieves that. An integrator in the plant, downstream of the disturbance, does not: 1/G(0) is then zero, and the error is −d0/C(0). Split the servo's gain between a controller with KP = 2.5 V/rad and a motor with Km = 20 (rad/s)/V. The loop is type 1 for commands, yet a constant load torque equivalent to a 1 V drop in drive voltage holds the shaft 1/2.5 = 0.4 rad from its target. Integral action in the controller removes that error.

Sensitivity and Complementary Sensitivity

Two functions of the loop gain describe what feedback does at each frequency: the sensitivity S(s) = 1/[1 + L(s)] and the complementary sensitivity T(s) = L(s)/[1 + L(s)], which always sum to 1. S maps the reference to the error, and a disturbance added at the plant output to the output. T maps the reference to the output and, with reversed sign, sensor noise to the output. S also measures robustness: a fractional change in the plant produces a fractional change in the closed-loop response S times as large,

(dT/T) / (dG/G) = 1/[1 + L(s)] = S(s)

so where the loop gain is 100, a 10 percent change in the plant moves the closed-loop response by about 0.1 percent. This is the sensitivity factor 1/(1 + Aβ) of Negative Feedback Theory, evaluated frequency by frequency.

Because S + T = 1, the two cannot both be small at the same frequency. Well below crossover, high loop gain makes S small and rejects disturbances, but T is near 1 and passes sensor noise. Well above crossover, T is small and rejects noise, but S is near 1 and disturbances pass unopposed. Crossover marks the handoff.

Peak Sensitivity and the Waterbed Effect

The peak sensitivity Ms, the largest value of |S(jω)|, is the reciprocal of the shortest distance from the Nyquist plot of L(jω) to the critical point −1. That geometry bounds both stability margins: the gain margin is at least Ms/(Ms − 1), and the phase margin at least 2 arcsin[1/(2Ms)]. A peak sensitivity of 2 guarantees a gain margin of at least 2 (6 dB) and a phase margin of at least 29 degrees.

Feedback cannot reduce sensitivity everywhere at once. For a stable closed loop whose loop transfer function has no right-half-plane poles and at least two more poles than zeros, Hendrik Bode showed in 1945 that

0 ln|S(jω)| dω = 0

Every band in which feedback lowers sensitivity, making ln|S| negative, requires a band in which it raises sensitivity and amplifies disturbances, a trade known as the waterbed effect. Right-half-plane poles in L(s) make the integral positive and the trade worse.

From Time-Domain Specifications to Phase Margin and Bandwidth

Designers often specify a loop in the time domain but design it in the frequency domain, where loop gain is easy to shape and to measure. The prototype supplies the translation. The relations below are exact for unity feedback around L(s) = ωn2/[s(s + 2ζωn)] and approximate for any loop dominated by one pair of closed-loop poles. Stability Analysis and Compensation defines phase and gain margin and reads them from Bode and Nyquist plots.

Setting |L(jω)| = 1 gives the gain crossover frequency and the phase margin:

ωc = ωn√[√(1 + 4ζ4) − 2ζ2]

phase margin = arctan(2ζωnc)

Setting |T(jω)| = 1/√2 gives the closed-loop bandwidth. For ζ < 1/√2, the closed-loop magnitude also peaks, reaching Mr at the frequency ωn√(1 − 2ζ2):

ωBW = ωn√[1 − 2ζ2 + √(4ζ4 − 4ζ2 + 2)]

Mr = 1 / [2ζ√(1 − ζ2)]

Frequency-domain equivalents of the second-order prototype
ζ Phase margin (degrees) Overshoot (%) ωBWn ωBWc Resonant peak (dB) fBWtr, 10–90%
0.222.652.71.511.578.10.29
0.333.337.21.451.594.80.31
0.443.125.41.371.612.70.32
0.551.816.31.271.621.20.33
0.659.29.51.151.600.40.34
0.765.24.61.011.56< 0.10.34
0.869.91.50.871.48None0.34
1.076.300.641.32None0.34
  • Damping from phase margin: ζ ≈ PM/100, with the phase margin PM in degrees, holds within about 10 percent for phase margins from 40 to 65 degrees and within about 15 percent from 5 to 70 degrees. It fails above that range; a critically damped loop has a phase margin of 76 degrees, not 100. In prototype terms, 45 degrees of phase margin means ζ ≈ 0.42 and 23 percent overshoot, and 60 degrees means ζ ≈ 0.61 and 9 percent.
  • Bandwidth from crossover: For 0.2 ≤ ζ ≤ 1, the closed-loop bandwidth lies between 1.3 and 1.6 times the crossover frequency, so the crossover, read directly from the loop gain, sets the speed.
  • Rise time from bandwidth: Over the same range, fBWtr (10 to 90 percent) runs from 0.29 to 0.34, so tr ≈ 0.35/fBW overstates the rise time by less than 10 percent for ζ ≥ 0.4 and by about 20 percent at ζ = 0.2.
  • Overshoot from resonance: A closed-loop peak of 1.2 dB goes with ζ = 0.5 and 16 percent overshoot, and a peak of 4.8 dB with ζ = 0.3 and 37 percent.

Extra poles, time delay, and zeros, including a PI controller's zero, alter all four relations. Treat them as starting points, and confirm the response by simulation or measurement.

How P, I, and D Terms Shape the Response

A PID controller in parallel form applies C(s) = KP + KI/s + KDs to the error. The PID Control Fundamentals section of Process Control Theory and Implementation covers controller forms, tuning, and anti-windup, and Automatic Control Circuits builds each term from op-amps. The question here is narrower: what each term does to the specifications. For a plant G(s) = K/[s(s + a)], such as a motor turning a load to a position, the answers are exact.

Proportional Action

With C(s) = KP, the closed-loop denominator is s2 + as + KKP, so ωn = √(KKP) and ζ = a/[2√(KKP)]. Raising KP raises ωn, shortening rise and peak times, and lowers ζ, raising overshoot. The decay rate ζωn = a/2 stays fixed, so the settling estimate does not improve. The servo above has a = 50 s−1 and KKP = 2,500 s−2; quadrupling its gain doubles ωn to 100 rad/s, halves ζ to 0.25, and raises overshoot from 16 to 44 percent. The ramp error does fall, since Kv = KKP/a. On a type 0 plant, proportional action shrinks the step error to 1/[1 + KPG(0)] but never removes it.

Derivative Action

With C(s) = KP + KDs, the denominator becomes s2 + (a + KKD)s + KKP. Derivative action raises ζ to (a + KKD)/[2√(KKP)] without changing ωn, and it moves the poles left, shortening settling. In the quadrupled-gain servo, KKD = 50 s−1 restores ζ = 0.5 at ωn = 100 rad/s and halves the settling estimate to 0.08 s. The price is a zero at s = −KP/KD = −200 s−1, four times the poles' real part, which lifts the overshoot to 19 percent instead of the prototype's 16. Derivative action has no effect on steady-state error, and it amplifies measurement noise, so practical controllers filter it and often differentiate the measurement rather than the error.

Integral Action

With C(s) = KP + KI/s, the loop gains an integrator and its type rises by one, here to type 2. The ramp error vanishes, Ka = KKI/a, and the loop rejects a constant disturbance at the plant input. The closed-loop denominator becomes s3 + as2 + KKPs + KKI, which is stable only if aKP > KI. As KI approaches that limit, a pair of poles moves to the imaginary axis and the damping collapses. A small KI, whose zero at s = −KI/KP lies well below crossover, leaves the transient nearly unchanged but adds a slow closed-loop pole near that zero, and with it a small, slow tail. If the actuator saturates, the integrator winds up, accumulating error that produces a large overshoot when the loop recovers; anti-windup logic prevents it.

Measuring a Step Response

Setting Up the Test

  • Match the input to the specification: A setpoint step tests tracking, and a load step tests regulation. For a power supply, an electronic load or a switched resistor supplies the load step, as Electronic Loads describes.
  • Stay linear: Step from a settled operating point, by an amount small enough that no amplifier slews, no output saturates, and no current limit engages. Repeat at two amplitudes and in both directions; if the normalized responses differ, the loop is not behaving linearly.
  • Capture the whole event: Trigger on the step, record for at least twice the expected settling time, and confirm that the step itself is much faster than the loop.
  • Measure cleanly: Use an oscilloscope and probe much faster than the response, and probe a regulator's output at the load with a short ground connection. The oscilloscope section of Transient Response of RC, RL, and RLC Circuits lists the pitfalls.

Reading the Waveform

  1. Mark the initial and final levels; their difference is 100 percent of the change.
  2. Read the 10 and 90 percent crossings for the rise time, and the first peak for the peak time and overshoot.
  3. Draw the ±2 or ±5 percent band, and read the time of the last exit from it.
  4. Convert the overshoot to ζ with the inverse formula, and the ringing period Td to ωd = 2π/Td and ωn = ωd/√(1 − ζ2).
  5. Check consistency. A response dominated by one pole pair peaks at tp = Td/2 and settles in roughly 4/(ζωn); a large mismatch points to a zero, a third pole, or a nonlinearity.

Suppose a speed step overshoots by 12 percent and rings with a 22 ms period. Then ζ ≈ 0.56, ωd ≈ 286 rad/s, and ωn ≈ 345 rad/s. The prototype predicts a peak at 11 ms and 2 percent settling in about 4/(0.56 × 345) ≈ 21 ms, against an exact prototype value of 17 ms, and a phase margin near 56 degrees if the loop resembles the prototype. When the ringing lasts several cycles, the logarithmic decrement of successive peaks, described in the transient-response article, gives ζ more precisely.

Open-Loop Step Tests on Slow Plants

Slow thermal, level, and flow processes lend themselves to an open-loop test: put the controller in manual, step the actuator by Δu, and record the process variable. A first-order-plus-dead-time model, G(s) = Ke−θds/(τs + 1), usually fits, with gain K = Δy/Δu. This model reaches 28.3 percent of its change at t = θd + τ/3 and 63.2 percent at t = θd + τ, so the two crossing times give τ = 1.5(t63 − t28) and θd = t63 − τ. Process tuning rules start from these three numbers.

Worked Example: A Motor Speed Loop

A permanent-magnet DC motor drives a flywheel from a 24 V PWM amplifier that acts as a voltage source. The motor's electrical time constant is far shorter than its mechanical one, so speed follows voltage as a first-order system:

G(s) = Ω(s)/V(s) = Km/(τms + 1), with Km = 20 (rad/s)/V and τm = 50 ms

An encoder measures speed without significant lag. The motor's torque constant is 0.05 N·m/A and its armature resistance 1 Ω, so a load torque of 0.05 N·m acts like a 1 V drop in the applied voltage and, uncorrected, would slow the motor by 20 rad/s. With a PI controller C(s) = KP + KI/s, the setpoint and load responses are

Ω(s)/R(s) = Km(KPs + KI) / [τms2 + (1 + KmKP)s + KmKI]

Ω(s)/D(s) = Kms / [τms2 + (1 + KmKP)s + KmKI]

They share poles but differ in zeros: the setpoint path has a zero at s = −KI/KP, and the load path a zero at the origin.

  1. Try proportional control. With KI = 0 the loop stays first order, with time constant τm/(1 + KPKm) and step error 1/(1 + KPKm). KP = 0.2 V/(rad/s) gives a loop gain of 4, a 10 ms time constant, and 2 percent settling in 39 ms, but the speed settles 20 percent short of the command and droops 4 rad/s under the load. KP = 1 cuts the error to 4.8 percent, yet a 100 rad/s step would then demand 100 V at the first instant, more than four times what the amplifier can supply. The loop saturates, and the linear predictions no longer hold.
  2. Place the poles. Matching the denominator to τm(s2 + 2ζωns + ωn2) gives KI = ωn2τm/Km and KP = (2ζωnτm − 1)/Km. For ζ = 0.7 and ωn = 40 rad/s, KI = 4.0 V/rad and KP = 0.09 V/(rad/s).
  3. Predict with the prototype. The formulas give 4.6 percent overshoot, a 110 ms peak time, a 53 ms rise time (10 to 90 percent), and a 2 percent settling time of about 4/(0.7 × 40) ≈ 143 ms.
  4. Correct for the zero. The setpoint zero sits at −44 s−1, only 1.6 times the poles' real part of 28 s−1. Simulating the full transfer function gives 9.5 percent overshoot, a 33 ms rise time, a 73 ms peak time, and 2 percent settling in 128 ms: the zero doubles the overshoot and quickens the rise. For a 100 rad/s step, the amplifier output starts at 9 V and peaks at 9.3 V, inside its 24 V limit, so the linear model holds.
  5. Check steady state. The loop is type 1, so a speed step leaves no error. With Kv = KmKI = 80 s−1, the speed lags a constant acceleration of 200 rad/s2 by 200/80 = 2.5 rad/s.
  6. Check the load step. For the 1 V load step, the speed deviation in rad/s is [Km/(τmωd)] e−ζωnt sin ωdt. It peaks where ωdt = arccos ζ, a dip of 4.6 rad/s at 28 ms, and returns within 0.5 rad/s by 93 ms. No error remains, because the integrator sits upstream of the disturbance.
  7. Weigh the alternatives. A setpoint prefilter 1/(1 + sKP/KI), or proportional action on the measurement instead of the error, removes the setpoint zero. Overshoot returns to 4.6 percent and the load response is unchanged, but the lag during constant acceleration grows from 2.5 to 7.0 rad/s. Setting KI/KP = 1/τm instead cancels the motor pole and makes the setpoint response first order: with a 5 ms closed-loop time constant, a small speed step settles within 2 percent in 20 ms. The canceled pole still belongs to the loop, however. After the load step, the speed takes 155 ms to return within 0.1 rad/s, against 19 ms for a design with ζ = 0.7 and ωn = 200 rad/s, whose setpoint zero then needs a prefilter to avoid 18 percent overshoot.

Worked Example: A Regulator Load Step

A buck converter makes 3.3 V from 12 V with a 2.2 µH inductor and 100 µF of output capacitance, the effective value of its ceramic capacitors under DC bias, with 2 mΩ of ESR. It switches at 400 kHz under peak-current-mode control, and its voltage loop crosses over at 40 kHz, a tenth of the switching frequency, through a type II compensator whose zero sits at 4 kHz. The load current steps by 1 A in much less than a microsecond. Voltage Regulator Considerations describes the capacitor bank and the two mechanisms, loop bandwidth and inductor slew rate, that limit such a response.

  1. Treat the load as a disturbance. The loop sees only the voltage error that the load current causes. The deviation equals the load step times the closed-loop output impedance, Zcl(s) = Zol(s)/[1 + L(s)], which is the open-loop output impedance multiplied by the sensitivity function.
  2. Estimate the dip. Well below crossover, loop gain holds the impedance down; well above it, the output capacitor alone supports the voltage. The closed-loop impedance therefore peaks near crossover at roughly the capacitor's impedance there. Robert Kollman of Texas Instruments, in Power Tip #10 (EDN, April 2009), estimates the deviation as the load step times that peak impedance: ΔV ≈ ΔI/(2πfcCout) = 1 A/(2π × 40 kHz × 100 µF) ≈ 40 mV, or 1.2 percent of 3.3 V. The ESR adds an immediate step of 1 A × 2 mΩ = 2 mV.
  3. Test the estimate. A simple model treats the current-mode power stage as a current source feeding Cout, applies the type II compensator, and adds a first-order lag for the current loop and modulator. With the lag at 103 kHz, giving 66 degrees of phase margin, or at 55 kHz, giving 51 degrees, it predicts dips of 35 and 38 mV about 7 µs after the step. For phase margins from 40 to 85 degrees, the modeled dip stays between 83 and 98 percent of the estimate. The estimate ignores phase margin, and lower margins raise the peak.
  4. Check the large-signal limit. The inductor current can rise at (Vin − Vout)/L ≈ 4 A per microsecond and fall at Vout/L ≈ 1.5 A per microsecond, so it follows the 1 A step within a microsecond, well inside the loop's time scale of 1/(2πfc) ≈ 4 µs; the loop, not the inductor, limits this response. With a larger step or inductor, the charge the capacitor supplies while the current ramps sets a floor on the dip. For a step up, if the controller can apply the full input voltage across the inductor at once, the floor is LΔI2/[2Cout(Vin − Vout)], only 1.3 mV here.
  5. Estimate the recovery. The compensator zero leaves a slow closed-loop pole just above the zero frequency, near 4.4 kHz in the model, with a time constant of about 36 µs. The modeled output returns within 4 mV of its setpoint after 80 to 90 µs and within 2 mV after about 110 µs. Moving the zero lower adds phase margin but lengthens this tail.
  6. Read the ringing. If the dip rings, the ringing sits near the crossover frequency, and the decay of successive peaks gives the damping of the dominant closed-loop poles, from which ζ ≈ PM/100 gives a rough phase margin. A load step exercises the disturbance path rather than the setpoint path, so confirm a doubtful margin with a loop-gain measurement, as Stability Analysis and Compensation describes.

Summary

Time-domain specifications describe what a loop does after a change: how fast it responds, how far it overshoots, how soon it settles, and what error remains. The second-order prototype ties overshoot to ζ alone, peak time to ωd, and settling time to ζωn, turning each specification into a region of the s-plane. Those formulas are exact only for the prototype: the settling estimates can overstate the true value by 30 percent or more, extra poles and zeros shift every number, and a PI controller's zero can double the overshoot.

Steady-state accuracy comes from low-frequency loop gain: system type counts integrators, the error constants measure what remains, and disturbance rejection depends on where the integrators sit. Sensitivity sets the price, because a band in which feedback rejects disturbances also passes sensor noise, and sensitivity pushed down in one band rises in another. For loops near the prototype, ζ ≈ PM/100 and a bandwidth of 1.3 to 1.6 times crossover connect time-domain targets to frequency-domain design, and a small step test that keeps the loop linear checks the prediction against the hardware.

Related Topics