24
1 Routh Hurwitz (RH) Stability Test A little history: http://www.cai.cam.ac.uk/students/study/engineering/engineer03l/c erouth.htm General Statement A BIBO system is stable if for all time ,t, an input M t r ) ( , results with an output P t c ) ( for finite M and P. It is a necessary condition for stability that all poles of the transfer function be located in the --LHP--------. A system with poles on ---jw-----is defined as marginally stable system. Motivation (Rational) Consider the following closed loop feedback control system. Correction: H = 1/(s+2) not 1/(s+1) Let us study the transient response for three different values of the forward gain, K.

Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history: erouth.htm …

  • Upload
    vonhi

  • View
    275

  • Download
    8

Embed Size (px)

Citation preview

Page 1: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

1

Routh – Hurwitz (RH) Stability Test

A little history:

http://www.cai.cam.ac.uk/students/study/engineering/engineer03l/c

erouth.htm

General Statement

A BIBO system is stable if for all time ,t, an input Mtr )( , results

with an output Ptc )( for finite M and P. It is a necessary

condition for stability that all poles of the transfer function be

located in the --LHP--------. A system with poles on ---jw-----is

defined as marginally stable system.

Motivation (Rational)

Consider the following closed loop feedback control system.

Correction: H = 1/(s+2) not 1/(s+1)

Let us study the transient response for three different values of the

forward gain, K.

Page 2: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

2

The Matlab code I used is: clear all K =1; num1 = [1]; den1=[1 0]; num2 =[10]; den2=[1 1 10]; num=conv(num1,num2); den=conv(den1,den2); G=K*tf(num,den); % This is the open loop transfer function numH=[1]; denH=[1 2]; H=tf(numH,denH); GCL=feedback(G,H); % This is the closed loop transfer function pole(GCL) disp('hit any key to continue ...') pause

step(GCL)

% note: May use pzmap command to plot the poles and zeros.

A- K =1

Pole-Zero Map

Real Axis

Ima

gin

ary

Ax

is

-2 -1 0 1 2-4

-3

-2

-1

0

1

2

3

4

System: Gclosed

Pole : -0.445 + 2.97i

Damping: 0.148

Overshoot (%): 62.4

Frequency (rad/sec): 3

System: Gclosed

Pole : -1

Damping: 1

Overshoot (%): 0

Frequency (rad/sec): 1

Poles of the closed loop system, GCL(s) are:

-0.4452 + 2.9688i

-0.4452 - 2.9688i

-1.1096 + 0.0000i

-1.0000 + 0.0000i

And the the step response is given below

Page 3: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

3

0 1 2 3 4 5 60

0.5

1

1.5

2

2.5

Step Response K =1

Time (sec)

Am

plitu

de

Page 4: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

4

B- K = 32/9

Pole - Zero Map K = 32/9

Real Axis

Imag

ina

ry A

xis

-2 -1.5 -1 -0.5 0 0.5-3

-2

-1

0

1

2

3

System: Gclosed

Pole : 9.16e-016 + 2.58i

Damping: -3.55e-016

Overshoot (%): 100

Frequency (rad/sec): 2.58

System: Gclosed

Pole : -1.5 - 1.76i

Damping: 0.65

Overshoot (%): 6.83

Frequency (rad/sec): 2.31

Run the code again but with K = 32/9.

Poles are:

0.0000 + 2.5820i

0.0000 - 2.5820i

-1.5000 + 1.7559i

-1.5000 - 1.7559i

Page 5: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

5

0 5 10 15 20 25-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5Step Response K = 32/9

Time (sec)

Am

plitu

de

Page 6: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

6

C- K = 5

Pole-Zero Map, K =5

Real Axis

Imag

inary

Axis

-2 -1.5 -1 -0.5 0 0.5-3

-2

-1

0

1

2

3

System: Gclosed

Pole : -1.8 + 2.03i

Damping: 0.663

Overshoot (%): 6.2

Frequency (rad/sec): 2.71

System: Gclosed

Pole : 0.299 + 2.59i

Damping: -0.115

Overshoot (%): 144

Frequency (rad/sec): 2.6

The poles are:

-1.7993 + 2.0330i

-1.7993 - 2.0330i

0.2993 + 2.5873i

0.2993 - 2.5873i

Page 7: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

7

Typo: The title should say: Step response for K = 5.

0 2 4 6 8-20

-15

-10

-5

0

5

10

15

20Step Response K = 32/9

Time (sec)

Am

plitu

de

Page 8: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

8

Observation:

The systems poles moved from Stable to marginally stable to

unstable for slight changes in the forward gain, K.

Questions:

Is there an analytical way of determining the range of K for

which the system is stable?

Page 9: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

9

Routh – Hurwitz Test

How is the RH test performed?

First:

Recall:

1- For a closed loop system:

)()(1

)()(

sHsG

sGsGCL

2- The poles of the closed loop system are the roots of the

denominator of the transfer function, GCL(s):

Define:

)()(1)( sHsGsD : This is referred to as the

Characteristic Polynomial

3- Let us standardize a form by expressing D(s) in

polynomial form:

Let

011

21

1 ....)( asasasasasD nn

nn

nn

At this point, it is time to explore the RH test.

Page 10: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

10

Second:

The RH Test Steps:

1- Build the starting RH array

Sn

Sn-1

Sn-2

Sn-3

Sn-4

.

.

.

S0

an an-2 an-4 . . .

an-1 an-3 an-5 . . .

b1 b2 b3 . . .

c1 c2 c3 . . .

d1 d2 d3 . . .

. . . .

. . . .

.

Formed from the

coefficients of D(s)

These

coefficients are

calculated

Page 11: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

11

2- Calculate the remaining coefficients of the RH array

Note: The first column in the RH array is the “basis” vector.

1

3211

n

nnnn

a

aaaab

1

5412

n

nnnn

a

aaaab

1

12311

b

ababc nn

1

13512

b

ababc nn

1

12211

c

bcbcd

an an-2 an-4

an-1 an-3 an-5

b1 b2

Page 12: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

12

3- Now the RH array is formed, what to do next?

All one has to do is look at the first column in the RH array. The number of sign changes will be

the number of poles in the right half s-plane. (Thus unstable system if the number is non-zero)

Before exploring some special cases of the RH array, let us revisit the original system of

today’s lecture.

Page 13: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

13

Example – Determine the range of K to have a stable system.

The system: Correction: H= 1/(s+2) not 1/(s+1)

10

10)(

2

sss

KsG

2

1)(

ssH

Kssss

sKGCL

10)2)(10(

)2(102

KsssssD 1020123)( 234

Page 14: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

14

1- The RH array

KsssssD 1020123)( 234

S4

S3

S2

S1

S0

1 12 10K

3 20 0

16/3 10K 0

20-5.625K 0

10K

Auxiliary

Equation

Page 15: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

15

2- Investigate the first column.

a. Whenever possible, it is desired to have no sign changes in the vector.

b. Coming down the basis vector, the signs are: +, +, + ,?,?

The last two terms have to be positive in order to have a stable system:

10K > 0, then

K> 0 (1)

20 – 5.625K > 0

K < 3.556

Therefore, it is concluded that the system is stable for

0 <K<3.556

Now it is obvious why when K =5, the system resulted in unstable response !!

Page 16: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

16

For the next lecture:

1- Investigate the auxiliary Equation (new idea)

2- Look at the special cases.

Page 17: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

17

Page 18: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

18

Recap with an in-class Example:

For the characteristic polynomial of the closed loop transfer

function:

D(s)=1+G(s)H(s) = Kssss 423234

(1) Determine the range of K necessary for stable response (if any)

(2) Determine the auxiliary equation

16/3 S2 +10K = 0, K= 3.556, therefore, S = .sec/. radj 582

(3) Determine the frequency of oscillation for a marginally stable

system.

Page 19: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

19

Special Cases When the RH tabulation array terminates

prematurely:

1- The first element in any one row of the RH array is zero while

other elements in the same array are NOT

Example:

D(s) = 0322234 ssss

The RH tabulation is:

S4 : 1 2 3

S3 : 1 2 0

S2 : 0 3

Well, the remaining calculated elements for s1 and s0 will be

infinity have a problem.

Solution:

When this happens, substitute the zero with a small positive

number, , and continue building the table.

Which results in,

S4 : 1 2 3

S3 : 1 2 0

S2 : 3 0

S1 :

332

0

S0 : 3

Page 20: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

20

Two sign changes in the first column – Thus, there are two poles

in the RHP.

For fun:

Solve for the roots of D(s), results in ?

(Note: the epsilon method may not work appropriately if D(s) has

pure imaginary roots.)

2- All the elements in one row are zeros

Example:

D(s) = S5 + 4S4 + 8S3 + 8S2 + 7s + 4 = 0

The RH array is:

S5 : 1 8 7

S4 : 4 8 4

S3 : 6 6 0

S2 : 4 4 0

S1 : 0 0

The next terms will be?

Solution:

1- Form an auxiliary equation with S2

A(s) = 4s2 + 4 = 0

2- Take the derivative of A(s) w.r.t. s

Page 21: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

21

0844

2

sds

sd )(

Thus, the coefficients of ds

dA are the coefficients of: 8s + 0 =0

which are 8 and zero – Use these to replace the elements in the S1

row.

Thus

S1 : 8 0

S0 : 4

No sign changes Stable

Recap Example:

Example

Determine the range of the values of K (if exists) for which the

system is stable.

R(s)

Y(s)

Out 1

1

H(s)

3

s +2s+122

G(s)

K

s +4s+82In1

1

Page 22: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

22

Solution

122

3

841

84

22

2

ssss

K

ss

K

GCL

Kssss

ssKGCL

384122

122

22

2

))((

)(

D(s) = )( Kssss 39664286234

RH Tabulation:

S4 : 1 28 96+3K

S3 : 6 64 0

S2 : 17.3 96+3K 0

S1 : 30.82-1.039K 0

S0 : 96+3K

96+3K>0 K>-32

30.82-1.039K>0 K<29.7

Thus,

The range of K for a stable response is:

-32 < K < 29.7

Page 23: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

23

Final Value Theorem:

Recall:

Voltage across a cap in a simple series RC circuit (E is the applied

DC voltage)

Vc(t)=

RC

teE 1

EeEtV RCt

tc

t

1lim)(lim

This should make sense to us:

Vc after a long time [ t>5 ], the voltage across the cap is equal

to the Thevinin’s voltage. In this case Vc = E.

Let us visit this from LaPlace point of view:

RCs

RCsRsRC

sR

CsR

CssRsVc 1

1

1

1

1

1

)()()()(

Note:

R(s) = E/s E is the magnitude of the DC voltage applied. r(t) is

the input.

Therefore,

Page 24: Routh – Hurwitz Stability Test - profsalim.com 410/Handouts/Routh.pdf · 1 Routh – Hurwitz (RH) Stability Test A little history:  erouth.htm …

24

RCs

RC

s

EsVc 1

1

)(

According to the final value theorem:

)(.lim)(lim sCstcst 0

c(t) is the output {if the limit exists}

E

RCs

RC

s

EsssV

sc

s

1

1

00lim)(lim (agrees with previous

result.)

Using the final value theorem, one can predict, analytically, the

steady state value without resorting to the time domain function.