Non-reducing error

[From Rupert Young (2013.03.12 07.10 BST)]

In control systems I have been implementing I notice that after stabilisation there is constant error which does not reduce. On further investigation I see that this happens when, in the computation for the output, the gain * error is equal to the existing output, in ,

o(t+1) = o(t) + s[g . e - o(t)]

that is, when g . e -o(t) is zero then no more corrections are made to the output even though there is still error.

The size of the constant error is dependent upon the value used for the gain, that is the higher the value of the gain the smaller will be the size of the non-reducing error.

Are these observations known and expected characteristics of the form of the above formula used in the computations?

···

--

Regards,
Rupert

[Martin Taylor 2013.03.12.09.44]

[From Rupert Young (2013.03.12 07.10 BST)]

In control systems I have been implementing I notice that after stabilisation there is constant error which does not reduce. On further investigation I see that this happens when, in the computation for the output, the gain * error is equal to the existing output, in ,

o(t+1) = o(t) + s[g . e - o(t)]

that is, when g . e -o(t) is zero then no more corrections are made to the output even though there is still error.

The size of the constant error is dependent upon the value used for the gain, that is the higher the value of the gain the smaller will be the size of the non-reducing error.

Are these observations known and expected characteristics of the form of the above formula used in the computations?

Yes.

It's good that you find it from simulating the behaviour rather than from the theory. But you can get at it the other way, too.

Suppose you have a control system for which you can specify a loop gain G (something you cannot do if your output stage is a pure integrator, but you can if it is a leaky integrator). Assuming that all the loop gain is concentrated in the output function, you can work your way around the loop and figure out what residual error is to be expected.

p = o + d
    = G*(r-p) + d
    = G*r - G*p + d

Solving for p gives

p*(1+G) = G*r + d

p = G*r/(1+G) + d/(1+G)

The remaining error is r-p.

r - p = r - (G*r/(1+G) + d/(1+G))
         = (r*(1+G) - G*r + d)/(1+G)
         = (r+d)/(1+G)

The greater the gain, the less the residual error, but if the gain is finite, the error is always there.

You are using a leaky integrator, so what is happening to leave this error behind. You hit it on the head with your equation, but what does the equation mean physically? Think of the integrator as a water barrel with a small hole in the bottom. The rate of flow out of the small hole is proportional to the head of water in the barrel. The more water in the barrel, the quicker the outflow. If there is a constant inflow, there comes a time when the outflow matches the inflow and the amount of water in the barrel remains constant. In the case of the control system, the "inflow rate" corresponds to the error value, which isn't constant, but reduces over time. However, when the leak rate is equal to the error inflow rate, the "water level" in the integrator doesn't change any more, and neither does the error value. At that point, nothing further changes. (Of course, this stage is actually reached only after infinite time, if everything is as ideal as the equations suggest, but with finite arithmetic there comes a point when either the leak rate and the error input match or there is a small oscillation around evenness).

So yes, you have found a truth about the kind of control systems that can be characterized as having a definite loop gain.

Martin

[From Rupert Young (2013.03.18 10.40 UT)]

Thanks, the water barrel is a good way to think about it.

Regards,
Rupert

···

On 12/03/2013 14:09, Martin Taylor wrote:

[Martin Taylor 2013.03.12.09.44]

[From Rupert Young (2013.03.12 07.10 BST)]

In control systems I have been implementing I notice that after stabilisation there is constant error which does not reduce. On further investigation I see that this happens when, in the computation for the output, the gain * error is equal to the existing output, in ,

o(t+1) = o(t) + s[g . e - o(t)]

that is, when g . e -o(t) is zero then no more corrections are made to the output even though there is still error.

The size of the constant error is dependent upon the value used for the gain, that is the higher the value of the gain the smaller will be the size of the non-reducing error.

Are these observations known and expected characteristics of the form of the above formula used in the computations?

Yes.

It's good that you find it from simulating the behaviour rather than from the theory. But you can get at it the other way, too.

Suppose you have a control system for which you can specify a loop gain G (something you cannot do if your output stage is a pure integrator, but you can if it is a leaky integrator). Assuming that all the loop gain is concentrated in the output function, you can work your way around the loop and figure out what residual error is to be expected.

p = o + d
   = G*(r-p) + d
   = G*r - G*p + d

Solving for p gives

p*(1+G) = G*r + d

p = G*r/(1+G) + d/(1+G)

The remaining error is r-p.

r - p = r - (G*r/(1+G) + d/(1+G))
        = (r*(1+G) - G*r + d)/(1+G)
        = (r+d)/(1+G)

The greater the gain, the less the residual error, but if the gain is finite, the error is always there.

You are using a leaky integrator, so what is happening to leave this error behind. You hit it on the head with your equation, but what does the equation mean physically? Think of the integrator as a water barrel with a small hole in the bottom. The rate of flow out of the small hole is proportional to the head of water in the barrel. The more water in the barrel, the quicker the outflow. If there is a constant inflow, there comes a time when the outflow matches the inflow and the amount of water in the barrel remains constant. In the case of the control system, the "inflow rate" corresponds to the error value, which isn't constant, but reduces over time. However, when the leak rate is equal to the error inflow rate, the "water level" in the integrator doesn't change any more, and neither does the error value. At that point, nothing further changes. (Of course, this stage is actually reached only after infinite time, if everything is as ideal as the equations suggest, but with finite arithmetic there comes a point when either the leak rate and the error input match or there is a small oscillation around evenness).

So yes, you have found a truth about the kind of control systems that can be characterized as having a definite loop gain.

Martin