Pole Placement, State Feedback, and Observer Design
Chapter 25 asked whether every mode of a system can be driven and every mode can be seen; this chapter spends those two answers, using full state feedback to put all \(n\) closed-loop poles exactly where the specification demands and an observer to manufacture the states the sensors never measured.
- Why the control law \(u=-\mathbf{Kx}\) gives \(n\) independent knobs where the root locus of Chapter 12 gave only one.
- How to find \(\mathbf{K}\) by direct coefficient matching, by the controllable canonical form, and by Ackermann's formula.
- Why complete controllability is exactly the condition for arbitrary pole placement.
- How to choose the desired pole locations sensibly — and the price of choosing them too far left.
- Why state feedback leaves the zeros and the DC gain untouched, and what \(\bar{N}\) and integral action do about it.
- How a full-order observer reconstructs \(\mathbf{x}\) from \(y\), with error dynamics \(\mathbf{A}-\mathbf{LC}\) designed by duality.
- The separation principle, and why the finished controller is an \(n\)th-order dynamic compensator.
From One Knob to \(n\) Knobs
Every design method in Parts 3, 4 and 5 shared a quiet limitation. The root locus of Chapter 12 showed where the closed-loop poles can go as a single gain \(K\) varies, and Chapter 13 taught us to pick a point on that locus. The locus itself was fixed by the plant; if the point we wanted was not on it, we had to bend the locus by adding a compensator pole and zero (Chapter 21) and try again. Frequency-domain design in Chapters 17 and 22 worked the same way: one scalar gain, one phase-lead network, an iterative search.
The reason for that limitation is structural. Output feedback \(u = -k\,y\) uses a single measured signal, so it offers a single number to choose. But Chapter 23 taught us that the internal condition of an \(n\)th-order system is an \(n\)-vector \(\mathbf{x}\), and Chapter 24 showed that \(\mathbf{x}(t)\) carries everything there is to know about the system's future. If we could feed back all of \(\mathbf{x}\), each of its \(n\) components would come with its own gain — \(n\) numbers to choose, and \(n\) closed-loop poles to place. That count is not a coincidence, and this chapter turns it into a design method.
Two obstacles stand in the way, and Chapter 25 has already named both. Feeding back a state is useless if the input cannot influence that state, which is the question of controllability. And feeding back a state is impossible if no sensor measures it, which is answered by observability — if the missing states are observable we can compute them from the output history rather than measure them. Sections 26-2 through 26-7 solve the first problem; Sections 26-8 and 26-9 solve the second.
The State Feedback Law
Take the single-input state model of Chapter 23,
with \(\mathbf{A}\) an \(n\times n\) matrix and \(\mathbf{B}\) an \(n\times 1\) column. Suppose for the moment that every component of \(\mathbf{x}\) is available for measurement. The state feedback law forms the input as a weighted sum of all the states:
The row vector \(\mathbf{K}\) is the state feedback gain matrix; the minus sign is convention, so that positive \(k_i\) means negative feedback. Substituting into the plant collapses the loop into a single autonomous equation:
State feedback replaces the system matrix \(\mathbf{A}\) by \(\mathbf{A}-\mathbf{BK}\). The closed-loop poles are the eigenvalues of that new matrix, and every entry of \(\mathbf{K}\) can influence them.
Read the result carefully, because two things did not change. The input matrix \(\mathbf{B}\) is untouched, and so is the output matrix \(\mathbf{C}\). Since the transfer-function numerator of Chapter 23 is built from \(\mathbf{C}\,\mathrm{adj}(s\mathbf{I}-\mathbf{A})\,\mathbf{B}\), and one can show the adjugate combination is unaffected by the substitution \(\mathbf{A}\to\mathbf{A}-\mathbf{BK}\), state feedback moves the poles but leaves the zeros exactly where they were. Section 26-7 returns to the consequences.
The figure below shows the arrangement. A scalar reference is admitted through a feedforward gain \(\bar{N}\) whose purpose is explained in Section 26-7; for pure regulation (driving the state to zero from a disturbed initial condition) that path is absent and \(r=0\).
Placement by Coefficient Matching
The design problem now states itself. We are handed a set of \(n\) desired closed-loop pole locations \(\mu_1,\dots,\mu_n\) — chosen from a transient specification exactly as in Chapter 8, and closed under complex conjugation so that \(\mathbf{K}\) comes out real. Form the desired characteristic polynomial
and require the actual closed-loop polynomial to equal it:
Both sides are monic polynomials of degree \(n\), so matching them means matching \(n\) coefficients. Because \(\mathbf{K}\) enters \(\mathbf{A}-\mathbf{BK}\) linearly, and the determinant is linear in each row, every coefficient of the left-hand polynomial is a linear function of \(k_1,\dots,k_n\). We therefore face \(n\) linear equations in \(n\) unknowns — a system that has a unique solution precisely when its coefficient matrix is nonsingular, and that nonsingularity turns out to be the controllability condition of Chapter 25.
For second- and third-order systems this is the fastest route by hand: expand the determinant symbolically and equate coefficients. Take a double integrator with drag, \(\mathbf{A}=\begin{bmatrix}0&1\\0&-2\end{bmatrix}\), \(\mathbf{B}=\begin{bmatrix}0\\1\end{bmatrix}\), and \(\mathbf{K}=\begin{bmatrix}k_1&k_2\end{bmatrix}\). Then
Every coefficient is now a knob: \(k_1\) sets the constant term outright and \(k_2\) sets the \(s\)-coefficient. Any polynomial \(s^2+\alpha_1 s+\alpha_0\) can be produced, so any pair of poles can be reached. That freedom is complete only because the two unknowns appeared in two different coefficients; when a system is uncontrollable, one or more coefficients lose all dependence on \(\mathbf{K}\) and the corresponding modes are frozen.
If the controllability matrix \(\mathbf{M}_c=\begin{bmatrix}\mathbf{B}&\mathbf{AB}&\cdots&\mathbf{A}^{n-1}\mathbf{B}\end{bmatrix}\) has rank \(r<n\), the Kalman decomposition of Chapter 25 splits the system into a controllable part and an uncontrollable part. Feedback reshapes the \(r\) controllable eigenvalues and leaves the other \(n-r\) exactly where the plant put them. Design is still possible if those fixed eigenvalues are already in the left half-plane — the system is then called stabilisable — but arbitrary placement is not.
Controllable Canonical Form and Bass–Gura
Coefficient matching by hand becomes unpleasant beyond third order. The systematic route exploits a coordinate system in which the answer is written down by inspection. Recall from Chapter 23 the controllable canonical form of a system whose open-loop characteristic polynomial is \(\Delta(s) = s^n + a_{n-1}s^{n-1}+\cdots+a_0\):
The whole characteristic polynomial lives in the bottom row, and \(\bar{\mathbf{B}}\) touches only that row. So if we feed back \(\bar{\mathbf{u}} = -\bar{\mathbf{K}}\bar{\mathbf{x}}\) with \(\bar{\mathbf{K}}=\begin{bmatrix}\bar{k}_1&\cdots&\bar{k}_n\end{bmatrix}\), the matrix \(\bar{\mathbf{A}}-\bar{\mathbf{B}}\bar{\mathbf{K}}\) is identical to \(\bar{\mathbf{A}}\) except that its bottom row becomes \(\begin{bmatrix}-(a_0+\bar{k}_1) & -(a_1+\bar{k}_2) & \cdots & -(a_{n-1}+\bar{k}_n)\end{bmatrix}\). It is still in canonical form, so its characteristic polynomial can be read straight off:
In controllable canonical form the gain is simply the coefficient-by-coefficient difference between what we want and what the plant already has. Nothing needs solving.
A general plant is not handed to us in that form, but Chapter 25 showed how to get there. The transformation \(\mathbf{x}=\mathbf{T}\bar{\mathbf{x}}\) with \(\mathbf{T}=\mathbf{M}_c\mathbf{W}\) carries the canonical pair into the given one, where \(\mathbf{M}_c\) is the controllability matrix and \(\mathbf{W}\) is the Hankel matrix of the open-loop coefficients:
Because \(u=-\bar{\mathbf{K}}\bar{\mathbf{x}} = -\bar{\mathbf{K}}\mathbf{T}^{-1}\mathbf{x}\), the gain in the original coordinates is \(\mathbf{K}=\bar{\mathbf{K}}\mathbf{T}^{-1}\). Written out, this is the Bass–Gura formula:
The formula makes the controllability requirement visible: \(\mathbf{T}^{-1}\) exists only if \(\mathbf{M}_c\) is nonsingular, since \(\mathbf{W}\) is always nonsingular (its anti-diagonal is all ones). An uncontrollable plant simply has no such coordinate change, and the canonical form does not exist.
Ackermann's Formula
Bass–Gura works but asks for two matrices. Ackermann's formula compresses the whole construction into one line, and it is the version worth memorising for examinations.
Here \(\mathbf{M}_c=\begin{bmatrix}\mathbf{B}&\mathbf{AB}&\cdots&\mathbf{A}^{n-1}\mathbf{B}\end{bmatrix}\) and \(\phi(\mathbf{A}) = \mathbf{A}^n+\alpha_{n-1}\mathbf{A}^{n-1}+\cdots+\alpha_1\mathbf{A}+\alpha_0\mathbf{I}\) is the desired characteristic polynomial evaluated at the plant matrix.
The formula looks unmotivated until one asks what \(\phi(\mathbf{A})\) actually measures. By the Cayley–Hamilton theorem of Chapter 24, every matrix satisfies its own characteristic equation, so \(\Delta(\mathbf{A}) = \mathbf{A}^n + a_{n-1}\mathbf{A}^{n-1}+\cdots+a_0\mathbf{I} = \mathbf{0}\). Subtracting this zero from \(\phi(\mathbf{A})\) costs nothing and reveals the structure:
The \(n\)th-power terms cancel exactly, and what survives is a polynomial in \(\mathbf{A}\) of degree \(n-1\) whose coefficients are precisely the differences \(\alpha_i - a_i\) that Section 26-4 identified as the canonical gain. The premultiplier \(\begin{bmatrix}0&\cdots&0&1\end{bmatrix}\mathbf{M}_c^{-1}\) is the row that extracts those coefficients and converts them back to the original coordinates; carrying out that verification in canonical form reproduces \(\bar{\mathbf{K}}\) exactly. So Ackermann's formula is Bass–Gura with the bookkeeping done in advance.
Two practical remarks. First, \(\mathbf{M}_c^{-1}\) is required, so once again controllability is the gatekeeper — and a nearly uncontrollable plant gives a badly conditioned \(\mathbf{M}_c\), producing enormous and unreliable gains. Second, for \(n\) beyond four or five the formula is numerically poor and production software uses orthogonal-transformation algorithms instead; for hand calculation up to third order it is unbeatable.
Choosing the Closed-Loop Poles
The algebra will place the poles anywhere we ask, which makes the asking the hard part of the design. Nothing in the formulas penalises a foolish choice, so the engineer must supply the judgement.
The usual construction begins with the transient specification. From Chapter 8, an overshoot and a settling time fix a damping ratio and a natural frequency,
and the remaining \(n-2\) poles are placed far enough to the left that they contribute negligibly — the dominant-pole idea of Chapter 8, now enforced by construction instead of hoped for. A common rule is to put them five to ten times further left than the real part of the dominant pair, with the extra poles kept real to avoid introducing new oscillatory modes.
The temptation is to place all the poles very far left and enjoy a very fast response. That temptation must be resisted, for four reasons that no formula will remind you of.
| Consequence of poles placed far left | Why it hurts |
|---|---|
| Large entries in \(\mathbf{K}\) | \(u=-\mathbf{Kx}\) becomes huge for ordinary states; the actuator saturates and the closed loop no longer behaves like the linear design at all. |
| Wide closed-loop bandwidth | Sensor noise above the plant's real bandwidth is amplified straight into the control signal, heating actuators and wearing hardware. |
| Model validity exceeded | Unmodelled high-frequency dynamics — flexible modes, actuator lags neglected in Chapter 2 — sit inside the new bandwidth and can destabilise a loop the design predicted to be stable. |
| Loss of robustness | Aggressive gains make the closed-loop poles more sensitive to parameter error; the placement is exact only for the model, not for the machine. |
What State Feedback Cannot Fix
Section 26-2 noted that \(\mathbf{B}\) and \(\mathbf{C}\) survive the feedback untouched. The consequences deserve to be spelled out, because a design that places the poles perfectly can still track the reference badly.
The zeros do not move. Whatever \(\mathbf{K}\) we choose, the closed-loop transfer function \(\mathbf{C}(s\mathbf{I}-\mathbf{A}+\mathbf{BK})^{-1}\mathbf{B}\) has the same numerator as the open-loop plant. A non-minimum-phase zero in the right half-plane — the source of the initial undershoot discussed in Chapter 6 — is still there afterwards, and the fundamental limitation it imposes on achievable bandwidth is untouched. Pole placement is not a cure for bad plant structure.
The DC gain is wrong. Setting \(u=-\mathbf{Kx}\) drives the state to zero, which is exactly what a regulator should do but useless for tracking. Admitting the reference as \(u=-\mathbf{Kx}+\bar{N}r\) gives a steady state \(\mathbf{x}_{ss} = -(\mathbf{A}-\mathbf{BK})^{-1}\mathbf{B}\bar{N}r\), so \(y_{ss}=r\) requires
Equivalently, \(\bar{N}\) is the reciprocal of the closed-loop DC gain computed with \(\bar{N}=1\). It is a pure feedforward number: it corrects the scale but adds no feedback and therefore no robustness.
And that scaling is fragile. \(\bar{N}\) is computed from the model. If the plant gain drifts by ten per cent, the output is ten per cent wrong for ever, and no amount of pole placement notices — the loop has no integrator, so by the type analysis of Chapter 9 it is a type-0 system with a finite step error. A constant load disturbance produces a permanent offset for the same reason.
The repair is the one Chapter 19 taught: put an integrator in the loop, and put it there before designing the gains. Augment the state with the integral of the tracking error, \(\dot{x}_I = r-y = r-\mathbf{Cx}\), and design for the enlarged \((n+1)\)th-order plant
Now \(n+1\) poles are placed, the extra one associated with the integrator, and the closed loop is type 1: constant references are tracked and constant disturbances rejected with zero steady-state error, robustly, without depending on the accuracy of any feedforward constant. The augmented pair \((\mathbf{A}_a,\mathbf{B}_a)\) is controllable provided the original pair is controllable and the plant has no zero at the origin.
The State Observer
Everything so far assumed that all \(n\) states can be measured. In practice they cannot. A servomotor has an encoder on the shaft but no tachometer; an aircraft measures attitude but not every aerodynamic state; a chemical reactor measures temperature but not concentration. Instrumenting every state is expensive, sometimes impossible, and always one more thing to fail.
The way out was found by Luenberger in 1964, and it is beautifully direct: build a simulation of the plant inside the controller, run it in parallel with the real machine, and correct it whenever its predicted output disagrees with the measured one. Call the simulated state \(\hat{\mathbf{x}}\). A naive copy would be \(\dot{\hat{\mathbf{x}}}=\mathbf{A}\hat{\mathbf{x}}+\mathbf{B}u\), which drifts away from the truth for ever if the initial condition is wrong. Adding the correction term gives the full-order observer:
The bracket is the output estimation error — the only discrepancy we can actually see. The \(n\times 1\) column \(\mathbf{L}\) is the observer gain matrix, and it decides how hard the estimate is pulled toward agreement with the measurement.
To see whether the estimate converges, define the estimation error \(\mathbf{e}=\mathbf{x}-\hat{\mathbf{x}}\) and subtract the observer equation from the plant equation. The input \(u\) is fed to both, so it cancels — the estimator does not need to know what the controller is doing, only what it did:
The estimation error obeys a homogeneous linear equation of its own. If every eigenvalue of \(\mathbf{A}-\mathbf{LC}\) lies in the left half-plane, then \(\mathbf{e}(t)\to\mathbf{0}\) from any starting mismatch, and how fast is entirely up to us — a design problem identical in form to the one we just solved for \(\mathbf{A}-\mathbf{BK}\).
That identity is not a coincidence but the duality of Chapter 25. Because a matrix and its transpose share eigenvalues, \(\det(s\mathbf{I}-\mathbf{A}+\mathbf{LC}) = \det(s\mathbf{I}-\mathbf{A}^T+\mathbf{C}^T\mathbf{L}^T)\). The right-hand side is a state feedback problem for the pair \((\mathbf{A}^T,\mathbf{C}^T)\) with gain \(\mathbf{L}^T\), and it is solvable for arbitrary poles exactly when \((\mathbf{A}^T,\mathbf{C}^T)\) is controllable — which is precisely the statement that \((\mathbf{A},\mathbf{C})\) is observable.
| Regulator problem | Dual observer problem |
|---|---|
| Closed-loop matrix \(\mathbf{A}-\mathbf{BK}\) | Error matrix \(\mathbf{A}-\mathbf{LC}\) |
| Requires \((\mathbf{A},\mathbf{B})\) controllable | Requires \((\mathbf{A},\mathbf{C})\) observable |
| \(\mathbf{M}_c = \begin{bmatrix}\mathbf{B}&\mathbf{AB}&\cdots\end{bmatrix}\) | \(\mathbf{M}_o = \begin{bmatrix}\mathbf{C}\\ \mathbf{CA}\\ \vdots\end{bmatrix}\) |
| Unknown is a row \(\mathbf{K}\) (\(1\times n\)) | Unknown is a column \(\mathbf{L}\) (\(n\times 1\)) |
| \(\mathbf{K}=\begin{bmatrix}0&\cdots&1\end{bmatrix}\mathbf{M}_c^{-1}\phi_c(\mathbf{A})\) | \(\mathbf{L}=\phi_o(\mathbf{A})\,\mathbf{M}_o^{-1}\begin{bmatrix}0\\\vdots\\1\end{bmatrix}\) |
Every technique of Sections 26-3 to 26-5 therefore transfers verbatim: coefficient matching, canonical forms, and the dual Ackermann formula in the last row of the table.
Choosing the observer poles follows one clear rule and one quiet caution. The rule: the estimate must converge much faster than the controlled dynamics, or the controller will spend the transient acting on stale information — so place the observer poles two to six times further left than the dominant closed-loop poles. The caution: a fast observer means a large \(\mathbf{L}\), and \(\mathbf{L}\) multiplies the measurement, so it multiplies the measurement noise as well. The observer is a filter, and its bandwidth is a compromise between trusting the model and trusting the sensor. The optimal compromise, given the statistics of the noise, is the Kalman filter of Chapter 30 — structurally identical to this observer, with \(\mathbf{L}\) computed rather than chosen.
The Separation Principle
Two designs are now in hand: a gain \(\mathbf{K}\) that would work if we knew \(\mathbf{x}\), and an observer that produces \(\hat{\mathbf{x}}\). The obvious step is to combine them and feed back the estimate,
but the step is not obviously safe. The controller is now acting on an estimate that is itself wrong during the transient, and the plant's response feeds back into the very measurement the observer uses. Do the two designs interfere? The answer, remarkably, is no.
Write the closed loop in the coordinates \((\mathbf{x},\mathbf{e})\) with \(\mathbf{e}=\mathbf{x}-\hat{\mathbf{x}}\), so that \(\hat{\mathbf{x}} = \mathbf{x}-\mathbf{e}\). The plant equation becomes \(\dot{\mathbf{x}} = \mathbf{Ax}-\mathbf{BK}(\mathbf{x}-\mathbf{e}) = (\mathbf{A}-\mathbf{BK})\mathbf{x}+\mathbf{BKe}\), and the error equation we already derived is untouched by \(u\):
The system matrix is block upper triangular, so its \(2n\) eigenvalues are exactly the \(n\) eigenvalues of \(\mathbf{A}-\mathbf{BK}\) together with the \(n\) eigenvalues of \(\mathbf{A}-\mathbf{LC}\). The regulator and the observer may therefore be designed independently, and neither disturbs the other's pole locations.
The zero block in the lower left is the whole content of the theorem: the estimation error drives the state, but the state does not drive the estimation error. That is why the observer could be designed in Section 26-8 without any knowledge of \(\mathbf{K}\).
Two cautions belong with the result. First, separation guarantees the pole locations, not the transient shape — the term \(\mathbf{BKe}\) does inject the estimation transient into the state response, which is exactly why the observer is made faster than the regulator. Second, separation is a statement about the nominal model; the stability margins of the combined loop can be much poorer than those of the ideal full-state design, a phenomenon known as loss of the guaranteed margins of state feedback, and one of the reasons robust design in Chapter 30 exists.
Finally, it is worth seeing what the finished controller is, in the language of Parts 3 to 5. Substituting \(u=-\mathbf{K}\hat{\mathbf{x}}\) and \(y=\mathbf{Cx}\) into the observer gives a self-contained dynamic system driven by the measurement alone:
This is an \(n\)th-order transfer function in the forward path of an ordinary unity-feedback loop — a cascade compensator of exactly the kind Chapter 21 built from resistors and capacitors, except that here it was derived from a specification rather than tuned into place. Example 6 computes one, and confirms that closing the loop with it reproduces the \(2n\) poles the separation principle promises.
One refinement is worth knowing. If \(y\) already measures one state directly, estimating that state again is wasted effort. The reduced-order (minimal) observer estimates only the \(n-m\) unmeasured combinations, giving a controller of order \(n-m\) instead of \(n\). It is cheaper and faster, but it feeds the measurement straight through to the estimate, so sensor noise reaches the control signal unfiltered — full-order observers are often preferred in noisy hardware for exactly that reason.
Worked Examples
Problem. A plant has \(\mathbf{A}=\begin{bmatrix}0&1\\0&-2\end{bmatrix}\), \(\mathbf{B}=\begin{bmatrix}0\\1\end{bmatrix}\), \(\mathbf{C}=\begin{bmatrix}1&0\end{bmatrix}\). Design \(\mathbf{K}\) to place the closed-loop poles at \(-2\pm j2\).
Solution. First confirm controllability: \(\mathbf{M}_c=\begin{bmatrix}\mathbf{B}&\mathbf{AB}\end{bmatrix}=\begin{bmatrix}0&1\\1&-2\end{bmatrix}\), whose determinant is \(-1\neq 0\), so the pair is controllable and any pole set is reachable. The desired polynomial is \(\phi(s)=(s+2-j2)(s+2+j2)=s^2+4s+8\). Now expand the closed-loop determinant with \(\mathbf{K}=\begin{bmatrix}k_1&k_2\end{bmatrix}\):
Matching the constant term gives \(k_1=8\); matching the \(s\)-coefficient gives \(2+k_2=4\), so \(k_2=2\). Hence \(\mathbf{K}=\begin{bmatrix}8&2\end{bmatrix}\), and the control law is \(u=-8x_1-2x_2\). The closed-loop matrix is \(\begin{bmatrix}0&1\\-8&-4\end{bmatrix}\), giving \(\omega_n=\sqrt{8}=2.83\) rad/s and \(\zeta=4/(2\sqrt{8})=0.707\) — a well-damped response, as intended.
Problem. For \(\mathbf{A}=\begin{bmatrix}0&1\\-2&-3\end{bmatrix}\), \(\mathbf{B}=\begin{bmatrix}0\\1\end{bmatrix}\), place the poles at \(-5\pm j5\) using Ackermann's formula, and verify by coefficient matching.
Solution. The desired polynomial is \(\phi(s)=s^2+10s+50\). Build the controllability matrix and invert it:
Next evaluate \(\phi(\mathbf{A})=\mathbf{A}^2+10\mathbf{A}+50\mathbf{I}\). Squaring first, \(\mathbf{A}^2=\begin{bmatrix}0&1\\-2&-3\end{bmatrix}\begin{bmatrix}0&1\\-2&-3\end{bmatrix}=\begin{bmatrix}-2&-3\\6&7\end{bmatrix}\).
Check by matching: \(\mathbf{A}-\mathbf{BK}=\begin{bmatrix}0&1\\-2-k_1&-3-k_2\end{bmatrix}\) has characteristic polynomial \(s^2+(3+k_2)s+(2+k_1)\). Setting \(3+k_2=10\) and \(2+k_1=50\) gives \(k_2=7\) and \(k_1=48\) — the same answer.
Problem. A plant with transfer function \(G(s)=\dfrac{1}{s(s+1)(s+3)}\) is realised in controllable canonical form. Place the closed-loop poles at \(-2\pm j2\) and \(-10\).
Solution. Expand the denominator: \(s(s+1)(s+3)=s^3+4s^2+3s\), so \(a_2=4\), \(a_1=3\), \(a_0=0\) and the canonical realisation is
The desired polynomial is \(\phi(s)=(s^2+4s+8)(s+10)=s^3+14s^2+48s+80\), so \(\alpha_2=14\), \(\alpha_1=48\), \(\alpha_0=80\). Because the plant is already canonical, the gain is the coefficient difference:
Verifying, \(\mathbf{A}-\mathbf{BK}\) has bottom row \(\begin{bmatrix}-80&-48&-14\end{bmatrix}\), whose characteristic polynomial is \(s^3+14s^2+48s+80\) as required. The dominant pair sets \(\zeta=0.707\) and \(\omega_n=2.83\) rad/s; the third pole at \(-10\) is 5 times further left and contributes little.
Problem. Using the plant and gain of Example 1, find the feedforward constant \(\bar{N}\) that makes the step response settle at \(y=r\). Comment on what happens if the plant gain is 10 % low.
Solution. With \(u=-\mathbf{Kx}+\bar{N}r\) the closed-loop transfer function is \(\bar{N}\,\mathbf{C}(s\mathbf{I}-\mathbf{A}+\mathbf{BK})^{-1}\mathbf{B}\). From Example 1 the closed-loop matrix is \(\begin{bmatrix}0&1\\-8&-4\end{bmatrix}\), so
Hence \(\bar{N}=-1/(-1/8)=8\). The same number follows from the transfer function: \(Y(s)/R(s)=\bar{N}/(s^2+4s+8)\), whose DC value is \(\bar{N}/8\), so \(\bar{N}=8\) gives unity.
If the true plant has an input gain 10 % below the model, the closed-loop DC gain becomes \(0.9\times\) the design value and the output settles at \(0.9r\) — a permanent 10 % error that the feedback never removes, because \(\bar{N}\) is pure feedforward. Adding the integral state of Section 26-7 makes the loop type 1 and drives that error to zero regardless of the gain mismatch.
Problem. Only \(y=x_1\) is measured on the plant of Example 1. Design a full-order observer with both error poles at \(s=-20\).
Solution. Check observability first: \(\mathbf{M}_o=\begin{bmatrix}\mathbf{C}\\ \mathbf{CA}\end{bmatrix}=\begin{bmatrix}1&0\\0&1\end{bmatrix}\), which is nonsingular, so any error poles are attainable. Write \(\mathbf{L}=\begin{bmatrix}\ell_1\\ \ell_2\end{bmatrix}\); then \(\mathbf{LC}=\begin{bmatrix}\ell_1&0\\ \ell_2&0\end{bmatrix}\) and
The desired error polynomial is \((s+20)^2=s^2+40s+400\). Matching the \(s\)-coefficient gives \(2+\ell_1=40\), so \(\ell_1=38\); matching the constant gives \(2(38)+\ell_2=400\), so \(\ell_2=324\). Hence \(\mathbf{L}=\begin{bmatrix}38\\324\end{bmatrix}\).
The error poles at \(-20\) are about seven times further left than the regulator poles at \(-2\pm j2\), so the estimate converges in roughly \(4/20=0.2\) s while the controlled response takes about \(4/2=2\) s — comfortably separated. The price is the large second gain, 324, which multiplies any noise on \(y\) by that factor when reconstructing \(x_2\).
Problem. Combine the gain of Example 1 with the observer of Example 5. Find the compensator transfer function \(G_c(s)=\mathbf{K}(s\mathbf{I}-\mathbf{A}+\mathbf{BK}+\mathbf{LC})^{-1}\mathbf{L}\), and verify that the closed-loop poles are those the separation principle predicts.
Solution. Assemble the compensator matrix. With \(\mathbf{A}-\mathbf{BK}=\begin{bmatrix}0&1\\-8&-4\end{bmatrix}\) and \(\mathbf{LC}=\begin{bmatrix}38&0\\324&0\end{bmatrix}\),
The inverse is the adjugate divided by that determinant, so carry the adjugate through first and divide at the end:
This is a second-order network with a zero at \(s=-3.36\) and complex poles at \(-21\pm j6.56\) — a lead-like compensator of exactly the sort Chapter 21 designs by hand. The plant is \(G(s)=\mathbf{C}(s\mathbf{I}-\mathbf{A})^{-1}\mathbf{B}=1/[s(s+2)]\), so the closed-loop characteristic equation of the unity-feedback loop is
and the separation principle predicts \(\left(s^2+4s+8\right)\left(s^2+40s+400\right)\), which expands to \(s^4+44s^3+568s^2+1920s+3200\). The two agree exactly: the four closed-loop poles are \(-2\pm j2\) from the regulator design and a double pole at \(-20\) from the observer design, each placed without regard to the other.
Chapter Summary
\(u=-\mathbf{Kx}\) gives \(\dot{\mathbf{x}}=(\mathbf{A}-\mathbf{BK})\mathbf{x}\); the poles are the eigenvalues of \(\mathbf{A}-\mathbf{BK}\).
Arbitrary placement is possible if and only if \((\mathbf{A},\mathbf{B})\) is completely controllable.
In controllable canonical form \(\bar{k}_i=\alpha_{i-1}-a_{i-1}\) — the coefficient difference, nothing more.
\(\mathbf{K}=\begin{bmatrix}0&\cdots&1\end{bmatrix}\mathbf{M}_c^{-1}\phi(\mathbf{A})\), justified by Cayley–Hamilton.
Feedback moves poles only; \(\bar{N}\) fixes the DC gain, integral action fixes it robustly.
\(\dot{\hat{\mathbf{x}}}=\mathbf{A}\hat{\mathbf{x}}+\mathbf{B}u+\mathbf{L}(y-\mathbf{C}\hat{\mathbf{x}})\) gives error dynamics \(\mathbf{A}-\mathbf{LC}\).
Observer design is regulator design for \((\mathbf{A}^T,\mathbf{C}^T)\); observability is the condition.
The \(2n\) closed-loop poles split cleanly into those of \(\mathbf{A}-\mathbf{BK}\) and \(\mathbf{A}-\mathbf{LC}\).
Problems
Test controllability or observability before designing anything; a rank deficiency changes the question rather than the arithmetic. Difficulty rises down the list.
- For \(\mathbf{A}=\begin{bmatrix}0&1\\0&-3\end{bmatrix}\), \(\mathbf{B}=\begin{bmatrix}0\\1\end{bmatrix}\), find \(\mathbf{K}\) placing the closed-loop poles at \(-3\pm j3\).
- Show that \(\mathbf{A}=\begin{bmatrix}1&1\\0&2\end{bmatrix}\), \(\mathbf{B}=\begin{bmatrix}1\\0\end{bmatrix}\) is not completely controllable, identify the eigenvalue that state feedback cannot move, and say whether the system is stabilisable.
- A plant has \(G(s)=1/[s^2(s+4)]\). Write its controllable canonical realisation and find \(\mathbf{K}\) placing the poles at \(-4\pm j4\) and \(-20\).
- For the closed loop of Problem 1, compute the feedforward gain \(\bar{N}\) that makes the unit-step response settle at unity, taking \(\mathbf{C}=\begin{bmatrix}1&0\end{bmatrix}\).
- With \(\mathbf{A}=\begin{bmatrix}0&1\\-6&-5\end{bmatrix}\) and \(\mathbf{C}=\begin{bmatrix}1&0\end{bmatrix}\), design an observer gain \(\mathbf{L}\) placing both error poles at \(s=-15\).
- Combine the gain of Problem 1 with an observer whose error poles are at \(-12\) and \(-15\), and write down the fourth-order closed-loop characteristic polynomial without ever forming the \(4\times4\) system matrix.
- For the plant of Problem 1, augment the state with the integral of the tracking error and find the three gains that place the augmented poles at \(-3\pm j3\) and \(-9\). Explain what this design achieves that Problem 4 does not.
- A colleague proposes placing all the poles of a third-order plant at \(s=-500\) because "faster is better". Give three concrete reasons the machine will not behave as the design predicts.