State-Space Representation
A state-space model is, in its barest form, a pair of coupled vector equations describing how an internal state vector \(x\) evolves under an input \(u\), and how that state produces an output \(y\):
\begin{aligned} \dot{x}(t) &= A\, x(t) + B\, u(t) \\ y(t) &= C\, x(t) + D\, u(t) \end{aligned}
with \(x \in \mathbb{R}^n\), \(u \in \mathbb{R}^m\), \(y \in \mathbb{R}^p\), and \(A,B,C,D\) real matrices of conformable shape. The entire edifice of "modern control" - LQR, Kalman filtering, \(H_\infty\), model-predictive control - is erected on these four letters. That a single matrix quadruple can subsume, and in many ways exceed, the classical transfer function is the point of the whole formalism, and the reason for its dominance since roughly 1960.[fn::The dating is not sharp. Kalman's 1960 papers on controllability and filtering are usually cited as the founding act, but the linear-algebraic viewpoint was in the air - Bellman's dynamic programming, Pontryagin's maximum principle, the Wiener/Kolmogorov tradition. What Kalman contributed was less the equations than the structural insight that (i) the state is the minimal sufficient statistic of the past for the future, and (ii) controllability and observability are generic (rank) properties, not generic numeric ones.]
Derivation from an nth-order ODE
To see why the state vector is *n*-dimensional at all, start from a single-input single-output (SISO) linear constant-coefficient ODE of order n:
\[ y^{(n)} + a_{n-1} y^{(n-1)} + \dots + a_1 \dot{y} + a_0 y = b_m u^{(m)} + \dots + b_0 u, \]
with \(m \le n\). The transfer-function tradition (see Transfer Functions & Block Diagrams) would take the Laplace transform, form \(G(s) = Y(s)/U(s)\), and proceed. State-space instead /reduces the order* by introducing a vector of internal variables whose first n components are, canonically, the output and its derivatives up to \(n-1\): define \(x_1 = y,\ x_2 = \dot{y},\ \dots,\ x_n = y^{(n-1)}\). Then the ODE collapses to the chain \(\dot{x}_1 = x_2,\ \dot{x}_2 = x_3,\ \dots\), with the last equation closing the loop via the original ODE:
\[ \dot{x}_n = -a_0 x_1 - a_1 x_2 - \dots - a_{n-1} x_n
- (\text{terms in } u, \dot{u}, \dots).
\]
This is the controllable canonical form (more below). The key observation is that n is forced on us: an nth-order ODE has n pieces of memory, and no fewer.[fn::This is the system-theoretic reading of "memory." The state is, by definition, the minimal information about the past that suffices to predict the future given the input. Fewer than n variables cannot encode the n integration constants the ODE requires.]
Why it exists: where transfer functions break
The transfer function \(G(s)\) is, for LTI SISO systems, a perfectly adequate object, and it carries graphical intuition - Bode asymptotes, Nyquist encirclements, gain/phase margins - that state-space conspicuously lacks (see Frequency Response: Bode & Nyquist and Stability: Routh-Hurwitz). One asks, then, why a second framework is needed at all. The honest answer is that transfer functions fail - silently and misleadingly - in three regimes:
1. MIMO. A system with m inputs and p outputs has, in general, \(mp\) scalar transfer functions \(G_{ij}(s)\), and pole-zero cancellations between channels hide the internal dynamics that determine whether the system is actually controllable or observable.[fn::A MIMO transfer matrix can be right-coprime-factored to recover these properties, but the point stands: the channel-by-channel view discards structure that the state-space view preserves by construction.] State-space treats \(u\) and \(y\) as vectors from the outset, and the matrices \(B,C\) make the input/output geometry explicit. 2. Nonlinear. A nonlinear system \(\dot{x} = f(x,u)\), \(y = h(x,u)\) has no transfer function at all. State-space notation extends to it for free; one linearizes around an operating point to recover \(A,B,C,D\) locally. 3. Time-varying. If \(A = A(t)\), the Laplace transform - which assumes time-invariance - is simply inapplicable, while \(\dot{x} = A(t)\,x + B(t)\,u\) remains well-posed.
There is also a fourth, subtler, reason: even for LTI SISO systems, transfer functions describe only input-output behavior, and thereby conceal internal modes that cancel. State-space makes that internal structure visible - which is exactly what you want when asking whether a system is stabilizable, detectable, or minimally realized.
The bridge to transfer functions
Given \((A,B,C,D)\), the transfer function (for LTI, zero initial conditions) is recovered by Laplace transforming:
\[ G(s) = C\,(sI - A)^{-1}\,B + D. \]
The inverse \((sI-A)^{-1}\) is the resolvent of A; its poles are exactly the eigenvalues of A (the system poles), so stability in state-space is just "all eigenvalues of A have negative real part." This is the cleanest meeting point of the two frameworks: the frequency domain sees poles as roots of \(\det(sI-A)=0\), the time domain sees them as modes \(e^{\lambda_i t} v_i\).
A pole-zero cancellation in \(G(s)\) corresponds precisely to a mode that is either uncontrollable (the input cannot excite it) or unobservable (the output cannot see it) - or both. The transfer function cannot tell you which; the state-space matrices can.
Similarity transforms
State-space realizations are emphatically not unique. Given any invertible \(T \in \mathbb{R}^{n \times n}\), the change of variables \(\tilde{x} = T x\) produces a new, equivalent realization:
\begin{aligned} \tilde{A} &= T A T^{-1}, \\ \tilde{B} &= T B, \\ \tilde{C} &= C T^{-1}, \\ \tilde{D} &= D. \end{aligned}
The transfer function is invariant (check: \(\tilde{C}(sI-\tilde{A})^{-1}\tilde{B} = C(sI-A)^{-1}B\)), as are the eigenvalues of A, the controllability rank, and the observability rank. What changes is the coordinates - the choice of basis for the internal state. This is the source of both the power and the pathology of the framework: power, because one can rotate to any convenient basis; pathology, because two engineers may write down different \((A,B,C,D)\) for the "same" system and a naive comparison will declare them unequal.
Canonical forms
Because realizations are non-unique, one standardizes on a few canonical coordinates:
- Controllable canonical form (CCF). A companion-form matrix with the
\(a_i\) coefficients in the last row, B a selector vector. Any SISO controllable realization is similar to it. This is the form derived above from the ODE, and it is the natural target for pole-placement-by-state-feedback designs.
- Observable canonical form (OCF). The transpose/dually-structured
companion form, in which C is the selector and the dynamics matrix carries the coefficients in a column. CCF and OCF are duals under the substitution \((A,B,C) \leftrightarrow (A^\top, C^\top, B^\top)\) - controllability and observability are themselves dual.
- Jordan form. For systems with repeated eigenvalues, the Jordan block
structure exposes the geometric (generalized-eigenvector) multiplicity. Strictly a coordinate form of A alone; it makes modal analysis transparent but typically destroys whatever sparsity \(B,C\) had.
The canonical forms are pedagogically central and practically rare: real numerical software avoids them, because companion matrices are notoriously ill-conditioned.[fn::The eigenvalues of a companion matrix are famously sensitive to perturbation in the coefficients - Wilkinson's classical example. So one derives controller gains via canonical forms and then implements them in whatever balanced realization the numerics favor.]
Controllability
A system is controllable iff, for any initial state \(x(0)\) and any desired final state \(x(T)\), there exists an input \(u(\cdot)\) achieving the transfer in finite time T. The Kalman rank test collapses this to linear algebra:
\[ \text{controllable} \iff \operatorname{rank}\begin{bmatrix} B & AB & A^2 B & \dots & A^{n-1} B \end{bmatrix} = n. \]
The controllability matrix is \(n \times (nm)\); full row rank means the input, propagated through \(n-1\) powers of A, can reach every direction in state space. The Cayley–Hamilton theorem is why the chain stops at \(A^{n-1}\) and not beyond.
Controllability is a generic property - the set of non-controllable \((A,B)\) has measure zero - which is comforting but misleading: real engineered systems are full of symmetry and structural zeros that drop rank structurally, and genericity is about Lebesgue measure, not about the systems one actually builds.
Observability
Observability is the dual question: can the output history \(y(\cdot)\) over \([0,T]\) uniquely determine \(x(0)\)? The dual rank test:
\[ \text{observable} \iff \operatorname{rank}\begin{bmatrix} C \\ CA \\ \vdots \\ CA^{n-1} \end{bmatrix} = n. \]
Equivalently (by duality), the pair \((A^\top, C^\top)\) is controllable. A system that is controllable but not observable (or vice versa) has hidden modes - they evolve, they affect the internal state, but neither the input nor the output interacts with them. Such modes can be unstable and the transfer function will not show it; this is the canonical trap of relying on \(G(s)\) alone.
Worked example: mass-spring-damper
Consider the textbook 2nd-order system
\[ m \ddot{z} + c \dot{z} + k\, z = F(t), \qquad y = z, \]
with \(m,c,k > 0\). Choose the state \(x = \begin{bmatrix} z & \dot{z} \end{bmatrix}^\top\), input \(u = F\), output \(y = z\). Then
\[ A = \begin{bmatrix} 0 & 1 \\ -k/m & -c/m \end{bmatrix},\qquad B = \begin{bmatrix} 0 \\ 1/m \end{bmatrix},\qquad C = \begin{bmatrix} 1 & 0 \end{bmatrix},\qquad D = 0. \]
Controllability: the controllability matrix is
\[ \mathcal{C} = \begin{bmatrix} B & AB \end{bmatrix} = \begin{bmatrix} 0 & 1/m \\ 1/m & -c/m^2 \end{bmatrix}, \]
with determinant \(-1/m^2 \neq 0\); rank 2; the system is controllable for any physical \(m > 0\).
Observability: the observability matrix is
\[ \mathcal{O} = \begin{bmatrix} C \\ CA \end{bmatrix} = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}, \]
which is the identity - trivially full rank. The position measurement alone suffices to reconstruct both state components (the second row recovers velocity via the dynamics). Had we instead measured only velocity (\(C = [0\; 1]\)), \(\mathcal{O}\) would still be full rank - try it - but the physical interpretation differs: position is recoverable from a velocity history by integration, which is well-posed only over finite horizons.[fn::Strictly, observability here holds because \(A\) has no eigenvalue at the origin and the structural coupling is generic. A pure integrator chain measured only at the output is observable in the linear-algebra sense, but the reconstruction is numerically ill-conditioned; the rank test answers a yes/no question and silently ignores the conditioning.]
Transfer function check: \(G(s) = C(sI-A)^{-1}B = 1/(ms^2 + cs + k)\), as expected, with poles at the roots of the characteristic polynomial - exactly the eigenvalues of A.
When it breaks
The state-space framework is not without failure modes, and the honest treatment lists them:
- Non-minimal realizations. Because realizations are non-unique up to
similarity, one can pad the state with extra, uncontrollable and/or unobservable copies of anything and obtain a higher-dimensional \((A,B,C,D)\) with the same transfer function. A realization is minimal iff it is both controllable and observable, in which case its dimension is the McMillan degree of \(G(s)\), unique up to similarity. The framework gives no warning when you have written down a non-minimal realization; you have to test.
- The curse of dimensionality. State-space is friendly to n of order
\(10^1\)–\(10^3\); for PDE-discretized systems (flexible structures, fluid flow, power grids) n runs to \(10^5\) and beyond, at which point dense linear algebra on A is hopeless and one resorts to model reduction or sparse/structure-exploiting methods. The rank tests themselves become numerically meaningless for large n - rank is discrete and floating-point makes nearby matrices look full-rank.
- The gap between mathematical and practical controllability. The Kalman
test is binary: full rank or not. It does not say how much input is required. A controllable system may demand an input of \(10^6\) N to move a gram - formally controllable, physically absurd. The fix is quantitative measures (controllability Gramian, Hankel singular values, minimum-energy control), all of which post-date and refine the bare rank test, and none of which replace engineering judgment.
- Nonlinearity and the linearization trap. The matrices \((A,B,C,D)\)
describe a system only locally, around the operating point about which one linearized. A controller certified on the linearization may fail far from it; this is the domain of Lyapunov-based nonlinear and gain-scheduling methods, which inherit the state-space notation but not its linear comfort.
Meta-observation: Kalman's revolution and its cost
State-space is Kalman's revolution. What it did, in retrospect, was reframe control from a frequency-domain craft - Bode plots drawn by hand, Nyquist encirclements reasoned about geometrically, PID loops tuned by Ziegler-Nichols heuristics (see PID Control: Theory & Tuning) - into linear algebra and optimization. The payoff was enormous: LQR gives optimal state-feedback gains by solving a Riccati equation; the Kalman filter gives optimal state estimation by the dual Riccati equation; LQG combines them; robust control (\(H_\infty\), \(\mu\)-synthesis) generalizes the machinery to worst-case disturbance rejection. None of these have clean frequency-domain analogues, and none of them would have been thinkable inside the transfer-function worldview.
The cost was real and is worth naming: state-space loses the graphical intuition that Bode and Nyquist gave. A Bode plot is legible to an engineer in seconds - gain margin, phase margin, bandwidth leap off the page. An \(A\) matrix is legible to almost no one on inspection; its meaning is recovered only through computation. The two frameworks survive side by side precisely because they answer different questions: frequency-domain methods excel at SISO design, robustness margins, and human-in-the-loop tuning; state-space excels at MIMO, optimal, and estimator-based design. A control engineer fluent in both is strictly more capable than one fluent in either alone, and the boundaries between them - loop transfer recovery, \(H_\infty\)/loop-shaping hybrids - are themselves a research area.
The deeper lesson, perhaps, is that representation determines what is thinkable. Inside transfer functions, "optimal" control was not a well-posed question; inside state-space, it was. The framework did not solve a pre-existing problem so much as create a new class of problems that could then be solved - a recurring pattern of mathematical formalism in engineering, of which control theory is one of its cleanest instances.
Related
- Optimal Control - LQR operates on the state-space model
- Nonlinear Control - when the linearization stops holding
- Control Theory: Signals & Laplace
- Transfer Functions & Block Diagrams
- Stability: Routh-Hurwitz
- Frequency Response: Bode & Nyquist
- PID Control: Theory & Tuning