statics-and-dynamics
Using Routh-hurwitz to Predict System Response and Transient Behavior
Table of Contents
Introduction to the Routh-Hurwitz Criterion
The Routh-Hurwitz criterion is a cornerstone of classical control theory, providing a systematic method for assessing the stability of linear time-invariant (LTI) systems without explicitly computing the roots of the characteristic equation. Developed independently by Edward John Routh in 1874 and Adolf Hurwitz in 1895, this algebraic technique remains widely used in control engineering because it offers a quick, reliable way to determine whether a system will respond in a stable, predictable manner or exhibit oscillations and instability. Stability is fundamental to system design—an unstable system can lead to dangerous overshoot, persistent oscillations, or even catastrophic failure, especially in applications such as aerospace, automotive controls, chemical processes, and robotics.
By analyzing the coefficients of a system’s characteristic polynomial, the Routh-Hurwitz criterion identifies the number of poles (roots of the characteristic equation) that lie in the right half of the complex plane. Poles with positive real parts cause unstable behavior, while poles with negative real parts contribute to stable, convergent responses. The method does not require solving polynomials of high degree, making it practical for manual analysis and early-stage design. Moreover, its insights into transient behavior—such as settling time, overshoot, and oscillation frequency—help engineers tune controllers to meet performance specifications before committing to detailed simulations or hardware prototypes.
This article will first explain the mathematical foundation of the Routh-Hurwitz criterion, then guide you through constructing the Routh array with a step-by-step example. After that, we will explore how the criterion predicts system response and transient behavior, including key characteristics like overshoot and settling time. A practical numeric example will illustrate the process, and we will discuss the method’s limitations and complementary tools. By the end, you will have a solid understanding of how to apply the Routh-Hurwitz criterion as a practical, authoritative tool in control system analysis.
What Is the Routh-Hurwitz Criterion?
The Routh-Hurwitz criterion is a necessary and sufficient condition for stability in LTI systems. It operates on the characteristic equation of the system, which is derived from the denominator of the closed-loop transfer function after setting it to zero. For a system described by the transfer function G(s) = N(s) / D(s), the characteristic equation is D(s) = 0, where D(s) is a polynomial in s of degree n:
D(s) = ansn + an-1sn-1 + … + a1s + a0 = 0
The criterion states that for the system to be stable (i.e., all poles have negative real parts), all coefficients ai must be nonzero and have the same sign (typically positive), and the Routh array constructed from these coefficients must have no sign changes in the first column. If any sign changes occur, the number of sign changes equals the number of poles with positive real parts, indicating instability.
It is important to note that the Routh-Hurwitz criterion is purely algebraic—it does not give the actual pole locations. Instead, it provides a count of right-half-plane (RHP) poles. This makes it invaluable when the characteristic polynomial is of high order (e.g., fourth, fifth, or higher) where root finding is computationally intensive or analytically infeasible.
The criterion is directly linked to the Hurwitz matrix, a square matrix formed from the coefficients of the characteristic polynomial. All leading principal minors of the Hurwitz matrix must be positive for stability—this is the Hurwitz condition. Routh’s tabular method simplifies this determinant-checking process into the more straightforward Routh array.
Constructing the Routh Array: Step-by-Step
Building the Routh array is a systematic procedure. We will illustrate it using a concrete example polynomial:
D(s) = s4 + 10s3 + 35s2 + 50s + 24
This polynomial has known roots at s = -1, -2, -3, -4 (all negative), so the system is stable. We will use it to verify that the Routh array gives no sign changes.
Step 1: Write the Polynomial in Standard Form
Ensure the polynomial is arranged in descending powers of s with all coefficients written. For our example, the coefficients are:
a4 = 1 (s4), a3 = 10 (s3), a2 = 35 (s2), a1 = 50 (s1), a0 = 24 (constant term).
Step 2: Initialize the First Two Rows
The first row of the Routh array contains the coefficients of even-indexed terms (starting from sn): row s4: [1, 35, 24]. The second row contains the coefficients of odd-indexed terms: row s3: [10, 50, 0]. (Fill missing terms with zeros.)
So:
Row s4: 1, 35, 24
Row s3: 10, 50, 0
Step 3: Compute Subsequent Rows Using the Rhombus Rule
Each element in the next row is calculated using the two rows above it. For an element in row s2, first column, the formula is:
new element = -[ (1×50) - (10×35) ] / 10
But it is easier to apply the standard formula: for row k, column j (starting from column 1), the element is:
R(k, j) = -[ R(k-1, 1)*R(k-2, j+1) - R(k-2, 1)*R(k-1, j+1) ] / R(k-1, 1)
Let's do it manually for clarity.
Row s2:
First element: Using rows s4 and s3.
R(s2,1) = -[ (1×50) - (10×35) ] / 10 = -[50 - 350]/10 = -[-300]/10 = 30.
Second element: next column (j=2). R(s4,2) = 35, R(s4,3)=24; R(s3,2)=50, R(s3,3)=0.
R(s2,2) = -[ (1×0) - (10×24) ] / 10 = -[0 - 240]/10 = -[-240]/10 = 24.
Third element: j=3, but R(s4,4) does not exist (treat as 0), R(s3,4)=0. So R(s2,3) = -[ (1×0) - (10×0) ] / 10 = 0.
Thus row s2: 30, 24, 0.
Row s1:
Use rows s3 and s2.
R(s1,1) = -[ (10×24) - (30×50) ] / 30 = -[240 - 1500]/30 = -[-1260]/30 = 42.
R(s1,2) = -[ (10×0) - (30×0) ] / 30 = 0.
Thus row s1: 42, 0.
Row s0:
Use rows s2 and s1.
R(s0,1) = -[ (30×0) - (42×0) ] / 42 = 0. But the last row is always the constant term from the polynomial, which should be 24. Actually there is a known rule: the last element of the last row equals a0 (the constant term). We can compute as: R(s0,1) = -[ (30×0) - (42×24) ] / 42 = -[-1008]/42 = 24. Correct!
So the complete Routh array is:
| s4 | 1 | 35 | 24 |
|---|---|---|---|
| s3 | 10 | 50 | 0 |
| s2 | 30 | 24 | 0 |
| s1 | 42 | 0 | 0 |
| s0 | 24 | 0 | 0 |
Step 4: Examine the First Column
The first column contains: 1, 10, 30, 42, 24. All are positive, and there are no sign changes. Therefore the system is stable, which matches our known roots.
Special Cases
Two special cases can arise during Routh array construction:
- Zero in the first column: If the first element of a row is zero but the row is not all zeros, replace the zero with a small epsilon (ε), then proceed. The sign of ε determines sign changes. This indicates marginal stability or instability depending on the rest of the array.
- Entire row of zeros: This occurs when there are symmetrically placed roots (e.g., pairs of imaginary roots or symmetric pairs about the real axis). In this case, form an auxiliary polynomial from the row above the zero row and differentiate it to obtain coefficients for the missing row. This indicates the presence of a pair of purely imaginary roots or a pair of real roots with opposite signs (i.e., instability).
These special cases extend the applicability of the criterion to systems with poles on the imaginary axis or symmetric patterns.
Predicting System Response and Transient Behavior
The Routh-Hurwitz criterion is not limited to a binary stable/unstable verdict. By revealing the number of poles with positive real parts, it directly informs the transient behavior of the system. Each pole in the right half-plane contributes an exponentially growing mode, causing the transient response to diverge. Conversely, all poles in the left half-plane lead to decaying exponentials, eventually reaching a steady state.
However, the criterion does not give the exact pole locations, so it cannot precisely quantify overshoot, settling time, or rise time. Nevertheless, it provides essential clues:
- If the first column has no sign changes: All poles have negative real parts. The transient response will be stable, eventually settling to a steady state. But there could be slow or oscillatory decay (nearly imaginary poles) that the criterion does not detect—only the sign of the real part is guaranteed.
- If there are sign changes: The number of sign changes equals the number of RHP poles. The system is unstable, and the transient response will grow unboundedly. The number of RHP poles hints at the nature of instability: a single positive pole leads to monotonic exponential growth, while a pair of complex RHP poles produces growing oscillations.
- Marginal stability: If the characteristic equation has roots on the imaginary axis (purely imaginary or multiple poles on the axis), the Routh array will produce a row of zeros. This indicates that the system is on the boundary of stability, and the transient response may exhibit sustained oscillations (if simple imaginary poles) or ramp-up oscillations (if repeated imaginary poles).
By combining the Routh-Hurwitz result with knowledge of the system order, engineers can make informed predictions. For a second-order system, the criterion reduces to requiring all coefficients to be positive (which is both necessary and sufficient for stability). For higher-order systems, the array provides a stability margin indicator—the closer the first-column elements are to zero, the closer the system is to instability. This is especially useful when adjusting gain parameters in a control loop.
Relationship with Transient Characteristics
The transient response of a stable system is primarily determined by the dominant poles—the ones closest to the imaginary axis. The Routh-Hurwitz criterion does not directly locate these poles, but it can help in tuning. For instance, if the criterion shows that increasing a controller gain will eventually lead to a sign change in the first column, it marks the gain margin. Engineers often use this to set proportional gains in P, PI, or PID controllers without needing to simulate the entire system each time.
Key transient metrics that are influenced by stability include:
- Overshoot – The maximum peak value of the response relative to the final value. Overshoot is typically caused by complex conjugate poles with a low damping ratio. While the Routh-Hurwitz criterion does not compute damping, a system with a row of zeros (marginal stability) often corresponds to a damping ratio near zero, implying high overshoot.
- Settling Time – The time required for the response to stay within a certain percentage (e.g., 2%) of the final value. Settling time is inversely proportional to the real part of the dominant pole. The Routh array cannot give this real part, but if the array shows that all poles are in the left half-plane, the settling time is finite; if any pole is very close to the imaginary axis, the settling time will be long.
- Rise Time – The time to go from 10% to 90% of the final value. This is related to the natural frequency of the dominant complex poles. Again, the Routh-Hurwitz criterion provides no direct numerical value but indicates whether the system is stable enough to have a well-defined rise time.
- Oscillations – The frequency of transient oscillations is determined by the imaginary parts of the complex poles. The criterion does not reveal imaginary parts, but the presence of a row of zeros indicates purely imaginary poles, which produce sustained oscillations in the transient response.
Thus, the Routh-Hurwitz criterion acts as a gatekeeper: it ensures stability as a prerequisite for meaningful transient analysis using other tools like root locus, Bode plots, or step response simulations.
Practical Example: Third-Order System
Let us apply the Routh-Hurwitz criterion to a more complex example with unknown parameters. Consider the closed-loop transfer function G(s) = K / [s(s+2)(s+5)] with unity feedback. The characteristic equation is:
1 + G(s) = 0 → s(s+2)(s+5) + K = s3 + 7s2 + 10s + K = 0
We want to determine the range of K for which the system is stable. Construct the Routh array for polynomial s3 + 7s2 + 10s + K.
Rows:
s3: 1, 10
s2: 7, K
s1: -[ (7×10) - (1×K) ] / 7 = -[70 - K]/7 = (K - 70)/7
s0: -[ (7×0) - ((K-70)/7 * K) ] / ((K-70)/7) = ... Actually simpler: the last row's element is the constant term K (provided the row above is not all zeros). More systematically: row s0 is derived from rows s2 and s1. Using formula: R(s0,1) = K (it equals the constant term directly). So the array is:
| s3 | 1 | 10 |
|---|---|---|
| s2 | 7 | K |
| s1 | (K-70)/7 | 0 |
| s0 | K | 0 |
For stability, all first-column elements must be positive: 1 > 0, 7 > 0, (K-70)/7 > 0, K > 0. This gives K > 70 and K > 0, so K > 70. The lower bound is K > 70. If K = 70, the row s1 becomes zero, which is a special case indicating marginal stability (purely imaginary roots). So the system is stable for K > 70. This tells the engineer that gains above 70 yield a stable transient, but as K approaches 70, the transient oscillations become undamped. The transient response for K = 200, for example, will have two complex conjugate poles in the left half-plane and one real pole, leading to an overshooting but eventually settling response. The Routh-Hurwitz criterion here explicitly predicts the stability boundary.
Transient Response Implications for the Example
For K just above 70, the system is stable but the dominant poles are very close to the imaginary axis. The transient response will show very slow decay and large overshoot. The settling time will be long. As K increases further, the poles move leftward (generally), improving damping and settling time. However, if K is too high, the Routh array for this particular system would show no additional sign changes—stability persists. In practice, very high K might cause other issues like actuator saturation or noise amplification, but the Routh-Hurwitz criterion only checks the loop stability.
Thus, the criterion gives critical information: the gain range for stability, and the proximity to instability. By evaluating the first-column elements, engineers can compute gain margins and design controllers that avoid marginal stability.
Limitations of the Routh-Hurwitz Criterion
Despite its power, the Routh-Hurwitz criterion has important limitations that every control engineer must understand:
- Applicable only to LTI systems: It cannot be used directly for time-varying, nonlinear, or sampled-data systems (though extensions exist for discrete-time systems via bilinear transforms).
- Does not quantify transient performance: The criterion gives no information about overshoot, peak time, rise time, or exact settling time. For that, root locus, frequency response, or time-domain simulations are needed.
- Requires a known characteristic polynomial: The coefficients must be known exactly. In practice, uncertainties in parameters may require robust stability analysis (e.g., using Kharitonov’s theorem).
- Becomes cumbersome for very high-order systems: Manual calculations for tenth-order polynomials are error-prone, although software (MATLAB, Python) automates the array construction.
- Cannot handle time delays directly: Systems with time delays have transcendental characteristic equations—the Routh array cannot be directly applied unless using Padé approximations.
To overcome these limitations, engineers commonly use the Routh-Hurwitz criterion in conjunction with other methods. For example, root locus plots show how closed-loop poles move with gain, providing exact transient information. The Nyquist criterion handles time delays and nonlinearities. Nonetheless, the Routh array often serves as a quick first check—especially during preliminary design or troubleshooting.
Complementary Tools
The Routh-Hurwitz criterion is “necessary and sufficient” for stability of LTI polynomials, but for performance analysis, engineers rely on:
- Root Locus: Plots the trajectory of poles as a parameter (e.g., gain) varies. It directly shows damping ratio and natural frequency.
- Bode Plots and Nyquist Diagrams: Provide gain margin and phase margin, which are indicators of relative stability and transient response characteristics.
- Step Response Simulation: Gives the actual transient metrics (overshoot, settling time) for a given system.
- State-Space Methods: The eigenvalues of the state matrix (which are the poles) can be computed numerically, and Lyapunov’s method extends stability analysis to nonlinear systems.
The Routh-Hurwitz criterion thus occupies a historical and practical sweet spot: it is mathematical enough to be rigorous, yet simple enough to be done on a whiteboard during a design review. It remains an essential skill for any control engineer.
Conclusion
The Routh-Hurwitz criterion offers a clear, algebraic way to assess control system stability by analyzing the characteristic polynomial without solving for roots. Through construction of the Routh array, engineers can determine the number of unstable poles, understand the system’s sensitivity to parameter changes, and identify stability boundaries that directly affect transient behavior. While it does not provide exact transient metrics like overshoot or settling time, it serves as a foundational screening tool that informs deeper analysis using root locus, frequency response, or simulation.
Mastery of the Routh-Hurwitz criterion equips you with the ability to quickly evaluate whether a control system will behave reliably under transient conditions. Whether you are designing a simple proportional controller or tuning a complex multi-loop system, the Routh array is a reliable starting point. For further reading, consider exploring the Routh–Hurwitz stability criterion on Wikipedia for additional mathematical depth, or consult the University of Michigan Control Tutorials on Routh Array for more worked examples. Additionally, MathWorks documentation provides insight into software implementations. By integrating the Routh-Hurwitz criterion into your control design workflow, you ensure that the systems you build are not only stable but also exhibit predictable, high-performance transient responses.