Control Systems
The Smith Predictor: Taming Processes With Long Dead Time
A pulp-mill digester can take 6 minutes to register a change in steam flow; a 300 m paper-machine dry line responds to a moisture-control move only after the sheet physically travels the gap. Try to close a loop that fast with an ordinary PID controller and you get a choice between a sluggish detune or a shrieking oscillation — because the delay θ adds phase lag of −ωθ radians that no gain margin survives. In 1957 Otto J. M. Smith published a deceptively simple fix: put a model of the process inside the loop, subtract off the part you can't see yet, and let the controller regulate a phantom, delay-free plant.
The Smith Predictor is the archetypal dead-time compensator (DTC). Done right, it lets you tune a loop as if the transport lag simply weren't there — pushing bandwidth up by factors of 3–10 on delay-dominated processes. Done carelessly, a 20 % error in the assumed delay can drive the same loop unstable.
- InventedO. J. M. Smith, 1957
- Governing ideaLoop TF becomes GcGp/(1+GcGp), delay-free
- Best forθ/τ ≥ 1 (delay-dominant)
- Key metricDelay mismatch Δθ/θ tolerance ≈ ±10–30 %
- Hard limitOpen-loop-stable plants only
- Used inPaper, pulp, refining, HVAC, networked control
Interactive visualization
Press play, or step through manually. The visualization is yours to drive — try it before reading on.
Watch the 60-second explainer
A condensed visual walkthrough — narrated, captioned, under a minute.
Why Dead Time Is the Villain
Every real process has transport delay — the time θ between an actuator move and the first flicker of response at the sensor. It comes from physical travel (material moving down a conveyor or through a pipe at velocity v over length L, so θ = L/v), from analyzer sample loops, from computation and network latency, or from the summed lags of many small stages. In the Laplace domain a pure delay is the transcendental factor e⁻θˢ, and that is what makes the problem hard.
A pure lag has unity magnitude at all frequencies — it steals no amplitude — but its phase drops linearly and without bound: ∠e⁻ⁱωθ = −ωθ radians. On a Bode plot that is a relentless downward ramp. The loop crosses −180° at ω ≈ π/θ (plus whatever the rest of the plant contributes), and beyond that any loop gain above unity means positive feedback. So the classic FOPDT plant
- G_p(s) = K·e⁻θˢ / (τs + 1), with process gain K, time constant τ, and dead time θ,
forces a brutal compromise. The dead-time ratio θ/τ is the single number that predicts pain: below ~0.2 a well-tuned PID barely notices; above ~1 the process is delay-dominant and a plain PID must be crippled to stay stable, giving lazy 10–20 τ settling and poor disturbance rejection. That regime is exactly where the Smith Predictor earns its keep.
The Core Trick: Regulate a Phantom Plant
Smith's insight was to give the controller an internal model of the plant, split into its delay-free dynamics and its delay: Ĝ_p(s) = Ĝ_m(s)·e⁻θ̂ˢ, where Ĝ_m is the model without delay (K̂/(τ̂s+1) for FOPDT) and θ̂ is the modeled delay. The controller output u drives both the real plant and this model in parallel.
The predictor forms two signals and adds a correction to the feedback path. The feedback the controller actually sees is:
- y_fb = y + Ĝ_m·u − Ĝ_m·e⁻θ̂ˢ·u — the real (delayed) output, plus the model's undelayed prediction, minus the model's delayed prediction.
Under a perfect model (Ĝ_m = G_m, θ̂ = θ), the real delayed output y = G_m·e⁻θˢ·u cancels the model's delayed term, and the controller is left seeing G_m·u — the undelayed plant. Work the algebra on the whole loop and the closed-loop transfer function collapses to:
- Y(s)/R(s) = [G_c·G_m / (1 + G_c·G_m)] · e⁻θˢ
Read that carefully. The characteristic equation is 1 + G_c·G_m = 0 — the delay e⁻θˢ has vanished from the denominator. The setpoint response is that of the delay-free loop, merely shifted in time by θ (you still cannot beat physics — the output can't move before θ elapses). This is why the compensator is often drawn as the controller wrapped by an inner positive-feedback path Ĝ_m(1 − e⁻θ̂ˢ): it manufactures a prediction of where the output is headed and hands it to G_c before the real signal arrives.
Designing the Primary Controller
Because the predictor hides the delay, you get to tune G_c against the delay-free model Ĝ_m alone — a huge simplification. A clean recipe:
- 1. Identify the FOPDT model. From a step test extract K (Δy/Δu), τ (the 63.2 % rise time of the delay-free part), and θ (the flat region before response). This is the same reaction-curve fitting used for Ziegler–Nichols, but here θ and τ go to different places.
- 2. Build the internal model Ĝ_m = K̂/(τ̂s+1) and the delay block e⁻θ̂ˢ separately in the controller.
- 3. Tune G_c for the delay-free loop. A PI controller G_c = K_c(1 + 1/(T_i·s)) is typical; set T_i = τ̂ to cancel the process pole, then pick K_c for the desired closed-loop time constant λ. IMC (Internal Model Control) tuning gives K_c = τ̂/(K̂·λ), where λ is your single speed knob — smaller λ is faster and less robust.
- 4. Choose λ conservatively. A common robust starting point is λ ≈ max(0.5·τ̂, θ̂), backing off toward larger λ if the delay estimate is shaky.
The payoff is quantitative. Where a delay-dominant PID is stuck near a loop crossover ω_c ≈ 0.2–0.5/θ, the Smith loop can run ω_c ≈ 1–3/τ, because θ no longer sets the phase budget. On a θ/τ = 2 process that is roughly a 3–10× bandwidth gain and a matching cut in integrated absolute error (IAE) for load upsets.
The Robustness Catch: Model Mismatch
The cancellation that makes the Smith Predictor magical is also its Achilles' heel: it is exact only when the model is exact. In practice K̂ ≠ K, τ̂ ≠ τ, and — most dangerously — θ̂ ≠ θ. The residual (y − ŷ) no longer cancels, the delay term creeps back into the characteristic equation, and the very phase margin you spent on bandwidth erodes.
Delay mismatch is the killer. An error Δθ = θ − θ̂ injects an extra phase term of −ωΔθ into the loop. Near crossover ω_c, a phase erosion of ΔΦ ≈ ω_c·Δθ eats directly into the phase margin PM. A rough stability screen: instability threatens when ω_c·Δθ ≳ PM (in radians). So an aggressively tuned loop (high ω_c, thin PM) can be tipped over by a delay error of only 10–20 %, while a conservatively tuned one might tolerate ±30–50 %. This is the central speed-vs-robustness trade-off of every DTC.
- Gain error K̂/K mainly shifts steady-state loop gain — the integral action in G_c cleans up the offset, so it is forgiving.
- τ mismatch spoils the pole-cancellation, adding a slow tail but rarely instability.
- θ mismatch attacks phase directly and is the dominant failure mode — always the parameter to over-instrument.
Modern variants — the filtered Smith Predictor (FSP) and IMC-based DTCs — add a tuning filter F(s) in the prediction-error path to trade nominal speed for a fatter robustness margin and to reject disturbances better, since the classic structure's disturbance response is often mediocre.
The Hard Wall: Unstable and Integrating Plants
There is a limitation no tuning fixes: the classic Smith Predictor is valid only for open-loop-stable plants. The reason is structural. The internal model Ĝ_m·e⁻θ̂ˢ runs in open loop — nothing feeds its output back to correct it. If the true plant has a pole in the right half-plane (an unstable reactor) or on the imaginary axis (a pure integrator, common in level and some temperature loops), the model's own prediction diverges without bound, and even with a perfect model the overall closed loop has hidden unstable modes.
Practically this shows up in two ways:
- Integrating processes (Ĝ_m ∝ 1/s, e.g., tank level, batch temperature under integrating dynamics) give a Smith loop that cannot reject constant load disturbances — a persistent offset or drift, because the open-loop model integrates the same disturbance the plant does but never sees it.
- Unstable processes simply blow up; the standard predictor is inadmissible.
The remedies are dedicated modified structures: the Åström–Hang–Lim disturbance-observer form for integrators, and filtered/two-degree-of-freedom Smith predictors (Watanabe–Ito, Majhi–Atherton, and Normey-Rico's FSP) that stabilize the internal model with an added feedback loop before the delay compensation is applied. If your plant is unstable or integrating, reach for these — not the 1957 original.
Where It Runs: Hardware and Real Loops
The Smith Predictor lives almost entirely in software — it is a block in a DCS or PLC executing on a scan of 100 ms to 1 s. Because the delay is realized digitally, e⁻θˢ becomes a simple N-sample shift register, N = round(θ̂/T_s), where T_s is the sample time; each controller output is buffered and replayed N scans later. That makes θ̂ trivially adjustable — and, in adaptive versions, retunable online. Vendors ship it directly: Yokogawa's CENTUM and Honeywell/Emerson DCS libraries include Smith-predictor and dead-time-compensation function blocks, and MATLAB's Control System Toolbox / Simulink has a canonical implementation.
Representative deployments and their numbers:
- Pulp & paper. Basis-weight and moisture loops with the sheet-travel delay (θ = scan-to-sensor gap ÷ machine speed, often 5–30 s); Kappa/consistency control on digesters with θ of several minutes.
- Refining & petrochemical. Composition loops closed on a gas chromatograph whose analysis cycle is itself the delay — θ of 3–10 minutes with τ comparable, a textbook θ/τ ≈ 1 case.
- HVAC and large thermal systems. Long duct runs and slabs where transport plus thermal lag gives tens of seconds to minutes of θ.
- Networked and teleoperated control. Communication latency across a wireless or internet link is a variable transport delay; predictor-based schemes compensate round-trip times of tens to hundreds of milliseconds.
Best Practice, Diagnostics, and When to Skip It
The Smith Predictor is a specialist tool. Use this checklist before and after you deploy one:
- Screen by θ/τ. If θ/τ < 0.2, a well-tuned PID is fine — skip the compensator and its fragility. Reserve the predictor for θ/τ ≳ 1 where the payoff is real.
- Instrument the delay. Because θ mismatch is the dominant failure mode, measure θ as carefully as you can and update it when operating conditions change it (line speed, flow, load). An adaptive Smith predictor that re-estimates θ̂ online is worth the effort on variable-delay loops.
- Tune for margin, not heroics. Pick λ so that a ±(20–30) % delay error still leaves ≥ 30° phase margin. The condition ω_c·Δθ_max ≤ PM is a fast paper check.
- Watch the disturbance response. The classic structure regulates setpoints beautifully but rejects load upsets only so-so; if disturbance rejection dominates your KPIs, use a filtered Smith predictor or a disturbance-observer variant.
- Confirm plant stability. No unstable or integrating plant on the classic form — full stop.
Failure signatures to recognize on a trend: a slow-growing oscillation after a process change usually means the real θ drifted away from θ̂ (delay mismatch); a stubborn steady-state offset on load points on an integrating plant means you've applied the wrong structure; and a loop that is calm at setpoint but wanders on disturbances is the classic-structure disturbance weakness. Each maps to a specific fix, which is the whole appeal of a model-based compensator: the failure modes are diagnosable, not mysterious.
| Attribute | Detuned PID | Smith Predictor | Why it matters |
|---|---|---|---|
| Effective phase lag from θ | Full −ωθ, limits gain | Removed from char. equation | Sets achievable bandwidth |
| Achievable closed-loop bandwidth | ω_c ≈ 0.2–0.5/θ | ω_c ≈ 1–3/τ | 3–10× faster settling |
| Overshoot to setpoint step | 20–60 % if pushed | < 5 % (tune on delay-free loop) | Product-quality spec |
| Sensitivity to delay error Δθ | Graceful | Sharp; instability near Δθ/θ ≈ 0.3 | Robustness trade-off |
| Works on unstable plant | Yes (with care) | No — internal model diverges | Screening rule |
Frequently asked questions
Why use a Smith Predictor instead of just detuning a PID?
On a delay-dominant loop (θ/τ ≳ 1) a plain PID must be detuned until its crossover sits near ω ≈ 0.2–0.5/θ, giving lazy settling and weak disturbance rejection because the −ωθ phase lag devours the gain margin. The Smith Predictor removes e⁻θˢ from the characteristic equation, so you tune against the delay-free model and can run 3–10× more bandwidth for the same stability margin. Below θ/τ ≈ 0.2 the advantage disappears and the added model fragility isn't worth it.
What is the single most common way a Smith Predictor fails?
Delay mismatch. If the true dead time θ drifts away from the modeled θ̂, an extra phase term −ωΔθ re-enters the loop and eats the phase margin, roughly when ω_c·Δθ approaches the phase margin in radians. An aggressively tuned loop can go unstable with only a 10–20 % delay error, which is why θ must be the best-instrumented parameter and why adaptive delay estimation is common on variable-delay processes.
Can I use a Smith Predictor on a tank-level or unstable reactor loop?
Not the classic form. Its internal model runs in open loop, so a plant with a pure integrator (level) or a right-half-plane pole (unstable reactor) makes the prediction diverge, and the loop either cannot reject constant load disturbances or blows up outright. Use dedicated modified structures instead — Åström–Hang–Lim for integrators, or filtered/two-degree-of-freedom Smith predictors (Watanabe–Ito, Normey-Rico's FSP) that stabilize the model first.
How do you tune the primary controller inside the loop?
Identify an FOPDT model (K, τ, θ) from a step test, then tune G_c against the delay-free model Ĝ_m = K̂/(τ̂s+1) as if no delay existed. A standard IMC-PI recipe sets T_i = τ̂ to cancel the process pole and K_c = τ̂/(K̂·λ), where λ is your single robustness/speed knob. Start conservative — λ ≈ max(0.5τ̂, θ̂) — and only tighten λ once you trust the delay estimate.
What are the practical limits on the dead-time ratio θ/τ?
There's no theoretical upper limit — the compensator handles θ ≫ τ — but the practical limit is robustness. As θ grows relative to τ, the loop becomes more sensitive to delay estimation error, so accurately measuring θ matters more. Below θ/τ ≈ 0.2 a normal PID is easier and just as good; the sweet spot for a Smith Predictor is roughly θ/τ from 1 to 10 with a well-known delay.
How is the delay e⁻θˢ actually implemented in a controller?
As a digital shift register (transport-delay buffer). With sample time T_s, the block stores N = round(θ̂/T_s) past controller outputs and replays them N scans later. This makes θ̂ trivially adjustable at runtime — the basis for adaptive Smith predictors — and it executes within a normal DCS or PLC scan of 100 ms to 1 s, so the compensator adds negligible computational load.