GMV Control
(Generalized Minimum Variance)
MODEL IDENTIFICATION AND DATA ANALYSIS
Prof. S. Bittanti
POLITECNICO DI MILANO
GMV
Control
(Generalized Minimum Variance)
n
Model reference (Q(z) = 0)
n
Penalized control (P(z) = 1)
Summary
n
Example
(minimum phase system)
n System to be controlled
n Model reference control design
Example
n
System
time domain description ARMAX (1,1,4)
n y(t) = 0,8y(t – 1) ++ u(t – 2) + 1,28u(t – 3) + 0,81u(t – 4) + e(t) + 0,6e(t – 1)
Example
System
n A(z)y(t) = B(z)u(t-k) + C(z)e(t)
with
n A(z) = 1 – 0,8z⁻¹
n B(z) = 1 + 1,28z⁻¹ + 0,81z⁻² k = 2
System features
n
Gain:
n B(1) / A(1) = 15,45
n
Zeros of A(z) (system poles)
n z = 0,8
n
Zeros of B(z):
n z = 0,64 ± 0.63i
n
Zeros of C(z):
Singularities
in the complex plane
n A(z) x
n B(z)
•
Open loop
step response
Model reference design
n
System:
n A(z)y(t) = B(z)u(t-k) + C(z)e(t)
n e∼WN(0,s2)
n
Model reference criterion
n J = E[ (P(z)y(t+k) - y°(t))²]
Overall control scheme
H(z) F(z) 1 / G(z) z⁻ B(z) 1 / A(z) C(z) yº(t) + u(t) e(t) y(t) - + + C S kModel reference design
n
Controller polynomials
n F(z)
n G(z) = PD(z)B(z)E(z)
n H(z) = C(z)PD(z)
n
E(z) and F(z) from Long Division
n PN(z)C(z) = PD(z)A(z)E(z) + z-kF(z)
Model reference design
n
Main issue
Model reference design
n
Basic idea
P(z) = M(z)
-1
where M(z) is the
reference model
Reference model
n
M(z) =
(n poles in – f and gain 1)
n
Step response of reference model
n
Time response 90%
(the table shows the number of steps employed by the step response of M(z)to reach 90% of steady state value, as a
(1 + f)
ⁿ
Reference model choice
f n = 1 n = 2 n = 3 0.1 1 2 2 0.2 2 3 3 0.3 2 3 4 0.4 3 4 5 0.5 4 6 7 0.6 5 8 10 0.7 7 11 14 0.8 11 17 23 0.85 15 28 32 0.9 22 37 50 0.95 45 76 131Model reference choice
n choosing
n n =2 and f = 0.4
n ⇒
with such choice 4 steps are required to reach the 90% threshold
Determination of P(z)
n Reference model: n M(z) = n P(z)= M(z)-1 n P(z) = (1 – 0.8z-1 + 0.16z-2) / 0.36 n PN(z) = 1 – 0.8z-1 + 0.16z-2 (1 + 0.4)2 (1 + 0.4z-1)2Controller polynomials
n
2 steps long division leads to
n E(z) = 2,78 + 1,67z-1 n F (z) = 0,16 + 0,096z-1 n
thus:
n F(z) = 0,16 + 0,096z-1 n G(z) = PD(z)B(z)E(z) = 1 + 1,88z-1 + 1,58z-2 + 0,49z-3 H(z) = C(z)P (z)Overall control scheme
H(z) F(z) 1 / G(z) z⁻ B(z) 1 / A(z) C(z) yº(t) + u(t) e(t) y(t) - + + C S k Characteristic Polynomial: B(z)C(z)PN(z)Closed loop
step response
Closed loop
step response
ninput u(t) with
s
2= 0
Transfer function from yo to u:
Penalized control design
n
System to be controlled:
n A(z)y(t) = B(z)u(t-k) + C(z)e(t)
n e∼WN(0,s2)
n
Performance criterion
n J = E[(y(t + k) + Q(z)u(t) - yº(t))²]
n P(z) = 1
Penalized control design
n
Controller polynomials
n F(z) = F˜(z)QD(z)
n G(z) = B(z)QD(z)E(z) + C(z)QN(z)
n H(z) = C(z)QD(z)
n
E(z) and F˜(z) from Long Division
n C(z) = A(z)E(z) + z-kF˜(z)
Penalized control design
n
Closed loop tr function from y° to y
n S(z) = n
Characteristic polynomial
n B(z)QD(z) + A(z)QN(z) z⁻ 1 + Q(z) A(z) B(z) kChoice of Q(z)
nTypical:
n Q(z) = q constant n Q(z) = q (1 - z⁻¹) n Q(z) = q 1 - z⁻¹ 1 – gz⁻¹Choice of Q(z)
n
Q(z) =
q
n
Poles: B(z) + q A(z) = 0
n q = 0 : zeros of B(z)
Poles
n
Root locus of B(z) + q A(z)
q = 0
q ≃ 8,57
Closed loop
step response (q = 1)
nOutput y(t) with
s
2= 0
Closed loop
step response (
q
= 1)
Closed loop
step response (q = 8,57)
nOutput y(t) with
s
2= 0
Closed loop
step response (q = 8,57)
nInput u(t) with
s
2= 0
Gain of control system
n
S(1) =
n
q
≠
0
⇒
gain S(1)
≠
1
non zero
steady state error
1
1 +
q
A(1) B(1)Choice of Q(z)
n
To avoid bias in steady state
Q(z) =
q
(1 - z
⁻
¹
)
n
Poles: B(z) + q(1 - z
⁻
¹
)A(z) = 0
n q = 0 : zeros of B(z)
Closed loop poles
n
Root locus of B(z) +
q
(1 - z
⁻
¹
)A(z)
q = 0
Closed loop gain
n
S(z) =
for z = 1 the gain is 1
n
Unitary gain guaranteed for all q
1
1 + q(1 - z⁻¹) A(z)
Closed loop
step response (q = 1)
nOutput y(t) with
s
2= 0
Closed loop
step response (q = 1)
nInput u(t) with
s
2= 0
Closed loop
step response (
q
= 50)
Closed loop
step response (q = 50)
nInput u(t) with
s
2= 0
Choice of Q(z)
n
Q(z) = q(1 - z
⁻
¹
) / (1 – 0.9z
⁻
¹
)
n
Poles:
n q = 0 : zeros of (1 – 0.9z⁻¹)B(z)
Closed loop poles
n Root locus of (1 – 0.9z⁻¹)B(z) + q(1 - z⁻¹)A(z)
q → ∞
Closed loop
step response (q = 1)
nOutput y(t) with
s
2= 0
Closed loop
step response (q = 1)
nInput u(t) with
s
2= 0
Closed loop
step response (q = 7,3)
nOutput y(t) with
s
2= 0
Closed loop
step response (q = 7,3)
nInput u(t) with
s
2= 0
Choice of Q(z)
n
Q(z) = q(1 - z
⁻
¹
) / (1 – 0.8z
⁻
¹
)
n
Closed loop poles:
n q = 0 : zeros of (1 – 0.8z⁻¹)B(z)
Closed loop poles
n Root locus of (1 – 0.8z⁻¹)B(z) + q(1 - z⁻¹)A(z)
q = 0
Closed loop
step response (q = 6,1)
nOutput y(t) with
s
2= 0
Closed loop
step response (q = 6,1)
nInput u(t) with
s
2= 0
Closed loop
step response (q = 6,1)
nOutput y(t) with
s
2= 10
-4Closed loop
step response (q = 6,1)
nInput u(t) with
s
2= 10
-4GMV Control
(Generalized Minimum Variance)
MODEL IDENTIFICATION AND DATA ANALYSIS
Prof. S. Bittanti
POLITECNICO DI MILANO
Ezample 2:
non-minimum phase system
n
System ARMAX (1,2,3)
n A(z) = 1 - 0,5z⁻²
n B(z) = 1 – 2z⁻¹ + 2z⁻² + z⁻³ k = 1
n C(z) = 1 – 1,4z⁻¹ + 0,7z⁻²
System features
n Gain
n B(1) / A(1) = 4
n Zeros of A(z) (poles)
n z = 0,71 n z = -0,71 n Zeros of B(z): n z = -0,35 n z = 1,18 ± 1,20i n Zeros of C(z):
Singularities
in the complex plane
n A(z) x
n B(z)
•
Open loop
step response
Choosing Q(z)
n
With: Q(z) = q(1 - z
⁻
¹
) / (1 – 0,5z
⁻
¹
)
n
Poles:
n q = 0 : zeros of (1 – 0.5z⁻¹)B(z)
Closed loop poles
n Root locus of (1 – 0.5z⁻¹)B(z) + q(1 - z⁻¹)A(z)
q = 0
Closed loop
step response (
q
= 1,5)
Closed loop
step response (
q
= 1,5)
Closed loop
step response (
q
= 2,1)
Closed loop
step response (
q
= 2,1)
Closed loop
step response (
q
= 19)
Closed loop
step response (
q
= 19)
Closed loop
step response (
q
= 19)
Closed loop
step response (
q
= 19)
GMV Control
(Generalized Minimum Variance)
MODEL IDENTIFICATION AND DATA ANALYSIS
Prof. S. Bittanti
POLITECNICO DI MILANO
Example 3
n
Non-minimum phase system
(zeros outside the unit disk)
and
oscillatory open loop behaviour
(poles located near the border of
stability region)
Singularities
n Zeros of A(z) (open loop poles)
n z = - 0,95 ± 0,1i
n z = -0,5 ± 0,6i
n Zeros of B(z) (open loop seros)
n z = 1 ± i
n z = 0,2 ± 0,6i
n Zeros of C(z):
ARMAX model
n (4,1,4)
n A(z) = 1 + 2,9z⁻¹ + 3,422z-2 + 2,072z-3 + 0,557z-4
n B(z) = 1 – 2,4z-1 + 3,2z-2 – 1,6z-3 + 0,8z-4
n C(z) = 1 + 0,7z⁻¹
n Input output delay: k = 1
n Time domain equation
n y(t) = -2,9y(t-1) - 3,422y(t-2) - 2,072y(t-3) -
0,557y(t-4) + + u(t-1) - 2,4u(t-2) + 3,2u(t-3) - 1,6u(t-4) + 0,8u(t-5) +
Singularities
in the complex plane
n A(z) x
n B(z)
•
Open loop
step response
Choosing Q(z)
n
Q(z) =
q
(1 - z
⁻
¹
)/(1 + 0,3z
-1)
n
Closed loop poles:
n q = 0 : zeros of (1 + 0,3z-1)B(z)
Closed loop poles
n Root locus of (1 + 0,3z-1)B(z) + l(1 - z⁻¹)A(z)
l → ∞