solution 9.10.1.10 The rst step is to put the transfer function in time constant form. So we have G(s) = 100(s+3) s(s +0:5)(s+60) = 300(1+ s=3) (0:5)(60)s(1+ s=0:5)(1+ s=60) = 10(1+ s=3) s(1+ s=0:5)(1+ s=60) : Then the terms to be plotted are 10 ;; 1 s ;; 1 1+s=:5 ;; 1 1+s=60 and 1+s=3: 20log 10 (10) = 20 db Asumptotically,all the terms are 0 db except the gain and 1=s at frequencies below ! =0:5 rad/s. The term 1=s, whichisastraightline crossing the 0-dB line at ! =1,will, when the gain is added in, cross ! =1rad/s at 20 dB, establishing the low frequency asymptote. The other terms are straight lines. The asymptotic magnitude plot is shown in Figure 1 along with the accurate plot. The accurate magnitude plot was generated with the MATLAB statements w=logspace(-2,3,200);; s=j*w;; z=3 p1 = 0 p2 = 0.5 p3 = 60 K=100 mag = 20*log10(abs( (K.*(s + z) )./( ( s + p1) .* (s + p2).*(s + p3)) ) );; semilogx(w,mag);; grid on axis([0.01 1000 -80 60]) print -deps 910110a.eps The phase plot, shown in Figure 2, is generated with the MATLAB statements w1 = logspace(-2,3,30);; s1 = j*w1;; 1 10 -2 10 -1 10 0 10 1 10 2 10 3 -80 -60 -40 -20 0 20 40 60 Figure 1: Accurate and asymptotic Bode magnitude plots 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 -180 -90]) print -deps 910110b.eps Note that fortypoints spread over six decades will giveafairly accurate phase plot. The complete MATLAB program to drawbothplots is w=logspace(-2,3,200);; s=j*w;; z=3 p1 = 0 p2 = 0.5 p3 = 60 K=100 mag = 20*log10(abs( (K.*(s + z) )./( ( s + p1) .* (s + p2).*(s + p3)) ) );; semilogx(w,mag);; grid on 2 10 -2 10 -1 10 0 10 1 10 2 10 3 -180 -170 -160 -150 -140 -130 -120 -110 -100 -90 Figure 2: Accurate and approximate Bode phase plots axis([0.01 1000 -80 60]) print -deps 910110a.eps pause w1 = logspace(-2,3,30);; 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 -180 -90]) print -deps 910110b.eps 3