Comparison to the Optimal Chebyshev FIR Bandpass Filter
The following Matlab code illustrates two different bandpass filter designs. The first (different transition bands) illustrates a problem we'll look at. The second (equal transition bands, commented out), avoids the problem.
M = 101; normF = [0 0.3 0.4 0.6 0.8 1.0]; % transition bands different %normF = [0 0.3 0.4 0.6 0.7 1.0]; % transition bands the same amp = [0 0 1 1 0 0]; % desired amplitude in each band [b2,err2] = firpm(M-1,normF,amp); % optimal filter of length M
Figure 4.7 shows the frequency response of the Chebyshev FIR filter designed by firpm, to be compared with the window-method FIR filter in Fig.4.6. Note that the upper transition band ``blows up''. This is a well known failure mode in FIR filter design using the Remez exchange algorithm [176,224]. It can be eliminated by narrowing the transition band, as shown in Fig.4.8. There is no error penalty in the transition region, so it is necessary that each one be ``sufficiently narrow'' to avoid this phenomenon.
Remember the rule of thumb that the narrowest transition-band possible for a length FIR filter is on the order of , because that's the width of the main-lobe of a length rectangular window (measured between zero-crossings) (§3.1.2). Therefore, this value is quite exact for the transition-widths of FIR bandpass filters designed by the window method using the rectangular window (when the main-lobe fits entirely within the adjacent pass-band and stop-band). For a Hamming window, the window-method transition width would instead be . Thus, we might expect an optimal Chebyshev design to provide transition widths in the vicinity of , but probably not too close to or below In the example above, where the sampling rate was kHz, and the filter length was , we expect to be able to achieve transition bands circa Hz, but not so low as Hz. As we found above, Hz was under-constrained, while Hz was ok, being near the ``Hamming transition width.''
Under the Hood of kaiserord