Systems Analysis and Control Matthew M. Peet Arizona State University Lecture 19: Drawing Bode Plots, Part 1 Overview In this Lecture, you will learn: Drawing Bode Plots • Drawing Rules Simple Plots • Constants • Real Zeros M. Peet Lecture 19: Control Systems 2 / 30 Review Recall from last lecture: Frequency Response Input: Linear Simulation Results u(t) = M sin(ωt + φ) 2.5 2 1.5 Output: Magnitude and Phase Shift y(t) = |G(ıω)|M sin(ωt + φ + ∠G(ıω)) Amplitude 1 0.5 0 −0.5 −1 −1.5 −2 0 2 4 6 8 10 Time (sec) 12 14 16 18 20 Frequency Response to sin ωt is given by G(ıω) M. Peet Lecture 19: Control Systems 3 / 30 Bode Plots We know G(ıω) determines the frequency response. How to plot this information? • 1 independent Variable: ω • 2 Dependent Variables: Re(G(ıω)) and Im(G(ıω)) Im G(iω) Re G(iω) ω Figure: The Obvious Choice Really 2 plots put together. M. Peet Lecture 19: Control Systems 4 / 30 Bode Plots An Alternative is to plot Polar Variables • 1 independent Variable: ω • 2 Dependent Variables: ∠G(ıω) and |G(ıω)| |G(iω)| < G(iω) ω • Advantage: All Information corresponds to physical data. I Can be found directly using a frequency sweep. M. Peet Lecture 19: Control Systems 5 / 30 Bode Plots If we only want a single plot we can use ω as a parameter. Nyquist Diagram 0.6 0.4 Imaginary Axis 0.2 0 −0.2 −0.4 −0.6 −0.6 −0.4 −0.2 0 Real Axis 0.2 0.4 0.6 A plot of Re(G(ıω)) vs. Im(G(ıω)) as a function of ω. • Advantage: All Information in a single plot. • AKA: Nyquist Plot M. Peet Lecture 19: Control Systems 6 / 30 Bode Plots We focus on Option 2. Definition 1. The Bode Plot is a pair of log-log and semi-log plots: 1. Magnitude Plot: 20 log10 |G(ıω)| vs. log10 ω 2. Phase Plot: ∠G(ıω) vs. log10 ω 20 log10 |G(ıω)| is units of Decibels (dB) • Used in Power and Circuits. • 10 log10 | · | in other fields. Note that by log, we mean log base 10 (log10 ) • In Matlab, log means natural logarithm. M. Peet Lecture 19: Control Systems 7 / 30 Bode Plots Example Lets do a simple pole Im(s) 1 G(s) = s+1 } ____ √1+ω2 We need • Magnitude of G(ıω) • Phase of G(ıω) ω } Re(s) 1 Recall that |G(s)| = |s − z1 | · · · |s − zm | |s − p1 | · · · |s − pn | |G(ıω)| = 1 1 =√ |ıω + 1| 1 + ω2 So that M. Peet Lecture 19: Control Systems 8 / 30 Bode Plots Example How to Plot |G(ıω)| = √ 1 ? 1+ω 2 We actually want to plot it in dB, so ... 1 1 20 log |G(ıω)| = 20 log √ = 20 log(1 + ω 2 )− 2 = −10 log(1 + ω 2 ) 2 1+ω Three Cases: Case 1: ω << 1 Bode Diagram • Approximate 1 + ω 2 ∼ =1 5 0 -5 Magnitude (dB) 20 log |G(ıω)| = −10 log(1 + ω 2 ) ∼ = −10 log 1 = 0 10 -10 -15 -20 -25 -30 Case 2: ω = 1 -35 20 log |G(ıω)| = −10 log(1 + ω 2 ) = −10 log(1 + ω 2 ) = −3.01 M. Peet Lecture 19: Control Systems 9 / 30 Bode Plots Example Case 3: ω >> 1 Bode Diagram • Approximate: 1 + ω 2 ∼ = ω2 10 5 = −20 log ω 0 -5 Magnitude (dB) 20 log |G(ıω)| = −10 log(1 + ω 2 ) ∼ = −10 log ω 2 -10 -15 -20 -25 -30 -35 w But we use a log − log plot. • x-axis is x = log ω • y-axis is y = 20 log |G(ıω)| = −20 log ω = −20x Conclusion: On the log-log plot, when ω >> 1, • Plot is Linear • Slope is -20 dB/Decade! M. Peet Lecture 19: Control Systems 10 / 30 Bode Plots Example Of course, we need to connect the dots. Bode Diagram 10 5 0 Magnitude (dB) -5 -10 -15 -20 -25 -30 -35 Compare to the Real Thing: Bode Diagram 0 -5 Magnitude (dB) -10 -15 -20 -25 -30 -35 M. Peet Lecture 19: Control Systems 11 / 30 Bode Plots Example: Phase Now lets do the phase. Recall: ∠G(s) = m X ∠(s − zi ) − i=1 n X Im(s) ∠(s − pi ) i=1 In this case, <(iω +1) } ∠G(ıω) = −∠(ıω + 1) } ω Re(s) 1 = − tan−1 (ω) 225 Again, 3 cases: Case 1: ω << 1 • tan(∠G(ıω)) ∼ = ∠G(ıω) ∼ =0 135 90 Phase (deg) • tan(∠G(ıω)) ∼ =0 180 45 0 -45 -90 -135 -180 -225 10 M. Peet -2 10 -1 Lecture 19: Control Systems 0 10 Frequency (rad/sec) 10 1 10 2 12 / 30 Bode Plots Example: Phase Case 2: ω = 1 Im(s) • tan(∠G(ıω)) = 1 • ∠G(ıω) ∼ = 45◦ Between ω = .1 and ω = 10: • Approximate Slope: } I <(iω +1) −45◦ /Decade } ω Re(s) 1 Case 3: ω >> 1 • tan(∠G(ıω)) ∼ = 1 0 0 • ∠G(ıω) ∼ = −90 ◦ Phase (deg) • Fixed at −90◦ for large ω! ω<<1 ω=1 -45 ω>>1 -90 10 M. Peet -2 10 -1 0 10 Frequency (rad/sec) Lecture 19: Control Systems 10 1 10 2 13 / 30 Bode Plots Example We need to connect the dots somehow. 0 Phase (deg) ω<<1 ω=1 -45 ω>>1 -90 10 -2 10 -1 0 10 Frequency (rad/sec) 10 1 10 2 Compare to the real thing: Phase (deg) 0 -45 -90 10 M. Peet -2 10 -1 0 10 Frequency (rad/sec) 10 1 Lecture 19: Control Systems 10 2 14 / 30 Bode Plots Methodology So far, drawing Bode Plots seems pretty intimidating. • Solving tan−1 • dB and log-plots • Lots of trig The process can be Greatly Simplified: • Use a few simple rules. Example: Suppose we have G(s) = G1 (s)G2 (s) Then |G(ıω)| = |G1 (ıω)||G2 (ıω)| and log |G(ıω)| = log |G1 (ıω)| + log |G2 (ıω)| M. Peet Lecture 19: Control Systems 15 / 30 Bode Plots Rule # 1 Rule # 1: Magnitude Plots Add in log-space. For G(s) = G1 (s)G2 (s), 20 log |G(ıω)| = 20 log |G1 (ıω)| + 20 log |G2 (ıω)| Decompose G into bite-size chunks: G(s) = M. Peet 1 1 (s + 1) 2 = G1 (s)G2 (s)G3 (s) s+3 s + 3s + 1 Lecture 19: Control Systems 16 / 30 Bode Plots Rule #2 Rule # 2: Phase Plots Add. For G(s) = G1 (s)G2 (s), ∠G(ıω) = ∠G1 (ıω) + ∠G2 (ıω) M. Peet Lecture 19: Control Systems 17 / 30 Bode Plots Approach Our Approach is to Decompose G(s) into simpler pieces. • Plot the phase and magnitude of each component. • Add up the plots. Step 1: Decompose G into all its poles and zeros G(s) = (s − z1 ) · · · (s − zm ) (s − p1 ) · · · (s − pn ) Then for magnitude 20 log |G(ıω)| = X 20 log |ıω − zi | + X i i X 20 log |ıω − zi | − X = i And for phase: ∠G(ıω) = 20 log 1 |ıω − pi | 20 log |ıω − pi | i X i ∠(ıω − zi ) − X ∠(ıω − pi ) i But how to plot ∠(ıω − zi ) and 20 log |ıω − zi |? M. Peet Lecture 19: Control Systems 18 / 30 Plotting Simple Terms The Constant Before rushing in, lets make sure we don’t forget the constant term. If G(s) = c ( zs1 − 1) · · · ( zsm − 1) ( ps1 − 1) · · · ( psn − 1) Magnitude: G1 (s) = c • |G1 (ıω)| = |c| • 20 log |G1 (ıω)| = 20 log |c| Bode Diagram 10 5 0 Magnitude (dB) -5 20 log |c| -10 -15 -20 -25 -30 -35 Frequency (log ω) Conclusion: Magnitude is Constant for all ω M. Peet Lecture 19: Control Systems 19 / 30 Plotting Simple Terms The Constant Phase: G1 (s) = c ( 0◦ ∠G1 (ıω) = ∠c = 180◦ c>0 c<0 225 180 c<0 135 Phase (deg) 90 45 0 c>0 -45 -90 -135 -180 -225 10 -2 10 -1 0 10 Frequency (rad/sec) 10 1 10 2 Conclusion: phase is 0◦ if c > 0, otherwise 180◦ . M. Peet Lecture 19: Control Systems 20 / 30 Plotting Simple Terms A “Pure” Zero Lets start with a zero at the origin: G1 (s) = s. Magnitude: G1 (s) = s Bode Diagram • |G1 (ıω)| = |ıω| = |ω| 10 5 • 20 log |G1 (ıω)| = 20 log |ω| 0 Our x-axis is log ω. • Plot is Linear for all ω • Slope is +20 dB/Decade! Magnitude (dB) -5 -10 -15 -20 -25 -30 -35 • Need a point: ω = 1 20 log |G1 (ıω)||ω=1 = 20 log 1 = 0 • Passes through 0dB at ω = 1 ω=1 High Gain at High Frequency • A pure zero means u0 (t) • The faster the input, The larger the output M. Peet Lecture 19: Control Systems 21 / 30 Plotting Simple Terms A “Pure” Zero: Phase Phase: G1 (s) = s • ∠G1 (ıω) = ∠ıω = 90◦ • Always 90◦ ! 225 180 135 Phase (deg) 90 45 0 -45 -90 -135 -180 -225 10 -2 10 -1 0 10 Frequency (rad/sec) 10 1 10 2 Always 90◦ out of phase. Why? M. Peet Lecture 19: Control Systems 22 / 30 Plotting Simple Terms A “Pure” Zero: Multiple Zeros What happens if there are multiple pure zeros • Just what you would expect. Magnitude: G1 (s) = sk Bode Diagram • |G1 (ıω)| = |ıω|k = |ω|k 10 5 0 k 20 log |G1 (ıω)| = 20 log |ω| • Slope is +20k dB/Decade! Need a Point Magnitude (dB) = 20k log |ω| -5 -10 k=1 -15 k=4 -20 -25 k=2 -30 -35 k = 3 ω=1 • At ω = 1: 20 log |G1 (ıω)||ω=1 = 20k log 1 = 0 k pure zeros added together. • Still Passes through 0dB at ω = 1 M. Peet Lecture 19: Control Systems 23 / 30 Plotting Simple Terms A “Pure” Zero: Multiple Zeros And phase for multiple pure zeros? Phase: G1 (s) = sk • ∠G1 (ıω) = ∠(ıω)k = k∠ıω = 90◦ k • Always 90◦ k 405 k=4 360 315 k=3 Phase (deg) 270 225 k=2 180 135 k=1 90 45 0 -45 -2 10 10 -1 0 10 Frequency (rad/sec) 10 1 10 2 k pure zeros added together. M. Peet Lecture 19: Control Systems 24 / 30 Plotting Simple Terms Plotting Normal Zeros A zero at the origin is a line with slope +20◦ /Decade. • What if the zero is not at the origin? I 1 ). We did one example already ( s+1 Change of Format: to simplify steady-state response, we use G1 (s) = (τ s + 1) • Pole is at s = − τ1 • Also put poles in this form Rewrite G(s): (s + p) → p( p1 s + 1). Where (s + z1 ) · · · (s + zm ) G(s) = k (s + p1 ) · · · (s + pn ) 1 1 z1 · · · zm ( z1 s + 1) · · · ( zm s + 1) =k p1 · · · pn ( p11 s + 1) · · · ( p1n s + 1) =c (τz1 s + 1) · · · (τzm s + 1) (τp1 s + 1) · · · (τpn s + 1) M. Peet 1 zi τpi = p1i m c = k zp11···z ···pn • τzi = • • Assume zi and pi are Real. Lecture 19: Control Systems 25 / 30 Plotting Simple Terms Plotting Normal Zeros G(s) = c (τz1 s + 1) · · · (τzm s + 1) (τp1 s + 1) · · · (τpn s + 1) The advantage of this form is that steady-state response to a step is yss = lim G(s) = G(0) = c s→0 Phase (deg) 0 -45 -90 10 -2 10 -1 0 10 Frequency (rad/sec) 10 1 10 2 Low Frequency Response is given by the constant term, c. M. Peet Lecture 19: Control Systems 26 / 30 Plotting Simple Terms Plotting Normal Zeros G1 (s) = (τ s + 1) p |G1 (ıω)| = |ıωτ + 1| = 1 + τ 2 ω 2 Im(s) } ______ √1+ω2 τ2 Magnitude: 1 20 log |G1 (ıω)| = 20 log(1+ω 2 τ 2 ) 2 = 10 log(1+ω 2 τ 2 ) } Bode Diagram • Approximate 1 + ω 2 τ 2 ∼ =1 = 10 log 2 = 3.01 M. Peet 40 35 30 Magnitude (dB) Case 2: ωτ = 1 20 log |G(ıω)| = 10 log(1 + ω 2 τ 2 ) Re(s) 1 Case 1: ωτ << 1 20 log |G(ıω)| = 20 log(1 + ω 2 τ 2 ) ∼ = 20 log 1 = 0 ωτ 25 20 15 10 ω = τ -1 5 0 -2 10 10 -1 Lecture 19: Control Systems 0 10 Frequency (rad/sec) 10 1 10 2 27 / 30 Bode Plots Example Case 3: ωτ >> 1 Bode Diagram • Approximate 1 + ω 2 τ 2 ∼ = ω2 τ 2 = 20 log ωτ = 20 log ω + 20 log τ 35 30 Magnitude (dB) p 20 log |G(ıω)| = 20 log 1 + ω 2 τ 2 ∼ = 10 log ω 2 τ 2 40 25 20 15 10 5 0 -2 10 -1 10 0 10 Frequency (rad/sec) 1 10 2 10 Conclusion: When ωτ >> 1, • Plot is Linear • Slope is +20 dB/Decade! • inflection at ω = M. Peet 1 τ Lecture 19: Control Systems 28 / 30 Plotting Simple Terms Plotting Normal Zeros Compare this to the magnitude plot of G1 (s) = s + a ω >> τ -1 ω << τ -1 This is why we use the format G1 (s) = τ s + 1 • We want 0dB (no gain) at low frequency. M. Peet Lecture 19: Control Systems 29 / 30 Summary What have we learned today? Drawing Bode Plots • Drawing Rules Simple Plots • Constants • Real Zeros Next Lecture: More Bode Plotting M. Peet Lecture 19: Control Systems 30 / 30