Comparison

Controllable vs Observable System

A satellite attitude control system may have all its thrusters working perfectly (fully controllable) yet still fail to determine the spacecraft orientation if the sensors cannot see certain state variables (not fully observable). These two properties — controllability and observability — are independent of each other and are the foundation of modern state-space control design. Getting one without the other leaves the design incomplete.

EEE, ECE

Side-by-side comparison

ParameterControllableObservable System
DefinitionAbility to drive any state to any other state in finite time using control input uAbility to determine any initial state x(0) from output y over finite time
Kalman rank conditionrank[B AB A²B … A^(n-1)B] = n (controllability matrix)rank[C CA CA² … CA^(n-1)]^T = n (observability matrix)
Related toInput matrix B and system matrix AOutput matrix C and system matrix A
PBH test (eigenvector)No eigenvector of A is orthogonal to BNo eigenvector of A is in the null space of C
Uncontrollable mode implicationThat mode cannot be moved by any control input
Unobservable mode implicationThat mode cannot be detected in output — hidden dynamics
Pole-zero cancellationCancellation creates uncontrollable modeCancellation creates unobservable mode
Real exampleState feedback u = −Kx requires full controllabilityLuenberger observer requires full observability
Design tool neededState feedback / pole placement (e.g., Ackermann's formula)Observer / Kalman filter design

Key differences

A system is controllable if the controllability matrix Wc = [B | AB | A²B | … | A^(n−1)B] has rank n — you can check this in MATLAB with rank(ctrb(A,B)). A system is observable if the observability matrix Wo = [C; CA; CA²; …; CA^(n−1)] has rank n — checked with rank(obsv(A,C)). A pole-zero cancellation in the transfer function is the classic sign that a mode is either uncontrollable or unobservable (or both); the cancelled pole still affects internal states but disappears from the input-output description. Duality connects the two: a system (A,B,C) is observable if and only if (A^T, C^T, B^T) is controllable.

When to use Controllable

Invoke controllability when designing state feedback — applying Ackermann's formula for pole placement to a DC motor speed controller with state vector [speed, current] requires checking that the system is fully controllable before computing the gain vector K.

When to use Observable System

Invoke observability when building a Luenberger observer or Kalman filter — estimating the rotor flux of an induction motor from terminal voltage and current measurements requires full observability of the motor state-space model.

Recommendation

For exams, always compute the rank of both Wc and Wo before declaring a system controllable or observable. Choose Ackermann's formula for small (n ≤ 3) pole-placement problems; for larger systems note that MATLAB's place() function is the practical tool.

Exam tip: GATE asks you to form the controllability matrix for a given (A, B) and compute its rank — practise 2×2 and 3×3 matrix rank calculations by row reduction, as a calculator is not allowed.

Interview tip: Interviewers at aerospace and robotics firms ask you to explain why a pole-zero cancellation is dangerous even though the transfer function looks simplified — the expected answer is that the cancelled mode is still present internally, possibly unstable, and invisible to the controller.

More Control Systems comparisons