Control Systems/Jurys Test

From Wikibooks, open books for an open world
Jump to: navigation, search

Routh-Hurwitz in Digital Systems[edit]

Because of the differences in the Z and S domains, the Routh-Hurwitz criteria can not be used directly with digital systems. This is because digital systems and continuous-time systems have different regions of stability. However, there are some methods that we can use to analyze the stability of digital systems. Our first option (and arguably not a very good option) is to convert the digital system into a continuous-time representation using the bilinear transform. The bilinear transform converts an equation in the Z domain into an equation in the W domain, that has properties similar to the S domain. Another possibility is to use Jury's Stability Test. Jury's test is a procedure similar to the RH test, except it has been modified to analyze digital systems in the Z domain directly.

Bilinear Transform[edit]

One common, but time-consuming, method of analyzing the stability of a digital system in the z-domain is to use the bilinear transform to convert the transfer function from the z-domain to the w-domain. The w-domain is similar to the s-domain in the following ways:

  • Poles in the right-half plane are unstable
  • Poles in the left-half plane are stable
  • Poles on the imaginary axis are partially stable

The w-domain is warped with respect to the s domain, however, and except for the relative position of poles to the imaginary axis, they are not in the same places as they would be in the s-domain.

Remember, however, that the Routh-Hurwitz criterion can tell us whether a pole is unstable or not, and nothing else. Therefore, it doesn't matter where exactly the pole is, so long as it is in the correct half-plane. Since we know that stable poles are in the left-half of the w-plane and the s-plane, and that unstable poles are on the right-hand side of both planes, we can use the Routh-Hurwitz test on functions in the w domain exactly like we can use it on functions in the s-domain.

Other Mappings[edit]

There are other methods for mapping an equation in the Z domain into an equation in the S domain, or a similar domain. We will discuss these different methods in the Appendix.

Jury's Test[edit]

Jury's test is a test that is similar to the Routh-Hurwitz criterion, except that it can be used to analyze the stability of an LTI digital system in the Z domain. To use Jury's test to determine if a digital system is stable, we must check our z-domain characteristic equation against a number of specific rules and requirements. If the function fails any requirement, it is not stable. If the function passes all the requirements, it is stable. Jury's test is a necessary and sufficient test for stability in digital systems.

Again, we call D(z) the characteristic polynomial of the system. It is the denominator polynomial of the Z-domain transfer function. Jury's test will focus exclusively on the Characteristic polynomial. To perform Jury's test, we must perform a number of smaller tests on the system. If the system fails any test, it is unstable.

Jury Tests[edit]

Given a characteristic equation in the form:

D(z) = a_0 + a_1z + a_2z^2 + \cdots + a_Nz^N

The following tests determine whether this system has any poles outside the unit circle (the instability region). These tests will use the value N as being the degree of the characteristic polynomial.

The system must pass all of these tests to be considered stable. If the system fails any test, you may stop immediately: you do not need to try any further tests.

Rule 1
If z is 1, the system output must be positive:
D(1) > 0
Rule 2
If z is -1, then the following relationship must hold:
(-1)^ND(-1) > 0
Rule 3
The absolute value of the constant term (a0) must be less than the value of the highest coefficient (aN):
|a_0| < a_N

If Rule 1 Rule 2 and Rule 3 are satisified, construct the Jury Array (discussed below).

Rule 4
Once the Jury Array has been formed, all the following relationships must be satisifed until the end of the array:
|b_0| > |b_{N-1}|
|c_0| > |c_{N-2}|
|d_0| > |d_{N-3}|
And so on until the last row of the array. If all these conditions are satisifed, the system is stable.

While you are constructing the Jury Array, you can be making the tests of Rule 4. If the Array fails Rule 4 at any point, you can stop calculating the array: your system is unstable. We will discuss the construction of the Jury Array below.

The Jury Array[edit]

The Jury Array is constructed by first writing out a row of coefficients, and then writing out another row with the same coefficients in reverse order. For instance, if your polynomial is a third order system, we can write the First two lines of the Jury Array as follows:

\overline{\underline{
       \begin{matrix} z^0 & z^1 & z^2 & z^3 & \ldots & z^N
                   \\ a_0 & a_1 & a_2 & a_3 & \ldots& a_N
                   \\ a_N & \ldots & a_3 & a_2 & a_1 & a_0
       \end{matrix}}}

Now, once we have the first row of our coefficients written out, we add another row of coefficients (we will use b for this row, and c for the next row, as per our previous convention), and we will calculate the values of the lower rows from the values of the upper rows. Each new row that we add will have one fewer coefficient then the row before it:

\overline{\underline{
       \begin{matrix} 1) & a_0 & a_1 & a_2 & a_3 & \ldots & a_N
                   \\ 2) & a_N & \ldots & a_3 & a_2 & a_1 & a_0
                   \\ 3) & b_0 & b_1 & b_2 & \ldots & b_{N-1}
                   \\ 4) & b_{N-1}& \ldots & b_2 & b_1 & b_0
                   \\ \vdots & \vdots & \vdots & \vdots
                   \\ 2N-3) & v_0 & v_1 & v_2
       \end{matrix}}}

Note: The last file is the (2N-3) file, and always has 3 elements. This test doesn't have sense if N=1, but in this case you know the pole!

Once we get to a row with 2 members, we can stop constructing the array.

To calculate the values of the odd-number rows, we can use the following formulae. The even number rows are equal to the previous row in reverse order. We will use k as an arbitrary subscript value. These formulae are reusable for all elements in the array:

b_k =  \begin{vmatrix} a_0 & a_{N-k} 
                           \\ a_N & a_k
              \end{vmatrix}
c_k =  \begin{vmatrix} b_0 & b_{N-1-k} 
                           \\ b_{N-1} & b_k
              \end{vmatrix}
d_k =  \begin{vmatrix} c_0 & c_{N-2-k} 
                           \\ c_{N-2} & c_k
              \end{vmatrix}

This pattern can be carried on to all lower rows of the array, if needed.

Example: Calculating e5[edit]

Give the equation for member e5 of the jury array (assuming the original polynomial is sufficiently large to require an e5 member).

Going off the pattern we set above, we can have this equation for a member e:

e_k = \begin{vmatrix} d_0 & d_{N-R-k} 
                          \\ d_{N-R} & d_k
             \end{vmatrix}

Where we are using R as the subtractive element from the above equations. Since row c had R → 1, and row d had R → 2, we can follow the pattern and for row e set R → 3. Plugging this value of R into our equation above gives us:

e_k = \begin{vmatrix} d_0 & d_{N-3-k} 
                          \\ d_{N-3} & d_k
             \end{vmatrix}

And since we want e5 we know that k is 5, so we can substitute that into the equation:

e_5 = \begin{vmatrix} d_0 & d_{N-3-5} 
                          \\ d_{N-3} & d_5
             \end{vmatrix}
           = \begin{vmatrix} d_0 & d_{N-8} 
                          \\ d_{N-3} & d_5
             \end{vmatrix}

When we take the determinant, we get the following equation:

e_5 = d_0d_5 - d_{N-8}d_{N-3}

Further Reading[edit]

We will discuss the bilinear transform, and other methods to convert between the Laplace domain and the Z domain in the appendix:

← Routh-Hurwitz Criterion

Control Systems

Root Locus →