300 likes | 446 Views
Dynamic Response. Steady State Response: the part of response when t → ∞ Transient response: the part of response right after the input is being applied. Both are part of the total response total resp = z.i. resp + z.s.resp. z.i. resp = “Output due to i.c. when input ≡ 0”
E N D
Dynamic Response • Steady State Response: the part of response when t → ∞ • Transient response: the part of response right after the input is being applied. • Both are part of the total response total resp = z.i. resp + z.s.resp. z.i. resp = “Output due to i.c. when input ≡ 0” z.s. resp = “Output due to input excitation when all i.c. are set=0 at t=0” Both z.i. resp and z.s. resp have their own transient resp and their own steady state resp. Here ignore i.c. and consider z.s. resp.
us(t) 1 0 Typical test signal • Unit step signal: • Unit impulse:δ(t) δ(t) t
Unit ramp: • Unit acc. signal: r(t) t a(t) 0.5 0 1 t
Exponential signal: • sinusoidal: 1 0 t
1 s 1 s y(s)=H(s) u(s)= H(s) • Unit step response: In Matlab: step • Unit impulse resp: Matlab: impulse y(s)=H(s) u(s)=1 H(s)
Defined based on unit step response • Defined for closed-loop system • Steady-state value yss • Steady-state error ess • Settling time ts • = time when y(t) last enters a tolerance band Time domain response specifications
If yss = 1 tp
By final value theorem In MATLAB: num = [ .. .. .. .. ]; den=[……]; b0 = num(length(num)), or num(end) a0 = den(length(den)), or den(end) yss=b0/a0
If numerical values of y and t available, from [y, t]=step(num, den); abs(y – yss) < tol means inside band abs(y – yss) ≥ tol not inside e.g. t_out = t(abs(y – yss) >= tol) contains all those time points when y is not inside the band. Therefore, the last value in t_out will be the settling time. ts=t_out(end)
Peak time tp = time when y(t) reaches its maximum value. Peak value ymax =y(tp) Hence: ymax = max(y); tp = t(y = ymax); Overshoot: OS = ymax - yss Percentage overshoot:
If t50 = t(y >= 0.5*yss), this contains all time points when y(t) is ≥ 50% of yss so the first such point is td. td=t50(1); Similarly, t10 = t(y >= 0.1*yss) & t90 = t(y >= 0.9*yss) can be used to find tr. tr=t90(1)-t10(1)
90%yss 10%yss tr≈0.45 ts ts tp≈0.9sec td≈0.35
±5% ts=0.45 yss=1 ess=0 O.S.=0 Mp=0 tp=∞ td≈0.2 tr≈0.35
tp=0.35 O.S.=0.4 Mp=40% yss=1 ess=0 ts≈0.92 td≈0.2 tr≈0.1
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 E 1 τs Y(s) U(s) + -
First order system step resp Normalized time t/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= t • Larger p means faster response
The error signal: e(t) = 1-y(t)=e-ptus(t) Normalized time t/t
General First-order system We know how this responds to input Step response starts at y(0+)=k, final value kz/p 1/p = t is still time constant; in every t, y(t) moves 63.2% closer to final value
Step response by MATLAB: >> p = . . >> n = [ b1 b0 ] >> d = [ 1 p ] >> step ( n , d ) Other MATLAB commands to explore: plot, hold, axis, xlabel, ylabel, title, text, gtext, semilogx, semilogy, loglog, subplot
Note: In step response, the steady-state tracking error = zero.