[Computer-Aided Engineering] Design Finite Impulse Response Digital Filters Interpolated FIR filters can combine two designs to achieve a demanding set of performance specifications while at the same time conserving computational resources. Ricardo A. Losada | ED Online ID #7469 | February 2004
Finite-impulse-response (FIR) digital filters enable many modern communications systems. Last month, this four-part article series opened with a review of key filter specifications and how tradeoffs impact final performance and examined several examples of optimal FIR designs, including filters with linear and nonlinear phase responses, and how the MATLAB mathematical software can be used to design such filters. This month, the second part of the series will further the investigation of optimal equiripple FIR filters and introduce some advanced design algorithms for interpolated FIR filters. Last month, optimal equiripple designs were shown to outperform Kaiser-window designs for the same order and transition width. The differences between these approaches are even more dramatic when the passband ripple and stopband ripple specifications are different, since truncated-and-windowed impulse response methods always give a result with approximately the same passband and stopband peak ripple. Stringent peak-ripple constraints are often satisfied in excess of all other ripple constraints, and often at the expense of unnecessarily large filter order. As an example, consider an equiripple design in which both the peak ripples and the transition width are fixed. As shown in Fig. 2, the order of the filter will be dictated by the peak-ripple and transition-width requirements. Using the second set of example specifications, with a cutoff frequency of 0.375π rad/sample, transition width of 0.15π rad/sample, maximum passband ripple of 0.008, and maximum stopband ripple of 0.0009, the "gremez" function can be used to design this filter b = gremez('minorder',[0 .3 .45 1],... resulting in a 37th-order filter (38 taps). By comparison, a Kaiser-window design requires a 50th-order filter (51 taps) to meet the same specifications. Figure 11 shows the passband details, revealing that the Kaiser-window design significantly over-satisfies the requirements. The approach used to design minimum-phase filters with fixed filter order and fixed transition width can be used to design minimum-phase filters with fixed transition width and peak passband/stopband ripple. Rather than obtaining smaller ripples, the benefit is meeting the same transition width and peak passband/stopband ripples with a reduced filter order. For example, consider a third set of example specifications: a cutoff frequency of 0.13π rad/sample, transition width of 0.02π rad/sample, maximum passband ripple of 0.01, and maximum stopband ripple of 0.001. The minimum order needed to meet such specifications with a linear-phase FIR filter (an optimal equiripple design) is 262. If the linear-phase constraint is relaxed, however, the "gremez" function can be used to design a minimum-phase FIR filter that meets the specifications set with 216th order: bgm = gremez('minorder', [0 .12 .14 1],... Examples so far have detailed equiripple designs with fixed transition width and fixed order and designs with fixed transition width and fixed peak-ripple values. MATLAB's Filter Design Toolbox also provides algorithms for designs with fixed peak-ripple values and fixed filter order.6 This gives maximum flexibility in utilizing the degrees of freedom available to design an FIR filter. Compared to Kaiser-window designs, fixing the transition width and filter-order results in an optimal equiripple design with smaller peak ripple values, while fixing the transition width and peak ripple values results in a filter with less number of taps. Fixing the filter order and the peak ripple values should result in a smaller transition width, which can be verified by using the firceqrip function: bc = firceqrip(50, 0.375, [0.008 0.0009]); Figure 12 offers a comparison of this design with a Kaiser-window filter. For the new filter, the transition width has been reduced from 0.15π to approximately 0.11π. If linear phase is not a requirement, a minimum-phase filter can be designed that is superior in some sense to a comparable linear-phase filter. For the same filter order and peak-ripple value, a minimum-phase design results in a smaller transition width than a linear-phase design. For example, compared to the 50th-order linear-phase design "bc" above, the "bcm" design that follows has a noticeably smaller transition width: bcm = firceqrip(50, 0.375, [0.008 0.0009], 'min'); Further equiripple design options are available in the Filter Design Toolbox. Notable examples include the constrained-band design, where the filter order can be fixed along with the peak ripple and the beginning/end of a given band (passband or stopband), and the sloped stopband design, where the stopband is no longer equiripple, but rather has a predetermined slope. When designing lowpass filters for decimation, it is sometimes necessary to guarantee that the filter stopband begins at a specific frequency value and that the filter provides a given minimum stopband attenuation. If the filter order is fixed, for example when using specialized hardware, there are two alternatives available in the Filter Design Toolbox for optimal equiripple designs. One possibility is to fix the transition width, the other is to fix the passband ripple. As an example, using the second set of design specifications calls for a stopband that extends from 0.45π to π and provides minimum stopband attenuation of approximately 60 dB. Assuming that an example filter order of 40 (41 taps) is available, the "fircequip" function can be used to design this filter if the passband ripple is also fixed to 0.008. The function will yield a filter with the smallest possible transition width for any linear-phase FIR filter of that order that meets the given specifications: bc = firceqrip(40, 0.45, [0.008 0.0009],'stopedge');
|
Resources

RSS















)
)
