solution 9.10.1.5 The rst step is to put the transfer function in time constant form. So we have G(s) = 800(s+5) s(s +20) 2 = (800)(5)(1+ s=5) (20)(20)s(1+ s=20) 2 = 10(1+ s=5) s(1 + s=20) 2 : Then the terms to be plotted are 10 ;; 1 s ;; 1+s=5 ;;and [ 1 1+s=20 ] 2 20log 10 (10) = 20 db Atlowfrequencies the only terms that contribute are the gain and 1=s. The term 1=s, whichisastraight line crossing the 0-dB line at ! =1,will, when the gain is added in, cross the vertical line through ! =1rad/s at 20 dB. The other terms are straightlines. 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=5 p1 = 0 p2 = 20 p3 = 20 K=800 mag = 20.*log10( ( K*abs(s + z) )./( abs( s + p1) .* abs(s + p2).*abs(s+p3) ) );; semilogx(w,mag);; grid on axis([0.1 1000 -60 40]) print -deps 91015a.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;; 1 10 -1 10 0 10 1 10 2 10 3 -60 -50 -40 -30 -20 -10 0 10 20 30 40 Figure 1: Accurate and asymptotic Bode magnitude plots 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.1 1000 -200 -60]) print -deps 91015b.eps 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=5 p1 = 0 p2 = 20 p3 = 20 K=800 mag = 20.*log10( ( K*abs(s + z) )./( abs( s + p1) .* abs(s + p2).*abs(s+p3) ) );; semilogx(w,mag);; grid on axis([0.1 1000 -60 40]) 2 10 -1 10 0 10 1 10 2 10 3 -200 -180 -160 -140 -120 -100 -80 -60 Figure 2: Accurate and approximate Bode phase plots print -deps 91015a.eps 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.1 1000 -200 -60]) print -deps 91015b.eps 3