Next  |  Prev  |  Top  |  Index  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search


FIR Digital Filter Design

FIR filters are basic in spectral audio signal processing. In fact, the fastest way to implement long FIR filters in conventional CPUs5.1 is by means of FFT convolution. The convolution theorem for Fourier transforms2.3.5) states that the convolution of an input signal $ x$ with a filter impulse-response $ h$ is given by the inverse DTFT of the product of the signal's spectrum $ X(\omega)$ times the filter's frequency response $ H(\omega)$ , i.e.,

$\displaystyle y(n) \eqsp \hbox{\sc DTFT}^{-1}_n(H\cdot X) \isdefs \frac{1}{2\pi}\int_{-\pi}^{\pi} H(\omega)X(\omega)e^{j\omega n} d\omega,$ (5.1)

where

\begin{eqnarray*}
H(\omega) &=& \hbox{\sc DTFT}_\omega(h) \eqsp \mbox{filter frequency response},\;
\omega\in[-\pi,\pi)\\
X(\omega) &=& \hbox{\sc DTFT}_\omega(x) \eqsp \mbox{input-signal spectrum}\\
y(n) &=& \mbox{output signal at time $n\in\mathbb{Z}$\ (any integer),}
\end{eqnarray*}

and the DTFT is defined as (§2.1)

$\displaystyle X(\omega) \isdefs \hbox{\sc DTFT}_\omega(x) \isdefs \sum_{n\in\mathbb{Z}} x(n)\, e^{-j\omega n}.$ (5.2)

As usual with the DTFT, the sampling rate is assumed to be $ f_s=1$ . In practice, the DTFT is used in sampled form, $ \omega \to
\omega_k = 2\pi k/N$ , replacing the DTFT with a (zero-padded) FFT, as will be discussed in Chapter 8. To make the most of FFT processors for FIR filter implementation, we will need flexible ways to design many kinds of FIR filters.

This chapter provides a starting point in the area of FIR digital filter design. The so-called ``window method'' for FIR filter design, also based on the convolution theorem for Fourier transforms, is discussed in some detail, and compared with an optimal Chebyshev method. Other methods, such as least-squares, are discussed briefly to provide further perspective. Tools for FIR filter design in both Octave and the Matlab Signal Processing Toolbox are listed where applicable. For more information on digital filter design, see, e.g., the documentation for the Matlab Signal Processing Toolbox and/or [263,283,32,204,275,224,198,258].



Subsections
Next  |  Prev  |  Top  |  Index  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

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

``Spectral Audio Signal Processing'', by Julius O. Smith III, W3K Publishing, 2011, ISBN 978-0-9745607-3-1.
Copyright © 2022-02-28 by Julius O. Smith III
Center for Computer Research in Music and Acoustics (CCRMA),   Stanford University
CCRMA