Notice to Sender

## ···

================

This message was received by this installation but could not be

delivered to its intended cc:Mail recipient(s).

Original subject: Re: MCT = PCT ?

Intended recipient(s) who DID NOT receive this message:

robinson_dan@dsmc1

The following cc:Mail error(s) were recorded:

*** Unknown message recipient ***

-------- Original Message Text --------

[Hans Blom, 970221d]

(Bill Powers (970220.1445 MST))

A misunderstanding which deserves correction:

The comparator in my diagram computes an error signal, e[k+1], which

is

e[k+1] = r(k+1) - x(k), so that

u(k+1) = e(k+1)/(A*dt)

(I think your equation should have referred to u(k+1)).

No, Bill, my equations were correct. Let me explain where your

confusion comes from.

It is important to distinguish between what is observed at time k and

what at time k+1 (or k+dt). Your static diagram does not capture

that. It is also standard procedure to call the reference for x(k) by

the name of r(k), and to call the reference for x(k+1) by the name of

r(k+1). Seeing you write down the difference r(k+1) - x(k) hurts my

eyes ;-). Also, at time instant k you cannot compute e(k+1), which

would be the difference of r(k+1) and x(k+1); the latter is not known

yet!

So let's get the indexes right. At time instant k, you perceive x(k)

and have to compute u(k). It is only at time instant k+1 (or k+dt, if

you prefer) that you can discover the result x(k+1) and the control

error e(k+1) = r(k+1) - x(k+1).

The problem with diagrams is that they do not capture the incremental

nature of time of a model expressed as a difference equation. They

are nice for differential equation-type models such as implemented in

electronics or in an analog computer, but become confusing (or rather

insufficiently informative) for discrete-time models.

Actually, MCT models are even more fine-grained. They distinguish

between the two different "times" t where (1) x(t) has been observed

but u(t) not computed yet; and (2) where x(t) has been computed and

u(t) computed and output.

For comparison, the PCT model would be formally identical, except

that we would use the integral equation

x[t+dt] = x(t) + A*u(t)*dt

Where is the integral? This is a _difference equation_ as well, and

it is indeed exactly the formula I used, be it with a substitution of

variables.

... in computing u we would use a gain factor G instead of 1/(A*dt):

u(t+dt) = [r(t+dt) - x(t)]*G

The correct expression (remember that we are at time t!) would be:

u(t) := [r(?) - x(t)]*G

which says that the output u that we compute at time t depends on the

difference between our _current_ perception and some reference level.

This constitutes the basic difference with the MCT control law.

In MCT, your formula would be nonsense: x(t) has been observed

already and cannot be influenced anymore; we need to compute a u(t)

such that a _future_ x, namely x(k+1), will have some specified

value. Thence the MCT expression would be

u(t) := [r(t+dt) - x(t+dt)]*G

with a suitably chosen (model-derived) G.

Let's switch to using the cruise control as the example.

No, let's not change horses in mid-stream. Exactly the same

differences would show up again.

Greetings,

Hans