4 min read
On this page

Stability

BIBO Stability

A system is Bounded-Input Bounded-Output (BIBO) stable if every bounded input produces a bounded output.

For LTI systems, BIBO stability is equivalent to:

  • All poles of G(s) have strictly negative real parts (continuous-time)
  • All poles of G(z) lie strictly inside the unit circle (discrete-time)
  • The impulse response is absolutely integrable: integral_0^inf |g(t)| dt < inf

Marginal stability: poles on the imaginary axis (or unit circle) with multiplicity 1. Bounded but non-decaying oscillations. Not BIBO stable.

Internal (Lyapunov) Stability

Considers the state behavior, not just input-output. More general than BIBO stability.

For x' = f(x) with equilibrium at x_e (where f(x_e) = 0):

Stable (in the sense of Lyapunov): for every epsilon > 0, there exists delta > 0 such that ||x(0) - x_e|| < delta implies ||x(t) - x_e|| < epsilon for all t >= 0.

Asymptotically stable: stable AND x(t) -> x_e as t -> infinity.

Exponentially stable: ||x(t) - x_e|| <= K * e^(-alpha*t) * ||x(0) - x_e|| for some K > 0, alpha > 0.

For linear systems: asymptotic stability = exponential stability = all eigenvalues of A have negative real parts.

Lyapunov's Direct Method

Determine stability without solving the differential equation.

Lyapunov function V(x): a scalar function serving as a generalized energy measure.

Lyapunov Stability Theorem

If there exists V(x) such that:

  1. V(0) = 0
  2. V(x) > 0 for x != 0 (positive definite)
  3. V'(x) = dV/dt <= 0 along trajectories (negative semi-definite)

Then the equilibrium is stable.

If additionally V'(x) < 0 for x != 0 (negative definite), then asymptotically stable.

For Linear Systems: Lyapunov Equation

Choose V(x) = x^T * P * x (quadratic Lyapunov function). Then:

V'(x) = x^T * (A^T*P + P*A) * x = -x^T * Q * x

Lyapunov equation:

A^T*P + P*A = -Q

Given any Q > 0 (positive definite), solve for P. If P > 0, the system is asymptotically stable.

Equivalently: A is stable iff for every Q > 0, the unique solution P is also positive definite.

LaSalle's Invariance Principle

When V'(x) <= 0 (only negative semi-definite), asymptotic stability can still be proven. Let S = {x : V'(x) = 0}. If the only invariant set in S is the origin, then the system is asymptotically stable.

Routh-Hurwitz Criterion

An algebraic test for the number of RHP roots of a polynomial without computing the roots.

For characteristic polynomial:

p(s) = a_n*s^n + a_{n-1}*s^{n-1} + ... + a_1*s + a_0

Routh Array Construction

s^n:    a_n      a_{n-2}    a_{n-4}  ...
s^{n-1}: a_{n-1}  a_{n-3}    a_{n-5}  ...
s^{n-2}: b_1      b_2        b_3      ...
s^{n-3}: c_1      c_2        ...
...
s^0:    last element

Where:

b_1 = (a_{n-1}*a_{n-2} - a_n*a_{n-3}) / a_{n-1}
b_2 = (a_{n-1}*a_{n-4} - a_n*a_{n-5}) / a_{n-1}

Criterion: the number of RHP roots equals the number of sign changes in the first column.

Necessary condition: all coefficients must be positive (for stability).

Special cases:

  • First column zero: replace with epsilon, continue, take limit
  • Entire row of zeros: auxiliary polynomial from the row above, differentiate, replace row

Root Locus Method

Traces the closed-loop pole locations as a parameter (usually gain K) varies from 0 to infinity.

For open-loop L(s) = K*G(s)H(s), closed-loop poles satisfy:

1 + K*G(s)H(s) = 0

Root Locus Construction Rules

  1. Starting points (K=0): open-loop poles
  2. Ending points (K->inf): open-loop zeros (finite) or infinity
  3. Number of branches: n (number of open-loop poles)
  4. Real axis: root locus exists on real axis segments to the left of an odd number of real poles+zeros
  5. Asymptotes (branches going to infinity):
    • Angles: (2k+1)*180 / (n-m) for k = 0, 1, ..., n-m-1
    • Centroid: (sum(poles) - sum(zeros)) / (n - m)
  6. Breakaway/break-in points: solve dK/ds = 0
  7. Imaginary axis crossings: use Routh criterion with K as parameter
  8. Departure angle from complex pole p_i: theta_d = 180 - sum(angles from other poles) + sum(angles from zeros)
  9. Arrival angle at complex zero: theta_a = 180 + sum(angles from poles) - sum(angles from other zeros)

Nyquist Stability Criterion

(Detailed in frequency-domain analysis; summarized here for completeness.)

Z = N + P

Stability requires Z = 0, so the Nyquist plot of L(j*omega) must encircle -1 exactly P times counter-clockwise (P = number of open-loop RHP poles).

Advantage over Routh-Hurwitz: provides gain/phase margin information and handles time delays naturally.

Nonlinear Stability Analysis

Describing Function Method

Approximates a nonlinear element by its equivalent gain for sinusoidal inputs.

For nonlinearity N with input A*sin(omega*t), the describing function:

N(A) = (Y_1 / A) * e^(j*phi_1)

where Y_1 and phi_1 are the amplitude and phase of the fundamental harmonic of the output.

Limit cycle prediction: solve 1 + N(A)*G(j*omega) = 0, i.e., find intersections of -1/N(A) with the Nyquist plot of G(j*omega).

Common nonlinearities and their describing functions:

| Nonlinearity | N(A) | |-------------|------| | Saturation (slope k, limit M) | (2k/pi)*[arcsin(M/A) + (M/A)*sqrt(1-(M/A)^2)] for A > M | | Relay (amplitude d) | 4d/(pi*A) | | Dead zone (width 2delta) | (k/pi)*[pi - 2*arcsin(delta/A) - sin(2*arcsin(delta/A))] for A > delta |

Circle Criterion

For a system with linear part G(s) and sector-bounded nonlinearity alpha*x <= f(x) <= beta*x:

The system is absolutely stable if the Nyquist plot of G(j*omega) does not intersect the disk with diameter from -1/alpha to -1/beta on the real axis.

Popov Criterion

A refinement for time-invariant nonlinearities. Transform the Nyquist plot using G*(j*omega) = Re(G) + j*omega*Im(G) (Popov plot). Stability is guaranteed if a line through -1/K with non-negative slope lies entirely below the Popov plot.

Stability of Interconnected Systems

Small gain theorem: the feedback interconnection of two stable systems G1 and G2 is stable if:

||G1|| * ||G2|| < 1

This is conservative but broadly applicable, forming the basis for robust stability analysis.

Passivity theorem: the feedback interconnection of two passive systems is stable. A system is passive if it cannot generate energy:

integral_0^T u(t)^T * y(t) dt >= -beta  (for some finite beta)