Dynamic Response • Unit step signal: u (t ) u s (t ) 1 s • Step response: y(s)=H(s)/s, y(t)=L-1{H(s)/s} Time domain response specifications • Defined based on unit step response • Defined for closed-loop system Transient Response • First order system transient response – Step response specs and relationship to pole location • Second order system transient response – Step response specs and relationship to pole location • Effects of additional poles and zeros Prototype first order system Consider 1 : H (s) s 1 p s p Y ( s ) H ( s ) U ( s ) E (s) U (s) Y (s) [1 H ( s )]U ( s ) Let U ( s ) 1 s Y (s) E U(s) + s s 1 - 1 τs U (s) , i.e. , u ( t ) u s ( t ) unit step 1 s ( s 1) y (t ) u s (t ) e 1 s s 1 1 s 1 s p t u s (t ) u s (t ) e pt u s (t ) Y(s) First order system step resp Normalized time t/ Prototype first order system • • • • • No overshoot, tp=inf, Mp = 0 Yss=1, ess=0 Settling time ts = [-ln(tol)]/p Delay time td = [-ln(0.5)]/p Rise time tr = [ln(0.9) – ln(0.1)]/p • All times proportional to 1/p= • Larger p means faster response The error signal: e(t) = 1-y(t)=e-ptus(t) Normalized time t/ 1 is called the time constant. p In every τ seconds, the error is reduced by 63.2% 1 E s u y e t e s pt e e e 2 e 1 2 p s s p u s t e 0 . 368 s t s s p u s t 1 e 0 . 368 2 1 e 2 1 s p General First-order system H s k s z s p k k z p s p We know how this responds to input Step response starts at y(0+)=k, final value kz/p 1/p = is still time constant; in every , y(t) moves 63.2% closer to final value Unit ramp response: u t r t 1 s 2 Y s H s U s p 1 s p s 2 p 1 s ps s 2 can use " step" to get ramp response multiplyin by g the denominato r by s . 2 p 1 1 Y s 2 2 , s s p s s s 1 p y t r t u s t e t u s t t r t 1 e u s t e t error e t r t y t t 1 e 1t lim e t t e This is the steady - state tracking Note: In step response, the steady-state tracking error = zero. error. Unit impulse response: u t t Y s H s U s U s 1 p s p t 1 pt h t y t pe u s t e u s t Prototype 2 s 2 n s n 2 2 n : Undamped : Damping n : Damping Q order system: n H s d nd 2 natural frequency ratio factor 1 n : Damped 2 1 2 : Quality factor natural frequency 1 : Critically damped 1 : Over damped 0 1 : Under damped 0 : U nstable D on't consider 0 : O scillating forever Unit step responses for various 1.8 =0.1 2 1.6 =0.2 1.4 =0.3 1.2 =0.4 =0.5 =0.6 1 =0.7 2 2 G(s)=w n/(s +2 w ns+w n) =1 0.8 0.6 =2 0.4 =5 0.2 0 0 =10 2 4 6 8 10 w nt (radians) 12 14 16 xi=[0.7 1 2 5 10 0.1 0.2 0.3 0.4 0.5 0.6]; x=['\zeta=0.7'; '\zeta=1 '; '\zeta=2 '; '\zeta=5 '; '\zeta=10 '; '\zeta=0.1'; '\zeta=0.2'; '\zeta=0.3'; '\zeta=0.4'; '\zeta=0.5'; '\zeta=0.6']; T=0:0.01:16; figure; hold; for k=1:length(xi) n=[1]; d=[1 2*xi(k) 1]; y=step(n,d,T); plot(T,y); if xi(k)>=0.7 text(T(290),y(310),x(k,:)); else text(T(290),max(y)+0.02,x(k,:)); end grid; end text(9,1.65,'G(s)=w_n^2/(s^2+2\zetaw_ns+w_n^2)') title('Unit step responses for various \zeta') xlabel('w_nt (radians)') Can use \omega in stead of w annotation Create annotations including lines, arrows, text arrows, double arrows, text boxes, rectangles, and ellipses xlabel, ylabel, zlabel Add a text label to the respective axis title Add a title to a graph colorbar Add a colorbar to a graph legend Add a legend to a graph For example: “help annotation” explains how to use the annotation command to add text, lines, arrows, and so on at desired positions in the graph ANNOTATION('textbox',POSITION) creates a textbox annotation at the position specified in normalized figure units by the vector POSITION ANNOTATION('line',X,Y) creates a line annotation with endpoints specified in normalized figure coordinates by the vectors X and Y ANNOTATION('arrow',X,Y) creates an arrow annotation with endpoints specified Example: ah=annotation('arrow',[.9 .5],[.9,.5],'Color','r'); th=annotation('textarrow',[.3,.6],[.7,.4],'String','ABC'); Unit step response: u t u s t Y s 1 U s n 2 s 2 n s 2 2 n s 1 s 1) Under damped, 0 < ζ < 1 L et d n 1 s 2 n s 2 2 n 2 n , s n n n 2 s Y s n 2 s 2 2 d 1 s 1 s 2 2 2 2 d 2 s s 2 2 d s 2 d 2 d =Im cosq = =-Re/|root| q= cos-1(Re/|root|) q= tan-1(-Re/Im) =-Re y t u s t e σ t u s t e σ t e u s t cos d t u s t e d σ t sin d t u s t sin d t u s t cos d t d σ t 1 2 sin d t tan 1 1 2 error : e t u s t y t e t e σ t 1- 2 sin d t tan 1 1 2 u t s u t s To find y(t) max: dy t e set 0 1 dt de σ t σ t 1 de 2 cos σ t 1 2 2 sin 2 d e σ t 2 1 1 1 σ t 1 sin tan sin d t de 2 2 cos sin 1 2 sin d t 0 d t k dt t : d y t 1 e σ d 1 e σ d d t k : 1 e cos 1 y t 1 e 2 1 k 1 2 k 1 1 when d t , y t reaches abs. max tp is called peak time d M p y max 1 e 1 2 is overshoot tp d M p e 1 2 100% 40 z=0.3:0.1:0.8; Mp=exp(-pi*z./sqrt(1-z.*z))*100 plot(z,Mp) grid; Percentage Overshoot Mp 35 30 25 Then preference -> figure… ->powerpoint -> apply to figure Then copy figure 20 15 10 5 0 0.2 0.3 0.4 0.5 0.6 0.7 damping ratio P ercentage overshoot M p e 0.8 0.9 1 2 100% when 0 ζ 1 , y t is oscillator y, and it overshoots but y lim y t t lim u s t t 1 y ss e ss 1 y ss 0 e 0 σ t 1- 2 sin u s t steady - state value steady - state error to 1. For settling tim e : e σ t 1 2 sin It suffices to have : i.e. e σ t y t y ss tol y ss 1 t tol 1 e σ t 1 tol 1 ln tol tol 2 2 t ln tol 1 2 1 2 ts For tol 1% 0.01, 4.6 ln ts 0.5 : 0.7 : tol 0.01 : tol 0.02 : tol 0.05 : 1 2 ts 4.75 ts 4.94 ts 5 4 ts 3 ts is a safer approx. For 5% tolerance Ts ~= 3/n • Delay time is not used very much • For delay time, solve y(t)=0.5 and solve for t y t u s t e σ t cos d t u s t d e σ t sin d t u s t • For rise time, set y(t) = 0.1 & 0.9, solve for t • This is very difficult • Based on numerical simulation: R ise tim e : tr 1.5 2.5 n 2 n Useful Range td=(0.8+0.9)/n Useful Range tr=4.5(0.2)/n Or about 2/wn Putting all things together: tp = d = n 1 y m ax 1 e 2 σ tp 1 e O vershoot : M p e 1 e R ise tim e : tr 1 td 2 4.5( 0.2) Settling time: n 1 0 0% 1.5 2.5 ln tol 1 ts 2 D elay tim e : 2 percentage : 1 n 2 0.8 0.9 n 1.4 n 2 n ln(tol ) 3, or 4, or 5