From ControlTheoryPro.com

Contents
1 Introduction to Routh's Stability Criteria
There are several methods for extracting information about the roots of a polynomial without solving for the roots. These were especially useful prior to the widespread use of modern computers and software like MATLAB. With software like MATLAB 2008a finding the roots of most polynomials are easily found with 1 or 2 commands. However, methods such as the Routh Stability Array can still provide some useful information. Specifically the Routh Array can aid in controller design.
When the characteristic equation is symbolic such as
Char Eqn  (4.68)^{[1]} 
then the Routh Array can be the most useful. Using this the Routh Array for controller design is similar to using pole placement for controller design. Pole placement requires that the designer has an idea of the form the controller should take. Using that form a characteristic equation is created with that controller form. The controller coefficients are then manipulated in order to force the closed loop poles to be where the controller designer wants them. The Routh Array provides information about stability and the examples below it is obvious how a Routh Array can help in the assignment of 1 or 2 controller parameters. The Routh Array will allow a designer to define a range for these parameters which will provide closed loop stability.
1.1 Necessary Condition for Routh Stability^{[2]}
All the roots of Eqn. (4.68) must have negative real parts.
1.2 Necessary and Sufficient Condition for Stability^{[3]}
If all the coefficients of are positive the syste will be stable; .
2 Routh Array^{[4]}
The Routh Array is defined in the following manner
Row  Power  First Column  Second Column  Third Column  

n 
: 
1 



n  1 
: 




n  2 
: 




n  3 
: 










2 
: 



1 
: 


0 
: 

2.1 Determination of Stability via Routh Array
For stability only the 1^{st} column of the array matters. If all numbers in the first column are positive then the system is stable. If they are not the number of sign changes equals the number of right half plane (RHP) or unstable closed loop system poles. Note that a sign change of +  + demonstrates 2 sign changes and therefore 2 RHP poles. There is the +  change and the  + change.
3 Examples of the Routh Array
3.1 Example #1: Controller Gain Design using the Routh Array^{[5]}
This first example shows how the Routh Array can be used to determine a range of stable system gains.
When the closed loop characteristic equation is symbolic such as
The example from Goodwin et all is as follows
Power  



 


 





The stability condition is for all values in the 1^{st} column to be positive. From this array it is obvious that
leads to
3.2 Example #2: Controller Design using the Routh Array such that the real parts of the closed loop poles smaller than 1^{[6]}
This second example shows how the Routh Array can be used to determine a range of stable system gains that also provide closed loops poles with real parts to the left of 1.
Solving this problem is matter of shifting the imaginary axis to . We accomplish this shift by using the following substitution .
The original closed loop characteristic equation is
The new equation, with the sustitution is
The Routh Array for
Power  



 


 





The stability condition is for all values in the 1^{st} column to be positive. From this Routh Array we conclude that
4 Routh Stability Special Cases
4.1 Special Case: Row of All Zeros
If, while calculating our RouthHurwitz, we obtain a row of all zeros, we do not stop, but can actually learn more information about our system. If we obtain a row of all zeros, we can replace the zeros with a value ε, that we define as being an infinitely small positive number. We can use the value of epsilon in our equations, and when we are done constructing the Routh Array, we can take the limit as epsilon approaches 0 to determine the final format ouf our Routh array.
If we have a row of all zeros, the row directly above it is known as the Auxiliary Polynomial, and can be very helpful. The roots of the auxiliary polynomial give us the precise locations of complex conjugate roots that lie on the jω axis. However, one important point to notice is that if there are repeated roots on the jω axis, the system is actually unstable. Therefore, we must use the auxiliary polynomial to determine whether the roots are repeated or not.
4.2 Special Case: Zero in the First Column
In this special case, there is a zero in the first column of the Routh Array, but the other elements of that row are nonzero. Like the above case, we can replace the zero with a small variable epsilon (ε) and use that variable to continue our calculations. After we have constructed the entire array, we can take the limit as epsilon approaches zero to get our final values.
5 MATLAB Script
This script has not been fully tested but it has been tested on several examples. Including 1 where I found an error in 1 of my text books. It should produce a Routh Array well for most polynomials.
6 References
 Franklin, G. F., EmamiNaeini, A., and Powell, J. D. 1993 Feedback Control of Dynamic Systems. 3rd. AddisonWesley Longman Publishing Co., Inc. ISBN 0201527472
 Goodwin, G. C., Graebe, S. F., and Salgado, M. E. 2000 Control System Design. 1st. Prentice Hall PTR. ISBN 0139586539