Smith Predictor Simulator — Dead-Time Compensation vs PI
Compare the step response of a standard PI controller and a Smith predictor on a first-order plus dead-time process in real time, and see how dead-time compensation reduces overshoot and shortens settling.
Parameters
Process gain K_p
—
Time constant T_p
s
Dead time L
s
PI proportional gain K_c
—
Integral time T_i is fixed to T_p by a simplified IMC rule (T_i = 5 s at defaults). The simulation runs from 0 to 60 s with dt = 0.05 s.
Results
—
Standard PI overshoot
—
Smith predictor overshoot
—
Standard PI settling time (5%)
—
Smith predictor settling time (5%)
Step Response y(t)
Red = standard PI response / Blue = Smith predictor response / Grey dashed = setpoint r = 1
Theory & Key Formulas
First-order plus dead-time process. K_p is the process gain, T_p the time constant and L the dead time:
$$G(s) = \frac{K_p}{T_p s + 1}\,e^{-L s}$$
Standard PI control law. K_c is the proportional gain and T_i the integral time:
Smith predictor internal model G_m and the modified feedback signal returned to the PI controller:
$$G_m(s) = \frac{K_p}{T_p s + 1}\,e^{-L s}, \qquad e(t) = r - \bigl(y(t) - y_{m,\text{delayed}}(t) + y_m(t)\bigr)$$
When the internal model matches the real plant, the control loop sees a plant without dead time, so the stability margin is restored. This tool fixes T_i = T_p (simplified IMC tuning).
What is the Smith Predictor Simulator?
🙋
I keep hearing the term "dead time" in temperature control. Why does it make PI tuning so painful?
🎓
In short, when there is a delay of L seconds between actuating and seeing the result, the PI cannot tell in real time whether it is over- or under-acting. Push the gain K_c up to react faster and the controller dumps too much during that delay, and the loop oscillates. Try K_c = 1.5 with dead time L = 3 s in the simulator above and watch the red PI trace ring.
🙋
Sure enough, the red line overshoots and oscillates. The blue Smith predictor settles smoothly. How can it differ so much?
🎓
The Smith predictor keeps a "copy" of the plant inside the controller. It takes the current measurement y(t) together with two model outputs—the delayed prediction y_m(t-L) and the undelayed prediction y_m(t)—and rebuilds the feedback signal as y(t) - y_m(t-L) + y_m(t). When the internal model is accurate, that combined signal looks like the output of a plant with no dead time.
🙋
Wait, the dead time just disappears? But in reality the delay is still there, right?
🎓
Exactly. The delay disappears only from the controller's point of view. The plant itself still needs L seconds before the output starts moving—you can see the blue trace stay at zero until t = 3 s. After that point, however, the response is fast and non-oscillatory, because the PI is allowed to use more aggressive gains without seeing the destabilising dead time.
🙋
That sounds great. Any downsides?
🎓
The biggest weakness is that performance degrades when the internal model no longer matches the real plant. Try changing T_p from 5 to 10 in the simulator. The real process now has a new T_p, while the Smith block keeps using the old model, so compensation is no longer perfect. In the field it is common for operating conditions to drift L and T_p, so practitioners back the PI gain off a little to keep margin.
Frequently Asked Questions
When the dead time L is comparable to the time constant T_p (defaults L = 3 s, T_p = 5 s), standard PI overshoots 30 to 50 % at about K_c = 1.5, and settling becomes very difficult beyond K_c = 2. The Smith predictor stays well behaved at the same K_c and can in principle run with a much larger gain. Sweep the sliders to compare the two responses.
With L = 0 the Smith feedback signal y - y_m_delayed + y_m collapses to y_m + (y - y_m) = y, so the controller is exactly the same as standard PI. As L grows, the standard PI response degrades while the Smith predictor keeps good performance as long as the internal model is accurate.
A widely used simplified IMC tuning rule sets T_i equal to the plant time constant T_p, which gives a good balance between overshoot and settling time. To keep the comparison simple, this tool fixes T_i = T_p; on a real plant T_i would normally also be tuned.
Yes, the Smith predictor is independent of the controller structure, so a PID-Smith combination is perfectly valid. In practice, however, the main purpose of dead-time compensation is to stop the integral term from destabilising the loop, and PI is usually enough. PID-Smith is reserved for plants where extra phase lead is genuinely useful.
Industrial Applications
Temperature control of long pipes: In chemical plants and steel mills, fluid travels long distances from a heater to the measurement point, producing dead times of seconds to minutes. Standard PI either oscillates or responds too slowly, so Smith predictors or PID-Smith are widely used for steam temperature, feed preheating and reactor inlet temperature loops.
Thickness and quality control of paper, film and sheet: In continuous sheet production, the material moves from the forming roll to the gauge sensor with a transport delay. Standard PI delivers sluggish control and poor product uniformity, so a Smith predictor is used to combine fast response with consistent product quality. Continuous casting and rolling mills face the same situation.
Composition control with online analyzers: When the top composition of a distillation column or the outlet concentration of a reactor is measured by an online analyzer, sampling and analysis add several minutes of delay. Standard PID is doomed to oscillate, so Smith predictors—or model predictive control like DMC—are adopted instead.
Remote control with communication delay: With the spread of IoT, communication delays in remote control loops have become non-negligible, and the Smith predictor idea has regained attention. Internet-based teleoperation, SCADA and multi-agent control all benefit from compensating the network delay with a Smith-like structure.
Common Misunderstandings
The most common misconception is that adding a Smith predictor "makes the dead time disappear". The physical delay in the plant is still there, and the output still cannot start moving until L seconds after the actuation. In the simulator the blue Smith trace stays at zero until t = 3 s. What the Smith predictor removes is the dead time from the closed-loop transfer function as seen by the controller—not the rise-time delay of the step response. The correct mental model is "more aggressive gains are now allowed".
Another frequent mistake is to underestimate how much the internal model matters. Dead-time compensation is exact only when the model G_m matches the real plant. This simulator deliberately runs with a perfect model, but in the field model parameters drift, and an inaccurate model degrades performance and may even make the loop worse than standard PI. The defensive practice is to detune the PI gain slightly below the theoretical optimum to keep robustness.
Finally, applying a Smith predictor to plants where dead time is not dominant is over-engineering. When L is small compared with T_p (rule of thumb L / T_p < 0.3), a well-tuned standard PI is usually adequate, and the extra modelling and maintenance cost of a Smith predictor is hard to justify. Smith predictors shine on dead-time-dominant plants with L / T_p > 0.5. Try varying L and T_p in the simulator and watch how the performance gap between the two controllers grows.