Noise Amplification: T(s) at High Frequency
Learn why complementary sensitivity T(s) forces feedback loops to amplify high-frequency sensor noise, and how to design bandwidth around it.

Contents & prerequisites
How does complementary sensitivity T(s) behave at high frequency?
The complementary sensitivity function T(s) approaches unity magnitude as frequency climbs past the loop's crossover, and that climb is precisely what injects sensor noise straight into your plant output. Understanding why requires looking at how T(s) is built from the loop gain, and why its shape at high frequency is not a design choice but a mathematical consequence.
Definition of T(s) and its frequency-dependent structure
Complementary Sensitivity T(s) = L(s)/(1+L(s)) defines the closed-loop transfer function from reference (or sensor noise) to output, where L(s) = C(s)P(s) is the loop gain formed by controller C(s) and plant P(s). At low frequency, where engineers push L(s) to be large (|L(jω)| >> 1, often 40 dB to 60 dB in a well-tuned position or voltage loop), T(s) ≈ L(s)/L(s) = 1, meaning the output faithfully tracks the reference. At high frequency, the same formula governs T(s), but the value of L(jω) itself has changed character entirely.
Typical high-frequency roll-off of the loop gain L(s)
Every physical loop gain rolls off at high frequency because real plants and controllers have finite bandwidth — motor windings have inductance, op-amps have gain-bandwidth limits, digital controllers have sample-and-hold delay. A typical L(s) might cross 0 dB (|L(jω)| = 1) at a gain crossover frequency ωgc of a few hundred Hz to a few kHz in a motor drive, then continue falling at -20 dB/decade or steeper beyond that point. This roll-off is deliberate: it's what gives the loop its phase margin and keeps it stable.
Why T(s) → 1 as frequency increases
This is the part that surprises engineers new to the topic: T(s) does not roll off with L(s). As ω rises past ωgc, |L(jω)| drops below 1, so T(jω) = L(jω)/(1+L(jω)) ≈ L(jω) — it tracks L(s) directly, falling at the same rate L(s) falls. But below and right around crossover, T(jω) sits near 1 (0 dB) precisely because L is still large enough there that the "+1" in the denominator barely matters. The transition band around ωgc is where T(s) holds close to unity before finally decaying, and that band — not the deep high-frequency region — is often where noise amplification bites hardest, because L(s) hasn't yet rolled off enough to suppress it.
What is the trade-off between reference tracking and noise rejection?
You cannot independently shrink both sensitivity S(s) and complementary sensitivity T(s) at the same frequency, because they're linked by a single algebraic identity. This is the central trade-off of feedback design: rejecting disturbances and rejecting noise pull in opposite directions.
Role of S(s) in disturbance rejection at low frequency
Disturbance Rejection: S(s) at Low Frequency shows that S(s) = 1/(1+L(s)) must be small wherever you want good tracking and disturbance rejection — a thermal loop fighting ambient drift, a voltage regulator fighting load steps, both need |S(jω)| << 1 at DC and low frequency. Large L(s) at low frequency drives S(s) toward zero, which is exactly the high-gain region described above.
Why T(s) must rise where S(s) falls
Wherever S(s) is pushed small to get good disturbance rejection, T(s) is pushed toward 1 in that same band, because the two are complements of each other by construction. There is no frequency at which you get small S(s) and small T(s) simultaneously — the physics of the feedback loop forbids it.
Fundamental constraint: S(s) + T(s) = 1
The identity S(s) + T(s) = 1 holds at every frequency, for any proper feedback loop, independent of the specific controller. If |S(jω)| = 0.01 (good disturbance rejection) then |T(jω)| ≈ 0.99 (noise passes through almost unattenuated) at that same ω. Conversely, once ω rises far enough that disturbance rejection is no longer needed, S(s) rises toward 1 and T(s) falls toward 0 — which is the regime you want for noise, but only available where you've already given up tracking authority.
Where does high-frequency noise enter a closed-loop system?
High-frequency noise enters primarily through the sensor measurement, not through the reference or the plant disturbance path, and it rides the feedback signal straight into the controller. Every closed loop measures something to compare against a setpoint, and that measurement is never clean.
Sensor noise and measurement noise sources
Encoders contribute quantization noise at the resolution limit (an 12-bit encoder over 360° gives roughly 0.088° of quantization step); thermocouples and thermistors pick up thermal and electrical noise in the µV to mV range; current shunts pick up switching noise from adjacent power stages, often concentrated at the PWM frequency and its harmonics (commonly 10 kHz to 200 kHz in motor drives). This noise sits on top of the true signal and is indistinguishable, from the controller's point of view, from a legitimate fast change in the measured variable.
Actuator saturation and quantization effects
Amplified high-frequency content doesn't stop at the controller — it drives the actuator command, and if that command moves faster or farther than the actuator can follow, you get saturation, audible buzz in motors, or visible chatter in valves. Digital-to-analog quantization in the actuator path adds a second noise layer on top, re-injected into the loop on the next sample.
How noise couples through the feedback path
The coupling is direct: the controller cannot distinguish "the plant actually moved" from "the sensor says the plant moved." Both drive the same error signal, get the same gain C(s) applied, and generate the same commanded actuator motion. This is the mechanism by which sensor noise becomes output noise — not a side effect, but the literal function of negative feedback.
How does T(s) amplify sensor and measurement noise?
T(s) is, mathematically, the transfer function from sensor noise to plant output, so wherever |T(jω)| is close to 1, noise at that frequency passes to the output essentially unattenuated. Where |T(jω)| exceeds 1 — which happens near resonant peaks in underdamped loops — noise is actually amplified beyond its original magnitude.
Noise transfer function from measurement to output
If n(t) is the sensor noise added to the measured output before it reaches the controller, the contribution of n to the true plant output y is exactly T(s)·N(s) in the Laplace domain. This is the same T(s) that governs reference tracking, which is why the trade-off above is unavoidable — you cannot shape the noise path without also reshaping the tracking path.
Magnitude of T(jω) at frequencies above crossover
Just above ωgc, |T(jω)| is often still within a few dB of 0 dB, and for underdamped loops with phase margin below roughly 45°, a resonant bump of +3 dB to +10 dB can appear right at crossover before T(s) finally rolls off at the same slope as L(s) further out. Reading this bump on a Bode plot of T(jω) tells you directly how much the loop will amplify noise in that band, in decibels, before you ever run the system.
Practical consequences of noise amplification in real systems
In a position servo, amplified encoder quantization noise shows up as audible motor whine and increased power dissipation from constant small corrective torque. In a voltage regulator, amplified ADC noise on the feedback divider shows up as output ripple at frequencies well above the switching frequency, sometimes failing EMI compliance even though the DC regulation spec is met.
Why is bandwidth limited by noise amplification?
Closed-loop bandwidth cannot be pushed arbitrarily high because doing so simply moves the T(s) ≈ 1 region further out in frequency, into a band where sensor noise power is often larger, not smaller. The gain-bandwidth trade-off is the formal statement of this limit.
Gain-bandwidth trade-off constraints
Raising ωgc to get faster tracking requires keeping |L(jω)| large out to a higher frequency, which drags the T(s) ≈ 1 plateau to higher frequency along with it. Unless noise power actually falls faster than the loop gain rolls off, pushing bandwidth higher only exposes the loop to a frequency band carrying more raw noise, not less.
How noise floor sets practical bandwidth ceiling
A practical design rule: pick ωgc so that above it, the combination of falling L(s) and the sensor's own noise spectrum produces acceptable output noise, usually checked by measuring the sensor noise floor (in counts/√Hz for an encoder, V/√Hz for an analog sensor) and comparing against T(jω) magnitude at that frequency from a simulation or Bode measurement. There is no universal number — a 12-bit incremental encoder and a 20-bit absolute encoder justify very different crossover choices, and the datasheet noise spectral density is the correct source to pull that figure from, not a rule of thumb.
Stability margins and robustness to unmodeled dynamics
Pushing ωgc higher also erodes phase margin faster than it buys bandwidth, because unmodeled high-frequency dynamics — structural resonances, sensor lag, computation delay — eat into the phase budget exactly where you're now asking the loop to operate. A loop with less than about 30° to 45° of phase margin typically shows the resonant T(s) peak described earlier, compounding noise amplification with reduced stability robustness at the same time.
What design techniques reduce high-frequency noise amplification?
The practical fix is never "make T(s) small everywhere" — that's impossible — but to shape where the S(s)/T(s) crossover happens and to filter noise before it reaches the controller. Four techniques cover most real designs.
Loop shaping to keep T(s) small above crossover
Design C(s) so that L(s) rolls off steeply (close to -40 dB/decade rather than -20 dB/decade) immediately past ωgc, which pushes T(s) down toward its asymptotic L(s)-following behavior sooner rather than lingering near 0 dB across a wide band.
Anti-aliasing and low-pass filtering in sensor paths
A low-pass filter on the measurement, with corner frequency set at or just above ωgc, attenuates the sensor noise before it enters the feedback comparison at all — this reduces the N(s) injected into T(s)·N(s) rather than trying to reshape T(s) itself. The filter adds phase lag, though, so its corner must be chosen with the same phase-margin budget as the rest of the loop.
Notch filters and resonance suppression
If the plant has a mechanical or electrical resonance near or above crossover — a common case in geared motor stages or LC output filters — a notch filter tuned to that resonant frequency prevents the T(s) peak from aligning with a frequency where the physical structure itself adds gain, avoiding a compounding amplification effect.
Practical limits on controller bandwidth
| Technique | Noise benefit | Cost |
|---|---|---|
| Lower ωgc | Pushes T(s)≈1 band to lower-noise region | Slower tracking, worse disturbance rejection |
| Sensor low-pass filter | Attenuates N(s) before controller | Adds phase lag, eats margin |
| Steeper L(s) roll-off | Shrinks T(s)≈1 bandwidth | Harder to tune, more controller order |
| Notch filter | Removes resonant T(s) peak | Only helps at one narrow frequency |
How do you detect and measure noise amplification in practice?
Noise amplification is visible on a Bode plot as the region where |T(jω)| sits near or above 0 dB, and it is confirmed in the time domain as high-frequency jitter riding on an otherwise settled output. Both checks belong in every commissioning procedure.
Bode plot interpretation: T(s) magnitude above ωgc
Plot |T(jω)| in dB against log(ω) and look at the band from roughly 0.1×ωgc to 10×ωgc — if there's a peak above 0 dB, that's your resonance amplifying noise at that specific frequency, and the peak height in dB tells you the amplification factor directly (a 6 dB peak means noise at that frequency doubles in amplitude at the output).
Time-domain observation of noise in closed-loop response
With the loop closed and the reference held at a constant setpoint, scope the output or encoder reading: a well-behaved loop shows a flat, quiet signal, while one suffering noise amplification shows visible high-frequency ripple or dither that wasn't present in the raw sensor reading measured open-loop (disconnect the control action and log sensor noise alone, then compare amplitude).
Trade-offs with stability margins and settling time
If reducing the T(s) peak requires pulling ωgc down, expect settling time to lengthen roughly in proportion — a loop that settled in 10 ms at ωgc = 500 Hz will typically settle slower, often by a factor close to the ratio of old to new crossover, once ωgc is dropped to curb noise amplification. Document both the Bode margin numbers and the time-domain settling measurement together, since neither alone tells you whether the trade-off was worth making.
Learning
Sign in to track your progress.
Evidence
Public projects engineers linked to Noise Amplification: T(s) at High Frequency.
No engineer has linked a project to this topic yet. Built something that proves it? Add the project and tag it with control-systems-noise-amplification-ts-at-high-frequency — it then shows here and on your public profile.
