NOTE: THIS DOCUMENT IS OBSOLETE, PLEASE CHECK THE NEW VERSION: "The Digital Audio Resampling Home Page", by Julius O. Smith III, Copyright © 2016-05-17 by Julius O. Smith III - Center for Computer Research in Music and Acoustics (CCRMA), Stanford University
<< Previous page TOC Next page >>
From Theory to Practice
The summation in Eq. (1) cannot be implemented in practice because the ``ideal lowpass filter'' impulse response actually extends from minus infinity to infinity. It is necessary in practice to windowthe ideal impulse response so as to make it finite. This is the basis of the window method for digital filter design[Digital Signal Processing Committee 1979a,Rabiner and Gold 1975]. While many other filter design techniques exist, the window method is simple and robust, especially for very long impulse responses. In the case of the algorithm presented below, the filter impulse response is very long because it is heavily oversampled. Another approach is to design optimal decimated ``sub-phases'' of the filter impulse response, which are then interpolated to provide the ``continuous'' impulse response needed for the algorithm [Putnam and Smith 1997].
Figure 3 shows the frequency response of the ideal lowpass filter. This is just the Fourier transform of .
If we truncate at the fifth zero-crossing to the left and the right of the origin, we obtain the frequency response shown in Fig. 4. Note that the stopband exhibits only slightly more than 20 dB rejection.
Figure 4:Frequency response of the ideal lowpass filter after rectangularly windowing the ideal (sinc) impulse response at the fifth zero crossing to the left and right of the time origin. The vertical axis is in units of decibels(dB), and the horizontal axis is labeled in units of spectral samples between plus and minus half the sampling rate.
If we instead use the Kaiser window [Kaiser 1974,Smith 1992] to taper to zero by the fifth zero-crossing to the left and the right of the origin, we obtain the frequency response shown in Fig. 5. Note that now the stopband starts out close to dB. The Kaiser window has a single parameter which can be used to modify the stop-band attenuation, trading it against the transition width from pass-band to stop-band.