Skip to content Skip to navigation Skip to collection information

Connexions

You are here: Home » Content » Notes on the Design of Optimal FIR Filters » Three Methods of Designing FIR Filters

Navigation

Lenses

What is a lens?

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

This content is ...

Affiliated with (What does "Affiliated with" mean?)

This content is either by members of the organizations listed or about topics related to the organizations listed. Click each link to see a list of all content affiliated with the organization.

Also in these lenses

  • UniqU content

    This collection is included inLens: UniqU's lens
    By: UniqU, LLC

    Click the "UniqU content" link to see all content selected in this lens.

  • Lens for Engineering

    This module and collection are included inLens: Lens for Engineering
    By: Sidney Burrus

    Click the "Lens for Engineering" link to see all content selected in this lens.

Recently Viewed

This feature requires Javascript to be enabled.

Tags

(What is a tag?)

These tags come from the endorsement, affiliation, and other lenses that include this content.
 

Three Methods of Designing FIR Filters

Module by: John Treichler. E-mail the author

The module "Performance Comparison with other FIR Design Methods" alluded to the fact that three basic methods have traditionally been used for the design of FIR digital filters. Figure 1 in the module titled "Performance Comparison with other FIR Design Methods" in fact compares their relative performance in terms of the value of αα (which was shown to be proportional to the filter's required run-time computation rate). Given the background of the previous subsection it is now possible to understand each of the methods and to gain some insight into the differences between their performance.

Window-based Filters

As described earlier, one of the first class of FIR filters is that based on the use of a “smoothing window". This window, constructed to have only N non-zero points, is multiplied point-by-point by an impulse response of infinite duration which has the “perfect" frequency response. This multiplication or windowing has the effect of making the filter impulse response finite in duration (hence FIR), but also has the effect of smearing the desired frequency response.

Figure 1: The Effect of a Window Function on the Basis Filter
Figure 1 (fig9.png)

The stopband ripple specification is obtained by using a window capable of suppressing all sidelobes to the desired degree. This can be seen in Figure 1. The windowed filter basis function has substantially lower sidelobes than the original sinNqsinqsinNqsinq filter basis function, in trade for substantial widening of the main lobe. This widening means growth in the equivalent design parameter αα and is monotonic with the degree of sidelobe suppression attained.

It should also be observed that the sidelobe reduction has the effect of reducing the ripple in the passband as well as in the stopband. Thus some of the filter's degrees of freedom are given up in perhaps overdesigning the passband response rather than focusing them on the stopband performance.

Frequency Sampling Design

In the simplest DFT-based FIR filter design method, the desired frequency response is sampled at frequency intervals of fsNfsN Hertz and the filter gains h^nh^n are set to those values. This is in essence the method used for the simple lowpass filter shown in Figure 4 from the module titled"Performance Comparison with other FIR Design Methods". The big advantages of this method are its simplicity and the fact that any desired response, no matter how complicated, can be approximated. The big disadvantage is its uncontrolled ripple performance in both the stopband and passband. The traditional cures for this are the use of a window function to suppress the ripple and the expansion of the filter order N to compensate for the window's smearing of the desired response. Increasing NN, of course, increases the filter's run-time computation rate.

Relatively early in the development of FIR design techniques it was discovered that much better adherence to the desired frequency response could be attained by allowing some of the basis filter gains h^nh^n to vary slightly from the exact sampled values (e.g., 1 and 0 for a lowpass filter). This idea is shown in Figure 2. A simple lowpass filter is the desired response. Solid dots show the frequency samples of this desired response taken every fsNfsN Hertz. These samples have values of 1 and 0 for h^nh^n in the passband and stopband respectively. Now suppose that the values of h^nh^n for nn in the vicinity of the cutoff frequency fcfc are allowed to be modified slightly with the goal of minimizing the peak stopband ripple. These values of nn are denoted with small circles instead of solid dots in Figure 2. Rabiner and his coworkers [4] showed in 1970 that it was possible to use the linear programming optimization technique to manipulate two or three of the filter gains to obtain great improvement in stopband ripple performance. The computational complexity of the linear programming method, however, limited the number of the h^nh^n which could be so chosen.

Figure 2: Comparison of “Frequency Sampling" and Equal-ripple Design
Figure 2 (fig10.png)

Equiripple Design

It was generally known in 1971 that equal-ripple passband and stopband behavior would lead to the best filter performance, where “best" means the smallest transition band (and hence αα) for a given set of peak passband and stopband ripple specifications. In fact a great deal was known about the properties of such filters. What was lacking was a computationally satisfactory method of designing such optimal filters. As just noted, the linear programming technique provided a big step but still fell short. The breakthrough came in two parts. Several workers, but principally Parks, McClellan (Parks' graduate student), and Rabiner showed that four different variants of FIR linear phase filters could all be represented by the same set of equations1 and could therefore be solved the same way. The second part was Parks' suggestion of using the the Remez exchange algorithm for doing the actual optimization. The Remez exchange algorithm effectively allows all degrees of freedom in the filter impulse response to be adjusted simultaneously while the linear programming technique allows the adjustment of only one at a time. For high order filters this distinction makes a tremendous difference in the number of computations needed to iteratively optimize a design. Refering again to Figure 2, the Remez algorithm allows all of the frequency samples to be modified, even for filter orders as high as N=1000N=1000 or more, thus permitting the best possible filter performance to be achieved. McClellan also proved that the linear phase FIR filter design problem satisfied the conditions needed to guarantee convergence of the Remez algorithm.

Footnotes

  1. The variants are odd and even filter order and symmetric and antisymmetric impulse responses.

Collection Navigation

Content actions

Download module as:

Add:

Collection to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks

Module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks