FIR vs IIR filter

What’s the difference between an FIR and an IIR filter? When should you use one over the other?


FIR Filter (Finite Impulse Response):

  • Finite impulse response, output depends only on a finite number of input samples.
  • Always stable, linear phase response.
  • Filter coefficients are typically symmetrical, non-recursive structure.
  • Well-suited for applications requiring linear phase and precise frequency response control.

IIR Filter (Infinite Impulse Response):

  • Infinite impulse response, output depends on current and past inputs and outputs.
  • Can be unstable if not properly designed or implemented, may have nonlinear phase response.
  • Filter coefficients can be asymmetrical, recursive structure.
  • More computationally efficient, suitable for real-time processing and efficiency-sensitive applications.

Factors to consider:

  • Frequency response requirements: FIR for linear phase and precise control.
  • Stability: FIR for guaranteed stability.
  • Efficiency: IIR for computational efficiency, especially with higher-order filters.
  • Implementation constraints: Consider hardware/software limitations.