In signal processing, the impulse response of equipment or software is a graphical, numerical, or mathematical representation of the output signal (usually, the amplitude of the output signal) of that equipment or software after an impulse is sent to it as the input signal.

## Impulse

To send an impulse signal means to send a signal that is zero everywhere except at a specific point of time. For example, the Dirac delta function (the "unit impulse function") in mathematics is a function that is zero everywhere except at zero, where it is infinitely large. In the discrete realm, the Kronecker delta function of two integers is zero everywhere except when the two integers are equal. Both functions are examples of impulse functions.

The Kronecker delta function can also be described as a function of one integer argument and with values of zero everywhere, except at zero, where it is equal to one. It is:

$$\delta(i)=\begin{cases} 0, i \ne 0 \\ 1, i = 0 \end{cases}$$

In the digital realm then an impulse would be the signal:

…, 0, 0, …, 0, 1, 0, …, 0, 0, …

which means sending a bunch of zeroes with a single 1 somewhere in between.

Sending an impulse to a piece of equipment or software will result in some output signal. This output signal is the impulse response of the equipment or software.

## Example: impulse response of a finite impulse response digital filter

A finite impulse response digital filter typically computes the output signal as the weighted average of previous samples of the input filter. The computations of the filter can usually be written as

$$output \, sample \, at \, n = \sum_{k=0}^{N-1} w(k) \, input \, sample \, at \, (n-(N-k))$$

where w(k) are the filter weights (in other words, the filter itself) and N is the number of filter points. It is easy to see that if we send an impulse of a bunch of zeroes and a single 1 to the filter the end result would just be w(0), w(1), …, w(N – 1). Thus, the impulse response of this filter would be the digital signal with values w(0), w(1), …, w(N – 1). For example, if the filter weights are computed with the usual low pass filter formula

$$w(k)=\begin{cases} \frac{sin(2\pi\frac{f}{fs}(k-\frac{N-1}{2}))}{\pi (k-\frac{N-1}{2})}, k \ne \frac{N-1}{2} \\ 2\frac{f}{fs}, k = \frac{N-1}{2} \end{cases}$$

then a plot of this filter for length N = 101 points, sampling frequency fs = 2000 Hz, and a low pass cutoff frequency f = 40 Hz is as follows.

This plot is also a plot of the filter's impulse response and is the signal that will come out of the filter when an impulse is sent to it. The fact that the impulse response settles to zero in a finite number of points (N in this example) is what gives the name "finite impulse response (FIR) filter" to this particular filter.

## Example: impulse response of a digital Butterworth filter

Consider the Butterworth low-pass filter that uses the formula

$$y(n) = 0.245 \, x(n-1) +1.1581 \, y(n-1)-0.4113 \, y(n-2)$$

In other words, the filtered value at sample n – y(n) – is equal to the weighted sum of the unfiltered value at the previous sample x(n-1), the filtered value at the previous sample y(n-1) and the filtered value two samples before y(n-2). This filter is "recursive", which means that its values depend not only on the input to the filter (x), but also on its previous outputs (y). Sending an impulse through this filter will produce the following impulse response.

This filter has an impulse response that: 1) unlike the impulse response in the first example, is not the same as the filter coefficient; and 2) has the potential to be infinitely long and never settle to zero (thus, this filter is an "infinite impulse response (IIR) one", even though in practice digital music can only take a finite number of amplitude values and so the digital filter will have to settle to zero at some point, if it settles at all).

## Add new comment