Signal Processing Toolbox Previous page   Next Page

IIR Filter Design

The primary advantage of IIR filters over FIR filters is that they typically meet a given set of specifications with a much lower filter order than a corresponding FIR filter. Although IIR filters have nonlinear phase, data processing within MATLAB is commonly performed "off-line," that is, the entire data sequence is available prior to filtering. This allows for a noncausal, zero-phase filtering approach (via the filtfilt function), which eliminates the nonlinear phase distortion of an IIR filter.

The classical IIR filters, Butterworth, Chebyshev Types I and II, elliptic, and Bessel, all approximate the ideal "brick wall" filter in different ways. This toolbox provides functions to create all these types of classical IIR filters in both the analog and digital domains (except Bessel, for which only the analog case is supported), and in lowpass, highpass, bandpass, and bandstop configurations. For most filter types, you can also find the lowest filter order that fits a given filter specification in terms of passband and stopband attenuation, and transition width(s).

The direct filter design function yulewalk finds a filter with magnitude response approximating a desired function. This is one way to create a multiband bandpass filter.

You can also use the parametric modeling or system identification functions to design IIR filters. These functions are discussed in Parametric Modeling.

The generalized Butterworth design function maxflat is discussed in the section Generalized Butterworth Filter Design.

The following table summarizes the various filter methods in the toolbox and lists the functions available to implement these methods.

Filter Method
Description
Filter Functions
Analog Prototyping
Using the poles and zeros of a classical lowpass prototype filter in the continuous (Laplace) domain, obtain a digital filter through frequency transformation and filter discretization.
Complete design functions:
besself, butter, cheby1, cheby2, ellip
Order estimation functions:
buttord, cheb1ord, cheb2ord, ellipord
Lowpass analog prototype functions:
besselap, buttap, cheb1ap, cheb2ap, ellipap
Frequency transformation functions:
lp2bp, lp2bs, lp2hp, lp2lp
Filter discretization functions:
bilinear, impinvar
Direct Design
Design digital filter directly in the discrete time-domain by approximating a piecewise linear magnitude response.
yulewalk
Generalized Butterworth Design
Design lowpass Butterworth filters with more zeros than poles.
maxflat
Parametric Modeling
Find a digital filter that approximates a prescribed time or frequency domain response. (See the System Identification Toolbox documentation for an extensive collection of parametric modeling tools.)
Time-domain modeling functions:
lpc, prony, stmcb
Frequency-domain modeling functions:
invfreqs, invfreqz


Previous page  Filter Requirements and Specification Classical IIR Filter Design Using Analog Prototyping Next page

© 1994-2005 The MathWorks, Inc.