ELEN90055 · Control Systems
Fundamental limits, internal model principle, feedforward
This chapter of ELEN90055 Control Systems at the University of Melbourne asks what a feedback loop fundamentally cannot do, and how to get exact steady-state tracking despite those limits. It sits in Part III of the course — the frequency-domain analysis of loops that loosely follows Goodwin, Graebe & Salgado.
Three ideas carry the marks: the interpolation constraints that pin the sensitivity functions at the open-loop poles and zeros, the Bode sensitivity integral that conserves sensitivity across frequency, and the internal model principle, which rejects a persistent signal by placing the roots of its generating polynomial as controller poles. Feedforward and a two-degree-of-freedom prefilter give the same tracking cheaply, but without robustness.
What this chapter covers
- 01State the interpolation constraints T0(z) = 0, S0(z) = 1 at an open-loop zero z and S0(p) = 0, T0(p) = 1 at an open-loop pole p
- 02Use the identity S0 + T0 = 1 and see why a plant zero or pole you cannot cancel fixes the loop response there
- 03Explain why a right-half-plane zero forces S0 = 1 and a right-half-plane pole forces T0 = 1, so cancelling them is forbidden
- 04Show that zero steady-state error to a step needs a pole at s = 0, in the plant or controller for a reference, but in the controller for an input disturbance
- 05Read the Bode sensitivity integral (integral of ln|S0| dwww = 0 for relative degree at least 2, no RHP poles) as conservation of sensitivity, the waterbed effect
- 06Turn a demanded low-frequency sensitivity trough into the smallest unavoidable sensitivity peak using the equal-area law
- 07Write the generating polynomial for a step (s), a ramp (s^2) and a sinusoid at w rad/s (s^2 + w^2)
- 08Apply the internal model principle: make every root of the generating polynomial a controller pole, giving S0 there equal to 0 and robust zero steady-state error
- 09Design a 2-DOF prefilter H with T0 H = 1 at the generating roots, and a measured-disturbance feedforward filter Gf = -G0 inverse, and know why they are not robust
Add integral action so a first-order plant tracks a step with zero error
- +2Generating polynomial. A constant (step) reference r(t) has Laplace transform R(s) = a/s, so its generating polynomial is Gamma(s) = s, with the single root gamma = 0. The internal model principle says this root must appear as a pole of the controller, i.e. the controller needs a pole at s = 0 (integral action).
- +1Controller structure. Take L(s) = s and a proper numerator P(s) = p1 s + p0, so C(s) = (p1 s + p0)/s. This is the PI form C = Kp + Ki/s with Kp = p1 and Ki = p0; it is proper (finite as s tends to infinity).
- +2Characteristic polynomial. With A0(s) = s + 2, B0(s) = 1, the closed-loop characteristic polynomial is phi(s) = A0(s) L(s) + B0(s) P(s) = (s + 2) s + (p1 s + p0) = s^2 + (2 + p1) s + p0.
- +2Match the target. A double pole at s = -3 gives the target (s + 3)^2 = s^2 + 6 s + 9. Matching coefficients: 2 + p1 = 6 so p1 = 4, and p0 = 9. Hence C(s) = (4 s + 9)/s = 4 + 9/s (a PI controller with Kp = 4, Ki = 9).
- +1Verify the internal model. The controller supplies the pole at s = 0, so the open loop A0 = G0 C tends to infinity as s tends to 0, giving S0(0) = 1/(1 + A0(0)) = 0. By the final-value theorem the steady-state step error is zero, and because the zero of S0 comes from a controller pole (an exact factor of C) the tracking is robust to plant model error, as long as the loop stays stable.
- +1Verify stability. phi(s) = s^2 + 6 s + 9 = (s + 3)^2 has both roots at s = -3, in the open left-half plane, so the closed loop is internally stable. Direction check: increasing the integral gain would speed up the response but eventually move the poles off the real axis, so -3 (double) is the fastest real double pole this structure gives here.
Key terms
- Interpolation constraints
- Fixed values the sensitivity functions must take at open-loop poles and zeros: at a zero z of A0 = G0 C, T0(z) = 0 and S0(z) = 1; at a pole p, S0(p) = 0 and T0(p) = 1. They hold whatever else you do to the controller, so an uncancellable pole or zero fixes the loop response there.
- Output sensitivity S0
- S0 = 1/(1 + G0 C): the transfer function from an output disturbance to the output, and from the reference to the error. Small |S0| means good tracking and disturbance rejection. It satisfies S0 + T0 = 1 at every frequency and is dimensionless.
- Complementary sensitivity T0
- T0 = G0 C/(1 + G0 C): the transfer function from the reference to the output (and from minus the sensor noise to the output). Because S0 + T0 = 1, making |S0| small forces |T0| near 1 at that frequency, and vice versa.
- Bode sensitivity integral
- For an open loop of relative degree at least 2 with no right-half-plane poles, the integral over all frequencies of ln|S0(jw)| dw equals 0. Any sensitivity pushed below 1 (good rejection) at some frequencies must be paid back above 1 elsewhere; right-half-plane poles make the integral strictly positive.
- Waterbed effect
- The plain-language reading of the Bode integral: sensitivity can be moved around the frequency axis but not removed. Press |S0| down at low frequency and it bulges up into a peak further out, so deeper or wider low-frequency rejection buys a larger unavoidable peak.
- Generating polynomial
- For a persistent signal x(t) with Laplace transform X(s) = xi(s)/Gamma(s), the denominator Gamma(s) = product of (s - gamma_p) whose roots lie on the imaginary axis. Step gives Gamma = s, ramp gives s^2, a sinusoid at w rad/s gives s^2 + w^2.
- Internal model principle
- To reject or track a persistent signal with zero steady-state error robustly, include every root of that signal's generating polynomial as a pole of the controller. Then S0 vanishes at those roots, and because the zero of S0 comes from an exact controller factor the result survives plant model error.
- Disturbance feedforward
- A two-degree-of-freedom technique: measure a disturbance and inject it through a filter to cancel it at the output before the feedback loop reacts. The ideal filter is minus the plant inverse, usually improper and impossible with a right-half-plane zero or delay, so in practice it is approximated over the disturbance's significant band. It is fast but not robust to model error.
Fundamental limits, internal model principle, feedforward FAQ
Why can a proportional controller never remove the steady-state error to a step?
With proportional control C = K the step error is e_ss = 1/(1 + K G0(0)), which is finite for any finite gain and only shrinks as K grows, never reaching zero. The interpolation view explains this: zero steady-state error to a step needs S0(0) = 0, which requires a pole at s = 0 in the open loop. A pure gain adds no such pole, so the offset stays. Adding a controller pole at s = 0 (integral action) is exactly the internal model of a step, and it drives the error to zero robustly.
What is the difference between using an internal model and using feedforward to track a signal?
An internal model places the roots of the signal's generating polynomial as controller poles, so S0 is zero there. Because that zero comes from an exact factor of the controller, tracking is robust: it survives plant model error and rejects the matching disturbance as well. Feedforward, whether a two-degree-of-freedom prefilter H with T0 H = 1 at the generating roots or a measured-disturbance filter, achieves the same nominal tracking without high-gain feedback, but the cancellation relies on the exact model, so any plant mismatch reintroduces steady-state error. Internal-model feedback buys robustness; feedforward buys speed cheaply.
Can AI help me with fundamental limits and the internal model principle in ELEN90055?
Yes, as a study aid. An AI tutor such as Sia can explain the interpolation constraints, the Bode sensitivity integral and the internal model principle step by step, walk you through writing a generating polynomial, and check your algebra and units on a pole-placement design. Use it to understand the method, the sign conventions and why a controller pole makes tracking robust, and to practise with your own numbers. It does not sit your open-book exam for you or guarantee a mark, so confirm every formula against the current unit materials on Canvas.
Studying with AI? Sia — free AI electrical engineering tutor works through ELEN90055 step by step.
Exam move
Anchor this chapter to one question: what can feedback not do, and how do you get exact tracking anyway. Start from the interpolation constraints, T0(z) = 0 and S0(z) = 1 at an open-loop zero and S0(p) = 0 and T0(p) = 1 at an open-loop pole, and be able to say in one line why a right-half-plane zero or pole caps the achievable bandwidth. Next, know the Bode sensitivity integral (integral of ln|S0| dw = 0 for relative degree at least 2 with no right-half-plane poles) as conservation of sensitivity, and practise turning a demanded low-frequency trough into the smallest peak using the equal-area law. Then drill the internal model principle: write the generating polynomial for a step (s), a ramp (s^2) or a sinusoid at w rad/s (s^2 + w^2), make each root a controller pole, and always confirm both S0(root) = 0 and closed-loop stability, since a design that destabilises the loop scores nothing. Finish with the two feedforward tools, the 2-DOF prefilter and the measured-disturbance filter minus the plant inverse, and remember they are fast but not robust. The final examination is 3 hours, open book, worth 70% with a hurdle you must clear on the exam to pass the subject, and you answer four questions summing to 50 marks, so budget about 3.6 minutes per mark. Because it is open book, marks reward the argument with correct signs, factors and units rather than a memorised formula, so state the constraint or generating polynomial you are using and define your symbols. Confirm the exact date of the next (Semester 1, ~June 2027) sitting on Canvas.