1
Routh – Hurwitz (RH) Stability Test
A little history:
General Statement
A BIBO system is stable if for all time ,t, an input , results with an output for finite M and P. It is a necessary condition for stability that all poles of the transfer function be located in the --LHP------. A system with poles on ---jw-----is defined as marginally stable system.
Motivation (Rational)
Consider the following closed loop feedback control system.
Correction: H = 1/(s+2) not 1/(s+1)
Let us study the transient response for three different values of the forward gain, K.
The Matlab code I used is:
clear all
K =1;
num1 = [1]; den1=[1 0];
num2 =[10]; den2=[1 1 10];
num=conv(num1,num2);
den=conv(den1,den2);
G=K*tf(num,den); % This is the open loop transfer function
numH=[1]; denH=[1 2];
H=tf(numH,denH);
GCL=feedback(G,H); % This is the closed loop transfer function
pole(GCL)
disp('hit any key to continue ...')
pause
step(GCL)
% note: May use pzmap command to plot the poles and zeros.
A-K =1
Poles of the closed loop system, GCL(s) are:
-0.4452 + 2.9688i
-0.4452 - 2.9688i
-1.1096 + 0.0000i
-1.0000 + 0.0000i
And the the step response is given below
B-K = 32/9
Run the code again but with K = 32/9.
Poles are:
0.0000 + 2.5820i
0.0000 - 2.5820i
-1.5000 + 1.7559i
-1.5000 - 1.7559i
C-K = 5
The poles are:
-1.7993 + 2.0330i
-1.7993 - 2.0330i
0.2993 + 2.5873i
0.2993 - 2.5873i
Typo: The title should say: Step response for K = 5.
Observation:
The systems poles moved from Stable to marginally stable to unstable for slight changes in the forward gain, K.
Questions:
Is there an analytical way of determining the range of K for which the system is stable?
Routh – Hurwitz Test
How is the RH test performed?
First:
Recall:
1-For a closed loop system:
2-The poles of the closed loop system are the roots of the denominator of the transfer function, GCL(s):
Define:
: This is referred to as the Characteristic Polynomial
3-Let us standardize a form by expressing D(s) in polynomial form:
Let
At this point, it is time to explore the RH test.
1
Second:
The RH Test Steps:
1-Build the starting RH array
2-Calculate the remaining coefficientsof the RH array
Note: The first column in the RH array is the “basis” vector.
3-Now the RH array is formed, what to do next?
All one has to do is look at the first column in the RH array. The number of sign changes will be the number of poles in the right half s-plane. (Thus unstable system if the number is non-zero)
Before exploring some special cases of the RH array, let us revisit the original system of today’s lecture.
Example – Determine the range of K to have a stable system.
The system: Correction: H= 1/(s+2) not 1/(s+1)
1-The RH array
2-Investigate the first column.
- Whenever possible, it is desired to have no sign changes in the vector.
- Coming down the basis vector, the signs are: +, +, + ,?,?
The last two terms have to be positive in order to have a stable system:
10K > 0, then
K> 0(1)
20 – 5.625K > 0
K < 3.556
Therefore, it is concluded that the system is stable for
0 <K<3.556
Now it is obvious why when K =5, the system resulted in unstable response !!
For the next lecture:
1-Investigate the auxiliary Equation (new idea)
2-Look at the special cases.
1
Recap with an in-class Example:
For the characteristic polynomial of the closed loop transfer function:
D(s)=1+G(s)H(s) =
(1) Determine the range of K necessary for stable response (if any)
(2) Determine the auxiliary equation
16/3 S2 +10K = 0, K= 3.556, therefore, S =
(3) Determine the frequency of oscillation for a marginally stable system.
Special Cases When the RH tabulation array terminates prematurely:
1- The first element in any one row of the RH array is zero while other elements in the same array are NOT
Example:
D(s) =
The RH tabulation is:
S4:123
S3:120
S2:03
Well, the remaining calculated elements for s1 and s0 will be infinity have a problem.
Solution:
When this happens, substitute the zero with a small positive number, , and continue building the table.
Which results in,
S4:123
S3:120
S2:30
S1:0
S0:3
Two sign changes in the first column – Thus, there are two poles in the RHP.
For fun:
Solve for the roots of D(s), results in ?
(Note: the epsilon method may not work appropriately if D(s) has pure imaginary roots.)
2-All the elements in one row are zeros
Example:
D(s)=S5 + 4S4 + 8S3 + 8S2 + 7s + 4 = 0
The RH array is:
S5:187
S4:484
S3:660
S2:440
S1:00
The next terms will be?
Solution:
1-Form an auxiliary equation with S2
A(s)=4s2+4 =0
2-Take the derivative of A(s) w.r.t. s
Thus, the coefficients of are the coefficients of: 8s + 0 =0
which are 8 and zero – Use these to replace the elements in the S1 row.
Thus
S1:80
S0: 4
No sign changes Stable
Recap Example:
Example
Determine the range of the values of K (if exists) for which the system is stable.
Solution
D(s) =
RH Tabulation:
S4:12896+3K
S3:6640
S2:17.396+3K0
S1:30.82-1.039K0
S0:96+3K
96+3K>0 K>-32
30.82-1.039K>0 K<29.7
Thus,
The range of K for a stable response is:
-32 < K < 29.7
Final Value Theorem:
Recall:
Voltage across a cap in a simple series RC circuit (E is the applied DC voltage)
Vc(t)=
This should make sense to us:
Vc after a long time [ t>5], the voltage across the cap is equal to the Thevinin’s voltage. In this case Vc = E.
Let us visit this from LaPlace point of view:
Note:
R(s) = E/s E is the magnitude of the DC voltage applied. r(t) is the input.
Therefore,
According to the final value theorem:
c(t) is the output {if the limit exists}
(agrees with previous result.)
Using the final value theorem, one can predict, analytically, the steady state value without resorting to the time domain function.