Formula sheet

Control Systems Formula Sheet

Control systems formulas for closed-loop transfer, sensitivity, second-order response, steady-state error, PID, margins, state-space, and discrete-time implementation.

This formula sheet collects the equations most often used in introductory and intermediate control systems work. It focuses on linear time-invariant models, classical feedback loops, second-order response, PID control, frequency-domain margins, state-space models, and discrete-time implementation.

The formulas are not a substitute for modelling assumptions. Before applying any equation, check whether the system is continuous or discrete, linear or nonlinear, single-input or multivariable, stable or unstable, saturated or unsaturated, and whether the operating point justifies the model.

Common notation

SymbolMeaning
r(t)reference input or setpoint
y(t)measured output
e(t)tracking error
u(t)control input or actuator command
d(t)disturbance input
n(t)measurement noise
G(s)plant transfer function
C(s)controller transfer function
L(s)loop transfer function
S(s)sensitivity function
T(s)complementary sensitivity function
\omegaangular frequency in rad/s
\omega_nundamped natural frequency
\zetadamping ratio
K_p, K_i, K_dproportional, integral, derivative gains

The basic error equation is:

e(t) = r(t) - y(t)

For a Laplace-domain model with zero initial conditions:

\displaystyle G(s) = \frac{Y(s)}{U(s)}

Standard unity-feedback loop

For a plant G(s) and controller C(s) in unity negative feedback:

L(s) = C(s)G(s)

The closed-loop transfer function from reference to output is:

\displaystyle \frac{Y(s)}{R(s)} = T(s) = \frac{L(s)}{1 + L(s)}

The sensitivity function is:

\displaystyle S(s) = \frac{1}{1 + L(s)}

The complementary sensitivity function is:

\displaystyle T(s) = \frac{L(s)}{1 + L(s)}

They satisfy:

S(s) + T(s) = 1

The characteristic equation of the closed-loop system is:

1 + C(s)G(s) = 0

For a non-unity feedback path H(s):

\displaystyle \frac{Y(s)}{R(s)} = \frac{C(s)G(s)}{1 + C(s)G(s)H(s)}

and the characteristic equation is:

1 + C(s)G(s)H(s) = 0

Disturbance and noise paths

For a unity-feedback loop where an additive output disturbance D(s) enters after the plant:

Y(s) = T(s)R(s) + S(s)D(s)

For measurement noise N(s) added to the measured output in a standard unity-feedback loop, a common simplified relation is:

Y(s) = T(s)R(s) - T(s)N(s)

These relations explain a central design tradeoff. Low sensitivity S improves disturbance rejection at frequencies where the disturbance enters the output path. Low complementary sensitivity T reduces transmission of measurement noise to the output. Since S + T = 1, both cannot be made small at the same frequency in the same simple loop.

First-order systems

A stable first-order transfer function is commonly written as:

\displaystyle G(s) = \frac{K}{\tau s + 1}

where K is DC gain and \tau is the time constant.

For a unit step input, the output is:

y(t) = K\left(1 - e^{-t/\tau}\right)

Important approximations:

TimeApproximate response to a unit step
t = \tau63.2\% of final value
t = 2\tau86.5\% of final value
t = 3\tau95.0\% of final value
t = 4\tau98.2\% of final value
t = 5\tau99.3\% of final value

The pole is:

\displaystyle s = -\frac{1}{\tau}

Standard second-order systems

A standard second-order closed-loop transfer function is:

\displaystyle G_{cl}(s) = \frac{\omega_n^2}{s^2 + 2\zeta\omega_n s + \omega_n^2}

The characteristic equation is:

s^2 + 2\zeta\omega_n s + \omega_n^2 = 0

The poles are:

s_{1,2} = -\zeta\omega_n \pm j\omega_n\sqrt{1-\zeta^2}

for 0 < \zeta < 1.

The damped natural frequency is:

\omega_d = \omega_n\sqrt{1-\zeta^2}

For an underdamped second-order system, the peak time is:

\displaystyle T_p = \frac{\pi}{\omega_d}

The percent overshoot for a unit step is:

M_p = 100e^{-\zeta\pi/\sqrt{1-\zeta^2}}\%

The 2 percent settling time approximation is:

\displaystyle T_s \approx \frac{4}{\zeta\omega_n}

The 5 percent settling time approximation is:

\displaystyle T_s \approx \frac{3}{\zeta\omega_n}

These settling-time formulas are approximations. They are most useful for dominant second-order behaviour and moderate damping.

Damping ratio interpretation

Damping ratioBehaviour
\zeta = 0undamped oscillation in the ideal second-order model
0 < \zeta < 1underdamped response with oscillatory decay
\zeta = 1critically damped response
\zeta > 1overdamped response

In many engineering systems, \zeta between about 0.4 and 0.8 is a common practical range, but the acceptable value depends on overshoot, speed, actuator limits, safety, and comfort.

Steady-state error constants

For a stable unity-feedback system with open-loop transfer function G_o(s) = C(s)G(s):

Position error constant:

K_p = \lim_{s \to 0} G_o(s)

Velocity error constant:

K_v = \lim_{s \to 0} sG_o(s)

Acceleration error constant:

K_a = \lim_{s \to 0} s^2G_o(s)

For standard test inputs:

InputReferenceSteady-state error
stepR(s)=1/se_{ss}=\frac{1}{1+K_p}
rampR(s)=1/s^2e_{ss}=\frac{1}{K_v}
parabolicR(s)=1/s^3e_{ss}=\frac{1}{K_a}

These formulas require closed-loop stability. They are usually taught for unity-feedback systems and standard polynomial test inputs.

System type

The type of a unity-feedback system is the number of pure integrators in the open-loop transfer function G_o(s).

System typeStep errorRamp errorParabolic error
Type 0finiteinfiniteinfinite
Type 1zerofiniteinfinite
Type 2zerozerofinite

Adding integral action can improve steady-state accuracy, but it also changes the closed-loop dynamics and can reduce stability margin.

PID control

The ideal continuous-time PID law is:

\displaystyle u(t) = K_p e(t) + K_i \int e(t)\,dt + K_d\frac{de(t)}{dt}

The ideal parallel-form transfer function is:

\displaystyle C(s) = K_p + \frac{K_i}{s} + K_d s

A practical derivative term is usually filtered:

\displaystyle C_D(s) = K_d \frac{Ns}{s + N}

where N sets the derivative filter bandwidth. Very large N approaches ideal differentiation but increases sensitivity to noise.

A common alternative parameterisation is:

\displaystyle C(s) = K_c\left(1 + \frac{1}{T_i s} + T_d s\right)

where:

\displaystyle K_i = \frac{K_c}{T_i}

and:

K_d = K_cT_d

Characteristic equations and pole placement

For a closed-loop transfer function:

\displaystyle \frac{Y(s)}{R(s)} = \frac{N(s)}{D(s)}

the closed-loop poles are the roots of:

D(s) = 0

For continuous-time linear systems, asymptotic stability requires all closed-loop poles to have negative real parts:

\operatorname{Re}(s_i) < 0

For discrete-time linear systems, asymptotic stability requires all closed-loop poles to lie inside the unit circle:

|z_i| < 1

Dominant pole approximations are useful only when non-dominant poles are sufficiently faster or less influential than the dominant pair.

Routh-Hurwitz stability test

For a continuous-time characteristic polynomial:

a_ns^n + a_{n-1}s^{n-1} + \cdots + a_1s + a_0 = 0

the Routh-Hurwitz criterion determines how many roots lie in the right half-plane by counting sign changes in the first column of the Routh array. For low-order cases, useful conditions are:

For a second-order polynomial:

a_2s^2 + a_1s + a_0

stability requires:

a_2 > 0,\quad a_1 > 0,\quad a_0 > 0

For a third-order polynomial:

a_3s^3 + a_2s^2 + a_1s + a_0

stability requires:

a_3 > 0,\quad a_2 > 0,\quad a_1 > 0,\quad a_0 > 0

and:

a_2a_1 > a_3a_0

These conditions assume real coefficients and a standard continuous-time polynomial.

Root locus conditions

For a loop transfer function:

L(s) = KG(s)H(s)

closed-loop poles satisfy:

1 + KG(s)H(s) = 0

The root locus consists of points s satisfying the angle condition:

\angle G(s)H(s) = (2q + 1)180^\circ

where q is an integer, and the magnitude condition:

K|G(s)H(s)| = 1

Root locus is useful for seeing how closed-loop poles move as gain changes.

Frequency response

The frequency response of a transfer function is found by evaluating it on the imaginary axis:

G(j\omega)

Magnitude in decibels:

|G(j\omega)|_{dB} = 20\log_{10}|G(j\omega)|

Phase in degrees:

\angle G(j\omega)=\operatorname{atan2}\left(\operatorname{Im}(G(j\omega)),\operatorname{Re}(G(j\omega))\right)

Use the two-argument arctangent so the phase remains in the correct quadrant.

The gain crossover frequency \omega_{gc} satisfies:

|L(j\omega_{gc})| = 1

or:

20\log_{10}|L(j\omega_{gc})| = 0\ \text{dB}

The phase crossover frequency \omega_{pc} satisfies:

\angle L(j\omega_{pc}) = -180^\circ

Gain margin and phase margin

Phase margin is:

PM = 180^\circ + \angle L(j\omega_{gc})

Gain margin as a ratio is:

\displaystyle GM = \frac{1}{|L(j\omega_{pc})|}

Gain margin in decibels is:

GM_{dB} = -20\log_{10}|L(j\omega_{pc})|

Margins are most straightforward for classical single-loop systems. Multivariable systems, unstable open-loop plants, multiple crossover frequencies, nonminimum-phase zeros, and significant delays require more careful interpretation.

Time delay

A pure time delay T has transfer function:

G_d(s) = e^{-sT}

Its magnitude is:

|G_d(j\omega)| = 1

Its phase is:

\angle G_d(j\omega) = -\omega T\ \text{radians}

or:

\displaystyle \angle G_d(j\omega) = -\omega T\frac{180^\circ}{\pi}

The approximate maximum additional delay before losing a phase margin PM at crossover is:

\displaystyle T_{max} \approx \frac{PM_{rad}}{\omega_{gc}}

where PM_{rad} is phase margin in radians. This is an approximation based on the existing gain crossover frequency.

State-space formulas

The continuous-time state-space model is:

\dot{x}(t) = Ax(t) + Bu(t)
y(t) = Cx(t) + Du(t)

The transfer function is:

G(s) = C(sI - A)^{-1}B + D

The continuous-time state transition solution is:

x(t) = e^{At}x(0) + \int_0^t e^{A(t-\tau)}Bu(\tau)\,d\tau

For state feedback:

u(t) = -Kx(t) + r(t)

the closed-loop state matrix is:

A_{cl} = A - BK

The controllability matrix is:

\mathcal{C} = \begin{bmatrix} B & AB & A^2B & \cdots & A^{n-1}B \end{bmatrix}

The system is controllable if:

\operatorname{rank}(\mathcal{C}) = n

The observability matrix is:

\mathcal{O} = \begin{bmatrix} C \\ CA \\ CA^2 \\ \vdots \\ CA^{n-1} \end{bmatrix}

The system is observable if:

\operatorname{rank}(\mathcal{O}) = n

Discrete-time formulas

A linear discrete-time state-space model is:

x[k+1] = A_dx[k] + B_du[k]
y[k] = C_dx[k] + D_du[k]

The pulse transfer function is:

G(z) = C_d(zI - A_d)^{-1}B_d + D_d

Discrete-time stability requires:

|z_i| < 1

For a continuous pole s sampled with period T_s, the corresponding discrete pole is:

z = e^{sT_s}

For a discrete pole z, the equivalent continuous pole is:

\displaystyle s = \frac{\ln z}{T_s}

The bilinear, or Tustin, transform maps:

\displaystyle s \approx \frac{2}{T_s}\frac{z - 1}{z + 1}

or equivalently:

\displaystyle z \approx \frac{1 + \frac{sT_s}{2}}{1 - \frac{sT_s}{2}}

Tustin discretisation maps the stable left half-plane into the inside of the unit circle, but it warps frequencies unless prewarping is used.

Sampling guidance

The sampling frequency should be substantially higher than the desired closed-loop bandwidth. A common starting point is:

f_s \ge 10f_{bw}

and often:

f_s \ge 20f_{bw}

for better phase margin and implementation headroom. This is not a theorem. Fast plants, delays, noise, computation time, quantisation, and actuator dynamics can require a different value.

Mini example: second-order response

Suppose a closed-loop system has characteristic equation:

s^2 + 4s + 25 = 0

Compare it with:

s^2 + 2\zeta\omega_n s + \omega_n^2 = 0

Then:

\omega_n^2 = 25 \Rightarrow \omega_n = 5\ \text{rad/s}

and:

2\zeta\omega_n = 4 \Rightarrow \zeta = 0.4

The damped natural frequency is:

\omega_d = 5\sqrt{1 - 0.4^2} = 4.58\ \text{rad/s}

The peak time is:

\displaystyle T_p = \frac{\pi}{4.58} = 0.69\ \text{s}

The percent overshoot is:

M_p = 100e^{-0.4\pi/\sqrt{1-0.4^2}} = 25.4\%

The 2 percent settling-time approximation is:

\displaystyle T_s \approx \frac{4}{0.4 \cdot 5} = 2.0\ \text{s}

These numbers are meaningful only if the system is well approximated by a dominant second-order model.

REF

See also