Solution 9.10.5.2
T
c
(s)=
K(s + )
(s + ;j!
d
)(s + + j!
d
)(s +
)
:
= !
n
=0:85=4
!
d
= !
n
q
1;
2
=50:6=3:
= 20:
We rst nd to set the desired steady state error to a ramp, namely zero.
Wehave
e
ss
=
1
;j!
d
+
1
+ j!
d
+
1
;
1
=
2
2
+ !
2
d
+
1
;
1
=
2
+
2
+ !
2
2
+ !
2
d
;
1
:
For nonzero steady state error to a ramp wehave
2
+
2
+ !
2
d
(
2
+ !
2
d
)
;
1
= ;;
or
2
+
2
+ !
2
d
(
2
+ !
2
d
)
; =
1
;;
or
2
+
2
+ !
2
d
;(
2
+ !
2
d
)
(
2
+ !
2
d
)
=
1
:
Then nally
=
(
2
+ !
2
d
)
2
+(1;)(
2
+ !
2
d
)
For zero steady state error to a step input wemust have
T
c
(0) = 1;;
or
K(s + )
(s + ;j!
d
)(s + + j!
d
)(s +
)
s=0
=1;;
1
or
K
(
2
+ !
2
d
)
=1;;
yielding
K =
(
2
+ !
2
d
)
substituting our value for obtained earlier wehave
K =
(
2
+ !
2
d
)
(
2
+ !
2
d
)
2
+(1;)(
2
+!
2
d
)
=2
+(1;)(
2
+ !
2
d
):
(a)
Then, for part(a)
=
(
2
+ !
2
d
)
2
+(1;)(
2
+ !
2
d
)
20(4
2
+3
2
)
2420 + (1;0)(4
2
+3
2
)
=2:703
K = 2
+(1;)(
2
+ !
2
d
)
= 2420 + 3
2
+4
2
=185:
The MATLAB program
omegan = 5
zeta = 0.8
sigma = omegan * zeta
gamma = 20
eps = 0.0
omegad = omegan * sqrt(1 - zeta^2)
delta = gamma*(sigma^2 + omegad^2);;
delta = delta/(2*sigma*gamma +(1 -eps)* (sigma^2 + omegad^2) )
K=2*sigma*gamma + (1 -eps)*( sigma^2 + omegad^2)
tc = zpk([-delta],[-sigma+j*omegad -sigma-j*omegad -gamma],K)
step(tc)
print -deps sr91052.eps
t=0:0.01:1;;
u=t;;
lsim(tc,u,t)
print -deps rr91052.eps
generates the step and ramp responses shown in Figure 1 and 2 respectively.
2
Time (sec.)
A
mp
li
tu
d
e
Step Response
0 0.5 1 1.5
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Figure 1: Step response of closed loop system
Time (sec.)
A
mp
li
tu
d
e
Linear Simulation Results
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Figure 2: Ramp response of closed loop system
3
(b)
The MATLAB program
omegan = 5
zeta = 0.8
sigma = omegan * zeta
gamma = linspace(10,30,100);;
eps = 0.0
omegad = omegan * sqrt(1 - zeta^2)
delta =(sigma^2 + omegad^2).* gamma;;
delta = delta./(2*sigma.*gamma +(1 -eps)* (sigma^2 + omegad^2) );;
K=2*sigma*gamma + (1 -eps)*( sigma^2 + omegad^2);;
plot(gamma,delta);;
grid on
print -deps 91052gvda.eps
plot(gamma,K)
grid on
print -deps 91052gvka.eps
produces the plots shown in Figures 3 The plot of K versus
is perfectly
linear. The plot of delta versus
is slightly nonlinear.
(c)
It is nowatrivial matter to modify the MATLAB code to
omegan = 5
zeta = 0.8
sigma = omegan * zeta
gamma = linspace(10,30,100);;
eps = 0.1
omegad = omegan * sqrt(1 - zeta^2)
delta =(sigma^2 + omegad^2).* gamma;;
delta = delta./(2*sigma.*gamma +(1 -eps)* (sigma^2 + omegad^2) );;
K=2*sigma*gamma + (1 -eps)*( sigma^2 + omegad^2);;
plot(gamma,delta);;
grid on
print -deps 91052gvdb.eps
plot(gamma,K)
grid on
print -deps 91052gvkb.eps
4
10 12 14 16 18 20 22 24 26 28 30
2.35
2.4
2.45
2.5
2.55
2.6
2.65
2.7
2.75
2.8
2.85
δ
γ
Figure 3: versus gamma for K
v
=100
and produce the graphs shown in Figure 5 and 6. These curves have the
same as their predecessors.
5
10 12 14 16 18 20 22 24 26 28 30
100
120
140
160
180
200
220
240
260
280
γ
K
Figure 4: K versus gamma for K
v
=100
6
10 12 14 16 18 20 22 24 26 28 30
2.4
2.45
2.5
2.55
2.6
2.65
2.7
2.75
2.8
2.85
2.9
δ
γ
Figure 5: versus
for K
v
=100
7
10 12 14 16 18 20 22 24 26 28 30
100
120
140
160
180
200
220
240
260
280
δ
γ
Figure 6: K versus
for K
v
=100
8