Skip to content Skip to navigation

Connexions

You are here: Home » Content » FIR Filter Structures

Navigation

Content Actions

  • Download module PDF
  • Add to ...
    Add the module to:
    • My Favorites
    • A lens
    • An external social bookmarking service
    • My Favorites (What is 'My Favorites'?)
      'My Favorites' is a special kind of lens which you can use to bookmark modules and collections directly in Connexions. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need a Connexions account to use 'My Favorites'.
    • A lens (What is a lens?)

      Definition of a lens

      Lenses

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

      What is in a lens?

      Lens makers point to Connexions 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 Connexions member, a community, or a respected organization.

    • External bookmarks
  • E-mail the author

Recently Viewed

This feature requires Javascript to be enabled.

FIR Filter Structures

Module by: Douglas L. Jones

Summary: The direct-form and transpose-form structures are most commonly used to implement FIR filters. For certain special filters, recursive implementations require less computation. Lattice and cascade structures are occasionally also used.

Consider causal FIR filters: yn=k=0M-1hkxn-k y n k M 1 0 h k x n k ; this can be realized using the following structure

Figure 1
Figure 1 (fig1FIRFilterStruct.png)
or in a different notation
Figure 2
Figure 2 (fig2FIRFilterStruct.png)
Figure 3
Subfigure 3.1
Subfigure 3.1 (subfig3aFIRFilterStruct.png)
Subfigure 3.2
Subfigure 3.2 (subfig3bFIRFilterStruct.png)
Subfigure 3.3
Subfigure 3.3 (subfig3cFIRFilterStruct.png)
This is called the direct-form FIR filter structure.

There are no closed loops (no feedback) in this structure, so it is called a non-recursive structure. Since any FIR filter can be implemented using the direct-form, non-recursive structure, it is always possible to implement an FIR filter non-recursively. However, it is also possible to implement an FIR filter recursively, and for some special sets of FIR filter coefficients this is much more efficient.

Example 1

yn=k=0M-1xn-k y n k M 1 0 x n k where hk=00 1 ⌃︀ k = 0 11 1 ⌃︀ k = M - 1 000 h k 0 0 1 ⌃︀ k = 0 1 1 1 ⌃︀ k = M - 1 0 0 0 But note that yn=yn-1+xn-xn-M y n y n 1 x n x n M This can be implemented as

Figure 4
Figure 4 (fig4FIRFilterStruct.png)
Instead of costing M-1 M 1 adds/output point, this comb filter costs only two adds/output.

Exercise 1

Is this stable, and if not, how can it be made so?

IIR filters must be implemented with a recursive structure, since that's the only way a finite number of elements can generate an infinite-length impulse response in a linear, time-invariant (LTI) system. Recursive structures have the advantages of being able to implement IIR systems, and sometimes greater computational efficiency, but the disadvantages of possible instability, limit cycles, and other deletorious effects that we will study shortly.

Transpose-form FIR filter structures

The flow-graph-reversal theorem says that if one changes the directions of all the arrows, and inputs at the output and takes the output from the input of a reversed flow-graph, the new system has an identical input-output relationship to the original flow-graph.

Figure 5
Direct-form FIR structure
Direct-form FIR structure (fig2FIRFilterStruct.png)
Figure 6
reverse = transpose-form FIR filter structure
reverse = transpose-form FIR filter structure (fig5FIRFilterStruct.png)
Figure 7
or redrawn
or redrawn (fig6FIRFilterStruct.png)

Cascade structures

The z-transform of an FIR filter can be factored into a cascade of short-length filters b 0 + b 1 z-1+ b 2 z-3++ b m z-m= b 0 1- z 1 z-11- z 2 z-11- z m z-1 b 0 b 1 z b 2 z -3 b m z m b 0 1 z 1 z 1 z 2 z 1 z m z where the z i z i are the zeros of this polynomial. Since the coefficients of the polynomial are usually real, the roots are usually complex-conjugate pairs, so we generally combine 1- z i z-11- z i ¯z-1 1 z i z 1 z i z into one quadratic (length-2) section with real coefficients 1- z i z-11- z i ¯z-1=1-2 z i z-1+| z i |2z-2= H i z 1 z i z 1 z i z 1 2 z i z z i 2 z -2 H i z The overall filter can then be implemented in a cascade structure.

Figure 8
Figure 8 (fig7FIRFilterStruct.png)
This is occasionally done in FIR filter implementation when one or more of the short-length filters can be implemented efficiently.

Lattice Structure

It is also possible to implement FIR filters in a lattice structure: this is sometimes used in adaptive filtering

Figure 9
Figure 9 (fig8FIRFilterStruct.png)

Comments, questions, feedback, criticisms?

Send feedback