An adaptive filter is a filter that self-adjusts its transfer function according to an optimization algorithm driven by an error signal. Because of the complexity of the optimization algorithms, most adaptive filters are digital filters. By way of contrast, a non-adaptive filter has a static transfer function. Adaptive filters are required for some applications because some parameters of the desired processing operation (for instance, the locations of reflective surfaces in a reverberant space) are not known in advance. The adaptive filter uses feedback in the form of an error signal to refine its transfer function to match the changing parameters.

Generally speaking, the adaptive process involves the use of a cost function, which is a criterion for optimum performance of the filter, to feed an algorithm, which determines how to modify filter transfer function to minimize the cost on the next iteration.

As the power of digital signal processors has increased, adaptive filters have become much more common and are now routinely used in devices such as mobile phones and other communication devices, camcorders and digital cameras, and medical monitoring equipment.

## Example application

Suppose a hospital is recording a heart beat (an ECG), which is being corrupted by a 60 Hz noise (the frequency coming from the power supply in many countries). However, due to slight variations in the power supply to the hospital, the noise signal may contain harmonics of the noise and the exact frequency of the noise may vary.

One way to remove the noise is to filter the signal with a notch filter at 60 Hz. Such a static filter would need to remove all the frequencies in the vicinity of 60 Hz, which could excessively degrade the quality of the ECG since the heart beat would also likely have frequency components in the rejected range.

To circumvent this potential loss of information, an adaptive filter could be used. The adaptive filter would take input both from the patient and from the power supply directly and would thus be able to track the actual frequency of the noise as it fluctuates. Such an adaptive technique generally allows for a filter with a smaller rejection range, which means, in our case, that the quality of the output signal is more accurate for medical diagnoses .

## Block diagram

The block diagram, shown in the following figure, serves as a foundation for particular adaptive filter realisations, such as Least Mean Squares (LMS) and Recursive Least Squares (RLS). The idea behind the block diagram is that a variable filter extracts an estimate of the desired signal.

To start the discussion of the block diagram we take the following assumptions:

• The input signal is the sum of a desired signal $d(n)$ and interfering noise $v(n)$
$x(n) = d(n)+v(n)$
• The variable filter has a Finite Impulse Response (FIR) structure. For such structures the impulse response is equal to the filter coefficients. The coefficients for a filter of order $p$ are defined as
$\mathbf{w}_{n}=\left[w_{n}(0),\,w_{n}(1),\, ...,\,w_{n}(p)\right]^{T}$.
• The error signal or cost function is the difference between the desired and the estimated signal
$e(n) = d(n)-\hat{d}(n)$

The variable filter estimates the desired signal by convolving the input signal with the impulse response. In vector notation this is expressed as

$\hat{d}(n) = \mathbf{w}_{n}*\mathbf{x}(n)$

where

$\mathbf{x}(n)=\left[x(n),\,x(n-1),\,...,\,x(n-p)\right]^{T}$

is an input signal vector. Moreover, the variable filter updates the filter coefficients at every time instant

$\mathbf{w}_{n+1} = \mathbf{w}_{n}+\Delta\mathbf{w}_{n}$

where $\Delta\mathbf{w}_{n}$ is a correction factor for the filter coefficients. The adaptive algorithm generates this correction factor based on the input and error signals. LMS and RLS define two different coefficient update algorithms.