Professional Documents
Culture Documents
KOM 3781 Discrete-Time Control Systems: Veysel Gazi
KOM 3781 Discrete-Time Control Systems: Veysel Gazi
Veysel Gazi
Lecture 6: Stability Analysis
Outline
• Stability
• Bilinear Transformation
• Routh-Hurwitz Criterion
• Jury Stability Test
• Root Locus
• Nyquist Criterion
• Bode Diagram
• Interpretation of Frequency Response
• Closed-Loop Frequency Response
z-Plane Stability
Consider the LTI system:
R(s) + X(s) X*(s) 1 - e -Ts X (s)
G p (s)
Y(s)
T=0.1 s
-
m
K z zi
G z R z
Y z R z
1 GH z n
z pi
k1 z kn z
Y z YR z
z p1 z pn
1 ki z k
ki pi
z pi
Y ( z) D ( z )G ( z )
=
R ( z ) 1 + D( z )GH ( z )
-1 G p (s) H (s)
GH ( z ) = (1 - z )
s
Characteristic equation:
-1 G p (s) H (s)
1 + D( z )GH ( z ) = 1 + D( z )(1 - z ) =0
s
z-Plane Stability
E1(s) E1* +
R(s) + Y(s)
T G1(z) G2(s)
– –
G1G 2
2 + G ( z)
R 2 (1 + G2 ) R
Y ( z) = ( z) + ( z)
2 + G2 G1G2
1+ 2 + G2
( z)
2 + G2
The denominator term, independent of the input R( z ),
G1G2
is the characteristic equation: 1+ ( z) = 0
2 + G2
z-Plane Stability
The characteristic equation may also be found by:
Opening the loop at a sampler:
• Set the input R(s)=0 (stability is independent of the input).
• Open the loop at any sampler (label the sampler output as
Ei*(s) and its input as Eo(s)).
• Solve for the sampler input Eo(s) using Ei*(s) as the source.
• Solve for the open-loop transfer fcn (Gop(z) = Eo(z)/Ei(z)).
• Characteristic equation is 1 + F(z) = 1 – Gop(z) = 0
State space:
x(k+1) = A x(k) + B r(k)
y(k) = C x(k) + D r(k)
Characteristic equation is |zI - A| = 0
Example: opening a sampler
Open Loop:
G1* Ei*
Eo = -G2 E E1 = G1 E - G2 HE E =
*
* * *
1 i 1 1 *
1 + G2 H
-G1*G2*
E =
*
o *
Ei*
1 + G2 H
Close the loop (Eo* = Ei* Gop ( z ) = 1):
Eo ( z ) = Gop ( z ) Ei ( z )
G1 ( z )G2 ( z )
1 + Eo ( z ) = 0
1 + G2 H ( z ) G1 ( z )G2 ( z )
Gop ( z ) = -
1 + G1 ( z )G2 ( z ) + G2 H ( z ) = 0 1 + G2 H ( z )
z-plane to w-plane
2 T
w+ 1+ w
2) z=- T = 2
w-
2 T
1- w
T 2
2 T T T T
3) w = tan , when 1, tan , w
T 2 2 2 2
z-Plane to w-Plane Mapping
jw
s-Plane
D C
ws / 2 frequency
2 T
B ws / 4
w = tan w-Plane
∞ A T 2 jωw
0 T
For 1, w
G -w s / 4 2
C
-w s / 2 C
E F
∞
B j2/T
C
z = e sT D A
F E -2/T 0 σw
Im z 2 z -1 G -j2/T
w= ∞
z-Plane B
T z +1 F
1
C D A z = 1 gives w = 0 F
F E 0 Re z z = -1 gives w = ∞
z = 0 gives w = –2/T
G
Why map to the w-plane?
1) This is a first-order approximation of the mapping from
the z-plane to the s-plane.
G( z) = K
( e -T + T - 1) ) z + (1 - (1 + T )e -T )
( z - 1)( z - e -T )
1 + wT / 2
Let z = , which leads to
1 - wT / 2
1 + wT / 2
( e + T - 1) ) 1 - wT / 2 + (1 - (1 + T )e-T )
-T
G ( w) = K
1 + wT / 2 1 + wT / 2 -T
1 - wT / 2 - 1 1 - wT / 2 - e
Bilinear Transformation
Next form 1 + G (w) = 0, getting
T 2
-T
-T -T
2(1 + e ) + K 2(1 - e - T (1 + e ) +
2
w
4
w T (1 - e -T ) - KT 1 - e -T (1 + T ) + KT (1 - e -T ) = 0
-b b 2 - 4ac -b 4ac - b 2
or aw + bw + c = 0
2
w1,2 = = j
2a 2a 2a
1 a1 ai +1 w1 :
ci = - j1
b1 b1 bi +1
w0 : k1
Routh Array % MATLAB®
w : n
1 8 21 wn -1 : b1 b2 b3 -1.0458 + 0.8204i
-1.0458 - 0.8204i
w n -1
: 9 12 30 wn -2 : c1 c2 c3
wn - 2 : 1 a1 ai +1
6.667 17.667 0 ci = -
wn -3 : -11.85 30 0 1 60 b1 b1 bi +1
- (1*12 - 9*8) = = 6.667
wn - 4 : 9 9
1 159 53
n -5 - (1*30 - 9* 21) = = = 17.667
w : 9 9 3
1 79
- (9*17.667 - 6.667 *12) = - = -11.85
6.667 6.667
F ( w) = w5 + 10 w4 + 38w3 + 67 w2 + 52 w + 12 ans =
-3.0000
-2.6180
wn : 1 a1 ai +1 -2.0000
1 38 52 ci = - -2.0000
b1 b1 bi +1
wn -1 : 10 67 12 -0.3820
wn - 2 : 31.3 50.8 0
wn -3 : 50.8 12 0 1
- (1* 67 -10 * 38) =
313
= 31.3
wn - 4 : 43.4 0 0 10 10
wn -5 : 12 0 0
• The process continues to a single number in the bottom
two rows. No minus signs appear so the system is stable.
• The number of RHP poles is equal to the number of sign
changes in the first column.
• No sign changes -> No RHP poles –>The system is stable.
Example
R(s) + X(s) X*(s) 1 - e-Ts X ( s ) K Y(s)
-
T s s ( s + 1)
(Again)
Ts
1 e 1
G s , K 1, T 0.1
s s s 1
T
z 1 e T 1 z2 1 e T
Te T
z 0.00484 z 0.00468
G z 2
z z 1 z e T z 1 z 0.905
Gw =
-4.199e-05 s^2 - 0.04913 s + 0.9995
-----------------------------------
s^2 + 0.9974 s + 4.429e-15
Example
0.00004199 w2 0.04913 w 0.9995
G ( w)
w2 0.9974 w 4.429(10) 15
Row z0 z1 z2 z n -k z n -1 zn
1 a0 a1 a2 an - k an -1 an
2 an an -1 an -2 ak a1 a0
3 b0 b1 b2 bn -k bn -1 0
4 bn -1 bn -2 bn -3 bk -1 b0 0
5 c0 c1 c2 c3 cn -2 0 0
6 cn -2 cn -3 cn -4 cn -5 c0 0 0
0 0 0
2n - 5 l0 l1 l2 l3 0 0 0 0
2n - 4 l3 l2 l1 l0 0 0 0 0
2n - 3 m0 m1 m2 0 0 0 0 0
Jury’s Array
Q( z ) = an z n + an -1 z n -1 + + a1 z + a0 = 0 for an 0
The elements of the array are calculated as:
a0 an - k b0 bn - k -1 c0 cn - k - 2
bk = ck = dk =
an ak bn -1 bk cn - 2 ck
l0 l3 l0 l2 l0 l1
m0 = m1 = m2 =
l3 l0 l3 l1 l3 l2
c)|a0| < an
r =
0.2440 + 0.9698i
and marginal stability is at K = 2.39, for which: 0.2440 - 0.9698i
ans =
ans =
= z2 – 0.488 z + 1 1.3243
-1.3243
with roots:
KGH ( z ) = 1, ( )
KGH ( z ) = (1 + 2k )(180)
K=0.0928
0 x x1
-2.9171 -0.97 0.91
0.9471
Root Locus Example
num=[1 0.970];den=[1 -1.91 0.91];
(z + 0.9700)
Gz=tf(num,den,0.1);rlocus(Gz)
G(z) =
axis([-4 1.5 -2 2]) (z -1)(z - 0.9100)
Root Locus Example
rlocus(Gz)
axis([.75 1.1 -1.1 1.1])
Breakaway point
(Damping = 1.0)
is 0.954
Root Locus Example
(z + 0.9700)
G(z) =
(z -1)(z - 0.9100)
Suppose we add some compensation, with a digital filter D(z):
z - 0.9100 (z + 0.9700)
D(z) = , D(z)G(z) =
z - 0.4000 (z -1)(z - 0.4000)
K=0.6200
x x
-0.97 0 0.40
0 1
0.6700
While the root locus has a very similar shape, analysis of the
data shows that the system is stable for 0 < K < 0.62. This
greatly reduces the steady-state errors in the system.
Compensated Example
T=0.1;
num=[1 0.970];
den=[1 -1.91 0.91];
Gz=tf(num,den,T);
Dz=tf([1 -0.91],[1 0.4],T);
DzGz=zpk(Dz*Gz)
rlocus(Dz*Gz)
axis([-1.5 1.5 -1.5 1.5])
DzGz =
(z+0.97) (z-0.91)
----------------------
(z-1) (z-0.91) (z+0.4)
Compensated Example
The Nyquist Stability Criterion
Let GH ( z ) be the open-loop function,
Then the characteristic equation for the closed-loop system is
1 + GH ( z ) = 0
Consider GH ( z ) = -1
We can examine the behavior of GH ( z ) in relation to the - 1 point
as we traverse the frequency response contour in the z-Plane.
Let
Zi = number of zeroes of characteristic
equation inside the unit circle
Zo = number of zeroes of characteristic
equation outside the unit circle
Pi = number of poles of the open-loop
function that are inside the unit circle.
Po = number of poles of the open-loop
function that are outside the unit
circle.
The Nyquist Stability Criterion
We can examine the behavior of GH (z) in relation to the -1 point
as we traverse the frequency response contour in the z-Plane.
The number of encirclements of the –1 point is
Zi = number of zeroes of
characteristic equation So
inside the unit circle
Zo = number of zeroes of
characteristic equation
outside the unit circle
Dropping the subscripts
Pi = number of poles of the
open-loop function that are N = number of encirclement of the –1 point.
inside the unit circle. Z = number of zeroes of characteristic equation outside
Po = number of poles of the the unit circle
open-loop function that are P = number of poles of the open-loop function (or
outside the unit circle. characteristic equation) that are outside the unit circle.
Nyquist Diagrams (Stability)
1
gain margin =
a
phase margin = fm
Nyquist Diagrams (Example)
0.368z + 0.264
Open-loop function: G(z) = T =1
z 2 -1.368z + 0.368
Frequency contour is plotted in G(z) plane. Closed-loop
system is unstable if -1 point in G(z) plane is encircled.
Nyquist Diagrams (dnyquist)
dnyquist: calculates
the frequency
response of discrete-
time LTI systems.
%Example
num=[0 .368 .264];
den=[1 -1.368 .368];
T=1;
dnyquist(num,den,T)
axis([-1.2 0.2 -0.7 0.7])
The Bode Diagram - Discrete System
Example
Bode diagrams can be plotted using the continuous-time
procedures we know by transforming the sampled-time
open-loop transfer functions to the w-plane (which mimics
the frequency behavior of the s-plane if the sampling
period is chosen appropriately).
Straight-
line Bode
diagram
Example G w
0.0381 w 2 w 12.14
w w 0.924
Gm = 7.58 dB
Pm = 30.4 deg
Example
>>Gs=tf([1],[1 1 0]); T=1; Gz=c2d(Gs,T); margin(Gz), grid
Gm = 7.58 dB
Pm = 30.4 deg
Example: Bode diagram, root locus,
Nyquist plot
Compare the gain margins.
10 10
Gp (s) = =
s(s 2 + 4s + 8) s3 + 4s 2 + 8s
>> T=0.1; num=[10]; den=[1 4 8 0];
Gp=tf(num,den); Gz=c2d(Gp,T); Gz=zpk(Gz)
[numz,denz]=tfdata(Gz,'v');
figure(1),margin(Gz) % Bode with margins
figure(2),rlocus(Gz),grid
figure(3),nyquist(numz,denz,T),grid
Gz =
0.0015067 (z+3.373) (z+0.2427)
------------------------------
(z-1) (z^2 - 1.605z + 0.6703)
)
Gz =
0.0015067 (z+3.373) (z+0.2427)
------------------------------
(z-1) (z^2 - 1.605z + 0.6703)
Gz =
0.0015067 (z+3.373) (z+0.2427)
------------------------------
(z-1) (z^2 - 1.605z + 0.6703)
Gz =
0.0015067 (z+3.373) (z+0.2427)
------------------------------
(z-1) (z^2 - 1.605z + 0.6703)
K = 1.0
Gz =
0.0015067 (z+3.373) (z+0.2427)
------------------------------
(z-1) (z^2 - 1.605z + 0.6703)
K = 2.7
Gmdb =
8.6273
Gz =
0.0015067 (z+3.373) (z+0.2427)
------------------------------
(z-1) (z^2 - 1.605z + 0.6703)
>> A0=-0.365;
Gmdb=20*log10(-1/A0)
Gmdb =
8.7541