# Smith predictor

The Smith predictor (invented by O. J. M. Smith in 1957) is a type of predictive controller designed to control systems with a significant feedback time delay. The idea can be illustrated as follows.

Suppose the plant consists of ${\displaystyle G(z)}$ followed by a pure time delay ${\displaystyle z^{-k}}$. ${\displaystyle z}$ refers to the Z-transform of the transfer function relating the inputs and outputs of the plant ${\displaystyle G}$.

As a first step, suppose we only consider ${\displaystyle G(z)}$ (the plant without a delay) and design a controller ${\displaystyle C(z)}$ with a closed-loop transfer function ${\displaystyle H(z)={\frac {C(z)G(z)}{1+C(z)G(z)}}}$ that we consider satisfactory.

Next, our objective is to design a controller ${\displaystyle {\bar {C}}(z)}$ for the plant ${\displaystyle G(z)z^{-k}}$ so that the closed loop transfer function ${\displaystyle {\bar {H}}(z)}$ equals ${\displaystyle H(z)z^{-k}}$.

Solving ${\displaystyle {\frac {{\bar {C}}Gz^{-k}}{1+{\bar {C}}Gz^{-k}}}=z^{-k}{\frac {CG}{1+CG}}}$, we obtain ${\displaystyle {\bar {C}}={\frac {C}{1+CG(1-z^{-k})}}}$. The controller is implemented as shown in the following figure, where ${\displaystyle G(z)}$ has been changed to ${\displaystyle {\hat {G}}(z)}$ to indicate that it is a model used by the controller.

Note that there are two feedback loops. The outer control loop feeds the output back to the input, as usual. However, this loop alone would not provide satisfactory control, because of the delay; this loop is feeding back outdated information. Intuitively, for the k sample intervals during which no fresh information is available, the system is controlled by the inner loop which contains a predictor of what the (unobservable) output of the plant G currently is.

To check that this works, a re-arrangement can be made as follows:

Here we can see that if the model used in the controller, ${\displaystyle {\hat {G}}(z)z^{-k}}$, matches the plant ${\displaystyle G(z)z^{-k}}$ perfectly, then the outer and middle feedback loops cancel each other, and the controller generates the "correct" control action. In reality, however, it is impossible for the model to perfectly match the plant.

## References

• K. Warwick and D. Rees, Industrial Digital Control Systems, IET, 1988. [1]