Home Product Directory Topics Note Pad electronica 2008 EuMW 2008 Back Issues RF Blogs Military Electronics Subscribe News Online News Design Features Web Seminars PartFinder Whitepapers Microwave Legends Newsletter WebConnect RF Design  RSS


PART SEARCH :
GlobalSpec - The Engineering Search Engine


Related Resources

  
Reprints   Printer-Friendly    Email this Article    RSS        Font Size     What's This?

[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
RECOMMENDED READING:
  •  Design Finite Impulse Response Digital Filters
  •  Design Finite Impulse Response Digital Filters
  •  Design Finite Impulse Response Digital Filters


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],...
[1 1 0 0],[.008 .0009]);

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],...
[1 1 0 0],[0.01 0.001],'minphase');

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');


<-- prev. page     [1] 2 3     next page -->




Reprints   Printer-Friendly    Email this Article    RSS        Font Size     What's This?




Reader Comments

can u plzz tell how FIR filter are used for recovering missing samples

shal -November 29, 2008

Dear Sir, I want to design FIR for which will suit for video application. So please suggest me which methods to use and can you teach me how to design the FIR filters and the basics?

Mahaveer -February 12, 2008

Dear sir,can u teach me how to design a FIR using verilog

zenhwai -June 19, 2007

can u teach me what is an FIR how design 4m basics

Raama Karthe -January 03, 2007   (Article Rating: )

Dear Sir,I want to design FIR for very low frequency and it is for biomedical application.Can you tell me which method should i use for good response

Monali -June 26, 2006

Dear Sir,I want to design FIR for very low frequency and it is for biomedical application.Can you tell me which method should i use for good response

Monali -June 26, 2006   (Article Rating: )

Dear sir can you teach me how to design digital finite impulse response filter using MATLAB

punit -March 27, 2006   (Article Rating: )

POST YOUR COMMENTS HERE
Name:

Email:
Rate this article:

 less useful more useful 
1
2
3
4
5

Your Comments: