An "Interference Canceller" provides a computationally efficient real-time
technique for removing stationary-tone interference from signals. Typical
sources of stationary tone contamination of signals include noise from
power wiring (i.e., 50/60 Hz or 400 Hz and their harmonics), frame or
line frequencies from electronic devices, and noise from computer fans,
hard disk drives, etc. In general, the Interference Canceller adaptively
builds and updates a model of stationary tone interference in consecutive
frames of an input signal. This adaptively updated model is then used to
extrapolate and subtract noise from subsequent frames of the input signal
to generate a "clean" output signal. This output signal exhibits
significant attenuation of stationary tone interference without
eliminating important portions of the underlying signal or distorting the
underlying signal with artifacts such as musical noise or nonlinear
distortions. The Interference Canceller is applicable for use either
alone, or as pre-processor to conventional noise suppression.