Category Archives: control systems

Part 4: Tuning the feedback controller

Our first order process is described by the equation yn+1 = ayn + kxn , where yn is the process output now (at time n),  xn is the process input between time n and time n+1, and yn+1 is the process output at time n+1.
a is the coefficient determining how quickly the process settles after a change in the input, and k is related to the process steady state gain (ratio of settled output to constant input).

If we set the input to be a constant x and the output settled value to be a constant y, then

y = ay + kx, and solving for y/x we get y/x = k/(1-a), the actual steady state gain.

In what follows the k will represent the actual steady state gain, the old k divided by (1-a)

The fist two plots show the process alone, with input set to 6 at time zero. In the first the steady state gain is set to 1, and in the second it is set to 2


contpic 2

Now we look a t the process under “direct” control, where the input is determined only by the chosen setpoint value. The two equations are

yn+1 = ayn + kxn  and  xn = Adn  (direct control: h is zero)

To obtain a controlled system with overall steady state gain equal to 1 (settled output  equal to desired output) it is easy to see that  has to be equal to (1-a)/k



It is not so obvious how the choice of h affects the performance of the controlled system. To do this we observe that the complete system is described entirely by the process equation and the controller equation together, and we can eliminate the xn from the two equations to get yn+1 = ayn + k(Adn + h(yn – dn))

which rearranged is yn+1 = (a + kh)yn + k(A – h)dn 

Substituting   (1-a)/k for A, as found above, gives  yn+1 = (a + kh)yn + (1 – a – kh)dn 

which has the required steady state gain of 1.

This final equation has the SAME structure as the process equation,
with a + kh in place of a

So now we will see how the value of the “a” coefficient affects the dynamic response of the system.

If h > 0 the controlled system will respond slower than with h = 0, and if h < 0 it will respond faster:


Setpoint changes were made at time 20 and at time 40

Congratulations if you got this far. This introduction to computer controlled processes has been kept as simple as possible, while using just the minimum amount of really basic math. The difficulties are in the interpretation and meaning of the various equations, and this something which is studiously avoided in school math. Such a shame.

Now you can run the program yourself, and play with the coefficients. It is a webpage with javascript:

Aspects and theoretical stuff which follow this (not here !) include the  backward shift operator z and its use in forming the transfer function of the system, behaviour of systems with wave form inputs to assess frequency response, representation of systems in matrix form (state space), non-linear systems and limit cycles, optimal control, adaptive control, and more…..

1 Comment

Filed under algebra, computer, control systems, discrete model, engineering, math, tuning, Uncategorized