Comparison to Optimal Chebyshev FIR Filter
Let's now compare the window-method design using the Kaiser window to the optimal equiripple FIR filter design given by the Remez multiple exchange algorithm.
Note, by the way, that many filter-design software functions, such as firpm have special modes for designing Hilbert-transform filters [224].
It turns out that the Remez exchange algorithm has convergence
problems for filters larger than a few hundred taps. Therefore, the
FIR filter length
was chosen above to be small enough to work
out in this comparison. However, keep in mind that for very large
filter orders, the Remez exchange method may not be an option. There
are more recently developed methods for optimal Chebyshev FIR filter
design, using ``convex optimization'' techniques, that may continue to
work at very high orders
[218,22,153]. The fast nonparametric
methods discussed above (frequency sampling, window method) will work
fine at extremely high orders.
The following Matlab command will try to design the FIR Hilbert-transform filter of the desired length with the desired transition bands:
hri = firpm(M-1, [f1,f2]/fn, [1,1], [1], 'Hilbert');Instead, however, we will use a more robust method [228] which uses the Remez exchange algorithm to design a lowpass filter, followed by modulation of the lowpass impulse-response by a complex sinusoid at frequency

tic; % remember the current time hrm = firpm(M-1, [0,(f2-fs/4)/fn,0.5,1], [1,1,0,0], [1,10]); dt = toc; % design time dt can be minutes hr = hrm .* j .^ [0:M-1]; % modulate lowpass to single-sidebandThe weighting [1,10] in the call to firpm above says ``make the pass-band ripple


![]() |
In this case we did not normalize the peak amplitude response to 0 dB because it has a ripple peak of about 1 dB in the pass-band. Figure 4.18 shows a zoom-in on the pass-band ripple.
Next Section:
Conclusions
Previous Section:
More General FIR Filter Design