Lecture 8

advertisement
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 



1t 


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


Download