>
section 3 of 1211 min read

3. Time-Domain Response: How the System Reacts

To characterize a system, we feed it standardized test inputs and watch what the output does. The shape of the output, especially during the transient (before steady state), tells us almost everything about the system's controller-design implications.

3.1 Standard test inputs

Five inputs are universal in control theory.

  • Impulse δ(t)\delta(t): an instantaneous "tap." Mathematically, an infinite-height, zero-width spike with unit area. Tests the system's natural modes; the impulse response equals the inverse Laplace of the transfer function. Tap a bell, hear it ring; tap a damped system, watch it settle.
  • Step u(t)u(t): a sudden change to a constant. Models setting cruise control to 65, or commanding the thermostat to 22 °C, or turning on a power supply. Tests overshoot, rise time, settling.
  • Ramp tu(t)t \cdot u(t): linearly increasing. Tests tracking ability for moving targets. Tracking radar antennas need to follow a target whose angle is changing roughly linearly with time; the system's ramp response tells us how well.
  • Parabolic t2u(t)/2t^2 u(t)/2: accelerating. Tests tracking when the target is accelerating.
  • Sinusoid sin(ωt)\sin(\omega t): tests frequency response. Push a sine in, get a sine out (LTI assumption); the magnitude and phase of the output sine give you G(jω)|G(j\omega)| and G(jω)\angle G(j\omega).

The Laplace transforms are familiar from Chapter 3: δ(t)1\delta(t) \to 1, u(t)1/su(t) \to 1/s, tu(t)1/s2t u(t) \to 1/s^2, t2u(t)/21/s3t^2 u(t)/2 \to 1/s^3. Each is an integral of the previous one.

3.2 First-order systems

A first-order system has transfer function:

G(s)=KTs+1G(s) = \frac{K}{T s + 1}

The pole is at s=1/Ts = -1/T. TT is the time constant (units of seconds). KK is the DC gain (the steady-state output for a unit step input).

Step response: apply X(s)=1/sX(s) = 1/s, output Y(s)=K/(s(Ts+1))Y(s) = K/(s(Ts+1)). Partial fractions: K/sKT/(Ts+1)K/s - KT/(Ts+1), which is K/sK/(s+1/T)K/s - K/(s+1/T). Inverse Laplace:

y(t)=K(1et/T)y(t) = K (1 - e^{-t/T})

The output starts at zero and approaches KK exponentially. After one time constant TT, it has reached 1e163%1 - e^{-1} \approx 63\% of its final value. After 2T: 86%. After 3T: 95%. After 5T: 99.3%. The mnemonic: "five time constants is settled."

plaintext
   y(t)
     K ──────────────────────────  ← final value
        ╱  ─── ──  ─



   K(1−e⁻¹) ─┐
     │        ╱
     │       ╱
     │      ╱
     │     ╱
     │    ╱
     0    └────────────────────── t
          ↑          ↑
          T          5T

Bucket analogy. A bucket is filled through a small hose, with a leak proportional to the water level. The level rises fast at first (because the leak is small when the bucket is empty), then slows as the level rises and the leak grows, asymptotically approaching the level where leak rate equals fill rate. That is exactly the first-order step response, and it is exactly the math of charging an RC capacitor or warming up a coffee on a hot plate.

This is the equation for cruise control without the engine's torque dynamics, for thermal systems with a single thermal mass, for RC charging, for population growth toward carrying capacity, for medication concentration in the bloodstream, for the discharge of a single-tank reservoir. Wherever you see exponential approach to a constant, you are looking at a first-order system.

3.3 Second-order systems: the universal model

The second-order transfer function is one of the most-studied objects in engineering:

G(s)=ωn2s2+2ζωns+ωn2G(s) = \frac{\omega_n^2}{s^2 + 2\zeta\omega_n s + \omega_n^2}

Two parameters define everything:

  • ωn\omega_n: the natural frequency (radians per second). The frequency at which the system would oscillate if there were no damping.
  • ζ\zeta: the damping ratio (dimensionless). How strongly oscillations are damped.

Why this form is universal: any LTI system with two dominant poles has approximately this transfer function. So whether you are looking at a car suspension, an op-amp's compensation network, a quadcopter's roll axis, a PLL loop filter, or a heart's response to medication, the local behavior near the dominant poles is captured by this two-parameter family.

The poles are at s=ζωn±ωnζ21s = -\zeta \omega_n \pm \omega_n \sqrt{\zeta^2 - 1}.

Three regimes by damping:

  • ζ=0\zeta = 0 (undamped): poles on the imaginary axis at ±jωn\pm j \omega_n. Sustained oscillation forever. Marginally stable.
  • 0<ζ<10 < \zeta < 1 (underdamped): complex conjugate poles with negative real part. Damped oscillation; the system overshoots, rings, settles.
  • ζ=1\zeta = 1 (critically damped): real, repeated pole at ωn-\omega_n. Fastest non-oscillatory response.
  • ζ>1\zeta > 1 (overdamped): two distinct real poles. Slow, sluggish, no overshoot.
plaintext
   y(t)

    │   ζ = 0       (undamped: oscillates forever)
    │  ╱╲    ╱╲    ╱╲
    │ ╱  ╲  ╱  ╲  ╱  ╲
    │╱    ╲╱    ╲╱    ╲
   1┤- - - - - - - - - - - - - - - - reference
    │  ╱╲      _
    │ ╱  ╲   ╱   ───── ζ = 0.4 (ringing settles)
    │╱    ╲ ╱
    │  ╱──────────  ζ = 1.0  (no overshoot, fastest)
    │ ╱
    │╱   ────────  ζ = 2.0  (overdamped, slow)
    │   ─
    └─────────────────────── t

3.4 Deriving the underdamped step response

The intuition above hides a beautiful derivation. Let us do it. For 0<ζ<10 < \zeta < 1, the poles are at:

s=ζωn±jωn1ζ2s = -\zeta \omega_n \pm j \omega_n \sqrt{1 - \zeta^2}

Define the damped natural frequency ωd=ωn1ζ2\omega_d = \omega_n \sqrt{1 - \zeta^2}. So the poles are at ζωn±jωd-\zeta \omega_n \pm j \omega_d.

For a unit step input X(s)=1/sX(s) = 1/s, the output is:

Y(s)=ωn2s(s2+2ζωns+ωn2)Y(s) = \frac{\omega_n^2}{s (s^2 + 2 \zeta \omega_n s + \omega_n^2)}

Partial fraction decomposition:

Y(s)=1ss+2ζωns2+2ζωns+ωn2Y(s) = \frac{1}{s} - \frac{s + 2 \zeta \omega_n}{s^2 + 2 \zeta \omega_n s + \omega_n^2}

Complete the square in the denominator: s2+2ζωns+ωn2=(s+ζωn)2+ωd2s^2 + 2 \zeta \omega_n s + \omega_n^2 = (s + \zeta \omega_n)^2 + \omega_d^2. Rewrite the numerator: s+2ζωn=(s+ζωn)+ζωns + 2 \zeta \omega_n = (s + \zeta \omega_n) + \zeta \omega_n. So:

Y(s)=1ss+ζωn(s+ζωn)2+ωd2ζωn(s+ζωn)2+ωd2Y(s) = \frac{1}{s} - \frac{s + \zeta \omega_n}{(s + \zeta \omega_n)^2 + \omega_d^2} - \frac{\zeta \omega_n}{(s + \zeta \omega_n)^2 + \omega_d^2}

Use the tables: 1/s11/s \to 1, s+a(s+a)2+ω2eatcos(ωt)\frac{s+a}{(s+a)^2 + \omega^2} \to e^{-at}\cos(\omega t), ω(s+a)2+ω2eatsin(ωt)\frac{\omega}{(s+a)^2 + \omega^2} \to e^{-at}\sin(\omega t). The third term needs adjustment: multiply numerator and denominator by ωd/ωd\omega_d/\omega_d to get ζωn/ωdωd...\frac{\zeta \omega_n / \omega_d \cdot \omega_d}{...}.

After inverse Laplace:

y(t)=1eζωnt(cosωdt+ζ1ζ2sinωdt)y(t) = 1 - e^{-\zeta \omega_n t} \left( \cos \omega_d t + \frac{\zeta}{\sqrt{1 - \zeta^2}} \sin \omega_d t \right)

Or, using the trig identity Acosθ+Bsinθ=A2+B2cos(θϕ)A \cos \theta + B \sin \theta = \sqrt{A^2 + B^2} \cos(\theta - \phi) with ϕ=arctan(B/A)\phi = \arctan(B/A):

y(t)=1eζωnt1ζ2cos(ωdtarctanζ1ζ2)y(t) = 1 - \frac{e^{-\zeta \omega_n t}}{\sqrt{1 - \zeta^2}} \cos \left( \omega_d t - \arctan\frac{\zeta}{\sqrt{1-\zeta^2}} \right)

Or equivalently:

y(t)=1eζωnt1ζ2sin(ωdt+cos1ζ)y(t) = 1 - \frac{e^{-\zeta \omega_n t}}{\sqrt{1 - \zeta^2}} \sin \left( \omega_d t + \cos^{-1}\zeta \right)

The step response is a damped oscillation around the final value 1, with:

  • Decay envelope eζωnte^{-\zeta \omega_n t} (decay rate ζωn\zeta \omega_n).
  • Oscillation frequency ωd\omega_d.

3.5 Performance specs for second-order systems

Specific landmarks of the underdamped step response:

Maximum overshoot MpM_p, the peak relative to final value:

Mp=eπζ/1ζ2M_p = e^{-\pi \zeta / \sqrt{1 - \zeta^2}}

For ζ=0.7\zeta = 0.7: Mp4.6%M_p \approx 4.6\%. For ζ=0.5\zeta = 0.5: Mp16%M_p \approx 16\%. For ζ=0.3\zeta = 0.3: Mp37%M_p \approx 37\%. As ζ0\zeta \to 0, overshoot approaches 100% (the system swings to twice the reference). As ζ1\zeta \to 1, overshoot vanishes.

Peak time tpt_p: time from step to first peak.

tp=πωd=πωn1ζ2t_p = \frac{\pi}{\omega_d} = \frac{\pi}{\omega_n \sqrt{1-\zeta^2}}

Rise time trt_r: time to go from 0 to first crossing of final value (or sometimes 10% to 90%).

tr1.8ωn(for 0.5ζ0.9)t_r \approx \frac{1.8}{\omega_n} \quad \text{(for } 0.5 \leq \zeta \leq 0.9)

Settling time tst_s (within 2% of final):

ts4ζωnt_s \approx \frac{4}{\zeta \omega_n}

(For 5% settling, use 3 instead of 4.)

The trade-off: increase ωn\omega_n for faster response (lower rise time, lower settling time) but higher control effort. Increase ζ\zeta for less overshoot but slower response. The sweet spot for most servo systems is ζ0.6\zeta \approx 0.6 to 0.80.8, often described as "ζ=0.707\zeta = 0.707" or "2/2\sqrt{2}/2" damping; it gives about 4% overshoot and a fast settling time.

Cruise-control feel. With ζ=1\zeta = 1, you set 65 mph and the car climbs to 65 with no overshoot but somewhat slowly. With ζ=0.7\zeta = 0.7, the car climbs faster, briefly overshoots to 67, then settles at 65 quickly. Drivers report this feels "responsive." With ζ=0.3\zeta = 0.3, the car overshoots to 75, falls back to 60, climbs again to 70, falls again, and slowly converges. This feels "wobbly" and is unsafe.

3.6 Effects of additional poles and zeros

Pure second-order systems are an idealization. Real systems have more poles and zeros. Their main effects:

  • Additional pole far to the left of the dominant poles: small effect, the dominant poles dominate.
  • Additional pole near the dominant poles: makes the response slower and more sluggish; effectively reduces the damping and bandwidth.
  • Zero in the left half plane near a pole: cancels (or partially cancels) that pole's contribution. A zero near the imaginary axis can dramatically increase overshoot. A "lead" compensator works by adding a beneficially placed zero.
  • Zero in the right half plane (RHP zero, "non-minimum-phase" system): causes the step response to initially go the wrong way before turning around. Inverted pendulum balance, level control of a boiler with shrink-and-swell dynamics, and aircraft pitch with a rear elevator all have RHP zeros. Notoriously difficult to control.

3.7 Steady-state error and error coefficients

How accurately does the system track different inputs in steady state? For a closed-loop system with unity feedback and forward-path transfer function G(s)G(s), the steady-state error to a reference R(s)R(s) is (by the final value theorem):

e=lims0sR(s)1+G(s)e_\infty = \lim_{s \to 0} \frac{s R(s)}{1 + G(s)}

The result depends on the system type: the number of pure integrators (1/s1/s factors) in G(s)G(s). Define three error constants:

Kp=lims0G(s)(position error constant)K_p = \lim_{s \to 0} G(s) \quad \text{(position error constant)} Kv=lims0sG(s)(velocity error constant)K_v = \lim_{s \to 0} s G(s) \quad \text{(velocity error constant)} Ka=lims0s2G(s)(acceleration error constant)K_a = \lim_{s \to 0} s^2 G(s) \quad \text{(acceleration error constant)}

The names are misleading; "position" really means "for a position-step input," "velocity" for a ramp (constant velocity reference), "acceleration" for a parabolic reference. For each system type:

InputType 0 (no integrators)Type 1 (one integrator)Type 2 (two integrators)
Step11+Kp\frac{1}{1+K_p}00
Ramp\infty1Kv\frac{1}{K_v}0
Parabolic\infty\infty1Ka\frac{1}{K_a}

The pattern: each integrator in the loop drops the error by one type. Type 0 has finite error to a step; Type 1 has zero error to a step but finite error to a ramp; Type 2 has zero error to a ramp but finite error to a parabola.

Why integrators kill steady-state error. An integrator in the loop, with constant input, ramps its output until the input goes to zero. So an integrator inside the controller will keep ramping the control signal until the error at its input goes to zero. The system has no choice but to drive the error to zero in steady state, because if it didn't, the integrator would just keep ramping. This is the fundamental reason every PID controller has an "I" term: it forces zero steady-state error.

A type-0 servo system (no free integrator) tracking a step always has some residual error: the controller needs nonzero error to produce nonzero output, so the error never quite goes to zero. Adding an integrator (making it type 1) eliminates this; the integrator quietly accumulates whatever offset is needed to keep the output exactly at the reference. A type-2 system can additionally track ramping references with no error, useful in tracking radars and constant-velocity scanning systems.

3.8 Performance indices

To compare controllers numerically, integrate a function of the error:

  • IAE (integral of absolute error): 0e(t)dt\int_0^\infty |e(t)|\,dt. Treats all errors equally.
  • ISE (integral of squared error): 0e2(t)dt\int_0^\infty e^2(t)\,dt. Penalizes large errors strongly. Good for cases where big swings are catastrophic.
  • ITAE (integral of time-weighted absolute error): 0te(t)dt\int_0^\infty t \cdot |e(t)|\,dt. Penalizes errors that linger at long times. Best correspondence with what humans perceive as "good" response.
  • ITSE (integral of time-weighted squared error): 0te2(t)dt\int_0^\infty t \cdot e^2(t)\,dt. Hybrid.

Most modern auto-tuners optimize ITAE because the resulting designs feel "snappy" without being unstable.