Control Por Computador: December 10, 2013

You might also like

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

22419 Control por Computador

Grado en Ingeniera Electronica Industrial y Automatica


Homework: Analysis of discrete-time control systems
December 10, 2013
1. Check the stability of a discrete-time system whose characteristic equation is P (z) =
z 3 1.3z 2 0.08z + 0.24 = 0 using the modified Routh-Hurwitz test.
Solution:
For the Routh-Hurwitz (RH) test to be useful for checking the stability of discrete-time
systems, variable z must be transformed so that the right-half side of the transformed
complex plane becomes again the unstable area. The following bilinear transformation is
usually employed to this purpose:
1+w
z=
1w
For this particular case:

3
2



1+w
1+w
1+w
P (w) =
+ 0.24
1.3
0.08
1w
1w
1w
w3 + 2.5758w2 + 0.5354w 0.0707
=
0.5051w3 + 1.5152w2 1.5152w + 0.5051
P (w) = 0 w3 + 2.5758w2 + 0.5354w 0.0707 = 0
The polynomial to study through the RH test is thus P (w) = w3 + 2.5758w2 + 0.5354w
0.0707:
w3
w2
w1
w0

1
2.5758
0.5628
-0.0707
1

0.5354
-0.0707
0

Alberto Ortiz

Since there is one sign change along the first column of the RH array, we conclude the
system is unstable since one root of P lies in the right-half side of the wplane, and,
consequently, one root of P (z) lies outside the unit circle in the zplane.
2. Check the stability of a discrete-time system whose characteristic equation is F (z) =
z 3 + z 2 + 0.5z + 0.25 = 0 using the Jury test.
Solution:
We first check the necessary conditions:
(a) F (1) = 1 + 1 + 0.5 + 0.25 = 2.75 > 0

(b) F (1) (1)3 = (1)3 + (1)2 + 0.5(1) + 0.25 (1) = 0.25 > 0
(c) |a0 | = 0.25 < a3 = 1

Since all conditions are met, we must apply the necessary and sufficient conditions and
thus build matrices H1 , H2 , V = H1 + H2 and W = H1 H2 :








1 1
0.50 0.25
1.50 1.25
0.50 0.75
H1 =
H2 =
V =
W =
0 1
0.25
0
0.25
1
0.25
1
In this case, for the system to be stable, the determinants of V and W must be positive:
|V | = 1.5 0.31 > 0 and |W | = 0.5 + 0.19 > 0. The system is thus stable.
3. Check the stability of a discrete-time system whose characteristic equation is F (z) =
z 2 + z + 0.25 = 0 using the Jury test.
Solution:
Since the degree of the characteristic polynomial is 2, the following conditions are necessary and sufficient:
(a) F (1) = 1 + 1 + 0.25 = 2.25 > 0

(b) F (1) (1)2 = (1)2 + (1) + 0.25 (+1) = 0.25 > 0
(c) |a0 | = 0.25 < a2 = 1

The system is thus stable.


4. Determine the range of values for K under which the discrete-time system whose characteristic equation is F (z) = z 3 + z 2 + z + K = 0 is stable using the modified Routh-Hurwitz
test.

Alberto Ortiz

Solution:
The polynomial is first transformed using z = (1 + w)/(1 w):

3 
2 

1+w
1+w
1+w
F (w) =
+K
+
+
1w
1w
1w
(K 1)w3 (3K + 1)w2 + 3(K 1)w (K + 3)
=
w3 3w2 + 3w 1
F (w) = 0 (K 1)w3 (3K + 1)w2 + 3(K 1)w (K + 3) = 0
The polynomial to study through the RH test is thus F (w) = (K 1)w3 (3K + 1)w2 +
3(K 1)w (K + 3):
w3
w2
w1
w0

K 1
(3K + 1)
8K(K1)
3K+1

3(K 1)
(K + 3)
0

(K + 3)

In order to avoid sign changes in the first column of the RH array, all terms must be
positive:
K 1>0

K>1

K>1

(3K + 1) > 0

3K + 1 < 0

K < 31

8K(K1)
3K+1

>0

8K(K 1) > 0

K > 0 and K > 1, or


K < 0 and K < 1

(K + 3) > 0

K +3<0

K < 3

The conditions are contradictory, no K satisfies all the conditions.


or all negative:
K 1<0

K<1

K<1

(3K + 1) < 0

3K + 1 > 0

K > 31

8K(K1)
3K+1

<0

8K(K 1) < 0

K > 0 and K < 1, or


K < 0 and K > 1

(K + 3) < 0

K +3>0

K > 3

In this case, 0 < K < 1 meets all the conditions.


5. Find the stable range for a gain K in the forward path of a discrete-time control system
1
whose plant is given by G(s) = s+3
and a zero-order hold with T = 0.02s using the Jury
test.

Alberto Ortiz

Solution:
The transfer function for this system is given by:
h
i
G(s)
K z1
z Z
s
Y (z)
i
h
=
G(s)
X(z)
1 + K z1
Z
z
s

The characteristic equation is 1 + K z1


z Z


G(s)
s

= 0, so we need to determine Z

G(s)
s






G(s)
1
A
B
Z
=Z
=Z
+
s
s(s + 3)
s
s+3




1
1
1
1


A=s
= , B = (s + 3)
=
s(s + 3) s=0
3
s(s + 3) s=3
3






1
1
1 e3T
z
z
1
z
1
G(s)
= Z
=
=

Z
3T
s
3
s s+3
3 z1 ze
3 (z 1)(z e3T )

i
:

The characteristic equation is thus:




K 1 e3T
G(s)
z1
=1+
=0
Z
1+K
z
s
3 z e3T

3(z e3T ) + K(1 e3T ) = 3z + 0.0582K 2.8250 = 0

Since the degree of the characteristic polynomial P (z) = 3z + 0.0582K 2.8250 is 1, the
following conditions are necessary and sufficient:
(a) P (1) = 3 + 0.0582K 2.8250 = 0.1750 + 0.0582K > 0 K > 0.1750/0.0582 =
3.0069

(b) P (1) (1)1 = (3 + 0.0582K 2.8250) = 5.8250 0.0582K > 0 K <


5.8250/0.0582 = 100.0859
(
K < 5.8250/0.0582 = 100.0859
(c) |a0 | = 0.0582K 2.8250 < a1 = 3
K > 0.1750/0.0582 = 3.0069

Consequently, K [3.0069, 100.0859] for the system to be stable.


6. Check the stability of a discrete-time system whose transfer function is
G(z) =

5(z 2)
(z 0.1)(z 0.8)

using: (a) the modified Routh-Hurwitz test and (b) the Jury test.
Solution:
For both cases, the characteristic equation is given by P (z) = z 2 1.8z + 0.08 = 0.

Alberto Ortiz

(a) Transforming the characteristic equation in order for the RH test to be usable, we
obtain:
w2 + 0.6389w 0.2500
P (w) =
=0
0.3472w2 0.6944w + 0.3472

The polynomial to study through the RH test is thus P (w) = w2 + 0.6389w 0.2500:
w2
w1
w0

1
0.6389
-0.2500

-0.2500
0

Since there is one sign change along the first column of the RH array, we conclude
the system is unstable since one root of P lies in the right-half side of the wplane,
and, consequently, one root of P (z) lies outside the unit circle in the zplane.
(b) Since the degree of the characteristic polynomial is 2, the following conditions are
necessary and sufficient:
(a) P (1) = 1 1.8 + 0.08 6> 0
(b) F (1) (1)2 = (1 + 1.8 + 0.08)(+1) = 2.88 > 0
(c) |a0 | = 0.08 < a2 = 1

Since the first condition is not met, we can conclude that the system is unstable.

7. Determine the range of values for K under which the discrete-time system of the figure
(T = 1s) is stable using: (a) the modified Routh-Hurwitz test and (b) the Jury test.
X(s)

E(s)

E (s)
K

1
s(s+1)

Gzoh (s)

Solution:
The transfer function for this system is given by:
K z1
z Z

G(s)
s

Y (z)
h
i
=
G(s)
X(z)
Z
1 + K z1
z
s

Y (s)

Alberto Ortiz

The characteristic equation is 1 + K z1


z Z

G(s)
s

= 0, so we need to determine Z






1
A1
A2
B
G(s)
=Z 2
=Z
+
+
Z
s
s (s + 1)
s2
s
s+3


1

A1 = s2 2
=1
s (s + 1) s=0




d 2
1
1


A2 = s 2
= 1
=
ds s (s + 1) s=0
(s + 1)2 s=0


1

=1
B = (s + 1) 2
s (s + 1) s=1



 

G(s)
1
Tz
1
z
1
z
Z
=Z 2 +
=

+
s
s
s s+1
(z 1)2
z 1 z eT

z (T + eT 1)z + (1 eT T eT )
=
(z 1)2 (z eT )


G(s)
s

i
:

The characteristic equation is thus:




G(s)
z1
(T + eT 1)z + (1 eT T eT )
Z
=0
1+K
=1+K
z
s
(z 1)(z eT )
z 2 1.3679z + 0.3679 + K(0.3679z + 0.2642) =

z 2 + (0.3679K 1.3679)z + 0.2642K + 0.3679 = 0

(a) Transforming the characteristic equation in order for the RH test to be usable, we
obtain:
P (w) =

(2.7358 0.1037K)w2 + (1.2642 0.5284K)w + 0.6321K


=0
w2 2w + 1

The polynomial to study through the RH test is thus P (w) = (2.73580.1037K)w2 +


(1.2642 0.5284K)w + 0.6321K:
w2
w1
w0

2.7358 - 0.1037K
1.2642 - 0.5284K
0.6321K

0.6321K
0

In order to avoid sign changes in the first column of the RH array, all terms must
be positive:
2.7358 0.1037K > 0

K < 26.3819

1.2642 0.5284K > 0

K < 2.3925

0.6321K > 0

K>0

In this case, 0 < K < 2.3925 meets all the conditions.

Alberto Ortiz

or all negative:
2.7358 0.1037K < 0

K > 26.3819

1.2642 0.5284K < 0

K > 2.3925

0.6321K < 0

K <0

The conditions are contradictory, no K satisfies all the conditions.


(b) Since the degree of the characteristic polynomial P (z) = z 2 + (0.3679K 1.3679)z +
0.2642K + 0.3679 is 2, the following conditions are necessary and sufficient:
(a) P (1) = 1+(0.3679K 1.3679)+0.2642K +0.3679 > 0 0.6321K > 0 K > 0
(b) P (1) (1)2 = 1 (0.3679K 1.3679) + 0.2642K + 0.3679 > 0 2.7358
0.1037K > 0 K < 26.3819
0.6321
(c) |a0 | = 0.2642K + 0.3679 < a2 = 1 K < 10.3679
0.2642 = 0.2642 = 2.3925

So, for the system to be stable, 0 < K < 2.3925.

8. Check, using the Jury test, the stability of a system whose dynamics is given by the
following difference equation:
y(k + 2) + 0.8y(k + 1) + 0.07y(k) = 2x(k + 1) + 0.2x(k)

Solution:
We first z-transform the difference equation assuming initial conditions 0, and next determine the transfer function:
z 2 Y (z) + 0.8zY (z) + 0.07Y (z) = 2zX(z) + 0.2X(z)

Y (z)
2z + 0.2
= 2
X(z)
z + 0.8z + 0.07

Since the degree of the characteristic polynomial P (z) = z 2 + 0.8z + 0.07 is 2, the following
conditions are necessary and sufficient:
(a) P (1) = 1 + 0.8 + 0.07 = 1.87 > 0
(b) P (1) (1)2 = 1 0.8 + 0.07 = 0.27 > 0

(c) |a0 | = 0.07 < a2 = 1

The system is thus stable.


9. Determine the overshoot and the settling time for the following discrete-time closed-loop
system with T = 0.1s:
X(s)

E(s)

E (s)
8

Gzoh (s)

1
s(s+3)

Y (s)

Alberto Ortiz

Solution:
We first determine the system transfer function:
i
h
G(s)
z1
Z
8
z
s
Y (z)
i
h
H(z) =
=
z1
X(z)
1 + 8 z Z G(s)
s






z1
z1
z1
A2
B
G(s)
1
A1
L(z) = 8
=8
=8
+
Z
Z 2
Z
+
z
s
z
s (s + 3)
z
s2
s
s+3


1
1

A1 = s2 2
=
s (s + 3) s=0
3




1
1
1
d 2


=
s
=
A2 =
ds s2 (s + 3) s=0
(s + 3)2 s=0
9


1
1

B = (s + 3) 2
=

s (s + 3) s=3
9




8z1
3T z
1
z
1
z
3
8z1
=

Z 2 +
+
L(z) =
9 z
s
s s+3
9 z
(z 1)2
z 1 z e3T
8 3T (z e3T ) (z 1)(z e3T ) + (z 1)2
9
(z 1)(z e3T )
0.3265z + 0.2955
8 (3T + e3T 1)z + (1 3T e3T e3T )
= 2
=
9
z 2 (1 + e3T )z + e3T
9z 15.667z + 6.6674
0.3265z + 0.2955
H(z) = 2
9z 15.3408z + 6.9629
=

From the characteristic equation 9z 2 15.3408z + 6.9629 = 0 we obtain the system poles
as z1,2 = 0.8523 j0.2175.

In order to use the expressions for the overshoot and the settling time of continuous-time
second-order systems, we have first to calculate the poles s1,2 = j of the equivalent
continuous-time system:
1
1
ln |z| = 1.2832, = 6 z = 2.4983 rad/s.
T
T
(
p

=
1.2832
n

s1 = 1.2832 + j2.4983 = n jn 1 2
n 1 2 = 2.4983

|z| = 0.8796, 6 z = 0.2499 rad =

n2 2 n2 = 2.49832 n2 1.28322 = 2.49832 n = 2.8085 rad/s, = 0.4569

The remaining calculations are straightforward:


Mp = 100e

12

= 19.92%,

ts =

= 2.4483 s
n

Alberto Ortiz

10. Determine the overshoot and the settling time for the following discrete-time closed-loop
system with T = 0.1s:
X(s)

E(s)

E (s)

C(z) =

4
z0.1

Gzoh (s)

1
s(s+3)

Y (s)

Solution:
We first determine the system transfer function:
i
h
G(s)
z1
Z
C(z)
z
s
Y (z)
h
i
=
H(z) =
G(s)
X(z)
Z
1 + C(z) z1
z
s




z1
4 z1
G(s)
1
L(z) = C(z)
=
Z
Z 2
z
s
z 0.1 z
s (s + 3)


4 z1
A1
A2
B
=
Z
+
+
z 0.1 z
s2
s
s+3


1
1

=
A1 = s2 2
s (s + 3) s=0
3




d 2
1
1
1


A2 =
=
=
s 2


2
ds s (s + 3) s=0
(s + 3) s=0
9


1
1

B = (s + 3) 2
=
s (s + 3) s=3
9


1
1
3
4 z11
Z 2 +
L(z) =
z 0.1 z 9
s
s s+3


4 z11
3T z
z
z
=

+
z 0.1 z 9 (z 1)2
z 1 z e3T

4 3T (z e3T ) (z 1)(z e3T ) + (z 1)2


9
(z 0.1)(z 1)(z e3T )
4
(3T + e3T 1)z + (1 3T e3T e3T )
=
9 z 3 (e3T + 1.1)z 2 + (1.1e3T + 0.1)z 0.1e3T
0.1633z + 0.1477
= 3
9z 16.5674z 2 + 8.2341z 0.6667
0.1633z + 0.1477
H(z) = 3
9z 16.5674z 2 + 8.3974z 0.5190
=

From the characteristic equation 9z 3 16.5674z 2 + 8.3974z 0.5190 = 0 we obtain the


system poles as z1,2 = 0.8847 j0.1546, z3 = 0.0715. In order to use the expressions for
the overshoot and the settling time of continuous-time second-order systems, we first have
to discard one of the previous roots. Since z3 is closer to 0, and so less dominant, we keep

10

Alberto Ortiz

z1,2 and proceed with the calculations:


1
1
ln |z| = 1.0750, = 6 z = 1.7306 rad/s
T
T
(
p

=
1.0750
n

s1 = 1.0750 + j1.7306 = n jn 1 2
n 1 2 = 1.7306
|z| = 0.8981, 6 z = 0.1731 rad =

n2 2 n2 = 1.73062 n2 1.07502 = 1.73062 n = 2.0373 rad/s, = 0.5277


The remaining calculations are straightforward:
Mp = 100e

12

= 14.2061%,

ts =

= 2.9224 s
n

11. Determine the poles of a second-order discrete-time system with T = 0.2s so that Mp =
5% and tp = 2s.
Solution:
We start calculating the damping ration and the natural frequency n of the continuoustime system:
s
2
ln2 (0.05)

Mp = 100e 1
= 0.6901
= ln(0.01Mp ) =
2 + ln2 (0.05)
1 2

tp =
n =
=
= 2.1705 rad/s.
n 1 2
tp 1 2
2 1 0.69012

The continuous-time system poles are thus s = n jn 1 2 = 1.4979 + j1.5708 .


To finish, the poles for the discrete-time system are obtained from the transformation from
s to z:
z = esT = e1.4979T ej1.5708T = 0.7411 cos(0.3142) j0.7411 sin(0.3142) = 0.70 j0.23

12. Determine the static error expressions and constants for the closed-loop configurations
shown in the figure:
(a)

X(s)

E(s)

G1 (s)

G2 (s)

H(s)
Y (s)

Y (s)

11

Alberto Ortiz

(b)

X(s)

E(s)

G1 (s)

G2 (s)

Y (s)

H(s)

Solution:
(a) We first have to determine an expression for the error E(z):

E(s) = X(s) Y (s)H(s)


Y (s) = U (s)G2 (s)

U (s) = E (s)G1 (s)

U (s) = E (s)G1 (s) Y (s) = E (s)G1 (s)G2 (s)


E (s) = X (s) Y (s)H (s)
= X (s) E (s)G1 (s)G2 (s)H (s)
E(z) = X(z) E(z)G1 (z)G2 (z)H(z)
1
X(z)
E(z) =
1 + G1 (z)G2 (z)H(z)

If we define Q(z) = G1 (z)G2 (z)H(z), then:


ess = lim

z1

z1
1
z1
E(z) = lim
X(z)
z1
z
z 1 + Q(z)

The expressions for the standard inputs step, ramp and parabola are as follows:


z1
1
z
z
X(z) = z1 esp = lim
z1
z 1 + G1 (z)G2 (z)H(z) z 1
1
[step]
=
1 + limz1 G1 (z)G2 (z)H(z)
1
A(z)
Kp = lim G1 (z)G2 (z)H(z) = lim
z1
z1 (z 1)N B(z)
(
1/(1 + Kp ) system of type 0
1
esp =
=
1 + Kp
0
system of type 1 or higher

12

Alberto Ortiz

X(z) =


1
Tz
z1
z1
z 1 + G1 (z)G2 (z)H(z) (z 1)2
T
=
limz1 (z 1)G1 (z)G2 (z)H(z)
1
z 1 A(z)
1
Kv =
lim (z 1)G1 (z)G2 (z)H(z) =
lim
T z1
T z1 (z 1)N B(z)

system of type 0

1
= 1/Kv system of type 1
esv =

Kv

0
system of type 2 or higher


z1
1
T 2 z(z + 1)
esa = lim
z1
z 1 + G1 (z)G2 (z)H(z) 2(z 1)3
2T 2
=
2 limz1 (z 1)2 G1 (z)G2 (z)H(z)
1
(z 1)2 A(z)
1
Ka = 2 lim (z 1)2 G1 (z)G2 (z)H(z) = 2 lim
T z1
T z1 (z 1)N B(z)

system of type 0

system of type 1
1
esa =
=

Ka 1/Ka system of type 2

0
system of type 3 or higher

Tz
(z1)2

esv = lim

[ramp]

X(z) =

T 2 z(z+1)
2(z1)3

[parabola]

(b) As before, we first try to determine an expression for the error E(z):
E(s) = X(s) Y (s)H(s)
Y (s) = U (s)G2 (s)
U (s) = E(s)G1 (s)
U (s) = (X(s) Y (s)H(s)) G1 (s)

= X(s)G1 (s) Y (s)H(s)G1 (s)


= X(s)G1 (s) U (s)G2 (s)H(s)G1 (s)

U (s) = XG1 (s) U (s)G1 G2 H (s)

XG1 (z)
1 + G1 G2 H(z)
E(s) = X(s) Y (s)H(s) = X(s) U (s)G2 (s)H(s)
E (s) = X (s) U (s)G2 H (s)
U (s) =

E(z) = X(z)

X(z) + X(z)G1 G2 H(z) XG1 (z)G2 H(z)


XG1 (z)G2 H(z)
=
1 + G1 G2 H(z)
1 + G1 G2 H(z)

Consequently:
ess = lim

z1

z1
z 1 X(z) + X(z)G1 G2 H(z) XG1 (z)G2 H(z)
E(z) = lim
z1
z
z
1 + G1 G2 H(z)

13

Alberto Ortiz

In this case, it is not possible to pre-calculate the error as a function of the type of
input and the type of system, since X gets mixed with G1 in ess .

13. Determine the static errors for the configurations of exercise 12 for a sampling period of
T = 1s and the following transfer functions:
G1 (s) =

s1
,
s+5

G2 (s) =

3
,
s+7

H(s) =

1
s+1

Solution:
For case (a), Q(z) = G1 (z)G2 (z)H(z) is given by:






1
d 5t
z
1
G1 (z) = Z
=Z
s1+1 Z
e
+ (t)
s+5
s+5
dt
z e5T




z
z
= Z 5e5kT + (kT )
= Z 5e5t + (t)
5T
ze
z e5T
5T
z
6z
5z + e
z
+1
=1
=
= 5
z e5T
z e5T
z e5T
z e5T



3
3z
G2 (z) = Z
=
s+7
z e7T

z
1
=
H(z) = Z
s+1
z eT


Consequently:
Q(z) =

z3

15z 3 + 0.0202z 2
0.3755z 2 + 0.0028z + e13

It is a system of type 0. Therefore:


1
1
1
=
=
= 0.0436
1 + Kp
1 + Kp
1 23.9447
15 + 0.0202
Kp = lim Q(z) =
= 23.9447
z1
1 0.3755 + 0.0028 + e13
esv =
esp =

esa =

For case (b), we have to determine:


z 1 X(z) + X(z)G1 G2 H(z) XG1 (z)G2 H(z)
z1
z
1 + G1 G2 H(z)

ess = lim

14

Alberto Ortiz

So, we need to know first G1 G2 H(z), G2 H(z) and XG1 (z):


A
B
C
3(s 1)
=
+
+
(s + 5)(s + 7)(s + 1)
s+5 s+7 s+1


3(s 1)
18
9

A = (s + 5)
=
=

(s + 5)(s + 7)(s + 1) s=5
8
4


24
3(s 1)

= 2
=
B = (s + 7)
(s + 5)(s + 7)(s + 1) s=7
12


1
6
3(s 1)

=
=
C = (s + 1)
(s + 5)(s + 7)(s + 1) s=1
24
4


1
z
z
z
G1 G2 H(z) =
9
8

4 z e5T
z e7T
z eT

G1 (s)G2 (s)H(s) =

z (8e7T + 9e5T eT )z + 9e8T 8e6T e12T


=
4(z e5T )(z e7T )(z eT )
z(0.0786z + 0.0042)
=
(z 0.0067)(z 0.0009)(z 0.3679)

A
B
3
=
+
(s + 1)(s + 7)
s+1 s+7


3
1
3

A = (s + 1)
= =
(s + 1)(s + 7) s=1
6
2


3
1
3

=
=
B = (s + 7)

(s + 1)(s + 7) s=7
6
2


T
1 z(e e7T )
z
z
1
=

G2 H(z) =
T
7T
2 ze
ze
2 (z eT )(z e7T )
0.1835z
=
(z 0.3679)(z 0.0009)

G2 (s)H(s) =

s1
A
B
1s1
=
= +
[step]
ss+5
s(s + 5)
s
s+5

s 1
1
A=s
=
s(s + 5) s=0
5

6
s 1
=
B = (s + 5)

s(s + 5) s=5
5


z(5z + e5T 6)
6z
z
z(z 1.1987)
1
=

=
XG1 (z) =
5T
5 ze
z1
5(z 1)(z e5T )
(z 1)(z 0.0067)

X(s)G1 (s) =

15

Alberto Ortiz

A2
s1
A1
B
1 s1
= 2
= 2 +
+
s2 s + 5
s (s + 5)
s
s
s+5

1
s 1
2
=
A1 = s 2
s (s + 5) s=0
5



d 2 s 1
6
6

A2 =
=
s
=
ds s2 (s + 5) s=0
(s + 5)2 s=0
25

s 1
6
B = (s + 5) 2
=

s (s + 5) s=5
25


z
z
Tz
1
+
6

6
5
XG1 (z) =
25
(z 1)2
z1
z e5T

[ramp]

X(s)G1 (s) =

z 5T (z e5T ) + 6(z 1)(z e5T ) 6(z 1)2


25
(z 1)2 (z e5T )

z (6 5T 6e5T )z + (5T e5T + 6e5T 6)
z (0.0384z 0.2370)
=
=
25(z 1)2 (z 0.0067)
(z 1)2 (z 0.0067)
=

A2
A3
s1
A1
B
1 s1
= 3
= 3 + 2 +
+
s3 s + 5
s (s + 5)
s
s
s
s+5

s 1
1
3
A1 = s 3
=
s (s + 5) s=0
5



d 3 s 1
6
6

A2 = s 3
=
=
ds s (s + 5) s=0
(s + 5)2 s=0
25


6
6
1 d2 3 s 1
=
s 3
=
A3 =


2
3
2! ds
s (s + 5) s=0
(s + 5) s=0
125

s 1
6
B = (s + 5) 3
=
s (s + 5) s=5
125
i
h
2
T
z(z+1)
1
z
Tz
z
XG1 (z) = 125
25 2(z1)3 + 30 (z1)
2 6 z1 + 6 ze5T

X(s)G1 (s) =

[parabola]

2
5T
)+60T (z1)(ze5T )12(z1)2 (ze5T )+12(z1)3
z 25T (z+1)(ze
250
(z1)3 (ze5T )

z ((60T 25T 2 +12e5T 12)z 2 +(2460T 25T 2 +(25T 2 60T 24)e5T )z +


250(z1)3 (z0.0067)
+

((25T 2 +60T +12)e5T 12))

z (0.0923z 2 0.2456z0.0454)
(z1)3 (z0.0067)

Summing up:
G1 G2 H(z) =

z(0.0786z + 0.0042)
(z 0.0067)(z 0.0009)(z 0.3679)

16

Alberto Ortiz
0.1835z
(z 0.3679)(z 0.0009)
z(z 1.1987)
[step]
XG1 (z) =
(z 1)(z 0.0067)
z (0.0384z 0.2370)
[ramp]
XG1 (z) =
(z 1)2 (z 0.0067)

z 0.0923z 2 0.2456z 0.0454
[parabola]
XG1 (z) =
(z 1)3 (z 0.0067)
z 1 X(z) + X(z)G1 G2 H(z) XG1 (z)G2 H(z)
ess = lim
z1
z
1 + G1 G2 H(z)

G2 H(z) =

Consequently:
z1
z1 z

esp = lim

z
z1

z(0.0786z+0.0042)
z(z1.1987)
0.1835z
(1 (z0.0067)(z0.0009)(z0.3679)
) (z1)(z0.0067)
(z0.3679)(z0.0009)
z(0.0786z+0.0042)

1 (z0.0067)(z0.0009)(z0.3679)
z(0.0786z+0.0042)
z1.1987
0.1835z
(z0.0067)(z0.0009)(z0.3679) z0.0067 (z0.3679)(z0.0009)
z(0.0786z+0.0042)
1 (z0.0067)(z0.0009)(z0.3679)

= lim

= lim

(z0.0067)(z0.0009)(z0.3679)z(0.0786z+0.0042)0.1835z(z1.1987)
(z0.0067)(z0.0009)(z0.3679)z(0.0786z+0.0042)

z1

z1

z1
z1 z

esv = lim

Tz
(z1)2

= 1.0670

z(0.0786z+0.0042)
0.1835z
) z(0.0384z0.2370)
(1 (z0.0067)(z0.0009)(z0.3679)
(z1)2 (z0.0067) (z0.3679)(z0.0009)
z(0.0786z+0.0042)

1 (z0.0067)(z0.0009)(z0.3679)

T z(0.0786z+0.0042)
0.0384z0.2370
0.1835z
z0.0067
(z0.3679)(z0.0009)
1 T (z0.0067)(z0.0009)(z0.3679)
z(0.0786z+0.0042)
1 (z0.0067)(z0.0009)(z0.3679)
z1 z1

= lim

1 T (z0.0067)(z0.0009)(z0.3679)T z(0.0786z+0.0042)0.1835z(0.0384z0.2370)
(z0.0067)(z0.0009)(z0.3679)z(0.0786z+0.0042)
z1 z1

= lim

z1
z1 z

esa = lim

T 2 z(z+1)
2(z1)3

1
2
z1 (z1)

= lim

1
2
z1 (z1)

= lim

z(0.0786z+0.0042)
(1 (z0.0067)(z0.0009)(z0.3679)
)

z 0.0923z 2 0.2456z0.0454

(z1)3 (z0.0067)
z(0.0786z+0.0042)
1 (z0.0067)(z0.0009)(z0.3679)

T 2 (z+1)
2

0.1835z
(z0.3679)(z0.0009)

2 0.2456z0.0454
0.1835z
z0.0067
(z0.3679)(z0.0009)
z(0.0786z+0.0042)
1 (z0.0067)(z0.0009)(z0.3679)

z(0.0786z+0.0042)
) 0.0923z
(1 (z0.0067)(z0.0009)(z0.3679)

T 2 (z+1)
((z0.0067)(z0.0009)(z0.3679)z(0.0786z+0.0042))
2

(z0.0067)(z0.0009)(z0.3679)z(0.0786z+0.0042)

0.1835z(0.0923z 2 0.2456z0.0454)

=
14. Find the steady-state error for a sampled unit step and a sampled unit ramp, assuming
T = 0.02s.
X(z)

E(z)

0.35z
z1

Gzoh (s)

s+8
s+5

Y (z)

17

Alberto Ortiz

Solution:
The steady-state errors for step and ramp inputs are, respectively, given by:
1
1
=
1 + Kp
1 + limz1 L(z)
1
T
=
=
Kv
limz1 (z 1)L(z)

esp =
esv

where L(z) is the open-loop transfer function.


In this case, L(z) = C(z)G (z), where:






z1
z1
B
G(s)
(s + 8)
A
z1

=
=
Z
Z
Z
+
G (z) =
z
s
z
s(s + 5)
z
s
s+5


8
(s + 8)
=
A=s
s(s + 5) s=0
5

(s + 8)
3
B = (s + 5)
=
s(s + 5) s=5
5




1z1
8z
3
3z
8
1z1

=
Z

G (z) =
5 z
s s+5
5 z
z 1 z e5T
=

1 8(z e5T ) 3(z 1)


5z + 3 8e5T
z 0.8477
=
=
5T
5T
5
ze
5z 5e
z 0.9048

Consequently, L(z) =
esp =
esv =

0.35z z0.8477
z1 z0.9048

and:

1
1 + limz1

0.35z z0.8477
z1 z0.9048

1
=0

0.02
0.02(1 0.9048)
0.35z z0.8477 = 0.35(1 0.8477) = 0.0357
limz1 (z 1) z1 z0.9048

15. Find the steady-state error for the system shown in the figure:
D(s)
Gd (s)

X(s)

E(s)

E (s)

C (s)

U (s)

Gzoh (s)

Y (s)
G(s)

where the sampling period is 0.03s, the transfer functions involved are:
Gd (s) =

2
,
s+1

G(s) =

4(s + 2)
esT 0.95
and C (s) =
,
s(s + 3)
esT 1

18

Alberto Ortiz

and the inputs are X(s) = 0 and D(s) = 1/s (unit-step disturbance).
Solution:
First we have to find an expression for E(z):
E(s) = X(s) Y (s)
Y (s) = [D(s)Gd (s) + E (s)C (s)Gzoh (s)] G(s)

E(s) = X(s) D(s)Gd (s)G(s) E (s)C (s)Gzoh (s)G(s)

E (s) = X (s) DGd G (s) E (s)C (s)(G ) (s)


E(z) = X(z) DGd G(z) E(z)C(z)G (z)
E(z) =

X(z) DGd G(z)


1 + C(z)G (z)

Now, replacing the expressions available for the different elements of the control system,
we obtain:




8(s + 2)
A1
A2
B
C
DGd G(z) = Z [D(s)Gd (s)G(s)] = Z 2
=Z
+
+
+
s (s + 1)(s + 3)
s2
s
s+1 s+3


16
8(s + 2)

=
A1 = s2 2
s (s + 1)(s + 3) s=0
3



d 2
8(s + 2)
8(s + 1)(s + 3) 8(s + 2)(s + 3 + s + 1)

A2 =
s 2
=

ds s (s + 1)(s + 3) s=0
(s + 1)2 (s + 3)2
s=0
24 64
40
=
=
9
9


8
8(s + 2)

= =4
B = (s + 1) 2
s (s + 1)(s + 3) s=1
2


4
8
8(s + 2)

=
=
C = (s + 3) 2

s (s + 1)(s + 3) s=3
18
9




12 10
12T z
10z
z
9
1
9z
4
4

+
+
+
+
DGd G(z) = Z 2
=
9
s
s
s+1 s+3
9 (z 1)2
z 1 z eT
z e3T
4z 12T (z eT )(z e3T ) 10(z 1)(z eT )(z e3T )
=
+
9
(z 1)2 (z eT )(z e3T )
4z 9(z 1)2 (z e3T ) + (z 1)2 (z eT )
9
(z 1)2 (z eT )(z e3T )
z(1.0879z 2 2.0348z + 0.9505)
=
9(z 1)2 (z 2 1.8844z + 0.8869)

19

Alberto Ortiz






z1
z1
A2
B
z1
G(s)
4(s + 2)
A1
=
=
+
Z
Z 2
Z
+
z
s
z
s (s + 3)
z
s2
s
s+3


8
4(s + 2)
=
A1 = s2 2
s (s + 3) s=0
3



d 2 4(s + 2)
4
4(s + 3) 4(s + 2)
=
A2 =
s 2
=

ds s (s + 3) s=0
(s + 3)2
9
s=0

4
4(s + 2)
=
B = (s + 3) 2
s (s + 3) s=3
9




4z1
4z1
6T z
1
z
1
z
6

G (z) =
=
+
Z 2+

9 z
s
s s+3
9 z
(z 1)2
z 1 z e3T
G (z) =

4 6T (z e3T ) + (z 1)(z e3T ) (z 1)2


9
(z 1)(z e3T )
3T
4(1 + 6T e
)z + 4(e3T 6T e3T 1)
1.0643z 1.0023
=
=
3T
9(z 1)(z e
)
9(z 1)(z 0.9139)

The final expression for E(z) will thus be:


2

z(1.0879z 2.0348z+0.9505)
0 9(z1)
2 (z 2 1.8844z+0.8869)
X(z) DGd G(z)
=
E(z) =
1.0643z1.0023
z0.95

1 + C(z)G (z)
1 + z1 9(z1)(z0.9139)

z(1.0879z 2 2.0348z + 0.9505)(z 0.9139)


(z 2 1.8844z + 0.8869) [9(z 1)2 (z 0.9139) + (z 0.95)(1.0643z 1.0023)]

Finally:
z1
e() = lim
z1
z


z(1.0879z 2 2.0348z + 0.9505)(z 0.9139)
2
(z 1.8844z + 0.8869) [9(z 1)2 (z 0.9139) + (z 0.95)(1.0643z 1.0023)]
=0

16. Reduce the following discrete-time transfer function up to third order:


G(z) = 0.5

(z 0.7)(z 0.1)(z 2 0.1z + 0.001)(z 0.51)(z 2 0.7z + 0.15)


(z 0.9)(z 2 1.6z + 0.79)(z 0.15)(z 0.5)(z 2 0.65z 0.14)z

Solution:
We first have to determine the roots for all the subexpressions of G(z), and next select
poles and zeros for removal/cancellation up to leaving at most third order both at the

20

Alberto Ortiz

numerator and the denominator:


z 0.9
z 2 1.6z + 0.79
z 0.15
z 0.5
z 2 0.65z 0.14
z
z 0.7
z 0.1
z 2 0.1z + 0.001
z 0.51
z 2 0.7z + 0.15

poles
0.9
0.8888
0.15
0.5
0.8206
0.1706
0
zeros
0.7
0.7
0.1
0.1
0.0887
0.0887
0.0113
0.0113
0.51
0.51
0.35 j0.1658 0.3873
0.9
0.8 j0.3873
0.15
0.5
0.8206
0.1706
0

preserve
preserve
cancel with
cancel with
cancel with
cancel with
preserve

zero
zero
zero
zero

z
z
z
z

= 0.1
= 0.51
= 0.7
= 0.0887

cancel with pole z = 0.8206


cancel with pole z = 0.15
cancel with pole z = 0.1706
replace by zero z = 0
cancel with pole z = 0.5
preserve

The resulting transfer function turns out to be:


(z 2 0.7z + 0.15)
(z 2 0.7z + 0.15)z
=
2
(z 0.9)(z 1.6z + 0.79)z
(z 0.9)(z 2 1.6z + 0.79)

Gsim (z) =

while the gain adjustment is given by:

lim G(z)

K=

z1

lim Gsim (z)

(z0.7)(z0.1)(z 0.1z+0.001)(z0.51)(z 0.7z+0.15)


lim 0.5 (z0.9)(z
2 1.6z+0.79)(z0.15)(z0.5)(z 2 0.65z0.14)z

z1

(z 0.7z+0.15)
lim (z0.9)(z
2 1.6z+0.79)

z1

= 0.6678

z1

Finally:
Gsim (z) = 0.6678

(z 2 0.7z + 0.15)
(z 0.9)(z 2 1.6z + 0.79)

The next figure compares the step responses of the original and the simplified systems:
Step response
16
14

magnitude

12
original
simplified

10
8
6
4
2
0
0

10

20

30
40
time (sec)

50

60

70

21

Alberto Ortiz

17. Construct the root locus for the following characteristic equations:
(a) z 2 + (0.15K 1.5)z + 1 = 0
(b) z 2 + (0.4 + 0.14K)z + (0.5 + 0.5K) = 0
Solution:
(a) We start collecting information on different aspects of the root locus:
The poles of the open-loop transfer function are the roots of the characteristic
equation when K = 0, while the zeros are the roots for K = :
K = 0 z 2 1.5z + 1 = 0 z = 0.7500 j0.6614

1  2
z + (0.15K 1.5)z + 1 = 0 0.15z = 0 z = 0
K = lim
K K

There are two complex poles, one zero at z = 0 and another zero at :
p
(0.15K 1.5) (0.15K 1.5)2 4
lim z = lim
K
K
2
(
(0.15K 1.5) + (0.15K 1.5) = 0
=
=
We can rebuild the open-loop transfer function L(z) =

P (z)
Q(z)

z 2 + (0.15K 1.5)z + 1 = z 2 1.5z + 1 + 0.15Kz = 0


P (z)
1 + K Q(z)
= 0 Q(z) + KP (z) = 0

as follows:
)

Q(z) = z 2 1.5z + 1, P (z) = 0.15z


Therefore, the root locus comprises two branches starting at z = 0.7500j0.6614
and ending at z = 0 and z = .
Since the poles are complex, the only real interval belonging to the root locus is
(, 0].
There is only one asymptote (n m = 2 1 = 1) with angle (2k + 1)/(n
m)|k=0 = 180 (the intersect with the real axis is irrelevant in this case).
There must be a break-in point between zeros z = and z = 0:
z 2 1.5z + 1
dK
(2z 1.5)0.15z 0.15(z 2 1.5z + 1)

=
0.15z
dz
0.152 z 2
2
0.15z 0.15
= 0 z = 1
=
0.0225z 2
The break-in point is at z = 1, since z = +1 does not belong to the root locus.
The value of K for this point is:

z 2 1.5z + 1
1 + 1.5 + 1
K(1) =
= 23.33
=

0.15z
0.15
z=1
K=

22

Alberto Ortiz

The intersects with the imaginary axis are obtained from the zeros of the first
column of the Routh-Hurwitz array for 1 + L(z) = 0:
z2
z1
z0

1 1
0.15K 1.5
0.15K 1.5 = 0 K = 10
1


z 2 + (0.15K 1.5)z + 1 = 0
= z 2 + 1 = 0 z = j
K=10

To find the intersects with the unit circumference we must consider 1 + L(w) = 0
and look for the zeros in the first column of the Routh-Hurwitz array:
2


w+1
w+1
1+L(w) = 0
+1=0
+ (0.15K 1.5)
w1
w1
(w + 1)2 + (0.15K 1.5)(w + 1)(w 1) + (w 1)2

=0
(w 1)2
w2 + 2w + 1 + (0.15K 1.5)w2 (0.15K 1.5) + w2 2w + 1

=0
(w 1)2
(0.5 + 0.15K)w2 + (3.5 0.15K)
20
= 0 (3K + 10)w2 + 70 3K = 0

(w 1)2


w2
w1
w1
w0

3K + 10 = 0 K = 3.33 < 0
3K + 10 70 3K
0

70 3K
70 3K = 0 K = 23.33

The intersect with the unit circumference coincides with the break-in point: K =
23.33 and z = 1.

Apart from manually drawing the root locus using the information collected, we can
build the root locus by means of matlab with the following commands:
Lz = tf([0.15 0],[1 -1.5 1],1)
figure(1); rlocus(Lz)

23

Alberto Ortiz

Root Locus
System: Lz
Gain: 10.1
Pole: 0.00502 + 0.996i
Damping: 0.00266
Overshoot (%): 99.2
Frequency (rad/sec): 1.58

1.5

System: Lz
Gain: 0
Pole: 0.75 + 0.661i
Damping: 1.54e016
Overshoot (%): 100
Frequency (rad/sec): 0.723

System: Lz
Gain: 23.3
Pole: 1 0.000875i
Damping: 8.12e006
Overshoot (%): 100
Frequency (rad/sec): 3.14

Imaginary Axis

0.5

0.5

System: Lz
Gain: 0
Pole: 0.75 0.661i
Damping: 1.54e016
Overshoot (%): 100
Frequency (rad/sec): 0.723

1.5
2.5

1.5

System: Lz
Gain: 10.1
Pole: 0.00584 0.996i
Damping: 0.00268
Overshoot (%): 99.2
Frequency (rad/sec): 1.58
0.5
0
Real Axis

0.5

(b) We start collecting information on different aspects of the root locus:


The poles of the open-loop transfer function are the roots of the characteristic
equation when K = 0, while the zeros are the roots for K = :
K = 0 z 2 + 0.4z + 0.5 = 0 z = 0.2000 j0.6782

1  2
K = lim
z + (0.4 + 0.14K)z + (0.5 + 0.5K) = 0 0.14z + 0.5 = 0
K K
z = 3.5714
There are two complex poles, one zero at z = 3.5714 and another zero at + or
. We can determine which by setting K to a large value, e.g. 106 , and solving

for z: z 2 + (0.4 + 0.14K)z + (0.5 + 0.5K) = 0
= z 2 + 140000z + 500000 =
6
K=10

0 z1,2 = {139996.43, 3.5715}. So, the second zero is at .


P (z)
as follows:
We can rebuild the open-loop transfer function L(z) = Q(z)

z 2 + (0.4 + 0.14K)z + (0.5 + 0.5K) = z 2 + 0.4z + 0.5 + 0.14Kz + 0.5K = 0


P (z)
1 + K Q(z)
= 0 Q(z) + KP (z) = 0
Q(z) = z 2 + 0.4z + 0.5, P (z) = 0.14z + 0.5
Therefore, the root locus comprises two branches starting at z = 0.7500j0.6614
and ending at z = 3.5714 and z = .

24

Alberto Ortiz

Since the poles are complex, the only real interval belonging to the root locus is
(, 3.5714].
There is only one asymptote (n m = 2 1 = 1) with angle (2k + 1)/(n
m)|k=0 = 180 (the intersect with the real axis is irrelevant in this case).
There must be a break-in point between zeros z = and z = 3.5714:

dK
(2z + 0.4)(0.14z + 0.5) 0.14(z 2 + 0.4z + 0.5)
z 2 + 0.4z + 0.5

=
0.14z + 0.5
dz
(0.14z + 0.5)2
2
0.14z + z + 0.13
=
= 0 z1,2 = {7.0104, 0.1325}
(0.14z + 0.5)2

K=

The break-in point is at z = 7.0104, since z = 0.1325 does not belong to the
root locus. The value of K for this point is:

z 2 + 0.4z + 0.5
K(7.0104) =
= 97.2914
0.14z + 0.5 z=7.0104

The intersects with the imaginary axis are obtained from the zeros of the first
column of the Routh-Hurwitz array for 1 + L(z) = 0:
z2
z1
z0

1 0.5 + 0.5K
0.4 + 0.14K
0.5 + 0.5K

0.4
= 2.8571
0.4 + 0.14K = 0 K = 0.14
0.5 + 0.5K = 0 K = 1

There are no intersects with the imaginary axis since the zeros of the first column
of the Routh-Hurwitz array correspond to K < 0.
To find the intersects with the unit circumference we must consider 1 + L(w) = 0
and look for the zeros in the first column of the Routh-Hurwitz array:

2


w+1
w+1
1+L(w) = 0
+ (0.5 + 0.5K) = 0
+ (0.4 + 0.14K)
w1
w1
(w + 1)2 + (0.4 + 0.14K)(w + 1)(w 1) + (0.5 + 0.5K)(w 1)2

=0
(w 1)2
w2 + 2w + 1 + (0.4 + 0.14K)w2 (0.4 + 0.14K) +

(0.5 + 0.5K)w2 2(0.5 + 0.5K)w + (0.5 + 0.5K)


=0
(w 1)2
(1.9 + 0.64K)w2 + (1 K)w + (1.1 + 0.36K)

=0
(w 1)2
(1.9 + 0.64K)w2 + (1 K)w + (1.1 + 0.36K) = 0
w2
w1
w0

1.9 + 0.64K
1K
1.1 + 0.36K

1.1 + 0.36K

1.9 + 0.64K = 0 K = 2.9688


1K =0K =1
1.1 + 0.36K = 0 K = 3.0556

The intersect with the unit circumference is for K = 1 or at z1,2 = 0.2700


j0.9629 (roots of z 2 + 0.54z + 1 = 0).

25

Alberto Ortiz

Apart from manually drawing the root locus using the information collected, we can
build the root locus by means of matlab with the following commands:
Lz = tf([0.14 0.5],[1 0.4 0.5],1)
figure(1); rlocus(Lz)
Root Locus

3
System: Lz
Gain: 0
Pole: 0.2 + 0.678i
Damping: 0.183
Overshoot (%): 55.6
Frequency (rad/sec): 1.89

Imaginary Axis

0
System: Lz
Gain: 97.3
Pole: 7.01 1.12e007i
Damping: 0.527
Overshoot (%): 701
Frequency (rad/sec): 3.7

System: Lz
Gain: Inf
Pole: 3.57
Damping: 0.376
Overshoot (%): 357
Frequency (rad/sec): 3.39

System: Lz
Gain: 1.03
Pole: 0.273 0.969i
Damping: 0.00383
Overshoot (%): 101
Frequency (rad/sec): 1.85

14

12

10

6
Real Axis

18. Determine the root locus for the discrete-time system of the figure for: (a) T = 0.1s, (b)
T = 2s and (c) removing the sampler and the ZOH, and replacing the digital controller
by a continuous-time controller C(s) = K/s. Find the system poles for a gain K = 2 in
all three cases.
X(s)

E(s)

Solution:

E (s)

C(z) =

KT z
z1

Gzoh (s)

G(s) =

1
s+1

Y (s)

26

Alberto Ortiz

We have to determine the characteristic polynomial for (a), (b) and (c):




G(s)
1
z1
Tz z 1
Z
Z
1 + KL(z) = 1 + C(z)
=1+K
z
s
z1 z
s(s + 1)




z
1
z
1
= 1 + KT

= 1 + KT Z
s s+1
z 1 z eT
= 1 + KT

z(1 eT )
(z 1)(z eT )

1 + KL(s) = 1 + C(s)G(s) = 1 + K

1
s(s + 1)

(a) The open-loop transfer function and the characteristic equation for T = 0.1s are:
L(z) = T

0.0095z
z(1 eT )
= 2
T
(z 1)(z e )
z 1.9048z + 0.9048

1 + KL(z) = z 2 (1 + eT )z + eT + KT z KT eT z
= z 2 + (KT 1 eT KT eT )z + eT

= z 2 + (0.0095K 1.9048)z + 0.9048 = 0

Now, we can start collecting information on different aspects of the root locus:
The poles of the open-loop transfer function are z1,2 = {1, 0.9048}, while there
is one finite zero at z = 0. The other zero is at + or . We can deter6
2
mine which by setting K to a large
value, e.g. 10 , and solving for z: z +

(0.0095K 1.9048)z + 0.9048 = 0
= z 2 + 9498.0952z + 0.9048 = 0
6
K=10
z1,2 = {9498.0951, 0.0001}. So, the second zero is at .
Therefore, the root locus comprises two branches starting at z1,2 = {0.9048, 1}
and ending at z = 0 and z = .
The intervals over the real axis belonging to the root locus are (, 0] and
[0.9048, 1].
There is only one asymptote (n m = 2 1 = 1) with angle (2k + 1)/(n
m)|k=0 = 180 (the intersect with the real axis is irrelevant in this case).
There must be a breakaway point between z = 0.9048 and z = 1 and one break-in
point between z = and z = 0:
z 2 1.9048z + 0.9048
0.0095z
(2z 1.9048)0.0095z 0.0095(z 2 1.9048z + 0.9048)
dK
=

dz
0.00952z 2
2
0.0095z 0.0086
= 0 z = 0.9512
=
0.00952z 2

K =

27

Alberto Ortiz

The breakaway point is at z = 0.9512 (between the two poles) while the break-in
point is at z = 0.9512 (between the two zeros). The value of K for these points
are:

z 2 1.9048z + 0.9048
= 0.2506
K(+0.9512) =

0.0095z
z=0.9512

z 2 1.9048z + 0.9048
K(0.9512) =
= 400.7599

0.0095z
z=0.9512
The intersects with the imaginary axis are obtained from the zeros of the first
column of the Routh-Hurwitz array for 1 + KL(z) = 0:
z2
z1
z0

1 0.9048
0.0095K 1.9048
0.0095K 1.9048 = 0 K = 200.5053
0.9048

The intersects with the imaginary axis are thus:




z 2 + (0.0095K 1.9048)z + 0.9048 = 0

K=200.5053

z 2 + 0.9048 = 0 z1,2 = j0.9512

To find the intersects with the unit circumference we must consider 1+KL(w) =
0 and look for the zeros in the first column of the Routh-Hurwitz array:
2



w+1
w+1
+ 0.9048 = 0
+ (0.0095K 1.9048)
1+KL(w) = 0
w1
w1
(w + 1)2 + (0.0095K 1.9048)(w + 1)(w 1) + 0.9048(w 1)2

=0
(w 1)2
w2 + 2w + 1 + (0.0095K 1.9048)w2 (0.0095K 1.9048) +

0.9048w2 2 0.9048w + 0.9048


=0
(w 1)2
0.0095Kw2 + 0.1904w + 3.8096 0.0095K

=0
(w 1)2

0.0095Kw2 + 0.1904w + 3.8096 0.0095K = 0


w2
w1
w0

0.0095K 3.8096 0.0095K


0.1904
3.8096 0.0095K

0.0095K = 0 K = 0
3.8096 0.0095K = 0
K = 401.0105

The intersect with the unit circumference is for K = 0 and z = 1, and for
K = 401.0105 and z = 1.

28

Alberto Ortiz

Apart from manually drawing the root locus using the information collected, we
can build the root locus by means of matlab with the following commands:
Lz = tf([0.0095 0],[1 -1.9048 0.9048],1)
figure(1); rlocus(Lz)
System: Lz
Gain: 200
Pole: 0.000568 + 0.945i
Damping: 0.0358
Overshoot (%): 89.4
Frequency (rad/sec): 1.57

Root Locus

0.8

0.6

Imaginary Axis

System: Lz
Gain: 0.253
Pole: 0.951 + 0.00482i
Damping: 0.995
Overshoot (%): 0
Frequency (rad/sec): 0.0503

System: Lz
Gain: 401
Pole: 0.951 + 0.00212i
Damping: 0.016
Overshoot (%): 95.1
Frequency (rad/sec): 3.14

0.4

0.2

0.2

0.4
System: Lz
Gain: 200
Pole: 0.00171 0.945i
Damping: 0.0358
Overshoot (%): 89.4
Frequency (rad/sec): 1.57

0.6

0.8

2.5

1.5

0.5
Real Axis

0.5

1.5

(b) The open-loop transfer function and the characteristic equation for T = 2s are:
L(z) = T

1.7293z
z(1 eT )
= 2
T
(z 1)(z e )
z 1.1353z + 0.1353

1 + KL(z) = z 2 + (1.7293K 1.1353)z + 0.1353 = 0

Now, we can start collecting information on different aspects of the root locus:
The poles of the open-loop transfer function are z1,2 = {0.1353, 1}, while there
is one finite zero at z = 0. The other zero is at + or . We can determine
which by setting K to a large value, e.g. 106 , and solving for z: z 2 + (1.7293K

1.1353)z + 0.1353 = 0
= z 2 + 1729328.2982z + 0.1353 = 0 z1,2 =
6
K=10
{1729328.2982, 0}. So, the second zero is at .
Therefore, the root locus comprises two branches starting at z1,2 = {0.1353, 1}
and ending at z = 0 and z = .
The intervals over the real axis belonging to the root locus are (, 0] and
[0.1353, 1].
There is only one asymptote (n m = 2 1 = 1) with angle (2k + 1)/(n
m)|k=0 = 180 (the intersect with the real axis is irrelevant in this case).

29

Alberto Ortiz

There must be a breakaway point between z = 0.1353 and z = 1 and one break-in
point between z = and z = 0:
z 2 1.1353z + 0.1353
1.7293z
dK
(2z 1.1353)1.7293z 1.7293(z 2 1.1353z + 0.1353)

=
dz
1.72932z 2
1.7293z 2 0.23397
= 0 z = 0.3678
=
1.72932z 2

K =

The breakaway point is at z = 0.3678 (between the two poles) while the break-in
point is at z = 0.3678 (between the two zeros). The value of K for these points
are:

z 2 1.1353z + 0.1353
= 0.2311
K(+0.3678) =

1.7293z
z=0.3678

z 2 1.1353z + 0.1353
K(0.3678) =
= 1.0819

1.7293z
z=0.3678
The intersects with the imaginary axis are obtained from the zeros of the first
column of the Routh-Hurwitz array for 1 + KL(z) = 0:
z2
z1
z0

1 0.1353
1.7293K 1.1353
1.7293K 1.1353 = 0 K = 0.6565
0.1353

The intersects with the imaginary axis are thus:




z + (1.7293K 1.1353)z + 0.1353 = 0
2

K=0.6565

z + 0.1353 = 0 z1,2 = j0.3678

To find the intersects with the unit circumference we must consider 1+KL(w) =
0 and look for the zeros in the first column of the Routh-Hurwitz array:

2


w+1
w+1
1+KL(w) = 0
+ 0.1353 = 0
+ (1.7293K 1.1353)
w1
w1
(w + 1)2 + (1.7293K 1.1353)(w + 1)(w 1) + 0.1353(w 1)2

=0
(w 1)2
w2 + 2w + 1 + (1.7293K 1.1353)w2 (1.7293K 1.1353) +

0.1353w2 2 0.1353w + 0.1353


=0
(w 1)2
1.7293Kw2 + 1.7294w + 0.2706 1.7293K
=0

(w 1)2

1.7293Kw2 + 1.7294w + 2.2706 1.7293K = 0

30

Alberto Ortiz
w2
w1
w0

1.7293K 2.2706 1.7293K


1.7294
2.2706 1.7293K

1.7293K = 0 K = 0
2.2706 1.7293K = 0
K = 1.3130

The intersect with the unit circumference is for K = 0 and z = 1, and for
K = 1.3130 and z = 1.
Apart from manually drawing the root locus using the information collected, we
can build the root locus by means of matlab with the following commands:
Lz = tf([1.7293 0],[1 -1.1353 0.1353],1)
figure(1); rlocus(Lz)
Root Locus

Imaginary Axis

0.5
System: Lz
Gain: 1.08
Pole: 0.37
Damping: 0.302
Overshoot (%): 37
Frequency (rad/sec): 1.65

System: Lz
Gain: 0.657
Pole: 0.000637 + 0.367i
Damping: 0.538
Overshoot (%): 13.5
Frequency (rad/sec): 0.933

0
System: Lz
Gain: 1.31
Pole: 1
Damping: 0.000515
Overshoot (%): 100
Frequency (rad/sec): 1.57
0.5

System: Lz
Gain: 0.231
Pole: 0.365 + 3.38e009i
Damping: 1
Overshoot (%): 0
Frequency (rad/sec): 0.504

1.5

0.5

0
Real Axis

0.5

1.5

(c) The open-loop transfer function and the characteristic equation are:
1
+s
1 + KL(s) = s2 + s + K = 0
L(s) =

s2

Now, we can start collecting information on different aspects of the root locus:
The poles of the open-loop transfer function are s1,2 = {0, 1}, while the zeros
are both infinite, one at s = + and the other at s = . Therefore, the root
locus comprises two branches starting at s1,2 = {0, 1}, and ending at s = +
and z = .
The interval over the real axis belonging to the root locus is [1, 0].

31

Alberto Ortiz

There are two asymptotes (n m =P2 P0 = 2) with angles k = (2k+1)


=
2
pi cj
(1+0)0
=
= 0.5.
{/2, 3/2}. The centroid is at s =
2
2
There is one breakaway point which coincides with the asymptotes centroid:
K=

dK
s2 + s

= 2s 1 = 0 s = 0.5
1
ds

The value of K for this point is:




K(0.5) = (s + s)
2

= 0.25
s=0.5

The intersects with the imaginary axis are obtained from the zeros of the first
column of the Routh-Hurwitz array for 1 + KL(s) = 0:
z2
z1
z0

1
1
K

K
K=0

The only intersect with the imaginary axis is thus one of the poles.
Apart from manually drawing the root locus using the information collected, we
can build the root locus by means of matlab with the following commands:
Ls = tf(1,[1 1 0])
figure(1); rlocus(Ls)
Root Locus
0.8

0.6

0.4

Imaginary Axis

0.2

System: Ls
Gain: 0.0048
Pole: 0.995
Damping: 1
Overshoot (%): 0
Frequency (rad/sec): 0.995

0
System: Ls
Gain: 0.25
Pole: 0.5
Damping: 1
Overshoot (%): 0
Frequency (rad/sec): 0.5

0.2

0.4

0.6

0.8

1.5

0.5
Real Axis

0.5

32

Alberto Ortiz

19. Determine the resonant peak, the resonant frequency and the bandwidth for the following
closed-loop discrete-time system with T = 1s:
X(z)

E(z)

G (z) =

0.2(z+0.8)
z 2 0.8z+0.2

Y (z)

Solution:
We have to determine first the closed-loop transfer function:
0.2(z+0.8)

2
0.2z + 0.16
Y (z)
= z 0.8z+0.2
= 2
0.2(z+0.8)
X(z)
z 0.6z + 0.36
1 + z2 0.8z+0.2

The system poles are z1,2 = 0.3 j0.5196.


We determine the equivalent poles in continuous time:
1
1
|z| = 0.6000, 6 z = 1.0472 rad = ln |z| = 0.5108, = 6 z = 1.0472 rad/s.
T
T
(
p
n = 0.5108

s = 0.5108 + j1.0472 = n jn 1 2
n 1 2 = 1.0472

n2 2 n2 = 1.04722 n2 0.51082 = 1.04722 n = 1.1651 rad/s, = 0.4384

From this we can straightforwardly determine the resonant peak and the bandwidth:
p
1
Mr =
= 1.2689 (20 log10 Mr = 2.0686 dB), r = n 1 2 2 = 0.9142 rad/sec
2 1 2
h
i 21
p
= 1.5588 rad/sec
c = n (1 2 2 ) + 4 4 4 2 + 2
If we verify these calculations with Matlab, we obtain:

33

Alberto Ortiz

As can be observed, apart from the evident DC gain difference, both systems behave similarly with regard to the magnitude of the frequency response, with subtle differences as for
the bandwith and the resonant peak features.
20. Determine the gain and phase margins for the following closed-loop discrete-time system:
X(w)

G (w) =

150
(w+2)(w+10)

Y (w)

H(w) =

7
w+7

Solution:
We first determine L(w) = G (w)H(w) =

1050
(w+2)(w+7)(w+10) .

Next, we determine L(j):




1050
1050

=
L(j) =

(w + 2)(w + 7)(w + 10) w=j
(2 + j)(7 + j)(10 + j)
=

(147000 19950 2) + j(1050 3 109200)


6 + 153 4 + 5496 2 + 19600

Now, we can solve for in Im[L(j)] = 0: 1050 3 109200 = 0 = {0, 10.1980}.


As can be observed, = also leads to Im[L(j)] = 0:
1050 3 109200
=0
6 + 153 4 + 5496 2 + 19600
lim

p {0, +10.1980, +} is the frequency leading to the value of L(j) over the real
axis closest to 1 + j0:
147000
= 7.5
19600
L(j10.1980) = 0.5719
L(j0) =

147000 19950 2
=0
6 + 153 4 + 5496 2 + 19600

L(j) = lim
p is thus +10.1980.

The gain margin can be calculated as:


Kgm =

1
1
=
= 1.7486 GM = 20 log10 Kgm = 4.8536
|L(jp )|
0.5719

34

Alberto Ortiz

To determine the phase margin, we must solve for in |L(j)| = 1:




(147000 19950 2) + j(1050 3 109200)
=1



6 + 153 4 + 5496 2 + 19600
s
(147000 19950 2)2 + (1050 3 109200)2
=1
( 6 + 153 4 + 5496 2 + 19600)2
(147000 19950 2)2 + (1050 3 109200)2 = ( 6 + 153 4 + 5496 2 + 19600)2

12 + 306 10 + 34401 8 + 618488 6

132488000 4 5843990000 2 21225500000 = 0


= {3.77 j10.98, j10, 7.72, j7, j2} g = +7.7204 rad

We can now determine PM:


L(jg ) = 0.9452 j0.3264 PM = 6 L(jg ) + = 19.0521
We can verify these calculations with Matlab from e.g. the Nyquist plot of L(w):
Nyquist Diagram
5

5
2

3
Real Axis

21. Determine the gain and phase margins for the following closed-loop discrete-time system
with T = 0.1s:
X(z)

E(z)

G (z) =

Solution:

0.0952z
(z1)(z0.905)

Y (z)

35

Alberto Ortiz

In this case, we have L(z) = G (z). We have to determine L(w) using z =


20 + w
:
20 w
L(w) = 

20+w
20w

1+
1


T

2 w

T
2 w T =0.1

20+w
0.0952 20w
38.08 0.0952w2
0.0952(20 + w)(20 w)

=
=
20+w
2w(1.9 + 1.905w)
3.8w + 3.81w2
1 20w
0.905

We next determine L(j):



38.08 0.0952w2
38.08 + 0.0952 2
L(j) =
=
3.8w + 3.81w2 w=j
3.81 2 + j3.8

38.08 + 0.0952 2 3.81 2 j3.8


3.81 2 + j3.8 3.81 2 j3.8
(145.0848 + 0.3627 3) + j(144.7040 + 0.3618 2 )
=
14.5161 3 + 14.4400
=

Now, we can solve for p in Im[L(j)] = 0: 144.7040 + 0.3618 2 = 0 =


j19.9989. This means the Nyquist plot does not intersect the real axis. As can be
observed, = also leads to Im[L(j)] = 0:
144.7040 + 0.3618 2
=0
14.5161 3 + 14.4400
lim

So, p = +.
The gain margin is thus:
Kgm =

1
=
|L(jp )|

1
14.5161


145.0848+0.3627 3 = 0.3627 = 40.0223
lim 14.5161 3 +14.4400

GM = 20 log10 Kgm = 32.0460

To determine the phase margin, we must solve for in |L(j)| = 1:




(145.0848 + 0.3627 3) + j(144.7040 + 0.3618 2)

=1


14.5161 3 + 14.44
s
(145.0848 + 0.3627 3 )2 + (144.7040 + 0.3618 2)2
=1
(14.5161 3 + 14.44)2
(145.0848 + 0.3627 3 )2 + (144.7040 + 0.3618 2)2 (14.5161 3 + 14.44)2 = 0
= {3.1230, j3.2014, j0.9974} g = +3.1230 rad

We can now determine PM:


L(jg ) = 0.9526 j0.3042 PM = 6 L(jg ) + = 17.7102

36

Alberto Ortiz

We can check these calculations with Matlab from e.g. the Nyquist plot of L(w):
Nyquist Diagram
150

100

System: Lw
Real: 9.86
Imag: 72.2
Frequency (rad/sec): 0.137

50

System: Lw
Real: 7.65
Imag: 13.8
Frequency (rad/sec): 0.559

System: Lw
Gain Margin (dB): 32
At frequency (rad/sec): Inf
Closed Loop Stable? Yes

0
System: Lw
Phase Margin (deg): 17.7
Delay Margin (sec): 0.099
At frequency (rad/sec): 3.12
Closed Loop Stable? Yes

System: Lw
Real: 8.18
Imag: 17.2
Frequency (rad/sec): 0.477

50

System: Lw
Real: 9.69
Imag: 50.6
Frequency (rad/sec): 0.192
100

150
10

5
Real Axis

22. Determine the gain margin, the phase margin and the bandwidth for the following closedloop discrete-time system with T = 0.2s:
X(s)

E(s)

E (s)

G(s) =

Gzoh (s)

7
s+5

Y (s)

Solution:


z1
0.8850
7
In this case, we have L(z) = G (z) =
=
Z
.
z
s(s + 5)
z 0.3679

1 + T2 w
10 + w
=
:
Next, we have to determine L(w) using z =
10 w
1 T2 w T =0.2

L(w) =

8.8500 0.8850w
0.8850
=
6.3210 + 1.3679w
0.3679

10+w
10w

37

Alberto Ortiz

We next determine L(j):


8.8500 j0.8850 6.3210 j1.3679
8.8500 j0.8850
=
6.3210 + j1.3679
6.3210 + j1.3679 6.3210 j1.3679
(29.8965 0.6470 2) j9.4594
=
2 + 21.3532

L(j) =

Now, we can solve for in Im[L(j)] = 0: 9.4594 = 0 = 0.

As can be observed, = also leads to Im[L(j)] = 0:


lim

9.4594
=0
2 + 21.3532

p {0, +} is the frequency leading to the value of L(j) over the real axis closest
to 1 + j0:
29.8965
= 1.4001
21.3532
29.8965 0.6470 2
L(j) = lim
= 0.6470

2 + 21.3532
L(j0) =

Therefore, p is +.
The gain margin is, thus, calculated as:
Kgm =

1
1
=
= 1.5456 GM = 20 log10 Kgm = 3.7822
|L(jp )|
0.6470

To determine the phase margin, we must solve for in |L(j)| = 1:




(29.8965 0.6470 2) j9.4594

=1


2 + 21.3532
s
(29.8965 0.6470 2)2 + 9.45942 2
=1
( 2 + 21.3532)2
(29.8965 0.6470 2)2 + 9.45942 2 ( 2 + 21.3532)2 = 0
0.5814 4 8.0878 2 437.84 = 0

= {5.9385, j4.6211} g = +5.9385


We can now determine PM:
L(jg ) = 0.1251 j0.9922 PM = 6 L(jg ) + = 97.1840
The Nyquist plots of L(w) and L(z), as well as the precise margin values calculated
by Matlab, are provided below to check and discuss the results obtained:

38

Alberto Ortiz

>> allmargin(Lz)
GainMargin: 1.545681009813324
GMFrequency: 15.707963268631948
PhaseMargin: 97.143329726671482
PMFrequency: 5.362315461090347
DelayMargin: 1.580913098439896
DMFrequency: 5.362315461090347
Stable: 1

>> allmargin(Lw)
GainMargin: 1.545649717514124
GMFrequency: Inf
PhaseMargin: 97.192396318832607
PMFrequency: 5.937530819422515
DelayMargin: 0.285695750516008
DMFrequency: 5.937530819422515
Stable: 1

Nyquist Diagram
1.5

0.5
System: Lw
Gain Margin (dB): 3.78
At frequency (rad/sec): Inf
Closed Loop Stable? Yes
0

0.5

1
System: Lw
Phase Margin (deg): 97.2
Delay Margin (sec): 0.286
At frequency (rad/sec): 5.94
Closed Loop Stable? Yes
1.5

1.5

0.5

0.5
Real Axis

1.5

39

Alberto Ortiz

Nyquist Diagram
1.5

0.5
System: Lz
Gain Margin (dB): 3.78
At frequency (rad/sec): 15.7
Closed Loop Stable? Yes
0

0.5

1
System: Lz
Phase Margin (deg): 97.1
Delay Margin (samples): 1.58
At frequency (rad/sec): 5.36
Closed Loop Stable? Yes
1.5

1.5

0.5

0.5

1.5

Real Axis

As can be observed, on the one hand, there are slight differences in the margin values
obtained due to rounding errors in our calculations, either to derive L(w) and later
while obtaining the requested performance values from L(w). On the other hand, the
critical phase frequency p obtained from L(w) is while for L(z) is 15.7080. This
is because, while working with L(w), we use the fictitious frequency p (= ), while
the calculations performed over L(z) make use of the real frequency p (= 15.7080).
The correspondence can be easily checked using the transformation from to :
2

1 p T
= T2 tan T
2 p = T tan
2 = T = 15.7080. The same happens with the
T
critical gain frequencies: g = 5.94 and g = 5.36 = T2 tan1 g2 .
To finish, we have to determine the bandwidth of the system, and, as a first option,
we can approximate this system by a standard first-order system. To do so, we need
0.8850
, and determine the closed-loop transfer function:
to go back to G (z) = z0.3679
G (z)
0.8850
Y (z)
=
=
X(z)
1 + G (z)
z + 0.5171
We next transform the discrete-time pole z = 0.5171 to the continuous-time domain:
=

1
ln |z| = 3.2977 ,
T

1
6 z =
= 15.7080 s = 3.2937 j15.7080
T
T

40

Alberto Ortiz

We can derive the bandwidth using standard second-order formulation:



n= 3.2937
n2 (n )2 = 15.70802
n 1 2 = 15.7080
p
n = 15.70802 + 3.29372 = 16.0496
3.2937
= 0.2052
=
16.0496
h
i1/2
p
c = n (1 2 2 ) + 4 4 4 2 + 2
= 24.1903

If we plot the step responses of both the discrete-time system and the equivalent
second-order system, we obtain the following (the right plot comes from equalizing the
G (z)
1
responses of the discrete- and the continuous-time systems, i.e.
G (z)
1+G (z) ):
limz1

Step Response

1+G (z)

Step Response

1.6

1.6
DT
CT 2nd order

DT
CT 2nd order

1.4

1.4

1.2

1.2

0.8

0.8

0.6

0.6

0.4

0.4

0.2

0.2

0.5

1.5

2
Time (sec)

2.5

3.5

0.5

1.5

2
Time (sec)

2.5

3.5

As can be observed, the responses, apart from the different steady-state values, are
quite similar. However, the bode plots for both systems look quite different:
discretetime system

equivalent 2ndorder continuoustime system

20
10

0
System: Gs
Frequency (rad/sec): 24.2
Magnitude (dB): 3.02

10

20
0

30
40

50
60

70
6

80

45

45

90

90

135

135

180

180
1

10

10

10
Frequency (rad/sec)

10

10

10

10
Frequency (rad/sec)

10

Alberto Ortiz

41

As can be noticed from the left plot, the bandwidth of the discrete-time system is
infinite. The bandwidth of the equivalent continuous-time system is, however, of
about 24.2 rad/sec.

You might also like