Infinite impulse response (IIR) filters, also known as recursive filters, operate on current and past input values and current and past output values. The impulse response of an IIR filter is the response of the general IIR filter to an impulse, as the following equations define impulse:

*x*_{0} = 1

*x*_{i} = 0

for all *i* ≠ 0.

Theoretically, the impulse response of an IIR filter never reaches zero and is an infinite response.

The following general difference equation characterizes IIR filters.

where *b*_{j} is the set of forward coefficients, *N*_{b} is the number of forward coefficients, *a*_{k} is the set of reverse coefficients, and *N*_{a} is the number of reverse coefficients.

The impulse equations describe a filter with an impulse response of theoretically infinite length for nonzero coefficients. However, in practical filter applications, the impulse response of a stable IIR filter decays to near zero in a finite number of samples.

In most IIR filter designs, coefficient *a*_{0} is 1. The output sample at the current sample index *i* is the sum of scaled current and past inputs and scaled past outputs, as shown by the following equation.

where *x*_{i} is the current input, *x*_{i - j} is the past inputs, and *y*_{i - k} is the past outputs.

IIR filters might have ripple in the passband, the stopband, or both. IIR filters have a nonlinear-phase response.