solution 9.10.1.16
The rst step is to put the transfer function in time constant form. So we
have
G(s) =
101(s +1)
s(s
2
+2s +101)
=
101(1+ s)
101s(s=
p
101)
2
+(2=101)s+1)
=
(s +1)
s(s=
p
26)
2
+(1=13)s+1)
:
Then the terms to be plotted are
1 ;;
1
s
;;
1
s=
p
26)
2
+(1=13)s+1
;; and 1 + s:
20log
10
(1) = 0 dB
Atlowfrequencies the only terms that contribute are the gain and 1=s. The
term 1=s, whichisastraightline crossing the 0-dB line at ! =1,withslope
;20 dB/dec. When the gain is added in, it will cross ! =1rad/s at 0 dB,
since the gain, in dB, is 0. The quadratic term is a straight line out to the
vicinityofthe natural frequency !
n
,and a straightlineforfrequencies much
larger than !
n
.Thetwo straightline asymptotes shown in Figure 1 capture
the behavior awayfrom the vicinityof!
n
.Note that the slope changes to
zero when the zero at s = ;1breaks in, and does, beccausethe resonant
frequency of the complex poles is a decade higher at 10 rad/s, so there is a
distinct
at" part to the asymptotic plot. The slope if the high frequency
asymptote is;40 dB since wehavethree poles and one zero and hence a pole
zero excess of two. The damping ratio of the complex poles is about 0.0995.
Referring to Figure 9.11(a) we see that there will be signicanthump at the
resonant frequency ( whichisvery close to !
n
). The hump is accentuated
by the presence of the zero. The accurate magnitude plot, also shown in
Figure ??,was generated with the MATLAB statements
w=logspace(-2,3,200);;
s=j*w;;
z=1
p1 = 0
p2 = 1 -j*10
1
10
-2
10
-1
10
0
10
1
10
2
-40
-30
-20
-10
0
10
20
30
40
Figure 1: Accurate and asymptotic Bode magnitude plots
p3 = 1 + j*10
K=101
mag = 20.*log10( ( K*abs(s + z)) ./( abs( s + p1) .* abs(s + p2).*abs(s + p3) )
semilogx(w,mag);;
grid on
axis([0.01 100 -40 40])
print -deps 910116a.eps
The phase plot, shown in Figure 2, is generated with the MATLAB
statements
w1 = logspace(-2,3,20);;
s1 = j*w1;;
phase = (angle(s + z)- angle(s + p1)-angle(s + p2) - angle(s + p3) )*180/pi;;
phase1 =(angle(s1 + z) - angle(s1 + p1)-angle(s1 + p2) - angle(s1 + p3))*180/pi;;
semilogx(w,phase,'k-',w1,phase1,'rd');;
grid on
axis([0.01 1000 -200 0])
2
print -deps 910116b.eps
zeta = cos(atan(5/1))
10
-2
10
-1
10
0
10
1
10
2
10
3
-200
-180
-160
-140
-120
-100
-80
-60
-40
-20
0
Figure 2: Accurate and approximate Bode phase plots
Note that twentypoint spread over vedecades will giveafairly accurate
phase plot. The complete MATLAB program to drawbothplots is
w=logspace(-2,3,200);;
s=j*w;;
z=1
p1 = 0
p2 = 1 -j*10
p3 = 1 + j*10
K=101
mag = 20.*log10( ( K*abs(s + z)) ./( abs( s + p1) .* abs(s + p2).*abs(s + p3) )
semilogx(w,mag);;
grid on
axis([0.01 100 -40 40])
print -deps 910116a.eps
3
pause
w1 = logspace(-2,3,20);;
s1 = j*w1;;
phase = (angle(s + z)- angle(s + p1)-angle(s + p2) - angle(s + p3) )*180/pi;;
phase1 =(angle(s1 + z) - angle(s1 + p1)-angle(s1 + p2) - angle(s1 + p3))*180/pi;;
semilogx(w,phase,'k-',w1,phase1,'rd');;
grid on
axis([0.01 1000 -200 0])
print -deps 910116b.eps
zeta = cos(atan(10/1))
4