Active Noise Cancellation
An ANC headset fights noise with anti-noise: an inverted copy of the incoming sound, played so its peaks land on the noise’s troughs. The catch is timing — the anti-noise has to arrive at your eardrum at the same instant. Every microsecond the mic→chip→speaker loop takes becomes a phase error that grows with frequency, and past a point the “anti-noise” stops cancelling and starts adding. Drag the latency slider and watch the cancellation collapse.
Noise & controller
Loop latency — the time the system takes to respond: reference mic → ADC → processing → DAC → speaker. Anti-noise gain — how loud the inverted copy is played; it should sit at ×1.00 to exactly match the noise (any mismatch leaves a floor of |1−g|). Cancellation only works below f ≈ 1/(6·Δt), so killing noise up to ~1 kHz needs under ~170 µs — which is why ANC leans on analog or per-sample processing rather than large DSP blocks.
The acoustic path
The noise travels left→right toward your ear. The reference mic catches it on the way in, giving the controller a head-start — the sound’s travel time between the mics (d/c ≈ 0.23 ms) — to compute the anti-noise the speaker plays. The error mic at the ear reports the leftover residual so the filter can adapt. The latency slider above is the electronic loop delay; what actually matters is whatever timing error is left after that head-start.
Waveforms at the eardrum
Cancellation spectrum
The curve is the controller’s transfer function: how much it cuts (below 0 dB, green) or boosts (above 0 dB, red) each frequency, for the current latency and gain. Dots mark the tones you’ve set.
Result
What you're looking at
- Anti-noise is just the noise flipped upside down. Where a peak meets a trough the air pressure cancels — but only if the two arrive at the same instant. A fixed loop delay
Δtspoils that alignment. - The delay becomes a phase error that grows with frequency:
φ = 360° · f · Δt. Just 1 ms of latency is already a full 180° at 500 Hz — there the anti-noise lands exactly in phase and adds +6 dB instead of cancelling. - With matched gain the residual is
2·sin(π f Δt)of the original. You only get real attenuation belowf ≈ 1/(6Δt)— that’s your cancellation band. Slide the latency up and watch the green band shrink toward zero. - Timing isn’t enough — amplitude has to match too. An anti-noise gain that’s off by a factor
gleaves a floor of|1−g|no matter how perfect the timing (±10% → only −20 dB). - This is why ANC owns low-frequency rumble — jet cabins, engines, HVAC — and ignores hiss, and why the latency budget is brutal: a single 64-sample block at 48 kHz is already 1.3 ms.
- Feedforward placement buys time: a reference mic a few centimetres upstream gives the controller an acoustic head-start, so part of the loop delay is “free” and the band widens. Feedback ANC has no look-ahead, so its delay bites in full. Toggle the two and watch the band move.