# Stability Analysis of Control Systems using Routh Hurwitz Criterion

#### Introduction

The Routh-Hurwitz stability criterion provides a simple algorithm to decide whether or not the zeros of a polynomial are all in the left half of the complex plane (such a polynomial is called at times “Hurwitz”). A Hurwitz polynomial is a key requirement for a linear continuous-time invariant to be stable (all bounded inputs produce bounded outputs).

The characteristic equation D(s) can be represented generally as follows:

The three rules that need to be followed are:

Rule 1

All the coefficients ai must be present (non-zero).

Rule 2

All the coefficients ai must be positive (equivalently all of them must be negative, with no sign change).

Rule 3

If Rule 1 and Rule 2 are both satisfied, then form a Routh array from the coefficients ai. There is one pole in the right-hand s-plane for every sign change of the members in the first column of the Routh array (any sign changes, therefore, mean the system is unstable).

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:

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:

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:

And

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 negate the determinant of the following matrix, and divide by the pivot element.

Follow the given steps to determine the stability of a control system using Routh Hurwitz criteria.

1 Open new script in MATLAB.

2. Insert the following code:

```disp(' ')
D=input('Input coefficients of characteristic equation,i.e:[an an-1 an-2 ... a0]= ');
l=length (D);

disp(' ')
disp('Roots of characteristic equation is:')
roots(D)

% Beginning of Building Array
if mod(l,2)==0
m=zeros(l,l/2);
[cols,rows]=size(m);
for i=1:rows
m(1,i)=D(1,(2*i)-1);
m(2,i)=D(1,(2*i));
end
else
m=zeros(l,(l+1)/2);
[cols,rows]=size(m);
for i=1:rows
m(1,i)=D(1,(2*i)-1);
end
for i=1:((l-1)/2)
m(2,i)=D(1,(2*i));
end
end

for j=3:cols

if m(j-1,1)==0
m(j-1,1)=0.001;
end

for i=1:rows-1
m(j,i)=(-1/m(j-1,1))*det([m(j-2,1) m(j-2,i+1);m(j-1,1) m(j-1,i+1)]);
end
end

disp('The Routh-Hurwitz array is:'),m

% End of Building array

% Checking for sign change
Temp=sign(m);a=0;
for j=1:cols
a=a+Temp(j,1);
end
if a==cols
disp(' System is Stable ')
else
disp(' System is Unstable ')
end
```

3. Simulate the file by clicking on the green play button at the top.

4. The command window will show the following:

5. Insert the coefficients. The output obtained is as follows.

#### Conclusion

The stability of a given control system was determined with the help of the Routh Hurwitz Criterion.

##### Shivani Singh

A final year engineering student from Bharati Vidyapeeth's College of Engineering, New Delhi with great zeal and passion for writing and technology. I have great love for food, nature, reading and am a true Delhiite at heart !

### Recommended Posts

##### Control a Piezo speaker using a Push Button

20 Feb 2018 - Arduino, Tutorial