<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.formulasearchengine.com/w/index.php?action=history&amp;feed=atom&amp;title=Template%3AMath%2Fdoc</id>
	<title>Template:Math/doc - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://en.formulasearchengine.com/w/index.php?action=history&amp;feed=atom&amp;title=Template%3AMath%2Fdoc"/>
	<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/w/index.php?title=Template:Math/doc&amp;action=history"/>
	<updated>2026-09-02T01:09:42Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.47.0-wmf.7</generator>
	<entry>
		<id>https://en.formulasearchengine.com/w/index.php?title=Template:Math/doc&amp;diff=22862&amp;oldid=prev</id>
		<title>en&gt;Hyacinth: /* See also */ {{Math templates}}</title>
		<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/w/index.php?title=Template:Math/doc&amp;diff=22862&amp;oldid=prev"/>
		<updated>2013-11-22T18:35:47Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;See also: &lt;/span&gt; {{Math templates}}&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{context|date=September 2013}}&lt;br /&gt;
{{technical|date=September 2013}}&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Smith predictor&amp;#039;&amp;#039;&amp;#039; (invented by [[Otto_J._M._Smith|O. J. M. Smith]] in 1957) is a type of predictive [[Controller_(control_theory)|controller]] for systems with pure time delay. The idea can be illustrated as follows. &lt;br /&gt;
&lt;br /&gt;
Suppose the plant consists of &amp;lt;math&amp;gt;G(z)&amp;lt;/math&amp;gt; followed by a pure time delay &amp;lt;math&amp;gt;z^{-k}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
As a first step, suppose we only consider &amp;lt;math&amp;gt;G(z)&amp;lt;/math&amp;gt; (the plant without a delay) and design a controller &amp;lt;math&amp;gt;C(z)&amp;lt;/math&amp;gt; with a [[closed-loop transfer function]] &amp;lt;math&amp;gt;H(z)=\frac{C(z) G(z)}{1+C(z)G(z)}&amp;lt;/math&amp;gt; that we consider satisfactory.&lt;br /&gt;
&lt;br /&gt;
Next, our objective is to design a controller &amp;lt;math&amp;gt;\bar{C}(z)&amp;lt;/math&amp;gt; for the plant &amp;lt;math&amp;gt;G(z) z^{-k}&amp;lt;/math&amp;gt; so that the closed loop transfer function &amp;lt;math&amp;gt;\bar{H}(z)&amp;lt;/math&amp;gt; equals &amp;lt;math&amp;gt;H(z) z^{-k}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Solving &amp;lt;math&amp;gt;\frac{\bar{C} G z^{-k}}{1+\bar{C}G z^{-k}} = z^{-k} \frac{C G }{1 + C G}&amp;lt;/math&amp;gt;,&lt;br /&gt;
we obtain&lt;br /&gt;
&amp;lt;math&amp;gt; \bar{C} = \frac{C}{1+CG(1-z^{-k})}&amp;lt;/math&amp;gt;. The controller is implemented as shown in the following figure, where &amp;lt;math&amp;gt;G(z)&amp;lt;/math&amp;gt; has been changed to &amp;lt;math&amp;gt;\hat{G}(z)&amp;lt;/math&amp;gt; to indicate that it is a model used by the controller.&lt;br /&gt;
&lt;br /&gt;
[[Image:Smith_predictor_1.svg]]&lt;br /&gt;
&lt;br /&gt;
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 seconds 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. &lt;br /&gt;
&lt;br /&gt;
To check that this works, a re-arrangement can be made as follows:&lt;br /&gt;
&lt;br /&gt;
[[Image:Smith_predictor_2.svg]]&lt;br /&gt;
&lt;br /&gt;
Here we can see that if the model used in the controller, &amp;lt;math&amp;gt;\hat{G}(z)z^{-k}&amp;lt;/math&amp;gt;,  matches the plant &amp;lt;math&amp;gt;G(z) z^{-k}&amp;lt;/math&amp;gt; perfectly, then the outer and middle feedback loops cancel each other, and the controller generates the &amp;quot;correct&amp;quot; control action.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
K. Warwick and D. Rees, &amp;#039;&amp;#039;Industrial Digital Control Systems&amp;#039;&amp;#039;, IET, 1988. [http://books.google.com/books?id=4dURB2NTstAC&amp;amp;pg=PA100&amp;amp;dq=%22smith+predictor%22+inauthor:warwick&amp;amp;lr=&amp;amp;as_brr=0&amp;amp;ei=-a_OSIz6BJWKyQSOwJDjBA&amp;amp;sig=ACfU3U36uGEHj5Azv-prDeRtQ0SE51QkVg]&lt;br /&gt;
&lt;br /&gt;
Smith predictor on-line simulator [http://www.pidlab.com/en/smith-predictor]&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://reference.wolfram.com/mathematica/ref/SmithDelayCompensator.html Compute the Smith predictor in Mathematica]&lt;br /&gt;
&lt;br /&gt;
{{systemstheory-stub}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Control theory]]&lt;/div&gt;</summary>
		<author><name>en&gt;Hyacinth</name></author>
	</entry>
</feed>