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.

• Is this closed loop system stable?
• For what range of gains is this system stable?
• How stable is this closed loop system?
There are several techniques that provide information on stability.  Two examples are the root locus and the Nyquist Stability Criterion.
• For the Root Locus:
• Places where the locus enters the right half plane gives information on stability.
• You can calculate gain for points where the locus enters the right half plane - giving information on range of gains.
• Damping ratio(s) of closed loop poles give information on relative stability, and distance into the left half plane can be taken as an indication of relative instability.
• For the Nyquist Stability Criterion
• The Nyquist Stability Criterion gives information on stability directly.
• It is possible to calculate the gain necessary for stability using Nyquist plots or Bode plots.
• Phase margin and gain margin give information on relative stability.
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.

• There is a sign change going from 1 to -7 as you go down the first column.
• There is a sign change going from -7 to 10 as you go down the first column.
• That's two sign changes, and that indicates two roots in the RHP.
• There's only one negative sign, but there are two sign changes.
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:

• (10x35 - 1x50)/10 = 30
• (10x124 - 31x0)/10 = (10x124 - 0)/10 = 124
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:

• (30x50 - 10x124)/30 = (1500 - 1240)/30 = 260/30 = 83.333
• (83.333x124 - 0)/83.333 = 124
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.
• The "4" in the second row is the pivot element for the computation.
• Your computation should end by saying (24 -4)/4 = ??.
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.
• The "5" in the third row is the pivot element for the computation.
• Your computation should end by saying (20 -120)/5 = ??.
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