Properties of FIR filters
A Finite Impulse Response (FIR) filter is a digital filter whose output settles to zero after a finite number of samples when you feed it an impulse. This "finite duration" property is what distinguishes FIR filters from IIR filters and is the source of several desirable characteristics.
Three properties define FIR filter behavior:
- Linear phase response — achievable by design, preserving waveform shape across frequencies
- Inherent stability — guaranteed regardless of coefficient values, since there's no feedback
- Causality — output depends only on current and past inputs, making real-time processing possible
All of these properties trace back to the filter coefficients , which are the impulse response. Once you know those coefficients, you know everything about the filter.
Linear phase response
FIR filters can be designed so that the phase shift they introduce is a linear function of frequency. This matters because a linear phase means all frequency components of the signal are delayed by the same amount of time. Without it, different frequencies arrive at different times, distorting the waveform shape.
To achieve linear phase, the impulse response must satisfy one of two symmetry conditions:
- Symmetric (Type I/II):
- Antisymmetric (Type III/IV):
where is the filter length. Symmetric coefficients are used for standard lowpass/bandpass designs, while antisymmetric coefficients arise in differentiators and Hilbert transformers. The four "types" come from combining symmetric/antisymmetric with odd/even , and each type has constraints on where the response must be zero (e.g., Type III forces zeros at and ).
Stability of FIR filters
FIR filters are always stable. The reason is structural: there is no feedback path. The output is just a weighted sum of a finite number of input samples, so it can never diverge or oscillate on its own.
Contrast this with IIR filters, where feedback means the output feeds back into the computation. If the poles of an IIR filter land outside the unit circle, the output blows up. FIR filters have no poles (other than the trivial ones at ), so this failure mode simply doesn't exist. As long as the coefficients are finite real numbers, stability is guaranteed.
Causality in FIR filters
A causal system produces output based only on the current and past input samples. For an FIR filter, this means:
In practice, every real-time FIR implementation is causal. The impulse response starts at and ends at . Non-causal FIR filters do appear in offline processing (where you have access to the entire signal), but for any application where you compute output sample-by-sample as data arrives, causality is required.
Impulse response of FIR filters
The impulse response is the filter's output when the input is a unit impulse . For an FIR filter, this response completely characterizes the system: the frequency response, phase behavior, and input-output relationship all follow directly from .
Finite duration
The impulse response is nonzero only over the interval to , giving it a finite duration of samples. The filter order is .
There's a direct trade-off here: a longer impulse response (larger ) gives you sharper frequency selectivity and deeper stopband attenuation, but it costs more multiplications per output sample and introduces a longer group delay of samples.
Transfer function of FIR filters
The transfer function is the z-transform of the impulse response:
This is a polynomial in of degree . The coefficients of this polynomial are exactly the impulse response values .
Zeros of the transfer function
Since is a polynomial (no denominator other than ), FIR filters have only zeros and trivial poles at the origin. IIR filters, by contrast, have both nontrivial poles and zeros.
The placement of zeros in the z-plane controls the frequency response:
- Zeros near the unit circle create deep nulls at the corresponding frequency, producing sharp attenuation.
- Zeros far from the unit circle have a gentler effect on the magnitude response.
- For linear-phase FIR filters, zeros appear in conjugate reciprocal pairs (if is a zero, so is ), which enforces the required coefficient symmetry.
Difference equation for FIR filters
The time-domain input-output relationship of an FIR filter of order is:
Each output sample is a weighted sum of the current input and the previous input samples. The weights are the filter coefficients . There are no output feedback terms (no on the right side), which is what makes it FIR rather than IIR.
Convolution and FIR filters
The difference equation above is exactly the definition of discrete convolution:
Convolution in the time domain corresponds to multiplication in the frequency domain:
This duality is what makes FFT-based filtering practical. For long input signals and high-order filters, computing the convolution directly ( multiplies per sample) becomes expensive. Instead, you can:
- FFT the input block and the impulse response
- Multiply the spectra pointwise
- Inverse FFT to get the output
Overlap-add and overlap-save methods handle the block boundaries. This approach reduces complexity from to for a block of samples.
Frequency response of FIR filters
The frequency response is obtained by evaluating the transfer function on the unit circle, substituting :
This is a complex-valued function of the angular frequency (in radians per sample), and it splits into magnitude and phase components.

Magnitude response
The magnitude response gives the filter's gain at each frequency:
This determines the passband (frequencies passed with near-unity gain), the stopband (frequencies attenuated), the cutoff frequency, transition bandwidth, and stopband attenuation depth.
Phase response
The phase response gives the phase shift at each frequency:
For a linear-phase FIR filter, this simplifies to , meaning the group delay is constant at samples across all frequencies.
FIR filter design methods
Designing an FIR filter means finding the coefficients that approximate a desired frequency response while meeting constraints on passband ripple, stopband attenuation, and transition width.
Window method
The window method is the most intuitive design approach:
- Start with the ideal (infinite-length) impulse response for your desired frequency response (e.g., an ideal lowpass has a sinc-shaped impulse response).
- Truncate it to samples.
- Multiply by a window function to control the spectral leakage caused by truncation.
The window you choose determines the trade-off between transition bandwidth and stopband attenuation.
Rectangular window
The simplest window: all values equal to 1. It gives the narrowest main lobe (sharpest transition) but the worst sidelobe levels (about dB), resulting in poor stopband attenuation. Rarely used in practice for filter design.
Hamming window
A widely used window that achieves about dB peak sidelobe level and roughly dB stopband attenuation. The transition band is wider than the rectangular window, but the stopband behavior is far better.
Hann window
Similar to Hamming but with slightly wider main lobe and lower sidelobes (first sidelobe at about dB, but sidelobes fall off faster). Stopband attenuation is around dB.
Blackman window
Provides excellent stopband attenuation (about dB) at the cost of the widest main lobe among these fixed windows. Use it when deep stopband rejection matters more than a sharp transition.
Kaiser window
A parametric window controlled by the parameter . It's defined using the zeroth-order modified Bessel function of the first kind, :
The Kaiser window is uniquely flexible: you can specify a desired stopband attenuation and transition width, then compute and using Kaiser's empirical formulas. Higher gives deeper stopband attenuation but a wider transition band.
Frequency sampling method
This method specifies the desired frequency response at equally spaced frequency points, then obtains the filter coefficients via the inverse DFT. You get exact control at the sampled frequencies, but ripples can appear between them. Transition samples (values between 0 and 1 at band edges) are often introduced to reduce these ripples.
Weighted least squares method
This method minimizes the weighted squared error between the desired and actual frequency responses:
The weighting function lets you prioritize accuracy in certain bands. For example, you might weight the passband more heavily than the stopband, or vice versa. This yields a least-squares optimal solution but does not guarantee equiripple behavior.
Parks-McClellan algorithm
The Parks-McClellan algorithm (also called the Remez exchange algorithm) designs optimal equiripple FIR filters. Instead of minimizing total squared error, it minimizes the maximum weighted error (Chebyshev criterion):
The result is a filter where the approximation error ripples with equal amplitude across both the passband and stopband. This is optimal in the minimax sense: no other filter of the same order can achieve a smaller maximum error. The algorithm iterates using the Remez exchange to find the extremal frequencies where the error peaks.
For a given filter order, Parks-McClellan typically produces sharper transitions than window-based designs.
FIR filter implementation
Once you have the coefficients, you need to implement the filter efficiently. The choice of structure affects latency, numerical precision, and hardware resource usage.
Direct form structure
The most straightforward implementation: it directly computes the difference equation.
- Uses a tapped delay line: the input passes through delay elements ()
- Each delayed sample is multiplied by the corresponding coefficient
- All products are summed to produce the output
Per output sample, this requires multiplications and additions. For a linear-phase filter, the coefficient symmetry can be exploited to nearly halve the number of multiplications.
Transposed structure
Obtained by reversing the signal flow graph of the direct form: flip all arrows, swap input and output, replace delays with advances (then re-interpret as delays in the reversed graph).
The transposed form has the same input-output behavior but different internal signal flow. Its advantages:
- Lower latency — the input is immediately multiplied by all coefficients in parallel, rather than propagating through a delay chain
- Better numerical properties — round-off errors accumulate differently, often resulting in lower output noise in fixed-point implementations

Polyphase decomposition
Polyphase decomposition splits the filter into subfilters (polyphase components), each operating at a lower rate. The impulse response is partitioned as:
where each contains every -th coefficient starting from index .
This is especially powerful in multirate applications. For decimation by , polyphase decomposition lets you filter after downsampling each subfilter's output, reducing the total computation by a factor of .
Multirate techniques
Multirate processing changes the sampling rate of a signal:
- Interpolation by : Insert zeros between each sample (upsampling), then apply a lowpass FIR filter with gain and cutoff to remove imaging artifacts.
- Decimation by : Apply a lowpass FIR filter with cutoff to prevent aliasing, then keep every -th sample (downsampling).
Polyphase decomposition combined with the noble identities (which allow you to move downsamplers/upsamplers past filters) dramatically reduces computation. Without polyphase, you'd be filtering at the higher rate; with it, each polyphase branch operates at the lower rate.
Comparison of FIR and IIR filters
The choice between FIR and IIR depends on what your application demands. Here's how they compare:
Advantages of FIR filters
- Exact linear phase is achievable, preserving waveform shape (IIR filters cannot have exactly linear phase)
- Guaranteed stability with no design effort needed to ensure it
- Lower sensitivity to coefficient quantization and round-off noise, which matters in fixed-point hardware
- Constant group delay across all frequencies (for linear-phase designs)
- Straightforward design using well-understood methods (windowing, Parks-McClellan)
Disadvantages of FIR filters
- Higher order required for equivalent selectivity: an IIR filter might need order 6 to match what an FIR filter achieves at order 60 or more
- Greater computational cost per output sample due to the higher order
- Longer group delay, which can be problematic in real-time control or low-latency audio applications
- More memory needed to store both the coefficients and the delay line
The rule of thumb: if you need linear phase or guaranteed stability, use FIR. If you need a sharp filter with minimal delay and can tolerate nonlinear phase, IIR may be more efficient.
Applications of FIR filters
Audio signal processing
FIR filters are standard in audio processing because linear phase avoids the phase smearing that can color the sound. Common uses include graphic and parametric equalizers, crossover networks in loudspeaker systems, noise reduction, and echo cancellation. The constant group delay ensures that transients (like drum hits) maintain their shape.
Image processing
Two-dimensional FIR filters operate on image pixels using a coefficient matrix (kernel). Examples include Gaussian smoothing (blurring), Laplacian kernels for edge detection, and unsharp masking for sharpening. The 2D convolution is separable for many common kernels, meaning a 2D filter can be decomposed into two 1D filters applied sequentially (rows then columns), reducing computation significantly.
Biomedical signal processing
Physiological signals like ECG, EEG, and EMG are often contaminated by noise and artifacts. FIR filters are used for:
- Lowpass filtering to remove high-frequency muscle noise from ECG
- Highpass filtering to eliminate baseline wander (slow drift) in ECG
- Bandpass filtering to isolate specific brain rhythms in EEG (e.g., alpha band: 8-13 Hz)
Linear phase is particularly important here because phase distortion can alter waveform morphology, leading to incorrect clinical interpretation.
Radar signal processing
FIR filters appear in radar for matched filtering (maximizing signal-to-noise ratio for a known transmitted waveform), pulse compression (improving range resolution without increasing peak power), and moving target indication (MTI) filters that suppress returns from stationary clutter while passing Doppler-shifted returns from moving targets.