Stability
• BIBO stability:
Def: A system is BIBO-stable if any bounded input produces bounded output.
otherwise it’s not BIBO-stable.
))((
resp. impulse)( where
finite )(stable-BIBO :Thm
1
0
sH
th
dtth
L
stable- BIBO1:pole
1
1
)1)(1(
1
1
1)(
1,1seigenvalueschar.value
11
1
0
01
10
e.g.
cancelled pole/zero allafter
plane halfleft open in the
)( of poles"" all stable-BIBO
2
sss
s
s
ssH
xy
uxx
sH
stable.- BIBO
0both ,3,2:pole
)3)(2(
1
)3)(2)(1(
164
1)( :Example
0 part real
have TF of poles All stable-BIBO
23
ss
sss
ssss
ssH
stable BIBO 01:poles
1
2
0
1
1
1
30
1
2
0
1
1
2
100
01
10
001
1
302
0
1
1
200
010
001
302)()(
302
0
1
1
200
010
001
1
1
sss
s
s
s
s
s
s
BAsICsH
xy
uxx
Asymptotically Stable
A system is asymptotically stable if for any arbitrary initial conditions, all variables in the system converge to 0 as t→∞ when input=0.
All variables include y & its derivatives
all state variables
but y=Cx+Du=Cx
if x→0 then y→0
only need to check x→0
0
Criterion for A.S.
A.S. is system
0part real have all
4,2,1: of seigenvalue
01
1
0
0
7148
100
010
:Example
0part real have
seigenvalue all a.s. is systemA
A
xy
uxx
stable) BIBO is it (But
a.s. not is system
0part real have them of 2
: Aof seigenvalue
211
302
0
1
1
200
010
001
, , -
xy
uxx
case in this O.K. isbook the
as )(,0)0(when
)0(3)0(2
)0(302)()(but
A.S.not )0(0)(
)(
)(
)(
)0(
00
00
00
)0()(
200
010
001
0when
3
32
1
2
32
2
1
2
ttyx
xexe
xeetCxty
xtx
txe
txe
txe
x
e
e
e
xetx
xx
u
tt
tt
t
t
t
t
t
t
At
correctly in A.S.conclude wouldBook
as all
but
unstable as or If
when
:Consider
0)(
0)();0(),0(),0(
)0(22002)()(
)(,0)0()0(
)0(
00
00
00
)(:0
002
200
010
001
321
32
2
3
2
1
ty
ttyxxx
xeeetCxty
ttxxx
x
e
e
e
txu
xy
u
b
b
b
xx
ttt
t
t
t
If there is no pole/zero cancellation,
BIBO-stable A.S.
If system is C.C. & C.O. no pole/zero cancellation
BIBO-stable A.S.
Exact pole/zero cancellation only happens mathematically, not in real systems.
From now on, assume no p/z cancellation
BIBO stable A.S. all char. val<0
all eigenvalues<0 all poles<0
Thm:
If a system is A.S.
then it is BIBO-stable
But BIBO-stable A.S. (mathematically)
A polynomial
is said to be Hurwitz or stable
if all of its roots are in O.L.H.P
A system is stable if its char. polynomial is HurwitzA nxn matrix is called Hurwitz or stable
if its char. poly det(sI-A) is Hurwitzall eigenvalues<0
011
1)( asasasasF nn
nn
Routh-Hurwitz Method
From now on, when we say stability we mean A.S. / M.S. or unstable.
We assume no pole/zero cancellation,
A.S. BIBO stable
M.S./unstable not BIBO stable
Since stability is determined by denominator, so just work with d(s)
3
1
541
1
3212
5311
642
011
1
:
:
:
)(
n
n
nnnn
n
nnnnn
nnnn
nnnnn
nn
nn
s
a
aaaa
a
aaaas
aaas
aaaas
asasasasd
:table Routh
polynomialstic characteri the
called is d(s) T.F., c.l. of den. the be
Let
0
Routh Table
Repeat the process until s0 row
Stability criterion:
1) d(s) is A.S. iff 1st col have same sign
2) the # of sign changes in 1st col
= # of roots in right half plane
Note: if highest coeff in d(s) is 1,
A.S. 1st col >0
If all roots of d(s) are <0, d(s) is Hurwitz
Example:
unstable
RHP in roots 2 changes, sign 2
- :sign col first
65.2
065.2:
05.24
64:
64:
11:
64)(
0
1
2
3
23
s
s
s
s
ssssd ←has roots:3,2,-1
unstable
roots unstb 2
changes sign 2
10:
43.6:
107:
51:
1032:
10532)(
0
1
2
3
4
234
s
s
s
s
s
sssssd
(1x3-2x5)/1=-7
(1x10-2x0)/1=10
(-7x5-1x10)/-7
A.S.
change sign no 0,col 1st
1:
2:
11:
42:
131:
1432)(
0
1
2
3
4
234
s
s
s
s
s
sssssd
Remember this
sign same have coeff all iff
A.S.is system order 2nd
:system order 2nd
cs
bs
cas
cbsassd
:
:
:
)(
0
1
2
2
adbc
dcba
dsb
adbcs
dbs
cas
dcsbsassd
0all iff
A.S.is system order rd
:system order 3rd
,,,
3
:
:
:
:
)(
0
1
2
3
23
Remember this
A.S.
A.S.
A.S.Not 0coeff all
A.S.Not
A.S.Not
A.S.Not
A.S.Not
A.S.Not
A.S.
943)943(
943532
632632
235
1
13
2
3
15
23
23
23
23
23
23
2
2
2
2
sss
ssssss
sss
sss
ss
ss
s
ss
sse.g.
Routh Criteria
Regular case: (1) A.S. 1st col. all same sign(2)#sign changes in 1st col.
=#roots with Re(.)>0
Special case 1: one whole row=0Solution: 1) use prev. row to form aux. eq. A(s)=0
2) get
3) use coeff of in 0-row 4) continue
)(sAds
d
Example
)1(444)(
44:
0:
1414:
1616:
142814:
781:
47884)(
22
2
1
2
3
4
5
2345
sssA
s
s
s
s
s
s
ssssssd
:row prev.
←whole row=0
stable marginally
.originally col. 1st in 0 have did wesince A.S.Not But
R.H.P in roots no col. in change sign No
:atedifferenti
1
4:
8:
1414:
2
18
)(
0
1
2
2
s
s
s
s
ss
ds
sdA
1
0
3229.15.1
47884)(
).(
)1(444)(
)()()(
2345
22
-
j
j
ssssssd
sd
js
sssA
sAsd
A(s)
:roots has
Indeed
of roots are these&
:roots has
:example prev in :e.g.
original
of roots all are of root The :Fact
7
)474)(1()(
0
44
44
7
747
44
874
474478841
232
2
2
3
23
24
234
35
23
23452
sssssd
s-
s
ss-
sss
ss-
sss
ss-
sssssssss
0
11
44
44)(
)(121
00
121
121
122)(
1
2
3
3
244
3
4
5
2345
:s
:s
:s
ssds
sdA
sAsss
:s
:s
:s
ssssssd
:row From
e.g.
0)Re( withroots no
col. 1st in change sign No
:row From
1:
2:
2)(
1)(
0
1
22
s
s
sds
sdA
ssAs
unstable. is
roots. double are &
0))fence.(Re( the on roots areThey
at root double
at root double
of roots are
of roots But
)(
)()()1(12)(
).(
12)(
222224
24
sd
js
js
jsjsssssA
sd
sssA
e.g.
continue & 0by "0" replace :solution
0row wholebut
0col 1st in #an :2 case Special
3:
32:
3:
30:
21:
321:
322)(
0
1
2
2
3
4
234
s
-s
s
s
s
s
sssssd
replace
0)Re( have two these
:roots has :Verify
0)Re( i.e. RHP, in roots 2
col. 1st in changes sign 2
0 assume wesince
2928140570
902.009057.0
0)(
03
2
.j.
j
sd
Useful case: parameter in d(s)
How to use: 1) form table as usual
2) set 1st col. >0
3) solve for parameter range for A.S.
2’) set one in 1st col=0
3’) solve for parameter that leads to M.S. or leads to sustained oscillation
Example
s+3
s(s+2)(s+1) Kp
pp
p
p
plc
p
KsKss
sKssssd
sKsss
sKsG
K
3)2(3
)3()1)(2()(
)3()1)(2(
)3()(
23
..
char.poly
:Sol
stability for of range find:Q
+
0
03)2(3
03
0
3:3
3)2(3:
33:
21:
0
1
2
3
p
pp
p
p
pp
p
p
K
KK
K
Ks
KKs
Ks
Ks
col. 1st : A.S.For
:table Routh
=6
03
7)1(
03
42
0463
41)2(3
202
003
4)2(3)(
2
2
2
23
k
kk
kk
kk
kk
kk
skksssd
2)
1)
:need we: A.S.For
prod. outer two mid of prod 2)
0coeff all 1)
criteria? Routh order 3rd remember
e.g.
A.S.for
need weall over
also. and but
or
528.013
7
20
13
7
3
71
13
7
3
71
3
7)1( 2
k
kk
kk
kk
k
k>0.5
)137
(3
4
3
4
3
4
0)(43
)(,
13
7
4)2(3
22
1
k
kjs
sAkss
s
sdk
k
kk
:freq osci
noscillatio sustained to leads
:row From
0row And
M.S. is this At
:get we
set weIf
1
s(s2+2s+8)
+
-
K(s+z)
s+p