Lowpass Filter Design

We have discussed in detail (Chapter 1) the simplest lowpass filter, having the transfer function with one zero at and one pole at . From the graphical method for visualizing the amplitude response (§8.2), we see that this filter totally rejects signal energy at half the sampling rate, while lower frequencies experience higher gains, reaching a maximum at . We also see that the pole at has no effect on the amplitude response.

A *high quality* lowpass filter should look more like the ``box
car'' amplitude response shown in Fig.1.1. While it is
impossible to achieve this ideal response exactly using a finite-order
filter, we can come arbitrarily close. We can expect the amplitude
response to improve if we add another pole or zero to the
implementation.

Perhaps the best known ``classical'' methods for lowpass filter
designs are those derived from analog *Butterworth*,
*Chebyshev*, and *Elliptic Function* filters
[64]. These generally yield IIR filters with the same number
of poles as zeros. When an *FIR* lowpass filter is desired, different
design methods are used, such as the
*window method*
[68, p. 88]
(Matlab functions `fir1` and `fir2`),
*Remez exchange algorithm*
[68, pp. 136-140], [64, pp. 89-106]
(Matlab functions `firpm`, `firpmord`, and `cfirpm`),
*linear programming*
[93], [68, p. 140],
and *convex optimization* [67]. This
section will describe only Butterworth IIR lowpass design in some detail.
For the remaining classical cases (Chebyshev, Inverse Chebyshev, and
Elliptic), see, *e.g.*, [64, Chapter 7] and/or Matlab/Octave functions
`butter`,
`cheby1`,
`cheby2`, and
`ellip`.

[How to cite this work] [Order a printed hardcopy] [Comment on this page via email]

Copyright ©

Center for Computer Research in Music and Acoustics (CCRMA), Stanford University