In digital signal processing (
DSP), the impulse response of a
channel or
filter provides a
characterization of the filter. It describes the effects of a filter on a signal passed through it. One common
application is to
measure the impulse response of a
channel, such as a wire or cable, and use the measured impulse response to reconstruct data transmitted over the channel: this process is known as
channel equalization and is an essential part of modern
communication technology such as
ADSL. Knowing the impulse response is also useful if you want to make a
digital copy of an
analog filter.
In mathematical terms, the impulse response is convolved with the signal entering the channel to give the output signal. Since convolution can be expressed as a sum of products (it is equivalent to polynomial multiplication), it is possible to calculate the impulse response if the transmitted signal is known, and by performing an inverse operation we can obtain the data transmitted. If we denote the channel impulse response by I, the data transmitted by X, the data received by Y and convolution by *, then
Y = X * I.
We can then calculate a filter F such that:
Y * F = X * I * F = X.
This is the principle behind channel equalization; however in practice it is complicated by the need to work with necessarily imprecise values for the received data and filter coefficients. FIR (Finite Impulse Response) filters are commonly used for equalization because the impulse response of an FIR filter equals the filter coefficients.
The simplest way of measuring the impulse response of a channel is to pass an impulse through it. The output from the channel will equal the impulse response of the channel, hence the name "impulse response". An alternative method is to transmit another (generally periodic) signal. Because of the mathematical results mentioned above, it is then possible to calculate the impulse response F such that Y = X * F, if X and Y are known. However, the calculation of F is not trivial. It is usually done either by using a Fourier Transform and the properties of convolution to perform the calculation in the frequency domain, or using special methods to efficiently calculate matrix inverses.