Controllability, observability and pole placement

Kalman controllability and observability tests, duality, hidden modes and pole–zero cancellation, pole placement by state feedback (direct matching and Ackermann), and Luenberger observers.

Drafted with Aria, reviewed by the AiCanCode.org team. Spotted an error? Use Give Feedback at the bottom of the page.

Why it matters

Before designing a state-feedback controller for a balancing robot or an active suspension you must know two things: can the actuators actually influence every mode of the system (controllability), and can the sensors see every mode (observability)? If both hold, pole placement lets you put every closed-loop pole exactly where you want it — something a single-gain root-locus design cannot do — and an observer can supply the states you do not measure.

Key ideas

Controllability. The LTI system ẋ = Ax + Bu is (completely state) controllable if some input can drive the state from any initial value to any final value in finite time. It is a property of the pair (A, B).

  • Kalman test: the n × nm controllability matrix Qc = [B AB A²B … Aⁿ⁻¹B] must have rank n. For a single input, Qc is square and the test is det Qc ≠ 0.
  • Physical meaning of failure: some mode is not connected to any actuator. Its eigenvalue cannot be changed by feedback. If that mode is stable the system is still stabilisable; if it is unstable, no controller can fix it.

Observability. The system is (completely) observable if the initial state x(0) can be found from the output y(t) and input u(t) over a finite interval. It is a property of the pair (A, C).

  • Kalman test: Qo = [C; CA; CA²; …; CAⁿ⁻¹] (stacked rows) must have rank n.
  • Failure means some mode never shows up in any measured output. If it is stable the system is detectable.

Duality. (A, B) is controllable if and only if (Aᵀ, Bᵀ) is observable. Every controller-design result has an observer-design twin.

Link to transfer functions. G(s) = C(sI − A)⁻¹B + D shows only the part of the system that is both controllable and observable. A pole–zero cancellation in G(s) signals an uncontrollable or unobservable mode. A realisation with no cancellations (both controllable and observable) is called minimal; its order equals the degree of the reduced denominator. Diagonal (modal) form gives an instant check: with distinct eigenvalues, a mode is uncontrollable if its row of B is zero and unobservable if its column of C is zero.

Pole placement by state feedback. Use u = −Kx + r, with K a 1 × n gain row for one input. The closed loop is ẋ = (A − BK)x + Br, with characteristic polynomial det(sI − A + BK). If and only if (A, B) is controllable, every eigenvalue of A − BK can be placed anywhere (complex ones in conjugate pairs).

  • Direct method (n ≤ 3): equate det(sI − A + BK) with the desired polynomial (s − μ₁)(s − μ₂)… and match coefficients.
  • Phase-variable form shortcut: if A has the companion structure with last row −a_n … −a₁, then kᵢ = (desired coefficient) − (open-loop coefficient) for each power of s.
  • Ackermann's formula: K = [0 … 0 1]·Qc⁻¹·φ(A), where φ(s) is the desired characteristic polynomial.
  • Choose desired poles from specifications (ζ, ωn, settling time). Very fast poles need large gains and actuator effort, and amplify noise.
  • State feedback does not move the zeros, and it does not by itself give zero steady-state error; add a reference pre-gain or an integrator state.

Observers. When states are not measured, a Luenberger observer x̂̇ = Ax̂ + Bu + L(y − Cx̂) estimates them; its error dynamics are set by the eigenvalues of A − LC, placeable if and only if (A, C) is observable. By the separation principle, the controller poles (A − BK) and observer poles (A − LC) can be chosen independently; observer poles are usually 2–5 times faster.

Formulas

Qc = [B AB … Aⁿ⁻¹B], controllable ⇔ rank Qc = n Qo = [C; CA; …; CAⁿ⁻¹], observable ⇔ rank Qo = n

  • n: number of states; A: n × n; B: n × m; C: p × n.

u = −K·x + r; ẋ = (A − B·K)·x + B·r det(sI − A + B·K) = desired characteristic polynomial

K = [0 … 0 1]·Qc⁻¹·φ(A) — Ackermann (single input).

x̂̇ = A·x̂ + B·u + L·(y − C·x̂); error dynamics ė = (A − L·C)·e

Worked examples

Example 1 (standard — tests and a hidden mode). For A = [[0, 1], [−2, −3]], B = [0; 1] and C = [1 1], check controllability and observability, and find G(s).

  1. AB = [1; −3], so Qc = [[0, 1], [1, −3]]; det Qc = 0 × (−3) − 1 × 1 = −1 ≠ 0 → controllable.
  2. CA = [1 1]·A = [1 × 0 + 1 × (−2), 1 × 1 + 1 × (−3)] = [−2, −2].
  3. Qo = [[1, 1], [−2, −2]]; det Qo = 1 × (−2) − 1 × (−2) = 0 → rank 1 → not observable.
  4. G(s) = C(sI − A)⁻¹B = [1 1]·[1; s]/((s + 1)(s + 2)) = (s + 1)/((s + 1)(s + 2)) = 1/(s + 2).
  5. The cancelled pole at s = −1 is the unobservable mode. It is stable, so the system is detectable — but a transfer-function-only view would never show it.

Example 2 (GATE level — pole placement). For the same A and B, find K = [k₁ k₂] so that the closed-loop poles are at s = −2 ± j2. Comment on the resulting ζ and ωn.

  1. Desired polynomial: (s + 2 − j2)(s + 2 + j2) = s² + 4s + 8.
  2. A − BK = [[0, 1], [−2 − k₁, −3 − k₂]].
  3. det(sI − A + BK) = s² + (3 + k₂)s + (2 + k₁).
  4. Match: 3 + k₂ = 4 → k₂ = 1; 2 + k₁ = 8 → k₁ = 6. So K = [6 1].
  5. ωn = √8 = 2.83 rad/s; ζ = 4/(2 × 2.83) = 0.707; settling time (2 %) ≈ 4/2 = 2 s, compared with 4 s for the open-loop slow pole at −1.
  6. Ackermann check: φ(A) = A² + 4A + 8I = [[6, 1], [−2, 3]]; Qc⁻¹ = [[3, 1], [1, 0]]; [0 1]·Qc⁻¹ = [1, 0]; K = [1, 0]·φ(A) = [6 1]. ✔

Common mistakes

  • Stacking Qc as rows or Qo as columns: Qc puts B, AB, … side by side; Qo stacks C, CA, … vertically.
  • Computing CA as A·C (wrong order and wrong size).
  • Saying "A is controllable" — controllability belongs to (A, B), observability to (A, C).
  • Concluding a system is fine because its transfer function looks well behaved: a cancelled unstable mode is still there.
  • Using A + BK instead of A − BK for u = −Kx.
  • Expecting state feedback to give zero steady-state error automatically.

For GATE ME

Expect: rank or determinant of Qc or Qo for a 2 × 2 or 3 × 3 system; deciding controllability or observability from a diagonal form; recognising a pole–zero cancellation as a lost mode; computing K for given closed-loop poles in phase-variable form; and conceptual questions on duality and the separation principle. Practise matrix products quickly and keep track of row and column order.

Quick check

  1. For A = [[0, 1], [−2, −3]] and B = [0; 1], what is the rank of Qc?
  2. For A = [[1, 2], [3, 4]] and C = [1 0], is the system observable?
  3. Which property must hold for arbitrary pole placement by state feedback?
  4. What does a pole–zero cancellation in G(s) indicate?
  5. For A = [[0, 1], [−5, −6]], what are the eigenvalues?

Answers: 1. 2. 2. Yes — Qo = [[1, 0], [1, 2]], determinant 2. 3. Controllability of (A, B). 4. A mode that is uncontrollable, unobservable or both. 5. −1 and −5.

Try answering each one aloud before you open it.

  1. 1.What is controllability in control systems?Concept

    Controllability refers to the ability of a control system to move the state of a system from any initial state to any desired final state within a finite time span, using appropriate control inputs. It is a fundamental property that determines whether a system can be controlled to follow a desired trajectory.

  2. 2.What is observability in control systems?Concept

    Observability is the ability to infer the internal state of a system based solely on its output measurements. A system is considered observable if, for any possible sequence of state and control vectors, the current state can be determined in finite time using only the outputs.

  3. 3.Explain the concept of pole placement in control systems.Concept

    Pole placement is a control system design technique where the poles of a closed-loop system are placed in specific locations in the s-plane to achieve desired performance characteristics such as stability, speed of response, and damping. By adjusting the feedback gains, engineers can control the system dynamics to meet specific design criteria.

  4. 4.Why is controllability important in the design of control systems?Application

    Controllability is crucial because it determines whether a system can be driven to a desired state using control inputs. Without controllability, it is impossible to ensure that the system will behave as intended, which can lead to instability or failure to meet performance specifications.

  5. 5.How does observability affect the performance of a control system?Application

    Observability affects the ability to accurately estimate the internal states of a system based on its outputs. If a system is not observable, it becomes challenging to implement state feedback control, as the necessary state information cannot be accurately determined, potentially leading to poor performance or instability.

  6. 6.What happens if a system is controllable but not observable?Application

    If a system is controllable but not observable, it means that while the system can be driven to any desired state using control inputs, the internal states cannot be fully determined from the outputs. This can lead to difficulties in implementing effective feedback control, as the controller may not have accurate information about the system's state.

  7. 7.What are the implications of a system being neither controllable nor observable?Application

    A system that is neither controllable nor observable cannot be effectively controlled or monitored. This means that it is impossible to drive the system to a desired state or to accurately determine its internal states from the outputs, making it unsuitable for most practical control applications.

  8. 8.How can you determine if a system is controllable?Application

    To determine if a system is controllable, you can use the controllability matrix. For a linear time-invariant system represented by matrices A and B, the controllability matrix is constructed as [B, AB, A²B, ..., A^(n-1)B]. The system is controllable if this matrix has full rank, equal to the number of states.

  9. 9.Given a system with matrices A = [[0, 1], [-2, -3]] and B = [[0], [1]], determine if the system is controllable.Numerical

    First, construct the controllability matrix: C = [B, AB]. Here, AB = A * B = [[0, 1], [-2, -3]] * [[0], [1]] = [[1], [-3]]. Thus, C = [[0, 1], [1, -3]]. The rank of C is 2, which is equal to the number of states, so the system is controllable.

  10. 10.For a system with matrices A = [[1, 2], [3, 4]] and C = [[1, 0]], determine if the system is observable.Numerical

    Construct the observability matrix: O = [C, CA]. Here, CA = C * A = [[1, 0]] * [[1, 2], [3, 4]] = [[1, 2]]. Thus, O = [[1, 0], [1, 2]]. The rank of O is 2, which is equal to the number of states, so the system is observable.

Finished this topic? Mark it so your progress, study plan and readiness keep up.

Stuck on something here?