You are on page 1of 4

Algorithm:

Conventional digital PI controller.

A PI controller always could represent by


uk u( k 1) K P [ek e( k 1) ] K I Ts e( k 1)

=>
=>
=>

=>

uk uk z 1 K p [ek ek z 1 ] K I Ts ek z 1
(1 z 1 )uk K p (1 z 1 )ek K I Ts ek z 1

(1 z 1 )uk [ K P ( K I Ts K P ) z 1 ]ek
1
uk K p ( K I Ts K p ) z
r1 r2 z 1

ek
1 z 1
1 z 1

Then closed dynamic system with PI controller could be represent


by:

The closed loop transfer function should be:

B1 ( z 1 ) B ( z 1 )
A1 ( z ) A( z 1 )
B1 ( z 1 ) B ( z 1 )
wcl

B ( z 1 ) B ( z 1 )
B1 ( z 1 ) B( z 1 ) A1 ( z 1 ) A( z 1 )
1 1 1
A1 ( z ) A( z 1 )
Assume that the plat has model like

B( z 1 )
b1 z 1 b2 z 2

A( z 1 ) 1 a1 z 1 a2 z 2
Then the numerator of the closed loop transfer function is:

B1 ( z 1 ) B ( z 1 ) (r1 r2 z 1 )(b1 z 1 b2 z 2 )
1
rb
r1b2 z 2 r2b1 z 2 r2b2 z 3
1 1z

r1b1 z 1 (r1b2 r2b1 z 2 ) r2b2 z 3


And:

A1 ( z 1 ) A( z 1 ) (1 z 1 )(1 a1 z 1 a2 z 2 )
Substituting these blocks into the closed loop transfer function we have:

yMk
r1b1 z 1 (r1b2 r2b1 ) z 2 r2b2 z 3

*
ydk
r1b1 z 1 (r1b2 r2b1 ) z 2 r2b2 z 3 (1 z 1 )(1 a1 z 1 a2 z 2 )
Or

yMk
r1b1 z 1 (r1b2 r2b1 ) z 2 r2b2 z 3

*
1
ydk
1 (rb
(r1b2 r2b1 a2 a1 ) z 2 (r2b2 a2 ) z 3
1 1 a1 1) z
Then

We have

yM (k ) [rb
1 1 a1 1] y (k 1) [ rb
1 2 r2b1 a2 a1 ] y ( k 2) [r2b2 a2 ] y ( k 3)
r1b1 yd (k 1) [ rb
1 2 r2 b1 ] yd ( k 2) r2b2 yd ( k 3)
The errors between the reference signal and the model signal is:

ek yd (k ) y (k ) yd (k ) yM ( k ) y (k )
ek yd (k ) r1b1 yd (k 1) [r1b2 r2b1 ] yd (k 2) r2b2 yd (k 3)
[ r1b1 a1 1] y ( k 1) [ r1b2 r2b1 a2 a1 ] y ( k 2) [ r2b2 a2 ] y ( k 3) y ( k )
r1
Group

r2
and

in the error expression we have:

ek rb
1 1 yd ( k 1) r1b2 yd ( k 2) rb
1 1 y ( k 1) r1b2 y ( k 2)
r2b1 yd (k 2) r2b2 yd (k 3) r2b1 y (k 2) r2b2 y (k 3)
yd (k ) (a1 1) y (k 1) [a1 a2 ] y (k 2) a2 y (k 3) y (k )
ek yd (k ) [a1 1] y (k 1) (a2 a1 ) y (k 2) a2 y (k 3) y (k )
[b1 yd (k 1) b2 yd (k 2) b1 y (k 1) b2 y (k 2)]r1
[b1 yd ( k 2) b2 yd (k 3) b1 y ( k 2) b2 y (k 3)]r2
Then the error takes the form:

ek Y T
In which:

Y yd (k ) (a1 1) y (k 1) (a2 a1 ) y (k 2) a2 y (k 3) yk
y k y ( k ) y M ( k )
T [b1 yd (k 1) b2 yd (k 2) b1 y (k 1) b2 y (k 2), b1 yd (k 2) b2 yd (k 3) b1 y (k 2) b2 y (k 3)]

r
1
r2
Apply the Least Square adaptive algorithm for PID gain estimation we have:

$ $(k 1)

P( k 2) (k 1)
e( k )
(k ) T ( k 1) P( k 2)(k 1)

(*)

With

P (k 2)(k 1)T (k 1) P(k 2)


1
P( k 1) P( k 2)

T
(k 1) (k 1) P(k 2)(k 1) (k 1)

Y yd (k ) y (k 1) a1 ( y (k 1) y (k 2)) a2 ( y (k 2) y (k 3)) y (k )
yd (k ) y (k 1) a1y (k 1) a2 y ( k 2) y ( k )
T b1 ( yd ( k 1) y ( k 1)) b2 ( yd (k 2) y (k 2)), b1 ( yd (k 2) y ( k 2)) b2 ( yd (k 3) y (k 3))
b1e( k 1) b2 e( k 2), b1e( k 2) b2e( k 3)
Note that the estimation equation tries to optimize the cost function below:

J N ( )

1 N
1
(Y (t ) (t 1)T ) 2 ( $(0))T P01 ( $(0))

2 z 1
2

So that the error would be 0 over time.

You might also like