University of Melbourne · FACULTY OF ENGINEERING

ELEN90055 · Control Systems

- one subject, every graph, every model, every mark
Engineering14 Chapters8-page Bible
Our own words - no uploaded lecturer files
Updated for this semester
Chapter 9 of 12 · ELEN90055

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.

In this chapter

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
Worked example · free

Add integral action so a first-order plant tracks a step with zero error

Q [9 marks]. A stable plant G0(s) = 1/(s + 2) is under unity feedback and must track a constant (step) reference with zero steady-state error, robustly. A proportional controller leaves an offset, so design a controller C = P/L using the internal model principle and place the closed-loop poles at s = -3 (a double pole). Give C(s) and verify the design.
  • +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.
C(s) = (4 s + 9)/s = 4 + 9/s, a PI controller with proportional gain 4 and integral gain 9. Its pole at s = 0 embeds the internal model of a step, forcing S0(0) = 0 and hence zero steady-state error to a constant reference, robustly; the closed-loop poles both sit at s = -3, so the loop is stable.
Sia tip — The step's internal model is just a pole at s = 0, i.e. integral action, so a proportional-only loop can never eliminate the offset (its step error is 1/(1 + K G0(0)), finite but non-zero). Put the s = 0 pole in the controller, not the plant, and always confirm closed-loop stability before you claim the design works: an internal model that destabilises the loop earns nothing.
Glossary

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.
FAQ

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.

Study strategy

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.

A+Everything unlocked
Unlocks this Bible + all 39 of your University of Melbourne subjects - and 1,000+ Bibles across every Australian university.
Sia - your ELEN90055 tutor, unlimited, worked the way the exam marks it
The full 8-page Bible + practice bank with worked solutions
Chrome extension - sync your LMS so Sia knows your deadlines
Bilingual EN / Chinese on every Bible and every Sia answer
$25/ month
30-day money-back · cancel in one tap · how it works
Unlock the full ELEN90055 Bible + 39 University of Melbourne subjects解锁完整 ELEN90055 Bible + University of Melbourne 39 门科目
$25/mo