Control systems

controllability & observability

Controllability and observability are two yes/no questions you ask of a state-space system before you try to control it, and they're duals of each other. Controllability asks: using only the inputs you have, can you actually steer every internal state to any value you want? Observability asks the mirror question: by watching only the outputs you measure, can you actually figure out every internal state? If a state is uncontrollable, no command can move it; if it's unobservable, no measurement can reveal it. Either way, that hidden part of the system is beyond your reach.

These aren't abstract niceties — they gate what's possible. You can only place poles with state feedback if the system is controllable; you can only build a state estimator (an observer, like a Kalman filter) if it's observable. Concretely, imagine a two-tank water system where one input valve feeds both tanks equally: you can raise their total level but can never make one higher than the other — that difference is an uncontrollable state. The test is mechanical: form the controllability matrix [B, AB, A²B, …] and check that it has full rank; do the dual for observability with [C; CA; CA²; …]. Engineers run these checks first, because a beautiful controller design is worthless if it's aimed at a state the hardware can't actually touch or see.

controllable ⇔ rank[B AB A²B … Aⁿ⁻¹B] = n

The duality is exact: observability of (A, C) is the same problem as controllability of (Aᵀ, Cᵀ). This is why designing an observer and designing a state-feedback controller use the very same math, just transposed — a deep symmetry at the heart of modern control.

Also called
reachability and detectability可控制性與可觀察性