IIR Filter Design
Infinite Impulse Response Filter Design · Also known as: IIR Design, Recursive filter design, Feedback filter
Infinite Impulse Response (IIR) filters are recursive digital filters that use feedback to achieve sharp frequency response characteristics with minimal filter order. Unlike FIR filters which depend only on past inputs, IIR filters also use past output values, allowing them to achieve steep rolloff with fewer coefficients. However, this feedback structure requires careful stability analysis.
Read the full method
Sign in with a free account to read this section.
Method map
The neighbourhood of related methods — select a node to explore.
When to use it
Use IIR filters when you need efficient filtering with sharp cutoff and can accept nonlinear phase response or implement all-pass filters for phase correction. They are ideal for real-time applications with computational constraints, anti-aliasing filters, and systems where low latency is important. Avoid IIR filters when phase linearity is critical or when stability concerns outweigh efficiency gains.
Strengths & limitations
- Achieves sharp frequency cutoff with significantly lower filter order than FIR filters
- Highly computationally efficient with minimal memory requirements
- Well-established design methodology using proven analog filter prototypes
- Ideal for real-time applications with strict latency constraints
- Flexible pole-zero placement allows custom frequency response shaping
- Potential instability if poles are incorrectly placed outside the unit circle
- Nonlinear phase response introduces phase distortion of the signal
- Susceptible to coefficient quantization errors, especially with high-order filters or poles near the unit circle
- More complex implementation than FIR due to stability considerations and potential numerical issues
- Limit cycle oscillations can occur in fixed-point implementations
Frequently asked
What is the bilinear transformation and why is it used?
The bilinear transformation maps the s-plane (continuous-time domain) to the z-plane (discrete-time domain) using the formula z = (1 + s·Ts/2)/(1 - s·Ts/2), where Ts is the sampling period. It preserves the stability and magnitude response characteristics of analog filters while converting them to digital equivalents, avoiding aliasing that occurs with simpler sampling methods.
How do I ensure an IIR filter remains stable?
A digital IIR filter is stable if and only if all poles of its transfer function lie strictly inside the unit circle (|z| < 1) in the z-plane. After designing the filter, plot the pole-zero diagram and verify no poles exceed the unit circle radius. Using cascaded second-order sections rather than direct form helps maintain numerical stability during implementation.
Can I use an all-pass filter to correct the phase of an IIR filter?
Yes, all-pass filters can be cascaded with an IIR filter to provide phase correction while preserving the magnitude response. An all-pass filter has all poles and zeros at reciprocal locations (if there's a pole at z=p, there's a zero at z=1/p*), making its magnitude response flat while allowing phase adjustment.
What are second-order sections and why are they preferred?
Second-order sections (biquads) are cascade combinations of first and second-order transfer functions. Breaking a high-order IIR filter into cascaded biquads reduces numerical sensitivity to coefficient quantization and improves stability. Each biquad handles lower-order transfer functions, making the implementation more robust than direct-form realizations of high-order filters.
Sources
How to cite this page
ScholarGate. (2026, June 3). Infinite Impulse Response Filter Design. ScholarGate. https://scholargate.app/en/signal-processing/iir-filter-design
Which method?
Set this method beside its closest kin and read them side by side — the library lays the books on the table; the choice is yours.
- Butterworth Filter DesignSignal Processing↔ compare
- Chebyshev Filter DesignSignal Processing↔ compare
- FIR Filter DesignSignal Processing↔ compare
- Wiener FilterSignal Processing↔ compare