1

Routh – Hurwitz (RH) Stability Test

A little history:

General Statement

A BIBO system is stable if for all time ,t, an input , results with an output 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.

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

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

B-K = 32/9

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

C-K = 5

The poles are:

-1.7993 + 2.0330i

-1.7993 - 2.0330i

0.2993 + 2.5873i

0.2993 - 2.5873i

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

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?

Routh – Hurwitz Test

How is the RH test performed?

First:

Recall:

1-For a closed loop system:

2-The poles of the closed loop system are the roots of the denominator of the transfer function, GCL(s):

Define:

: This is referred to as the Characteristic Polynomial

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

Let

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

1

Second:

The RH Test Steps:

1-Build the starting RH array

2-Calculate the remaining coefficientsof the RH array

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

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.

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

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

1-The RH array

2-Investigate the first column.

  1. Whenever possible, it is desired to have no sign changes in the vector.
  2. 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 !!

For the next lecture:

1-Investigate the auxiliary Equation (new idea)

2-Look at the special cases.

1

Recap with an in-class Example:

For the characteristic polynomial of the closed loop transfer function:

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

(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 =

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

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) =

The RH tabulation is:

S4:123

S3:120

S2:03

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:123

S3:120

S2:30

S1:0

S0:3

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:187

S4:484

S3:660

S2:440

S1:00

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

Thus, the coefficients of are the coefficients of: 8s + 0 =0

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

Thus

S1:80

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.

Solution

D(s) =

RH Tabulation:

S4:12896+3K

S3:6640

S2:17.396+3K0

S1:30.82-1.039K0

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

Final Value Theorem:

Recall:

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

Vc(t)=

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:

Note:

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

Therefore,

According to the final value theorem:

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

(agrees with previous result.)

Using the final value theorem, one can predict, analytically, the steady state value without resorting to the time domain function.