G(s)

advertisement
First-order Transfer Function
Transfer function g(s):
Effect of forcing system with u(t)
1
-
IMPORTANT!!:
independent
H Preisigg(s)
2006: is
Prosessregulering
/ S. of u(s)!!!
Fraction of two polynomials
Skogestad 2012
General Transfer Matrix
The n roots (generally complex) of the polynomial d(s)
are the same as the eigenvalues of the state matrix A,
and are known as the «poles» of the system
Poles and zeros
• What are transfer functions
 effect of forcing system
• What is a forced system and why do we force a system
• Transfer functions G(s) of linear, time-invariant networks of first-order
systems are ratios of two polynomials in s (Laplace variable which relates
to frequency)
• Polynomials have roots
root in denominator
G(s)   ”pole”
root in numerator
G(s)  0 ”zero”
• Roots & dynamics
– Numerator roots are responsible for inverse or normal response
– Denominator roots determine stability
– Fast or slow dynamics
3
H Preisig 2006: Prosessregulering
Dynamic step response of some
systems
s=tf('s')
g1 = 2/(10*s+1)
step(g1,50)
axis([0 40 -0.2 3])
First-order system (k=2, ¿=10)
Step Response
3
u
2.5
g1 ( s) =
y
2/)
10s+ 1
g1
2
Amplitude
y(t)
1.5
63%
u(t)
1
M
0.5
0
0
5
10
15
20
Time (seconds)
25
30
35
40
Initial and final values for step
response
• Consider response y(t) to step of magnitudeM in input
• Transfer function g(s)
• Deviation variables for y(t) and u(t)
s=tf('s')
g1 = 2/(10*s+1)
step(g1,50)
axis([0 40 -0.2 3])
First-order system (k=2, ¿=10)
Step Response
3
u
2.5
g1 ( s) =
y
2/)
10s+ 1
g1
2
Amplitude
y(t)
1.5
63%
u(t)
1
M
0.5
0
0
5
10
15
20
Time (seconds)
25
30
35
40
Larger time constant (¿=12)
gives slower dynamics
s=tf('s')
g1 = 2/(10*s+1), step(g1,50)
axis([0 40 -0.2 3]); hold on,
g2 = 2/(12*s+1), step(g2,50)
Step Response
3
2.5
g1
g2
Amplitude
2
1.5
1
0.5
0
0
5
10
15
20
Time (seconds)
25
30
35
40
Larger steady-state gain (k=2.2)
s=tf('s')
g1 = 2/(10*s+1), step(g1,50)
axis([0 40 -0.2 3]); hold on,
g2 = 2/(12*s+1), step(g2,50)
g3 = 2.2/(10*s+1), step(g3,50)
Step Response
3
2.5
g3
g1
g2
Amplitude
2
1.5
1
0.5
0
0
5
10
15
20
Time (seconds)
25
30
35
40
Integrating system (g4=0.2/s)
g1 & g4: Same initial response (slope = 0.2=k/¿)
s=tf('s')
g1 = 2/(10*s+1), step(g1,50)
axis([0 40 -0.2 3]); hold on,
g2 = 2/(12*s+1), step(g2,50)
g3 = 2.2/(10*s+1), step(g3,50)
g4 = 2/(10*s+0), step(g4,50)
Step Response
3
2.5
g4=0.2/s
g3
g1
g2
Amplitude
2
1.5
1
0.5
0
0
5
10
15
20
Time (seconds)
25
30
35
40
Integrating system, g(s)=k’/s
• Special case of first-order system with ¿=1
and k=1 but slope k’=k/¿ is finite
• g(s)=k/(¿ s+1) = k/(¿ s) = k’/s
• Step response (u=M): y(t)/M = k’t
Integrating system with time delay (g5)
s=tf('s')
g1 = 2/(10*s+1), step(g1,50)
axis([0 40 -0.2 3]); hold on,
g2 = 2/(12*s+1), step(g2,50)
g3 = 2.2/(10*s+1), step(g3,50)
g4 = 2/(10*s+0), step(g4,50)
g5 = 2*exp(-5*s)/(10*s), step (g5,5
Step Response
3
2.5
g4
g5
g1
Amplitude
2
1.5
1
0.5
0
0
5
10
15
20
Time (seconds)
25
30
35
40
g1 =
2
-------20 s + 1
Unstable system (e.g., exothermic reactor):
Sign change in denominator d(s)
Step Response
3
2.5
g2 =
2
---20 s
g2
g3
unstable
Integrating system:
on the limit to unstable
Amplitude
2
g3 =
g1
stable
1.5
2
-------20 s - 1
1
0.5
Oops… Negative sign in d(s)… Unstable!
0
0
5
10
15
20
Time (seconds)
25
30
35
40
«S-shaped» 2nd order responses
(g2, g3, g4) made from two first-order systems in series
Step Response
3
g1 = 2/(10*s+1), step(g1,50)
g2 = 2/[(10*s+1)*(10*s+1)], step(g2,50)
g3 = 2/[(5*s+1)*(5*s+1)], step(g3,50)
g4 = 2/[(10*s+1)*(2*s+1)], step(g4,50)
2.5
System: g3
Time (seconds): 21.9
Amplitude: 1.86
2
Amplitude
g3
g4
1.5
g2
1
g1
K
G(s)=
( 1s+1)( 2s+1)
0.5
0
0
5
10
15
20
Time (seconds)
25
30
35
40
g1 = 2/(10*s+1)
g2 = 2/[(10*s+1)*(10*s+1)]
2nd order responses
Special case(g2): ¿1=¿2=¿
Step Response
3
2.5
98%
2
Amplitude
86%
91%
(96% at t=6¿)
1.5
63%
59%
First-order
Second-order with ¿1=¿2=¿
1
g1
26%
0.5
g2
0
t=¿
0
5
10
t=4¿
t=2¿
15
20
Time (seconds)
25
30
35
40
g1 = 2/(2*s+1), step(g1,50)
g2 = 2/(2*s+1)^2, step(g2,50)
g3 = 2/(2*s+1)^3, step(g3,50)
g4 = 2/(2*s+1)^4, step(g4,50)
g5 = 2/(2*s+1)^5, step(g5,50)
g6 = 2/(2*s+1)^6, step(g6,50)
g7 = 2/(2*s+1)^7, step(g7,50)
n’th order responses:
From n identical first-order systems in series
Step Response
3
2.5
2
Amplitude
g1
g7
1.5
1
0.5
0
0
5
10
15
20
Time (seconds)
25
30
35
40
General 2nd order system
Chapter 5
K
K
G(s)= 2 2
 2
 s  2 s  1  ( s  1 )( s  2 )
Roots (poles, eigenvalues): 1,2 
 1
 1
 1
   2  1
underdamped (oscillations )
critically damped
overdamped (no  oscillations )
Special case: Two first-order in series (overdamped, ³ ¸ 1):
K
K

( 1s+1)( 2s+1)  1 2s 2 +( 1   2 )s+1
 
Two  real  poles :
 = 1 2 1
2  1 2
1  1/  1 , 2  1/  2
G(s)=
  1 2

Chapter 5
K
G(s)=
( 1s+1)( 2s+1)
1 for :  1   2  1,

 


 = 1 2  2.125 for :  1  3, 2  1/ 3
2  1 2 

3.08
for
:


6,


1/
6
1
2


Underdamped (Oscillating) second-order systems (³<1)
K
G(s) = 2 2
 s  2s  1
Corresponds to complex poles
Process systems:
Oscillations are usually caused by (too) aggressive control
Example 1: P-control of second-order process, k/(¿1 s+1)(¿2 s+1)
• Oscillates (³<1) if Kck is large (see exercise)
Example 2: PI-control of integrating process, k’/s
• Need control to stabilize
• Oscillates (³<1) if Kck’ is small (see derivation SIMC PID-rules)
s=tf('s')
zeta=0.5, tau=1
g = 1/[(tau*s)^2 + 2*tau*zeta*s + 1]
step(g)
Step Response
1.4
1.2
g=
1
----------s^2 + s + 1
1
Amplitude
0.8
>> pole(g)
0.6
ans =
0.4
-0.5000 + 0.8660i
-0.5000 - 0.8660i
0.2
0
0
2
4
6
Time (seconds)
8
10
12
Chapter 5
=a/b
=c/a
Chapter 5
Zeros
Zeros
•
•
•
•
g(s) = n(s)/d(s)
Zeros: roots of numerator polynomial, n(s)=0
Example, g1(s)= (3s+1)/(10s+1)(s+1). Zero: s=-1/3
Problem for control if n(s) has coefficient with different signs (positive
zeros in the right half plane (RHP). Give inverse response.
– Example, g2(s)= (-3s+1)/(10s+1)(s+1). Zero: s=1/3
Oops… Negative sign in n(s)… Inverse response!
Zeros
Zeros
• Zeros are common in practise
• Occur when there are several «paths» to the output.
g1(s)
u
y
g2(s)
• Example 1.
All coefficients positive: LHP zero
g1 (s) =
2
10s+ 1 ;
g(s) = g1 + g2 =
• Example 2
2
10s+ 1 ;
g1 (s) =
g(s) = g1 + g2 =
0:3
g2 (s) = s+
1
2( s+ 1) + 0:3( 10s+ 1)
( 10s+ 1) ( s+ 1)
2:17s+ 1
= 2:3 ( 10s+
1) (s+ 1)
0:3
s+ 1
2( s+ 1) ¡ 0:3( 10s+ 1)
( 10s+ 1) ( s+ 1)
¡ 0:59s+ 1
1:7 ( 10s+
1) ( s+ 1)
g2 (s) = ¡
Sign change: RHP zero ) Inverse response
=
Step Response
2.5
g1 (s) = ¡
0:3
10s+ 1 ;
g(s) = g1 + g2 =
2
s+ 1
2( s+ 1) ¡ 0:3( 10s+ 1)
( 10s+ 1) ( s+ 1)
g2 (s) =
2
=
11:3s+ 1
1:7 ( 10s+
1) ( s+ 1)
Note; Overshoot since 11.3>10
Amplitude
• Example 3
1.5
3
1
2
1
0.5
0
0
5
10
15
20
25
30
Time (seconds)
35
40
Zeros
Step Response
2.5
2
1.5
1
2
0.5
¡ 0:59s+ 1
g(s) = 1:7 (10s+
1)(s+ 1)
0
RHP-zero with «time constant» -0.59: Similar to delay of 0.59.
0
5
10
15
20
Time (seconds)
Zeros
Step Response
3
g1 = 2*(3*s+1)/[(10*s+1)*(s+1)], step(g1,50)
g0 = 2/[(10*s+1)*(s+1)], step(g0,50)
g2 = 2*(-3*s+1)/[(10*s+1)*(s+1)], step(g2,50)
2.5
2
Amplitude
1.5
g1:1 LHP zero
g0: No zero
0.5
0
g2: Sign change for coeffcients in n(s) (RHP zero): Inverse response
-0.5
0
5
10
15
20
Time (seconds)
25
30
35
40
Zeros
Another Inverse response example (RHP zero: «competing effects where slow wins»).
Physical example: Increase hot water flow when water heater is on max. u = qh, y = T
Step Response
3
s=tf(‘s’)
g1 = 1
g2 = 2/(10*s+1)
g=g1-g2
ans =
10 s - 1
--------10 s + 1
2.5
2
Amplitude
1.5
1
0.5
g = g1 - g2,
0
-0.5
-1
0
5
10
15
20
Time (seconds)
25
30
35
40
Zeros
Another example LHP zero: Note no overshoot here (effects in same direction)
Step Response
3
g = g1 + g2
2.5
g1 = 1
g2 = 2/(10*s+1),
2
Amplitude
1.5
G(s) = 1 +
2
10s+ 1
1
= 3 3:33s+
10s+ 1
1
0.5
0
-0.5
-1
0
5
10
15
20
Time (seconds)
25
30
35
40
Zeros
G(s) =
k1
¿1 s+ 1
+
k2
¿2 s+ 1
Zeros
s+ 1
s+ z
= k (¿1 s+¿a1)(¿
=
k
¿a (¿1 s+ 1)(¿2 s+ 1)
2 s+ 1)
k1 : “slow” effect (¿1 > ¿2)
k = k1+k2
¿a =
Zero at z=1/¿a
Im(s)
z4 z3
o x o
z2
o
k 1 ¿2 + k 2 ¿1
k1 + k2
z = 1/¿a
z1
o
1/¿1
Re(s)
z1: RHP-zero (z1<0, ¿a <0)
–
Inverse response = Competing effects (k’s oppsite signs) where slow wins (|k1|>|k2|)
z2: Zero at origin (z2=0, ¿a!1)
– Competing effect with same magnitude (k1=-k2)
– Steady-state gain is zero
z3: LHP-zero close to RHP (¿a > ¿1, approx)
–
Overshoot = Competing effects where fast wins
z4: LHP-zero far from RHP (¿a < ¿1, approx)
–
No overshoot = Effects in same direction (k1 and k2 same sign)
Summary poles and zeros
• Poles p (=eigenvalues of A)
– Determine speed of response
– p in RHP: unstable (NEED control)
– P complex: oscillating response
• Zeros z
– Determine shape of response
– z in RHP: inverse response (BAD for control)
Approximations of time delay
Step Response
1
0.8
0.6
Amplitude
0.4
0.2
s=tf('s')
theta=1
g0=exp(-theta*s)
g1= - theta*s + 1
g2= 1/(theta*s+1)
g3 = (-theta*s/2+1)/(theta*s/2+1)
h=1/(s+1)
step(g0*h,g1*h,g2*h,g3*h)
axis([0 5 -1 1.1])
2
0
0
3
-0.2
-0.4
1
-0.6
-0.8
-1
0
0.5
1
1.5
2
2.5
Time (seconds)
3
3.5
4
4.5
5
% time delay. theta
% RHP-zero, taua=theta
% first order, tau=theta
% Pade-approx
Skogestad Half Rule*
* S. Skogestad, “Simple analytic rules for model reduction and PID controller
design”, J.Proc.Control, Vol. 13, 291-309, 2003 (Also reprinted in MIC)
Example 1
Half rule
Original 2nd order
1st-order+delay (half rule)
s=tf('s')
g=(-0.1*s+1)/[(5*s+1)*(3*s+1)*(0.5*s+1)]
g1 = exp(-2.1*s)/(6.5*s+1)
g2 = exp(-0.35*s)/[(5*s+1)*(3.25*s+1)]
step(g,g1,g2)
Example 2
Step Response
1
0.8
0.4
Step Response
0.4
0.35
0.2
0.3
0.25
Amplitude
Amplitude
0.6
0
0.2
0.15
0.1
-0.2
0
5
10
15
20
Time (seconds)
25
30
35
40
0.05
0
-0.05
0
0.5
1
1.5
2
2.5
3
Time (seconds)
3.5
4
4.5
5
Example 3. Integrating process
k0
s( ¿2 0 s+ 1)
g0 (s) =
Half rule gives
¿2 0
k 0e¡ µ s
g(s) =
wit
h
µ
=
s
2
Proof:
Not e t hat int egrat ing process corresponds t o an in¯nit e t ime const ant .
Writ e
k 0¿1
k 0¿1
g0 (s) = ¿1 s( ¿2 0 s+ 1) ¼ ( ¿1 s+ 1) ( ¿2 0 s+ 1) for ¿1 ! 1
and t hen apply half rule as normal, not ing t hat ¿1 + ¿22 0 ¼ ¿1
Approximation of LHP-zeros
c
c
τc = desired closed-loop time constant
c
c
c
c
To make these rules more general
(and not only applicable to the
choice c=): Replace  (time
delay) by c (desired closed-loop
response time). (6 places)
Download