The Routh Stability Criterion

You are at:  Analysis Techniques - Stability - Routh Criterion
Click here to return to the Table of Contents


Introduction

      There are frequently questions about stability that you need to answer.  Some of the questions might be.

        There are several techniques that provide information on stability.  Two examples are the root locus and the Nyquist Stability Criterion.         However, there is another technique available that can give information on stability and range of gains for stability.  That technique is the Routh Stability Criterion.  The Routh criterion can be used on small systems (Small here means systems of low order.  You probably wouldn't use Routh on systems with 20 poles.)  There are many times that it can provide simple and clear answers to the first two questions, and we will examine the Routh Criterion in this lesson.

The Routh Criterion

        To apply the Routh criterion, you need to form an array from the polynomial coefficients.  Then, after some computations, you get information that will let you determine how many roots of the polynomial are in the LHP.  We can understand this best with an example.

s3 + s2 + 3s + 10

Looking at this polynomial, it looks innocent enough.  All of the coefficients are positive integers.  You might not expect this to be the denominator of an unstable system.  In fact, this polynomial can be factored into this form.

(s + 2)(s2 - s + 5)

The quadratic factor has two roots in the RHP.

        We will work with this polynomial, and apply the Routh criterion to it as an example.  To begin, we put the coefficients of the original polynomial into an array (the Routh array)
 
 

s3
1
3
s2
1
10
s1
   
s0
   

The last two rows are filled in by doing some computation.  Call the "1" colored green the pivot element.  The computations start by multiplying the two entries colored green - the lower "1" - the pivot element and the "3".  Call that result, R1.  Then you multiply the two entries in blue.  Call that result, R2.  Then you divide by the green "1" - the pivot element - and place the result in the leftmost column.  (Since it's a "1" here it won't make any difference, but it won't always be a "1".)  That computation is given by:

Result = [R1 - R2]/[Pivot element]

The result is shown below - with the result forming a new entry in the s1 row.  Since there are no more elements in the first two rows, that ends the computations for the s1 row.
 
 

s3
1
3
s2
1
10
s1
-7
 
s0
   

Finally, we need to get the elements in the last row.  As in the preceding row, there will really be only one element in this example, but larger systems will require more than that.  The new pivot element will be the first element in the last row modified.  That's the "-7".  You need to multiply -7 times 10 and divide by -7.  That's the formal algorithm, and - in this case - it just moves the 10 down to the last spot in the first column.
 

s3
1
3
s2
1
10
s1
-7
 
s0
 10  

Now, what Routh showed was that the sign changes in the first column tell you how many roots the polynomial has in the RHP.  In this case, there are two sign changes in the first column.

        Now, what happens if the polynomial is a higher degree.  Let's examine a fourth order polynomial.  Here is the polynomial.

s4 + 10s3 + 35s2 + 50s +  124

We form the array in the same way (using coefficients of every other power in each row), but we now have three entries in the top row - the coefficients of s4, s2, and s0.
 

s4
 1
35
124 
s3
 10
50
 
s2
 
 
 
s1
 
 
 
s0
   

We proceed the same way, doing the cross multiplication.  However, in this case, we need to examine how we get 124 in the second entry in the s2 row.
 

s4
 1
35
124 
s3
 10
50
 
s2
 30
124
 
s1
 
 
 
s0
   

To get the 124 in the second entry in the s2 row  we use the same pivot element.  It will always be the first element in the last row computed (or entered).  In this case it will be "10".  What we do is multiply the 10 and the 124.  Notice how we multiply the first and the third column elements.  (Before, we multiplied the first and the second column elements.)    We always use the same pivot element.  Next, if there had been an element in the box below the 124 entry, we would have multipled that by 1 - the very first entry at the top left in the table.  The computations are:

Now, we proceed as before, and get the table below.
 
s4
 1
35
124 
s3
 10
50
 
s2
 30
124
 
s1
83.333
 
 
s0
 124
 

The computations are:

Here, there are no sign changes in the first column, so all of the roots of the polynomial are in the left half of the s-plane.
That's basically the algorithm.  There are some special cases, and it is instructive to examine at least one or tow higher order polynomial examples before we look at those special cases.


Example with Problems & Questions

        Consider this polynomial.

s4 + 4s3 + 6s2 + 4s +  30

Form the array as above (using coefficients of every other power in each row), with three entries in the top row - the coefficients of s4, s2, and s0.
 

s4
 1
6
30 
s3
 4
4
 
s2
 ??
 
 
s1
 
 
 
s0
   

What is the the value of the term indicated by "??" ?


Problem 1

Enter your answer in the box below, then click the button to submit your answer.  You will get a grade on a 0 (completely wrong) to 100 (perfectly accurate answer) scale.

Your grade is:


You should have gotten that one correct.  If not, go back to the point where we discussed how to compute that coefficient.  Remember the following points. Now, there is another question that needs to be answered.
Question 1

        Is there another element in the third row - the s2 row?


        Now, we still have not completed the table.  Your table should look like this one at this point, and we need to consider what the first term in the penultimate row is going to be.  That is marked as "??".
 
s4
 1
6
30 
s3
 4
4
 
s2
 5
 30
 
s1
 ??
 
 
s0
   


Problem 2

What is the the value of the term indicated by "??" ?

Enter your answer in the box below, then click the button to submit your answer.

Your grade is:


        And, we hope you got that one right also.  If not, remember the following. Then, answer the next question.
Question 2

        Is there another element in the fourth row - the s1 row?



Finally, you need to get the single element in the last row.  You should have this table at this point.
 
s4
 1
6
30 
s3
 4
4
 
s2
 5
 30
 
s1
 -20
 
 
s0
 ??
 

You should realize - from the preceding examples - that the last element is just "130".  It's the element in the s2 row - at the end.

        And, finally, you get this table:
 

s4
 1
6
30 
s3
 4
4
 
s2
 5
 30
 
s1
 -20
 
 
s0
 30
 

And there are two sign changes, so there are two roots of the polynomial in the RHP.


A Point to Note

        The polynomial in the example above can be related to a closed loop system.  Consider the block diagram below.

Assume that the gain, K, is variable, and that G(s) is given by:

G(s) = 1/[(s + 1)4]

Then, the closed loop transfer function is given by:

GCL(s) = K/[(s + 1)4 + K]

The polynomial in the example is the closed loop denominator for K = 29.

        Now, think about what happens when K is variable.  Then the closed loop denominator is given by:

s4 + 4s3 + 6s2 + 4s +  1 + K

We can form the Routh array for this polynomial.
 

s4
 1
6
1 + K 
s3
 4
4
 
s2
 5
1 + K 
 
s1
 (20-4-4K)/5
 
 
s0
 1 + K
 

The critical element is (16 - 4K)/5.  That element is negative whenever K is larger than 4, and when that element is negative, the closed loop system has poles in the RHP, and the closed loop system is unstable.

        The interesting and useful conclusion is that the Routh array can be used to determine gain limits for stability - at least for systems small enough that you can do the computations for the Routh array.



 
 
 

UNDER CONSTRUCTION