Determining "large" and "fast" disturbances

[From Bill Powers (950516.1530 MDT)]

Hans Blom (950516, continued) --

Now that you've had a chance to consider the modified model, let's talk
about physical time and scaling.

First, physical time:

In my model, the output function was a leaky integrator, described by

o := o + (1000.0 * e - o)/1001.0;

There is a hidden assumption in this program step, which I left hidden
because it is hidden in your model, too. The assumption concerns the
amount of physical time that is represented by one iteration of the
program.

In your model, the physical system is represented as

xt = c + at*xt + bt*u + (white noise term)

On each iteration, xt increases by a fraction "at" which is less than 1.
However, the time duration represented by one iteration is not
specified, so the model is undetermined with respect to physical
processes. To make it determinate, we have to use an explicit dt (where
"t" indicates "time", not "true"), so we get

xt = ct + at*xt*dt + bt*u + ...

dt, I believe, needs to appear only in the term that represents an
accumulation of xt.

Now the value of at would depend on the definition of dt in the time-
units selected. This would also apply in the world-model, so the final
solution would be the same, except that at and a would be larger. The
value of at would be 1/(time constant), where the time constant is the
1/e rise time of xt when u and ct are constant. I hope you will check to
see that I have introduced dt correctly.

In my model, we would have

o := o + (1000.0 * e - o)*dt/tc;

The justification for the factor dt/tc (tc = time constant) can be found
by realizing that the above step represents, for e = constant, the
homogeneous differential equation with the solution

o := 1000*e*(1 - exp(-t/tc))

The factor 1/1001 in the original program step was the critical value of
the "slowing factor" . This critical value has no physical significance;
it is the maximum value allowable to prevent computational oscillations
from appearing, artifacts of the digital representation of a continuous
closed-loop system. For the system to be free of computational
artifacts, the slowing factor that is now represented by dt/tc must be
equal to or less than the critical value which is 1/(1+G), G being the
static output gain which is here 1000.

So there is a hidden constraint on my program: it can represent a real
integrating control system with a static loop gain G and an output time
constant tc only if

                dt/tc <= 1/(1+G)

We have no control over G or tc: those are properties of the system we
want to model. The only way to make sure that this inequality is
satisfied in a model of a real system is to adjust dt so that

dt <= tc/(1+G)

Actually, dt should be much less than tc/(1+G) even though equality
would be enough to prevent computational artifacts. The reason is that
when dt is set to the maximum allowable value, the integration is not
accurately represented. In a closed-loop system this is of secondary
importance, but if modest accuracy is needed, dt should be no greater
than about 1/5 of the calculated maximum value. The only reason for not
making dt even smaller to achieve higher accuracy would be to save on
computation time.

With the slowing factor calculated as dt/tc, the size of dt does not
affect the behavior of the system if dt is small enough. Reducing tc
makes the response to a step-change slower in terms of iterations, but
that slowing is exactly compensated by the change in time scale. And
most important, with dt given in units of physical time, the physical
meaning of the variables is tied to the real world.

In my model, where the gain is 1000, the slowing factor must be less
than or equal to 1/1001. With dt = 0.01 sec, this means that the model
can be matched validly to a system with a static loop gain of 1000 and
an output time constant of no less than 10 seconds. The whole-system
response time will then be 1 iteration, or 0.01 sec. However, if the
real system actually has an output time constant of 3 seconds, plugging
in that value of tc would result in runaway computational oscillations
in the model. These oscillations would be artifacts. The only solution
would then be to reduce dt -- the only parameter we are free to change
-- from 0.01 to 0.0033 or less.

In systems of other kinds, including those with transport lags greater
than dt, the critical value is different and must be arrived at by more
complex calculations. But there is always such a critical value, at
which computational oscillations begin. Exceeding the critical value by
a factor of 2 or more will cause the oscillations to increase without
limit.

···

--------------------------------
Now: magnitude scaling.

There are two considerations in determining the magnitude scaling used
for a model of a control system. One is the maximum output that the real
system can produce with its output equipment, and the other is the
maximum value that the perceptual representation of a controlled
variable can attain. The latter is set by the saturation level of the
perceptual signal. Neither of these considerations is likely to appear
in a conceptual model, but they are necessary if we are to have any
method for determining what is a "large" disturbance and a "large"
error.

Obviously, the maximum possible output of a control system determines
the approximate maximum possible magnitude of disturbance that can be
resisted. If larger disturbances are present, then no amount of
amplification or dynamic trimming will enable the control system to
oppose the excess magnitude of disturbance. When we speak of "large"
disturbances, therefore, we are speaking of magnitudes near this upper
limit. For even larger magnitudes, we have to use special treatments --
simulations -- to guess what will happen when the maximum range of
control is exceeded.

The other magnitude limit is set by the maximum possible value of the
perceptual signal. If the controlled quantity takes on a value that
would drive the perceptual signal into saturation, then obviously the
dynamic loop gain (for changes in the controlled variable) will become
zero and there can be no control of the controlled quantity outside this
perceptual range. So indirectly, saturation of the perceptual function
determines the maximum control range of the controlled variable.

By the same token, this same limit applies to the useful settings of the
reference signal. However, the reference signal can be driven
momentarily outside this range as a way for higher systems to speed the
actions of a lower system by increasing the error signal. If the
reference signal is generated in a way that avoids the saturation limit
of the input function, then it is not limited by that saturation.

The final scaling has to do with what is considered a "fast"
disturbance. The maximum speed with which the output of the control
system, or rather the effect of the output on the controlled variable,
can change is set by the environmental response to the maximum possible
output of the system. So in environments with a sluggish response, the
maximum speed of effect on the controlled variable will be less than
when the environment responds proportionally to the output.

No matter how hard the output of the control system is driven, it cannot
produce faster changes in the controlled variable than those limited by
the response of the physical external feedback connection to the maximum
possible output. This in turn determines the maximum speed of change of
a disturbance that can be opposed while the change is in progress. With
suitable amplification factors and dynamic properties, the control
system can maintain control in the face of disturbances changing nearly
at this maximum speed. But for all faster changes in the disturbance, no
adjustments of dynamic or gain properties can result in control.

So we have three basic limits on control: the maximum possible output,
the maximum possible perceptual signal representing the controlled
quantity, and the speed of the environmental response to the maximum
possible output. These are absolute limits on control which are
independent of stability or any other more detailed considerations. All
other considerations can only reduce the range of the limits.

When we set up simulations of physical systems, therefore, we should
think in terms of these limits. The range of the controlled quantity can
be specified by assuming a limit on the perceptual signal representing
it. The maximum magnitude of disturbance can be selected to be less than
or equal to an assumed maximum possible output of the system. The
maximum speed of change of the disturance can be selected to be within
the assumed limits of the speed of response of the environment to the
maximum possible output.

This creates a box within which we can confine the various variables if
our intent is to study normal control behavior. Of course there is
nothing to prevent our using larger or faster disturbances, but when we
do so we would expect some signal or variable to reach a limit,
drastically altering the characteristics of the control loop.
----------------------------------------------------------------------
Best,

Bill P.