Lecture 7

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.
Typical test signal
• Unit step signal:
u (t )  us (t )
1
L (us (t )) 
s
us(t)
1
0
• Unit impulse:δ(t)
δ(t)
 (t )  0, t  0
a  0
a  (t )dt  1 any b  0
b
L ( (t ))  1,
t
u s (t )    (t )dt

t
• Unit ramp:
t
r (t )  
0
t0
t0
r(t)
t
r (t )  t  u s (t )   u s (t )dt

1
L (r (t ))  2
s
t
• Unit acc. signal:
1 2
 t
a (t )   2
0
t
  r (t )dt

L (a (t )) 
1
s3
a(t)
t0
0.5
t0
0
1
t
• Exponential signal:
e  at
e u s (t )  
0
a0
 at
t0
t0
1
1
L (e u s (t )) 
sa
 at
0
• sinusoidal:
sin t
sin( t )  u s (t )  
0

L (sin( t )  u s (t ))  2
s 2
t0
t0
t
• Unit step response:
1
u(s)=
y(s)=H(s)
H(s)
s
1
s
1

input

u
(
t
)
or

s
 u.s.r  output when 
s
i.c.  0
1

 L1  H ( s ) 
s

In Matlab: step
• Unit impulse resp:
u(s)=1
y(s)=H(s)
H(s)
input  (t)
u.i.r  L ( H ( s))  output when 
i.c.  0
1
Matlab: impulse
Time domain response specifications
• Defined based on unit step response
• Defined for closed-loop system
• Steady-state value yss
 y    lim y t 
t 
,
input
 u s t 
• Steady-state error ess
 e   lim et   1  yss
t 
• Settling time ts
= time when y(t) last enters a tolerance band
Peak time t p  time when y (t ) reaches its maximum value
Peak time : t p  t ( y  ymax );
ymax  max( y );
hence :
ymax  y (t p )
Overshoot : M p  ymax  y ss
percentage overshoot :
ymax  yss
ymax  1
Mp 
100% 
100%
yss
1
If ymax is reached as t  , there is no peak time
& there is no overshoot
Delay time t d  the time when y (t ) first reaches
50% of yss
 not freq. used
 some people use a percentage different from 50%
rise time t r  the time it takes for y (t ) to go from
0.1 yss to 0.9 yss for the first time .
 rise time captures how fast a system responds
to changes in reference input
 t d , t p has similar effect
If yss = 1
tp
U s
H s
Y s
1
U s 
s
bs
bm s m   b1s  b0
H s 
 n
a s
s   a1s  a0
1
Y s  H s
s
By final value theorem
b0
yss  lim y  t   lim sY  s   lim H  s  
t 
s 0
s 0
a0
In MATLAB: num = [ .. .. .. .. ]; den=[……];
b0 = num(length(num)), or num(end)
a0 = den(length(den)), or den(end)
yss=b0/a0
ess  1  yss
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:
ymax  1
ymax  yss
100%
Mp 
100% 
yss
1
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)
u  step
specs are defined on step resp. 
i.c.  0
y ss  y ()  0.8, yd .s .s.  1
ess  0.2  yd .  y ss
ymax  0.92, overshoot  0.92  0.8  0.12
percentage o.s. 
0.12
 15%
0.8
90%yss
10%yss
tr≈0.45
ts
td≈0.35
tp≈0.9sec
ts=0.45
yss=1
ess=0
O.S.=0
Mp=0
tp=∞
td≈0.2
tr≈0.35
tp=0.35
ts≈0.92
O.S.=0.4
Mp=40%
yss=1
ess=0
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
1
p
Consider : H ( s ) 

s  1 s  p
Y ( s)  H ( s) U ( s)
E ( s)  U ( s)  Y ( s)
 [1  H ( s )]U ( s ) 
E
U(s)
+
s
s  1
-
1
τs
U ( s)
1
Let U ( s )  , i.e. , u (t )  u s (t ) unit step
s
1
1

1
1
Y ( s) 
 
 
s (s  1) s s  1 s s  p

t
y (t )  u s (t )  e   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
p
s
1
E s   u  y  


s ss  p  ss  p  s  p

t
et   e  pt  us t   e   us t 
1
e   e  0.368 
e
1
e2   e
2
1
 0.368  2
e
2
General First-order system
k s  z 
k z  p 
H s  
k
s 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
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
Unit ramp response:
1
u t   r t   2
s
p 1
p
1
Y s   H s U s  
 2

2
s p s
s  ps s
 can use " step" to get ramp response by
multiplyin g the denominato r by s.
p
1 
2
1
Y s   2
 2 
, 
s s  p  s
s s  1
p

t
yt   r t    us t   e  us t 
t
 

 r t    1  e   u s t 
 
 


e t  error
et   r t   yt 
t


  1  e 


1t 


lim et   
t 
e  
 This is the steady - state tracking error.
Note: In step response, the steady-state
tracking error = zero.
Unit impulse response:
ut    t   U s   1
p
Y s   H s U s  
s p
t

1
 pt




h t  y t  pe us t   e  u s t 
