Control Systems/Routh-Hurwitz Criterion

From testwiki
Revision as of 06:03, 15 October 2007 by imported>Shaffers21 (The Routh Array)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Template:Control Systems/Page

Stability Criteria

The Routh-Hurwitz stability criterion is a necessary and sufficient criterion to prove the stability of an LTI system.

Necessary
Conditions that are necessary must be satisfied for a system to be stable, but conditions that satisfy these conditions might not all be stable. Necessary conditions may return "false positives", but will never return "false negatives".
Sufficient
Sufficient conditions are conditions that if met show the system to be definatively stable. Sufficient conditions may not be necessary, and they may return false negatives.

The Routh-Hurtwitz criteria is both necessary and sufficient: A system must pass the RH test, and once it passes the test, it is definitely stable.

Routh-Hurwitz Criteria

Template:Wikipedia

The Routh-Hurwitz criteria is comprised of three separate tests that must be satisfied. If any test fails, the system is not stable. Also, if any single test fails, any further tests need not be performed. For this reason, the tests are arranged in order from the easiest to determine to the hardest to determine.

The Routh Hurwitz test is performed on the denominator of the transfer function, the characteristic equation. For instance, in a closed-loop transfer function with G(s) in the forward path, and H(s) in the feedback loop, we have:

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

If we simplify this equation, we will have an equation with a numerator N(s), and a denominator D(s):

T(s)=N(s)D(s)

The Routh-Hurwitz criteria will focus on the denominator polynomial D(s).

Routh-Hurwitz Tests

Here are the three tests of the Routh-Hurwitz Criteria. For convenience, we will use N as the order of the polynomial (the value of the highest exponent of s in D(s)). The equation D(s) can be represented generally as follows:

D(s)=a0+a1s+a2s2++aNsN

Template:TextBox

We will explain the Routh array below.

The Routh Array

The Routh array is formed by taking all the coefficients ai of D(s), and staggering them in array form. The final columns for each row should contain zeros:

sNsN1|aNaN20aN1aN30|

Therefore, if N is odd, the top row will be all the odd coefficients. If N is even, the top row will be all the even coefficients. We can fill in the remainder of the Routh Array as follows:

sNsN1s0|aNaN20aN1aN30bN1bN3cN1cN3|

Now, we can define all our b, c, and other coefficients, until we reach row s0. To fill them in, we use the following formulae:

bN1=1aN1|aNaN2aN1aN3|

And

bN3=1aN1|aNaN4aN1aN5|

For each row that we are computing, we call the left-most element in the row directly above it the pivot element. For instance, in row b, the pivot element is aN-1, and in row c, the pivot element is bN-1 and so on and so forth until we reach the bottom of the array.

To obtain any element, we take the determinant of of the following matrix, and divide by the pivot element:

|kmln|

Where:

  • k is the left-most element two rows above the current row.
  • l is the pivot element.
  • m is the element two rows up, and one column to the right of the current element.
  • n is the element one row up, and one column to the right of the current element.

In terms of k l m n, our equation is:

v=(lm)(kn)l

Example: Calculating CN-3

Template:TextBox

Example: Stable Third Order System

Template:TextBox

Special Case: Row of All Zeros

If, while calculating our Routh-Hurwitz, 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.

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 non-zero. 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.

Template:Control Systems/Nav