Chap 03

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Impulse Compensation

Chapter 78
78.1 PID Compensation
78.2 Generic Closed Loop Response
78.3 Dahlin’s Method
78.4 Deadbeat Method
78.5 Direct Programs
78.6 Cascade Programs
78.7 Parallel Programs
78.8 Comments

Having covered the pole-zero cancellation method 78.1 PID Compensation


in Chapter 77, three other commonly used meth-
ods of compensator design are now introduced. The transfer function of a conventional 3-term
One is the discrete form of the familiar 3-term PID controller was established in Chapter 71:
controller, the others are Dahlin’s and the dead-  
1
beat methods. The pros and cons of these different C(s) = KC 1+ + TD s (71.3)
methods are discussed. There is of course no point TR s
in designing compensators unless they can be re-
Consider the integral action alone:
alised in practice. Being inherently discrete, they
lend themselves to being implemented by means t
of software. An overview of three conventional ap- KC
u(t) = e(t).dt
proaches to such follow, the so-called direct, cas- TR
0
cade and parallel programming methods. An un-
derstanding of these techniques is fundamental, du KC
= .e
not only to realising compensators, but to many dt TR
other advanced control techniques such as filter-
ing and identification, as covered in subsequent This may be discretised using a step length equiv-
chapters. alent to the sampling period T:

+ u(k) − u(k − 1) KC
r e C(s) u G (s)
+ y = .e(k)
+ T T T TR
– KC .T
1 − z−1 .u(z) = .e(z)
TR
Fig. 78.1 Closed loop comprising impulse compensator and plant KI
Throughout this chapter it is presumed,as depicted u(z) = .e(z)
(1 − z−1 )
in Figure 78.1, that C(s) is the impulse compen-
sator to be designed and G(s) is the plant which is which clearly corresponds to a pole at z = 1 on the
assumed to include the ZOH. unit circle.
648 78 Impulse Compensation

Similarly for the derivative action: 78.2 Generic Closed Loop


de(t) Response
u(t) = KC TD .
dt Both Dahlin’s and the deadbeat methods of com-
e(k) − e(k − 1) pensator design are based upon the closed loop
u(k) = KC TD .
T pulse transfer function M(z) for step changes. Ap-
u(z) = KD . 1 − z−1 .e(z) plying block diagram algebra to the generic system
of Figure 78.1 yields:
The three actions may thus be combined:
 
y(z)
KI e(z) = r(z) − y(z) = r(z) 1 −
C(z) = KC + + KD . 1 − z−1 r(z)
(1 − z−1 )
2
= r(z) (1 − M(z)) (78.3)
KC . 1 − z−1 + KI + KD . 1 − z−1
=
(1 − z−1 ) where M(z) is the closed loop transfer function.
KC + KI + KD − (KC + 2KD ) .z−1 + KD .z−2 Also:
=
(1 − z−1 )
1
e(z) = r(z) − C(z).G(z).e(z) = .r(z)
where KC , KI and KD are known as the propor- 1 + C(z).G(z)
tional, integral and derivative gains respectively.
Whence: Thus:
C(z).G(z)
a0 + a1 .z−1 + a2 .z−2 y(z) = .r(z)
C(z) = (78.1) 1 + C(z).G(z)
1 − z−1
Whence:
Relating C(z) to the output and error signals gives: C(z).G(z)
M(z) =
1 + C(z).G(z)
1 − z−1 .u(z) = a0 + a1 .z−1 + a2 .z−2 .e(z)
Hence:
M(z)
Inverse transforming gives a time series which can C(z) = (78.4)
be realised by means of a simple algorithm: (1 − M(z)) .G(z)

u(k) = u(k − 1) + a0 .e(k) + a1 .e(k − 1)


+ a2 .e(k − 2) (78.2) 78.3 Dahlin’s Method
This method involves specifying the desired closed
Note that assigning an appropriate value to u for loop response to a step input. The response is ar-
k = −1 establishes the bias on the controller out- ticulated in terms of a time lag and a delay L,
put. as depicted in Figure 78.2, and is inclined to be
In Chapter 71, many variations to the classi- sluggish.
cal form of the 3-term controller were introduced,
such as derivative feedback. These can all be ac-
y(t)
commodated in alternative forms of C(z).Whereas
the compensator design being realised will have
the form of Equation 78.1, it is important to appre-
t
ciate that the user interface on any control system,
0 L
DCS or otherwise, will present the gain parame-
ters, KC , KI and KD and sample period T explicitly Fig. 78.2 Desired closed loop response to a step input
to the user.
78.4 Deadbeat Method 649

The approach has obvious parallels with the reac- If G(s) is not known, as is usually the case, it must
tion curve method of tuning described in Chap- be estimated.This may be achieved by developing a
ter 24 and the approximation for higher order sys- model of the plant from first principles, by empiri-
tems described in Chapter 72. cal tests or by means of identification. Fortunately,
The designer may choose any sensible values the method is fairly tolerant of any estimating er-
for and L: rors.
e−Ls
y(s) = (78.5)
s. ( s + 1)
If L = n.T then:
78.4 Deadbeat Method
2 2 33 Often referred to as minimal response design, the
1
y(z) = z−n .Z L−1 method enables a compensator to be designed such
s. ( s + 1) that the closed loop response exhibits a fast rise
−n
' −t/
(
= z .Z 1 − e time and a short settling time with zero offset: the
 z z  ideal response.
= z−n . −
z − 1 z − e−T/ The zero offset is established using the final
z −n+1
1 − e−T/ value theorem. From Equation 78.3:
=
(z − 1) z − e−T/ e(z) = r(z). (1 − M(z))
e(∞) = Lim e(kT) = Lim (z − 1) .e(z)
Assume a step input: k→∞ z→1

z = Lim (z − 1) .r(z). (1 − M(z))


z→1
r(z) =
z−1 Two cases will now be considered.
Thus, for the chosen values of and L, the system
of Figure 78.1 has a closed loop transfer function Case 1: Unit Step Input
of: z
If r(z) = then e(∞) = Lim z. (1 − M(z)).
z−1 z→1
(z − 1) z−n 1 − e−T/
M(z) = .y(z) = It is required that e(∞) = 0. This will be achieved
z z − e−T/
if, say:
Equation 78.4 gives the compensator required: z. (1 − M(z)) = z − 1
M(z) 1 − M(z) = 1 − z−1
C(z) = M(z) = z−1
(1 − M(z)) .G(z)
z−n 1 − e−T/ The closed loop response is thus:
z − e−T/ y(z) = M(z).r(z)
=  
z−n 1 − e−T/ z
1− .G(z) = z−1 .
z − e−T/ z−1
= z−1 + z−2 + z−3 + . . .
z−n−1 1 − e−T/
= Inverse transforming gives:
1− e−T/ z−1 − 1 − e−T/ z−n−1 .G(z)
y(kT) = 0 if k = 0
which is always realisable for any sensible and
y(kT) = 1 if k = 1, 2, 3, . . .
L. The obvious disadvantage of Dahlin’s method is
that to calculate C(z) the value of G(z) is required. which is depicted in Figure 78.3.
650 78 Impulse Compensation

y(t) y

t t
0 T 2T 3T 4T 0 T 2T 3T 4T
Fig. 78.3 The deadbeat method: closed loop response to a step Fig. 78.4 The deadbeat method: closed loop response to a ramp
input input

The compensator required is given by Equa- M(z)


C(z) =
tion 78.4: (1 − M(z)) .G(z)
M(z) z−1 2 − z−1 2z + 1
C(z) = = =
(1 − M(z)) .G(z) (1 − z (2 − z )) .G(z) (z − 1)2 .G(z)
−1 −1

z−1 1 As demonstrated in the two cases, the deadbeat


= = design is optimal only for the specific inputs con-
(1 − z ) .G(z) (z − 1) .G(z)
−1
sidered. For other inputs the response may well
Case 2: Unit Ramp Input be unsatisfactory. Furthermore, the method gives
Tz minimal response at the sampling instants only. In
If r(z) = then practice there is often a lot of inter-sample ripple
(z − 1)2 which may lead to violent overshoot, etc. Again,
Tz
e(∞) = Lim (1 − M(z)). there is the need to know G(s). However, unlike
z→1 (z − 1)
Dahlin’s method, this method is extremely sensi-
A value of e(∞) = 0 can be achieved if, say: tive to small errors in the plant model. It should
also be noted that,for a given M(z),the only param-
z z−1 eter that can be adjusted in the deadbeat method
. (1 − M(z)) =
(z − 1) z is the sampling period.
(z − 1)2 For these various reasons,the deadbeat method
1 − M(z) = = 1 − 2z−1 + z−2 is seldom used in process control, despite its sup-
z2
M(z) = z−1 2 − z−1 posed popularity in other areas of application.

The closed loop response is thus:

y(z) = M(z).r(z) 78.5 Direct Programs


z−1 2 − z−1 .Tz T. 2 − z−1 Figure 78.5 depicts the pulse transfer function of
= = 2 an impulse compensator.
(z − 1)2 z − 2z + 1
= T. 2z−2 + 3z−3 + 4z−4 + . . . e u
C(s)
T T
Inverse transforming gives:
Fig. 78.5 Pulse transfer function of an impulse compensator
y(kT) = 0 if k = 0, 1
Any such compensator may be articulated in terms
y(kT) = kT if k = 2, 3, 4, . . .
of a time series expansion for C(z):
which is depicted in Figure 78.4. u(z) a0 + a1 z−1 + a2 z−2 + . . . + am z−m
The compensator required is again given by C(z) = =
e(z) b0 + b1 z−1 + b2 z−2 + . . . + bn z−n
Equation 78.4: (78.6)
78.6 Cascade Programs 651

e (t) e (t-T) e (t-2T) e (t-3T) e (t-nT)


delay delay delay delay

a0 a1 a2 a3 am
b0 b0 b0 b0 b0

+ + + +
+ + + +

E
+
U - u(t)
+ +
+ +
b1 b2 bn
b0 b0 b0

delay delay delay


u (t-T) u (t-2T) u (t-nT)

Fig. 78.6 Realisation of impulse compensator by direct programming

The power series must not contain any positive on previous values of the output. The structure of
power in z, which would imply that an output sig- the software for the direct programming technique
nal could be produced before an error signal is is best illustrated in flow diagram form as depicted
applied. Thus n ≥ m for realisability. If n = m then in Figure 78.6.
it is important that b0 = 0.
Equation 78.6 may be rearranged:
b0 + b1 z−1 + b2 z−2 + . . . + bn z−n .u(z) 78.6 Cascade Programs
= a0 + a1 z −1
+ a2 z −2
+ . . . + am z −m
.e(z) Any compensator of the form of Equation 78.6 may
Inverse transform: be factorised such that:
1m
b0 .u(k) + b1.u(k − 1) + b2 .u(k − 2) + . . . a0 . 1 + ˛i z−1
i=1
+ bn .u(k − n) C(z) =
1
n
= a0 .e(k) + a1 .e(k − 1) + a2 .e(k − 2) + . . . b0 . 1 + ˇj z−1
j=1
+ am .e(k − m)
where the various −˛i and −ˇj are the zeros and
Rearrange: poles respectively of C(z).
The compensator C(z) may be considered to be
1  1 
m n
u(k) = ai .e(k − i) − bj .u(k − j) a series of simple pulse transfer functions cascaded
b0 b0 as depicted in Figure 78.7.
i=0 j=1
= E−U e( z ) u (z)
C1 (z) C 2 (z) C3 ( z ) C n (z)
Thus the current value of the output depends on
the current and previous values of the error, and Fig. 78.7 Decomposition of compensator into product of factors
652 78 Impulse Compensation

uj(t-T)
delay

βj

-
ej(t) ej(t-T)
αj + uj(t)
delay
+

Fig. 78.8 Realisation of impulse compensator by cascade programming

Thus: where the various −ˇj are the poles of C(z).


n
The compensator C(z) may be considered to be
C(z) = Cj (z)
a parallel set of simple pulse transfer functions as
j=1
depicted in Figure 78.9.
where, for n > m:
a0 . 1 + ˛1z−1
C1 (z) = if j = 1.
b0 . 1 + ˇ1z−1 C1 ( z)

1 + ˛jz−1 +
e(z) + u(z)
Cj (z) = for j = 2, 3, . . . m. C 2 (z)
1 + ˇj z−1 +
and:
C n (z)
1
Cj (z) = for j = m + 1, m + 2, . . . n.
1 + ˇjz−1 Fig. 78.9 Decomposition of compensator into sum of partial frac-
tions
Each Cj (z) may be implemented with software as,
for example, in Figure 78.8.
Analysis yields:
Each Cj (z) may be implemented with software as
uj (z) = 1 + ˛jz−1 .ej (z) − ˇj z−1 .uj (z) depicted in Figure 78.10.

whence:
uj (z) 1 + ˛jz−1
Cj (z) = = ej(t) αj uj(t)
ej (z) 1 + ˇj z−1
b0 +
-
78.7 Parallel Programs βj

The same C(z) of Equation 78.6 may be split into


partial fractions such that: uj(t-T)
delay
1 
n
˛j
C(z) = Fig. 78.10 Realisation of impulse compensator by parallel pro-
b0
j=1
1 + ˇj z−1 gramming
78.8 Comments 653

Analysis yields: 78.8 Comments


˛j
uj (z) = .e(z) − ˇj z−1 .uj (z) Of the three methods, the direct method is the eas-
b0 iest in that no decomposition into factors or par-
whence: tial fractions is required prior to programming. Of
uj(z) ˛j the other two, the parallel method is marginally
Cj (z) = = more efficient in computational effort than the
e(z) b0 1 + ˇj z−1
cascade method. However, the principal attraction
of the cascaded and parallel methods is that they
lend themselves to a modular approach to soft-
ware development. In particular, the provision of
function blocks for realising cascaded and paral-
lel elements within DCS systems leads itself to a
more widespread application of impulse compen-
sator designs.

You might also like