Finite Impulse Response Filters
What Are Finite Impulse Response Filters?
Finite impulse response (FIR) filters are digital filters whose outputs are computed as weighted sums of a finite number of past and present input samples, with no feedback from previous output values. Given an impulse as input, each such filter produces a response that reaches zero after exactly N steps, where N is the number of filter taps, hence the name. This architecture makes FIR filters unconditionally stable and capable of achieving exactly linear phase response, two properties not simultaneously guaranteed by feedback-based filter designs. FIR filters are found throughout digital signal processing systems wherever predictable delay characteristics and guaranteed stability are required.
The mathematical basis for FIR filters rests on discrete convolution and the Z-transform. A causal FIR filter of length N computes each output sample as the inner product of the N most recent input samples with a fixed coefficient vector. The frequency response of the filter is the discrete-time Fourier transform of this coefficient sequence, so the design problem reduces to finding a finite-length sequence whose transform approximates a target frequency response. Discrete wavelet transforms, one of the related topics for this subject, rely heavily on FIR filter banks to decompose and reconstruct signals at multiple scales.
Linear Phase and Symmetric Coefficients
A defining feature of FIR filters is the possibility of achieving exactly linear phase, meaning that all frequency components are delayed by the same fixed number of samples as they pass through the filter. This requires that the coefficient sequence be either symmetric or antisymmetric about its midpoint. Four standard types emerge from the combinations of even/odd filter length and symmetric/antisymmetric coefficients, each suited to a different class of specifications. Linear phase preserves the temporal shape of filtered signals and is essential in audio, biomedical signal processing, and digital communications, where group delay variation would distort the information content. The theoretical framework for these four types is covered in MATLAB's FIR filter design documentation, which also provides design function references.
Design and Approximation Techniques
The window method is the most accessible FIR design approach: it multiplies the theoretically ideal (infinite-duration) impulse response by a finite window function, truncating the response to N samples. Common windows include the rectangular, Hamming, Hann, Blackman, and Kaiser windows, with the Kaiser window offering a single shape parameter that controls the tradeoff between transition width and stopband attenuation. For more demanding specifications, the Parks-McClellan algorithm produces equiripple designs that minimize the maximum deviation from the desired frequency response across specified bands, meeting a Chebyshev approximation criterion. A frequency-sampling approach specifies the desired gain at N uniformly spaced frequencies and solves for the coefficients, making it natural for designs that must pass or reject particular tones exactly. Worked examples of all three methods appear in the DSPRelated free online digital filters book.
Implementation and Efficiency
FIR filters map naturally onto hardware because each output sample requires only multiplications and additions with no feedback, permitting fully pipelined and parallel implementations. Long FIR filters, which may need hundreds to thousands of taps for sharp narrowband specifications, are efficiently realized using fast convolution: the input signal and coefficient sequence are transformed to the frequency domain using the FFT, multiplied pointwise, and transformed back, reducing the per-sample arithmetic from O(N) to O(log N) for long blocks. Polyphase decompositions allow rate-changing filters, such as those used in sample-rate conversion, to reduce computation by operating at the lower of the input and output rates. These structures are widely deployed on DSP processors and FPGAs for real-time signal processing.
Applications
Finite Impulse Response Filters have applications in a range of fields, including:
- Multirate signal processing and sample-rate conversion
- Discrete wavelet transform filter banks for audio and image compression
- Channel equalization in wireless and wireline communications
- Anti-aliasing and reconstruction filtering in data acquisition systems
- Matched filtering in radar and sonar receivers