Skip to content Skip to navigation Skip to collection information

OpenStax_CNX

You are here: Home » Content » ECE 454 and ECE 554 Supplemental reading » FIR Digital Filters

Navigation

Table of Contents

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.
  • NSF Partnership display tagshide tags

    This module is included inLens: NSF Partnership in Signal Processing
    By: Sidney BurrusAs a part of collection: "Digital Signal Processing and Digital Filter Design (Draft)"

    Click the "NSF Partnership" link to see all content affiliated with them.

    Click the tag icon tag icon to display tags associated with this content.

  • Featured Content

    This module is included inLens: Connexions Featured Content
    By: ConnexionsAs a part of collection: "Digital Signal Processing and Digital Filter Design (Draft)"

    Click the "Featured Content" link to see all content affiliated with them.

Also in these lenses

  • UniqU content

    This module is included inLens: UniqU's lens
    By: UniqU, LLCAs a part of collection: "Digital Signal Processing and Digital Filter Design (Draft)"

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

  • Lens for Engineering

    This module is 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.
Download
x

Download collection as:

  • EPUB (what's this?)

    What is an EPUB file?

    EPUB is an electronic book format that can be read on a variety of mobile devices.

    Downloading to a reading device

    For detailed instructions on how to download this content's EPUB to your specific device, click the "(what's this?)" link.

  • More downloads ...

Download module as:

  • PDF
  • EPUB (what's this?)

    What is an EPUB file?

    EPUB is an electronic book format that can be read on a variety of mobile devices.

    Downloading to a reading device

    For detailed instructions on how to download this content's EPUB to your specific device, click the "(what's this?)" link.

  • More downloads ...
Reuse / Edit
x

Collection:

Module:

Add to a lens
x

Add collection to:

Add module to:

Add to Favorites
x

Add collection to:

Add module to:

 

FIR Digital Filters

Module by: C. Sidney Burrus. E-mail the author

There are two types of linear, time-invariant digital filters. We will investigate digital filters with a finite-duration impulse response (FIR) in this section and those with an infinite-duration impulse response (IIR) in another document. FIR filters have characteristics that make them useful in many applications [3], [2].

  1. FIR filters can achieve an exactly linear phase frequency response
  2. FIR filters cannot be unstable.
  3. FIR filters are generally less sensitive to coefficient round-off and finite-precision arithmetic than IIR filters.
  4. FIR filters design methods are generally linear.
  5. FIR filters can be efficiently realized on general or special-purpose hardware.

However, frequency responses that need a rapid transition between bands and do not require linear phase are often more efficiently realized with IIR filters.

It is the purpose of this section to examine and evaluate these characteristics which are important in the design of the four basic types of linear-phase FIR filters.

Because of the usual methods of implementation, the Finite Impulse Response (FIR) filter is also called a nonrecursive filter or a convolution filter. From the time-domain view of this operation, the FIR filter is sometimes called a moving-average or running-average filter. All of these names represent useful interpretations that are discussed in this section; however, the name, FIR, is most commonly seen in filter-design literature and is used in these notes.

The duration or sequence length of the impulse response of these filters is by definition finite; therefore, the output can be written as a finite convolution sum by

y ( n ) = m = 0 N - 1 h ( m ) x ( n - m ) y ( n ) = m = 0 N - 1 h ( m ) x ( n - m )
(1)

where nn and mm are integers, perhaps representing samples in time, and where x(n)x(n) is the input sequence, y(n)y(n) the output sequence, and h(n)h(n) is the length-N impulse response of the filter. With a change of index variables, this can also be written as

y ( n ) = m = n n - N + 1 h ( n - m ) x ( m ) . y ( n ) = m = n n - N + 1 h ( n - m ) x ( m ) .
(2)

If the FIR filter is interpreted as an extension of a moving sum or as a weighted moving average, some of its properties can easily be seen. If one has a sequence of numbers, e.g., prices from the daily stock market for a particular stock, and would like to remove the erratic variations in order to discover longer term trends, each number could be replaced by the average of itself and the preceding three numbers, i.e., the variations within a four-day period would be “averaged out" while the longer-term variations would remain. To illustrate how this happens, consider an artificial signal x(n)x(n) containing a linear term, K1nK1n, and an undesired oscillating term added to it, such that

x ( n ) = K 1 n + K 2 cos ( π n ) x ( n ) = K 1 n + K 2 cos ( π n )
(3)

If a length-2 averaging filter is used with

h ( n ) = 1 / 2 for n = 0 , 1 0 otherwise h ( n ) = 1 / 2 for n = 0 , 1 0 otherwise
(4)

it can be verified that, after two outputs, the output y(n)y(n) is exactly the linear term x(n)x(n) with a delay of one half sample interval and no oscillation.

This example illustrates the basic FIR filter-design problem: determine N, the number of terms for h(n)h(n), and the values of h(n)h(n) for achieving a desired effect on the signal. The reader should examine simple examples to obtain an intuitive idea of the FIR filter as a moving average; however, this simple time-domain interpretation will not suffice for complicated problems where the concept of frequency becomes more valuable.

Frequency-Domain Description of FIR Filters

The output of a length-N FIR filter can be calculated from the input using convolution.

y ( n ) = k = 0 N - 1 h ( k ) x ( n - k ) y ( n ) = k = 0 N - 1 h ( k ) x ( n - k )
(5)

and the transfer function of an FIR filter is given by the z-transform of the finite length impulse response h(n)h(n) as

H ( z ) = n = 0 N - 1 h ( n ) z - n . H ( z ) = n = 0 N - 1 h ( n ) z - n .
(6)

The frequency response of a filter, is found by setting z=ejωz=ejω, which is the same as the discrete-time Fourier transform (DTFT) of h(n)h(n), which gives

H ( ω ) = n = 0 N - 1 h ( n ) e - j ω n H ( ω ) = n = 0 N - 1 h ( n ) e - j ω n
(7)

with ωω being frequency in radians per second. Strictly speaking, the exponent should be -jωTn-jωTn where TT is the time interval between the integer steps of nn (the sampling interval). But to simplify notation, it will be assumed that T=1T=1 until later in the notes where the relation between nn and time is more important. Also to simplify notation, H(ω)H(ω) is used to represent the frequency response rather that H(ejω)H(ejω). It should always be clear from the context whether HH is a function of zz or ωω.

This frequency-response function is complex-valued and consists of a magnitude and a phase. Even though the impulse response is a function of the discrete variable nn, the frequency response is a function of the continuous-frequency variable ωω and is periodic with period 2π2π. This periodicity is easily shown by

H ( w + 2 π ) = n = 0 N - 1 h ( n ) e - j ( w + 2 π ) n = n = 0 N - 1 h ( n ) e - j ω n e - j 2 π n = H ( ω ) H ( w + 2 π ) = n = 0 N - 1 h ( n ) e - j ( w + 2 π ) n = n = 0 N - 1 h ( n ) e - j ω n e - j 2 π n = H ( ω )
(8)

with frequency denoted by ωω in radians per second or by ff in Hz (hertz or cycles per second). These are related by

ω = 2 π f ω = 2 π f
(9)

An example of a length-5 filter might be

h ( n ) = 2 , 3 , 4 , 3 , 2 h ( n ) = 2 , 3 , 4 , 3 , 2
(10)

with a frequency-response plot shown over the base frequency band (0<ω<π0<ω<π or 0<f<10<f<1 in Figure 1. To illustrate the periodic nature of the total frequency response, Figure 2 shows the response over a wider set of frequencies.

Figure 1: Frequency Response of Example Filter
A graph comparing Normalized frequency f on the x axis to Magnitude response |H(w)| on the y axis. The x axis ranges from 0-1 at intevals of .2. While the y axis ranges from 0-15 at intervals of 5. The line originates ot about (0,14) proceeding along a negative slope to around (.5,0) making a slight arch from that point to (.8,0) and the following a positive slope to about (1, 2).
Figure 2: Frequency Response of Example Filter over a wide band of frequencies
A graph of FIR Filter Frequency Response over 4p. The X axis is labeled Normalized Frequency ranging from -2 to 2 and the y axis is labeled Magnitude Response M ranging from 0-14. The line representing the response begins at around (-2,14) following a drasticly negative slope to about (-1.5,0) creating a small arch from that point to (-1.75,0) a larger arch from that point to (-.75,0), and then another arch the same size as the first small arch from point (-.75,-.5). From there the line progresses with an extremely positive slope  up to (0,14). The shape of the line is mirrored exactly on the positive of side of the x axis and ends at the point (2,14).

The Discrete Fourier Transform (DFT) can be used to evaluate the frequency response at certain frequencies. The DFT [1] of the length-N impulse response h(n)h(n) is defined as

C ( k ) = n = 0 N - 1 h ( n ) e - j 2 π n k / N k = 0 , 1 , . . . , N - 1 C ( k ) = n = 0 N - 1 h ( n ) e - j 2 π n k / N k = 0 , 1 , . . . , N - 1
(11)

which, when compared to Equation 7, gives

C ( k ) = H ( ω k ) = H ( 2 π k / N ) k = 0 , 1 , . . . , N - 1 C ( k ) = H ( ω k ) = H ( 2 π k / N ) k = 0 , 1 , . . . , N - 1
(12)

for ωk=2πk/Nωk=2πk/N.

This states that the DFT of h(n)h(n) gives NN samples of the frequency-response function H(ω)H(ω). This sampling at NN points may not give enough detail, and, therefore, more samples are needed. Any number of equally spaced samples can be found with the DFT by simply appending L-NL-N zeros to h(n)h(n) and taking an L-length DFT. This is often useful when an accurate picture of all of H(ω)H(ω) is required. Indeed, when the number of appended zeros goes to infinity, the DFT becomes the discrete-time Fourier transform of h(n)h(n).

The fact that the DFT of h(n)h(n) is a set of NN samples of the frequency response suggests a method of designing FIR filters in which the inverse DFT of NN samples of a desired frequency response gives the filter coefficients h(n)h(n). That approach is called frequency sampling and is developed in another section.

Linear-Phase FIR Filters

A particular property of FIR filters that has proven to be very powerful is that a linear phase shift for the frequency response is possible. This is especially important to time domain details of a signal. The spectrum of a signal contains the individual frequency domain components separated in frequency. The process of filtering usually involves passing some of these components and rejecting others. This is done by multiplying the desired ones by one and the undesired ones by zero. When they are recombined, it is important that the components have the same time domain alignment as they originally did. That is exactly what linear phase insures. A phase response that is linear with frequency keeps all of the frequency components properly registered with each other. That is especially important in seismic, radar, and sonar signal analysis as well as for many medical signals where the relative time locations of events contains the information of interest.

To develop the theory for linear phase FIR filters, a careful definition of phase shift is necessary. If the real and imaginary parts of H(ω)H(ω) are given by

H ( ω ) = R ( ω ) + j I ( ω ) H ( ω ) = R ( ω ) + j I ( ω )
(13)

where j=-1j=-1 and the magnitude is defined by

| H ( ω ) | = R 2 + I 2 | H ( ω ) | = R 2 + I 2
(14)

and the phase by

Φ ( ω ) = arctan ( I / R ) Φ ( ω ) = arctan ( I / R )
(15)

which gives

H ( ω ) = | H ( ω ) | e j Φ ( ω ) H ( ω ) = | H ( ω ) | e j Φ ( ω )
(16)

in terms of the magnitude and phase. Using the real and imaginary parts is using a rectangular coordinate system and using the magnitude and phase is using a polar coordinate system. Often, the polar system is easier to interpret.

Mathematical problems arise from using |H(ω)||H(ω)| and Φ(ω)Φ(ω), because |H(ω)||H(ω)| is not analytic and Φ(ω)Φ(ω) not continuous. This problem is solved by introducing an amplitude function A(ω)A(ω) that is real valued and may be positive or negative. The frequency response is written as

H ( ω ) = A ( ω ) e j Θ ( ω ) H ( ω ) = A ( ω ) e j Θ ( ω )
(17)

where A(ω)A(ω) is called the amplitude in order to distinguish it from the magnitude |H(ω)||H(ω)|, and Θ(ω)Θ(ω) is the continuous version of Φ(ω)Φ(ω). A(ω)A(ω) is a real, analytic function that is related to the magnitude by

A ( ω ) = ± | H ( ω ) | A ( ω ) = ± | H ( ω ) |
(18)

or

| A ( ω ) | = | H ( ω ) | | A ( ω ) | = | H ( ω ) |
(19)

With this definition, A(ω)A(ω) can be made analytic and Θ(ω)Θ(ω) continuous. These are much easier to work with than |H(ω)||H(ω)| and Φ(ω)Φ(ω). The relationship of A(ω)A(ω) and |H(ω)||H(ω)|, and of Θ(ω)Θ(ω) and Φ(ω)Φ(ω) are shown in Figure 3.

Figure 3: Magnitude and Amplitude Frequency Responses and Corresponding Phase Frequency Response of Example Filter
This image consist of four graphs. Above each graph is the label FIR Filter Frequency Response. The top left graph compares the normalized frequency on the x axis with the magnitude response, M on the y axis. The line for this graph follows a negative slope from point (0,14) to about (.5,0). The line then makes a shallow arch from that point to about (.75.0). The line then follows a positive slope as it runs off the graph. The top right graph is similar except that y axis is labeled Amplitude response, A. The line starts at (14,0) and follows a negative slope falls below the x axis and the then the slope turns positive and proceeds off the graph. The bottom left graph has a y axis labeled Phase in Radians, F. This line is very jagged and consist only of straight lines. The line begins with a negative slope from the origin to (.5,-3). Then the line proceeds vertically to point(.5,0). Then the line takes on the same negative slope as the first line and then goes vertical again crossing over the x axis to a point around(.75,1), and then the line takes on the same negative slope again and ends at (1,0). The bottom right graph is simpler. A single straight line follows a negative slope from the origin to about (1,-6) where the line ends. The y axis in this graph is labeled Phase in Radians Q.

To develop the characteristics and properties of linear-phase filters, assume a general linear plus constant form for the phase function as

Θ ( ω ) = K 1 + K 2 ω Θ ( ω ) = K 1 + K 2 ω
(20)

This gives the frequency response function of a length-N FIR filter as

H ( ω ) = n = 0 N - 1 h ( n ) e - j ω n = e - j ω M n = 0 N - 1 h ( n ) e j ω ( M - n ) H ( ω ) = n = 0 N - 1 h ( n ) e - j ω n = e - j ω M n = 0 N - 1 h ( n ) e j ω ( M - n )
(21)

and

H ( ω ) = e - j ω M [ h 0 e j ω M + h 1 e j ω ( M - 1 ) + + h N - 1 e j ω ( M - N + 1 ) ] H ( ω ) = e - j ω M [ h 0 e j ω M + h 1 e j ω ( M - 1 ) + + h N - 1 e j ω ( M - N + 1 ) ]
(22)

Equation 22 can be put in the form of

H ( ω ) = A ( ω ) e j ( K 1 + K 2 ω ) H ( ω ) = A ( ω ) e j ( K 1 + K 2 ω )
(23)

if MM (not necessarily an integer) is defined by

M = N - 1 2 M = N - 1 2
(24)

or equivalently,

M = N - M - 1 M = N - M - 1
(25)

Equation 22 then becomes

H ( ω ) = e - j ω M [ ( h 0 + h N - 1 ) cos ( ω M ) + j ( h 0 - h N - 1 ) sin ( ω M ) + ( h 1 + h N - 2 ) cos ( ω ( M - 1 ) ) + j ( h 1 - h N - 2 ) sin ( w ( M - 1 ) ) + ] H ( ω ) = e - j ω M [ ( h 0 + h N - 1 ) cos ( ω M ) + j ( h 0 - h N - 1 ) sin ( ω M ) + ( h 1 + h N - 2 ) cos ( ω ( M - 1 ) ) + j ( h 1 - h N - 2 ) sin ( w ( M - 1 ) ) + ]
(26)

There are two possibilities for putting this in the form of Equation 23 where A(ω)A(ω) is real: K1=0K1=0 or K1=π/2K1=π/2. The first case requires a special even symmetry in h(n)h(n) of the form

h ( n ) = h ( N - n - 1 ) h ( n ) = h ( N - n - 1 )
(27)

which gives

H ( ω ) = A ( ω ) e - j M ω H ( ω ) = A ( ω ) e - j M ω
(28)

where A(ω)A(ω) is the amplitude, a real-valued function of ωω and e-jMωe-jMω gives the linear phase with MM being the group delay. For the case where NN is odd, using Equation 26, Equation 27, and Equation 28, we have

A ( ω ) = n = 0 M - 1 2 h ( n ) cos ω ( M - n ) + h ( M ) A ( ω ) = n = 0 M - 1 2 h ( n ) cos ω ( M - n ) + h ( M )
(29)

or with a change of variables,

A ( ω ) = n = 1 M 2 h ( M - n ) cos ( ω n ) + h ( M ) A ( ω ) = n = 1 M 2 h ( M - n ) cos ( ω n ) + h ( M )
(30)

which becomes

A ( ω ) = n = 1 M 2 h ^ ( n ) cos ( ω n ) + h ( M ) A ( ω ) = n = 1 M 2 h ^ ( n ) cos ( ω n ) + h ( M )
(31)

where h^(n)=h(M-n)h^(n)=h(M-n) is a shifted h(n)h(n). These formulas can be made simpler by defining new coefficients so that Equation 29 becomes

A ( ω ) = n = 0 M a ( n ) cos ( ω ( M - n ) ) A ( ω ) = n = 0 M a ( n ) cos ( ω ( M - n ) )
(32)

where

a ( n ) = { 2 h ( n ) for 0 n M - 1 h ( M ) for n = M 0 otherwise a ( n ) ={ 2 h ( n ) for 0 n M - 1 h ( M ) for n = M 0 otherwise
(33)

and Equation 31 becomes

A ( ω ) = n = 0 M a ( n ) cos ( ω n ) A ( ω ) = n = 0 M a ( n ) cos ( ω n )
(34)

with

a ( n ) = { h ( M ) for n = 0 2 h ( M + n ) for 1 n M 0 otherwise . a ( n ) ={ h ( M ) for n = 0 2 h ( M + n ) for 1 n M 0 otherwise .
(35)

Notice from Equation 34 for NN odd, A(ω)A(ω) is an even function around ω=0ω=0 and ω=πω=π, and is periodic with period 2π2π.

For the case where NN is even,

A ( ω ) = n = 0 N / 2 - 1 2 h ( n ) cos ω ( M - n ) A ( ω ) = n = 0 N / 2 - 1 2 h ( n ) cos ω ( M - n )
(36)

or with a change of variables,

A ( ω ) = n = 1 N / 2 2 h ( N / 2 - n ) cos ω ( n - 1 / 2 ) A ( ω ) = n = 1 N / 2 2 h ( N / 2 - n ) cos ω ( n - 1 / 2 )
(37)

These formulas can also be made simpler by defining new coefficients so that Equation 36 becomes

A ( ω ) = n = 0 N / 2 - 1 a ( n ) cos ( ω ( M - n ) ) A ( ω ) = n = 0 N / 2 - 1 a ( n ) cos ( ω ( M - n ) )
(38)

where

a ( n ) = { 2 h ( n ) for 0 n N / 2 - 1 0 otherwise a ( n ) ={ 2 h ( n ) for 0 n N / 2 - 1 0 otherwise
(39)

and Equation 37 becomes

A ( ω ) = n = 1 N / 2 a ( n ) cos ( ω ( n - 1 / 2 ) ) A ( ω ) = n = 1 N / 2 a ( n ) cos ( ω ( n - 1 / 2 ) )
(40)

with

a ( n ) = { 2 h ( N / 2 - n ) for 1 n N / 2 0 otherwise a ( n ) ={ 2 h ( N / 2 - n ) for 1 n N / 2 0 otherwise
(41)

Notice from Equation 40 for NN even, A(ω)A(ω) is an even function around ω=0ω=0, an odd function around ω=πω=π, and is periodic with period . This requires A(π)=0A(π)=0.

For the case in Equation 23 where K1=π/2K1=π/2, an odd symmetry is required of the form

h ( n ) = - h ( N - n - 1 ) h ( n ) = - h ( N - n - 1 )
(42)

which, for NN odd, gives

H ( ω ) = j A ( ω ) e j M ω H ( ω ) = j A ( ω ) e j M ω
(43)

with

A ( ω ) = n = 0 M - 1 2 h ( n ) sin ω ( M - n ) A ( ω ) = n = 0 M - 1 2 h ( n ) sin ω ( M - n )
(44)

and for NN even

A ( ω ) = n = 0 N / 2 - 1 2 h ( n ) sin ω ( M - n ) A ( ω ) = n = 0 N / 2 - 1 2 h ( n ) sin ω ( M - n )
(45)

To calculate the frequency or amplitude response numerically, one must consider samples of the continuous frequency response function above. LL samples of the general complex frequency response H(ω)H(ω) in Equation 21 are calculated from

H ( ω k ) = n = 0 N - 1 h ( n ) e - j ω k n . H ( ω k ) = n = 0 N - 1 h ( n ) e - j ω k n .
(46)

for k=0,1,2,,L-1k=0,1,2,,L-1. This can be written with matrix notation as

H = F h H = F h
(47)

where HH is an LL by 1 vector of the samples of the complex frequency response, FF is the LL by NN matrix of complex exponentials from Equation 46, and hh is the NN by 1 vector of real filter coefficients.

These equations are possibly redundant for equally spaced samples since A(ω)A(ω) is an even function and, if the phase response is linear, h(n)h(n) is symmetric. These redundancies are removed by sampling Equation 32 over 0ωkπ0ωkπ and by using aa defined in Equation 33 rather than hh. This can be written

A = C a A = C a
(48)

where AA is an LL by 1 vector of the samples of the real valued amplitude frequency response, CC is the LL by MM real matrix of cosines from Equation 32, and aa is the MM by 1 vector of filter coefficients related to the impulse response by Equation 33. A similar set of equations can be written from Equation 44 for NN odd or from Equation 45 for NN even.

This formulation becomes a filter design method by giving the samples of a desired amplitude response as Ad(k)Ad(k) and solving Equation 48 for the filter coefficients a(n)a(n). If the number of independent frequency samples is equal to the number of independent filter coefficients and if CC is not singular, this is the frequency sampling filter design method and the frequency response of the designed filter will interpolate the specified samples. If the number of frequency samples LL is larger than the number of filter coefficients NN, Equation 48 may be solved approximately by minimizing the norm A(ω)-Ad(ω)A(ω)-Ad(ω).

The Discrete Time Fourier Transform with Normalization

The discrete time Fourier transform of the impulse response of a digital filter is its frequency response, therefore, it is an important tool. When the symmetry conditions of linear phase are incorporated into the DTFT, it becomes similar to the discrete cosine or sine transform (DCT or DST). It also has an arbitrary normalization possible for the odd length that needs to be understood.

The discrete time Fourier transform (DTFT) is defined in Equation 7 which, with the conditions of an odd length-N symmetrical signal, becomes

A ( ω ) = n = 1 M a ( n ) cos ( ω n ) + K a ( 0 ) A ( ω ) = n = 1 M a ( n ) cos ( ω n ) + K a ( 0 )
(49)

where M=(N-1)/2M=(N-1)/2. Its inverse as

a ( n ) = 2 π 0 π A ( ω ) cos ( ω n ) d ω a ( n ) = 2 π 0 π A ( ω ) cos ( ω n ) d ω
(50)

for n=1,2,,Mn=1,2,,M and

a ( 0 ) = 1 K π 0 π A ( ω ) d ω a ( 0 ) = 1 K π 0 π A ( ω ) d ω
(51)

where KK is a parameter of normalization for the a(0)a(0) term with 0<K<0<K<. If K=1K=1, the expansion equation Equation 49 is one summation and doesn't have to have the separate term for a(0)a(0). If K=1/2K=1/2, the equation for the coefficients Equation 50 will also calculate the a(0)a(0) term and the separate equation Equation 51 is not needed. If K=1/2K=1/2, a symmetry results which simplifies equations later in the notes.

Four Types of Linear-Phase FIR Filters

From the previous discussion, it is seen that there are four possible types of FIR filters [1] that lead to the linear phase of Equation 20. These are summarized in Table 1.

Table 1: The Four Types of Linear Phase FIR Filters
Type 1. The impulse response has an odd length and is even symmetric about its midpoint of n=M=(N-1)/2n=M=(N-1)/2 which requires h(n)=h(N-n-1)h(n)=h(N-n-1) and gives Equation 29 and Equation 30.
Type 2. The impulse response has an even length and is even symmetric about MM, but MM is not an integer. Therefore, there is no h(n)h(n) at the point of symmetry, but it satisfies Equation 36 and Equation 37.
Type 3. The impulse response has an odd length as for Type 1 and has the odd symmetry of Equation 42, giving an imaginary multiplier for the linear-phase form in Equation 43 with amplitude Equation 44.
Type 4. The impulse response has an even length as for Type 2 and the odd symmetry of Type 3 in Equation 42 and Equation 43 with amplitude Equation 45.

Examples of the four types of linear-phase FIR filters with the symmetries for odd and even length are shown in Figure 4. Note that for NN odd and h(n)h(n) odd symmetric, h(M)=0h(M)=0.

Figure 4: Example of Impulse Responses for the Four Types of Linear Phase FIR Filters
This figure consist of four separate graphs of four different types of FIR Filters. For all of these graphs the x axis is labeled Time Index, n, and the y axis is labeled Impulse response, h(n). The graphs consist of vertical lines extending from the x axis and ending in a hollow circles. The top left graph is labeled Type 1. FIR Filter. The vertical lines correspond to the numbers on the x axis 1-5. The ending points of the graph at at points (0,2), (1,3), (2,4), (3,3), and (4,2). The top right graph (Type 2) is similar except that the ending points are at (0,2), (1,3), (2,3) and (3,2). The bottom left graph (Type 3) similar with points at (0,2), (1,3), (2,0), (3,-3), and (4,-2). The bottom right graph is similar to the previous graph with points at (0,2), (1,3), (2,-3), and (-2,3).

For the analysis or design of linear-phase FIR filters, it is necessary to know the characteristics of A(ω)A(ω). The most important characteristics are shown in Table 2.

Table 2: Characteristics of A(ω)A(ω) for Linear Phase
TYPE 1. Odd length, even symmetric h(n)h(n)  
  A(ω)A(ω) is even about ω=0ω=0 A ( ω ) = A ( - ω ) A ( ω ) = A ( - ω )
  A(ω)A(ω) is even about ω=πω=π A ( π + ω ) = A ( π - ω ) A ( π + ω ) = A ( π - ω )
  A(ω)A(ω) is periodic with period = 2π2π A ( ω + 2 π ) = A ( ω ) A ( ω + 2 π ) = A ( ω )
TYPE 2. Even length, even symmetric h(n)h(n)  
  A(ω)A(ω) is even about ω=0ω=0 A ( ω ) = A ( - ω ) A ( ω ) = A ( - ω )
  A(ω)A(ω) is odd about ω=πω=π A ( π + ω ) = - A ( π - ω ) A ( π + ω ) = - A ( π - ω )
  A(ω)A(ω) is periodic with period 4π4π A ( ω + 4 π ) = A ( ω ) A ( ω + 4 π ) = A ( ω )
TYPE 3. Odd length, odd symmetric h(n)h(n)  
  A(ω)A(ω) is odd about ω=0ω=0 A ( ω ) = - A ( - ω ) A ( ω ) = - A ( - ω )
  A(ω)A(ω) is odd about ω=πω=π A ( π + ω ) = - A ( π - ω ) A ( π + ω ) = - A ( π - ω )
  A(ω)A(ω) is periodic with period =2π=2π A ( ω + 2 π ) = A ( ω ) A ( ω + 2 π ) = A ( ω )
TYPE 4. Even length, odd symmetric h(n)h(n)  
  A(ω)A(ω) is odd about ω=0ω=0 A ( ω ) = - A ( - ω ) A ( ω ) = - A ( - ω )
  A(ω)A(ω) is even about ω=πω=π A ( π + ω ) = A ( π - ω ) A ( π + ω ) = A ( π - ω )
  A(ω)A(ω) is periodic with period =4π=4π A ( ω + 4 π ) = A ( ω ) A ( ω + 4 π ) = A ( ω )

Examples of the amplitude function for odd and even length linear-phase filter A(ω)A(ω) are shown in Figure 5.

Figure 5: Example of Amplitude Responses for the Four Types of Linear Phase FIR Filters
This figure consist of four graphs of four different type of FIR Filter Frequency Response over 2p. For all of these graphs, the x axis is labeled Normally Frequency and the y axis is labeled Amplitude Response, A. These graphs are arranged vertically. the top graph shows a wave form that has a consistent series of peaks and troughs. The peak is at about 6 and the bottom of the trough is at about 2. There are two complete wavelengths shown. The second graph is labeled Type 2. This graph has a differe waveform. The wave starts at (-2,-10) and follows a positive slope til it reaches the x axis at which point it levels out for a bit and then turns positive again. The wave peaks at (0,10) and the mirrors it rise with a negative slope with the same behavior. The third graph labeled Type 3 is similar to the first graph, except that the rise and fall of the waves are not equal. The rise to the peak of the wave is longer in duration than the fall to the bottom of the trough. The peak is at about 10 on the y axis and the bottom of the trough is at about -10. There are two complete wavelengths present. The bottom graph is labeled Type 4. It has a similar pattern to the second graph except that this one starts at the x axis and extends from peak to trough from 10 to -10 on the y axis. The wave descends from x axis with a negative slope then turns positive plateaus at the x axis and then continues its positive slope peaks and then descends.

These characteristics reveal several inherent features that are extremely important to filter design. For Types 3 and 4, A(0)=0A(0)=0 for any choice of filter coefficients h(n)h(n). This would not be desirable for a lowpass filter. Types 2 and 3 always have A(π)=0A(π)=0 which is not desirable for a highpass filter. In addition to the linear-phase characteristic that represents a time shift, Types 3 and 4 give a constant 90-degree phase shift, desirable for a differentiator or Hilbert transformer. The first step in the design of a linear-phase FIR filter is the choice of the type most compatible with the specifications.

It is possible to uses the formulas to express the frequency response of a general complex or non-linear phase FIR filter by taking the even and odd parts of h(n)h(n) and calculating a real and imaginary “amplitude" that would be added to give the actual frequency response.

Calculation of FIR Filter Frequency Response

As shown earlier, LL equally spaced samples of H(ω)H(ω) are easily calculated for L>NL>N by appending L-NL-N zeros to h(n)h(n) for a length-L DFT. This appears as

H ( 2 π k / L ) = DFT { h ( n ) } for k = 0 , 1 , , L - 1 H ( 2 π k / L ) = DFT { h ( n ) } for k = 0 , 1 , , L - 1
(52)

This direct method of calculation is a straightforward and flexible approach. Only the samples of H(ω)H(ω) that are of interest need to be calculated. In fact, even nonuniform spacing of the frequency samples can be achieved by sampling the DTFT defined in Equation 7. The direct use of the DFT can be inefficient, and for linear-phase filters, it is A(ω)A(ω), not H(ω)H(ω), that is the most informative. In addition to the direct application of the DFT, special formulas are developed in Equation 5 from FIR Filter Design by Frequency Sampling or Interpolation for evaluating samples of A(ω)A(ω) that exploit the fact that h(n)h(n) is real and has certain symmetries. For long filters, even these formulas are too inefficient, so the DFT is used, but implemented by a Fast Fourier Transform (FFT) algorithm.

In the special case of Type 1 filters with LL equally spaced sample points, the samples of the frequency response are of the form

A k = A ( 2 π k / L ) = n = 0 M - 1 2 h ( n ) cos ( 2 π ( M - n ) k / L ) + h ( M ) A k = A ( 2 π k / L ) = n = 0 M - 1 2 h ( n ) cos ( 2 π ( M - n ) k / L ) + h ( M )
(53)

For Type 2 filters,

A k = A ( 2 π k / L ) = n = 0 N / 2 - 1 2 h ( n ) cos ( 2 π ( M - n ) k / L ) A k = A ( 2 π k / L ) = n = 0 N / 2 - 1 2 h ( n ) cos ( 2 π ( M - n ) k / L )
(54)

For Type 3 filters,

A k = A ( 2 π k / L ) = n = 0 M - 1 2 h ( n ) sin ( 2 π ( M - n ) k / L ) A k = A ( 2 π k / L ) = n = 0 M - 1 2 h ( n ) sin ( 2 π ( M - n ) k / L )
(55)

For Type 4 filters,

A k = A ( 2 π k / L ) = n = 0 N - 1 2 h ( n ) sin ( 2 π ( M - n ) k / L ) A k = A ( 2 π k / L ) = n = 0 N - 1 2 h ( n ) sin ( 2 π ( M - n ) k / L )
(56)

Although this section has primarily concentrated on linear-phase filters by taking their symmetries into account, the method of taking the DFT of h(n)h(n) to obtain samples of the frequency response of an FIR filter also holds for general arbitrary linear phase filters.

Zero Locations for Linear-Phase FIR Filters

A qualitative understanding of the filter characteristics can be obtained from an examination of the location of the N-1N-1 zeros of an FIR filter's transfer function. This transfer function is given by the z-transform of the length-N impulse response

H ( z ) = n = 0 N - 1 h ( n ) z - n H ( z ) = n = 0 N - 1 h ( n ) z - n
(57)

which can be rewritten as

H ( z ) = z - N + 1 ( h 0 z N - 1 + h 1 z N - 2 + . . . + h N - 1 ) H ( z ) = z - N + 1 ( h 0 z N - 1 + h 1 z N - 2 + . . . + h N - 1 )
(58)

or as

H ( z ) = z - N + 1 D ( z ) H ( z ) = z - N + 1 D ( z )
(59)

where D(z)D(z) is an N-1N-1 order polynomial that is multiplied by an N-1N-1 order pole located at the origin of the complex z-plane. D(z)D(z) is defined in order to have a simple polynomial in positive powers of zz.

The fact that h(n) is real valued requires the zeros to all be real or occur in complex conjugate pairs. If the FIR filter is linear phase, there are further restrictions on the possible zero locations. From Equation 27, it is seen that linear phase implies a symmetry in the impulse response and, therefore, in the coefficients of the polynomial D(z)D(z) in Equation 59. Let the complex zero z1z1 be expressed in polar form by

z 1 = r 1 e j x z 1 = r 1 e j x
(60)

where r1r1 is the radial distance of z1z1 from the origin in the complex z-plane, and xx is the angle from the real axis as shown in Figure 6.

Figure 6: Example of Impulse Responses for the Four Types of Linear Phase FIR Filters
This Cartesian graph has an x axis labeled Real part of z, and a y axis labeled imaginary part of z. Only Quadrant I has anything present inside of it. In this quadrant is a line originating at the origin and extending to a point at about (1,1) marked by a hollow circle. There is a double-sided arrow extending from the x axis to a point about halfway up the line segment. This line is labeled angle x. Further out on this line segment is another arrow, this time on the upper side of the line poiunt down to the line labeled radius r and then pointing to the hollow circle is another arrow labeled location of zero z.

Using the definition of H(z)H(z) and D(z)D(z) in Equation 57 and Equation 58 and the linear-phase even symmetry requirement of

h ( n ) = h ( N - 1 - n ) h ( n ) = h ( N - 1 - n )
(61)

gives

H ( 1 / z ) = D ( z ) H ( 1 / z ) = D ( z )
(62)

which implies that if z1z1 is a zero of H(z)H(z), then 1/z11/z1 is also a zero of H(z)H(z). In other words, if

H ( z 1 ) = 0 , then H ( 1 / z 1 ) = 0 . H ( z 1 ) = 0 , then H ( 1 / z 1 ) = 0 .
(63)

This means that if a zero exists at a radius of r1r1, then one also exists at a radius of 1/r11/r1, thus giving a special type of symmetry of the zeros about the unit circle. Another possibility is that the zero lies on the unit circle with r1=1/r1=1r1=1/r1=1.

There are four essentially different cases [4] of even symmetric filters that have the lowest possible order. All higher order symmetric filters have transfer functions that can be factored into products of these lowest order transfer functions. These are illustrated by four basic filters of lowest order that satisfy these conditions: one length-2, two length-3, and one length-5.

The only length-2 even-symmetric linear-phase FIR filter has the form

D ( z ) = ( z + 1 ) K D ( z ) = ( z + 1 ) K
(64)

which, for any constant KK, has a single zero at z1=-1z1=-1.

The even symmetric length-3 filter has a form

D ( z ) = ( z 2 + a z + 1 ) K D ( z ) = ( z 2 + a z + 1 ) K
(65)

There are two possible cases. For |a|>2|a|>2, two real zeros can satisfy Equation 63 with z1=rz1=r and 1/r1/r. This gives

D ( z ) = ( z 2 + ( r + 1 / r ) z + 1 ) K D ( z ) = ( z 2 + ( r + 1 / r ) z + 1 ) K
(66)

The other length-3 case for |a|<2|a|<2 has two complex conjugate zeros on the unit circle and is of the form

D ( z ) = ( z 2 + ( 2 cos x ) z + 1 ) K D ( z ) = ( z 2 + ( 2 cos x ) z + 1 ) K
(67)

The special case for a=2a=2 is not of lowest order. It can be factored into Equation 64 squared. Any length-4 even-symmetric filter can be factored into products of terms of the form of Equation 64 and Equation 65.

The fourth case is of an even-symmetric length-5 filter of the form

D ( z ) = z 4 + a z 3 + b z 2 + a z + 1 D ( z ) = z 4 + a z 3 + b z 2 + a z + 1
(68)

For a2<4(b-2)a2<4(b-2) and b>2b>2, the zeros are neither real nor on the unit circle; therefore, they must have complex conjugates and have images about the unit circle. The form of the transfer function is

D ( z ) = { z 4 + [ ( 2 ( r 2 + 1 ) / r ) cos x ] z 3 + [ r 2 + 1 / r 2 + 4 cos 2 x ] z 2 + [ ( 2 ( r 2 + 1 ) / r ) cos x ] z + 1 } K D ( z ) = { z 4 + [ ( 2 ( r 2 + 1 ) / r ) cos x ] z 3 + [ r 2 + 1 / r 2 + 4 cos 2 x ] z 2 + [ ( 2 ( r 2 + 1 ) / r ) cos x ] z + 1 } K
(69)

If one of the zeros of a length-5 filter is on the real axis or on the unit circle, D(z)D(z) can be factored into a product of lower order terms of the forms in Equation 64, Equation 66, and Equation 67 and, therefore, is not of lowest order. The odd symmetric filters of Equation 42 are described by the above factors plus the basic length-2 filter described by

D ( z ) = ( z - 1 ) K D ( z ) = ( z - 1 ) K
(70)

The zero locations for the four basic cases of Type 1 and 2 FIR filters are shown in Figure 7. The locations for the Type 3 and 4 odd-symmetric cases of Equation 42 are the same, plus the zero at one from Equation 69.

Figure 7: Zero Locations for the Basic Linear-Phase FIR Filter
This figure consist of 5 different Cartesian graphs each containing a different circle. For each of these graphs the x axis is labeled real part of z and the y axis is labeled Imaginary part of z. The top left graph is labeled Length-2, Even Symmetric h(n). It contains a circle centered at the origin and on the far left there is a single hollow circle on the border. this circle is about at point (-1,0). The top right graph is labeled Length-2, Odd Symmetric h(n) and contains a circle centered around the origin. On the far right border of the circle there is a small circle. This circle exist near the point (1,0). The left middle graph is labeled Length-3, Even Symmetric h(n). On the large circle centered around the origin were two smaller circles on points on the border of the circle. The small circles are on the left half of the circle at points close to (-.75,.75) and (-.75,-.75). The middle right graph is labeled Length-3, Even Symmetric h(n). The graph contains a circle centered around the origin. On the left side of the circle there are two small circles. The small circles are not on the border of the circle. One was slightly to the right of the left most area of the circle a point near (.5,0). The other small circle is to the left of the left most border of the circle at a point near (-1.5,0). The bottom graph is labeled Length-5, Even Symmetric h(n), and contains a large circle centered around the origin. There are also four small circles near the left most border of the larger circle. There are two smaller circles on the inside of the circle. They are at two points near (-.5,-.5) and (-.5,.5). There are also to points to the left of the circle. These circles are near points (-1.25,.75) and (-1.25,-.75).

From this analysis, it can be concluded that all linear-phase FIR filters have zeros either on the unit circle or in the reciprocal symmetry of Equation 66 or Equation 69 about the unit circle, and their transfer functions can always be factored into products of terms with these four basic forms. This factored form can be used in implementing a filter by cascading short filters to realize a long filter. Knowledge of the locations of the transfer function zeros helps in developing filter design and analysis programs. Notice how these zero locations are consistent with the amplitude responses illustrated in Table 2 and Figure 5.

Section Summary

In this section the basic characteristics of the FIR filter have been derived. For the linear-phase case, the frequency response can be calculated very easily. The effects of the linear phase can be separated so that the amplitude can be approximated as a real-valued function. This is a very useful property for filter design. It was shown that there are four basic types of linear-phase FIR filters, each with characteristics that are also important for design. The frequency response can be calculated by application of the DFT to the filter coefficients or, for greater resolution, to the NN filter coefficients with zeros added to increase the length. A very efficient calculation of the DFT uses the Fast Fourier Transform (FFT). The frequency response can also be calculated by special formulas that include the effects of linear phase.

Because of the linear-phase requirements, the zeros of the transfer function must lie on the unit circle in the z plane or occur in reciprocal pairs around the unit circle. This gives insight into the effects of the zero locations on the frequency response and can be used in the implementation of the filter.

The FIR filter is very attractive from several points of view. It alone can achieve exactly linear phase. It is easily designed using methods that are linear. The filter cannot be unstable. The implementation or realization in hardware or on a computer is basically the calculation of an inner product, which can be accomplished very efficiently. On the negative side, the FIR filter may require a rather long length to achieve certain frequency responses. This means a large number of arithmetic operations per output value and a large number of coefficients that have to be stored. The linear-phase characteristic makes the time delay of the filter equal to half its length, which may be large.

How the FIR filter is implemented and whether it is chosen over alternatives depends strongly on the hardware or computer to be used. If an array processor is used, an FFT implementation [3] would probably be selected. If a fixed point TMS320 signal processor is used, a direct calculation of the inner product is probably best. If a floating point DSP or microprocessor with floating-point arithmetic is used, an IIR filter may be chosen over the FIR, or the implementation of the FIR might take into account the symmetries of the filter coefficients to reduce arithmetic. To make these choices, the characteristics developed in this chapter, together with the results developed later in these notes, must be considered.

FIR Digital Filter Design

A central characteristic of engineering is design. Basic to DSP is the design of digital filters. In many cases, the specifications of a design is given in the frequency domain and the evaluation of the design is often done in the frequency domain. A typical sequence of steps in design might be:

  1. From an application, choose a desired ideal response, typically described in the frequency domain.
  2. From the available hardware and software, choose an allowed class of filters (e.g. a length-N FIR digital filter).
  3. From the application, set a measure or criterion of “goodness" for the response of an allowed filter compared to the desired response.
  4. Develop a method to find (or directly generate) the best member of the allowed class of linear phase FIR filters as measured by the criterion of goodness.

This approach is often used iteratively. After the best filter is designed and evaluated, the desired response and/or the allowed class and/or the measure of quality might be changed; then the filter would be redesigned and reevaluated.

The ideal response of a lowpass filter is given in Figure 8.

Figure 8: Ideal Amplitude Responses of Linear Phase FIR Filters
This figure contains three graphs. For all of these graphs the x axis is labeled Normalized Frequency, f and the y axis is labeled Ideaal Amplitude, A_d. The top graph is labeled a. Ideal Lowpass Filter Amplitude Response. The graph consist of a right angle formed by a line extending from the y axis at 1 and then a line extending from the x axis at .4. The area contained with in this right angle is labeled with two arrows pointing up from the word passband and then the area to the right of the line extending from the x axis was labeled the same way with the word stopband. The second graph is labeled b. Ideal Lowpass Filter with Transition Function and consist of a line extending from the y axis at 1 and then at about .3 there is a diagonal line extending down and to the right until it the line reached 0 on the x axis. Below the x axis parallel to the the line extending from the y axis are to arrows designation the area of the passband and then another two arrow under the diagonal line designation the area of the transitionband. To the right of where the diagonal line stops is a similar designation for the stopband. Another arrow points to the diagonal line labeling it transition function. The third graph is similar to the last graph except that the diagonal line and the area of the x axis that below it have been omitted as has the arrow labeling the diagonal line.

Figure 8a is the basic lowpass response that exactly passes frequencies from zero up to a certain frequency, then rejects (multiplies those frequency components by zero)the frequencies above that. Figure 8b introduces a “transitionband" between the pass and stopband to make the design easier and more efficient. Figure 8c introducess a transitionband which is not used in the approximation of the actual to the ideal responses. Each of these ideal responses (or other similar ones) will fit a particular application best.

References

  1. Burrus, C. S. and Parks, T. W. (1985). DFT/FFT and Convolution Algorithms. New York: John Wiley & Sons.
  2. Mitra, Sanjit K. (2006). Digital Signal Processing, A Computer-Based Approach. (Third). [First edition in 1998, second in 2001]. New York: McGraw-Hill.
  3. Oppenheim, A. V. and Schafer, R. W. (1999). Discrete-Time Signal Processing. (Second). [Earlier editions in 1975 and 1989]. Englewood Cliffs, NJ: Prentice-Hall.
  4. Parks, T. W. and Burrus, C. S. (1987). Digital Filter Design. New York: John Wiley & Sons.

Collection Navigation

Content actions

Download:

Collection as:

EPUB (?)

What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

Downloading to a reading device

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

| More downloads ...

Module as:

PDF | EPUB (?)

What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

Downloading to a reading device

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

| More downloads ...

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

Reuse / Edit:

Reuse or edit collection (?)

Check out and edit

If you have permission to edit this content, using the "Reuse / Edit" action will allow you to check the content out into your Personal Workspace or a shared Workgroup and then make your edits.

Derive a copy

If you don't have permission to edit the content, you can still use "Reuse / Edit" to adapt the content by creating a derived copy of it and then editing and publishing the copy.

| Reuse or edit module (?)

Check out and edit

If you have permission to edit this content, using the "Reuse / Edit" action will allow you to check the content out into your Personal Workspace or a shared Workgroup and then make your edits.

Derive a copy

If you don't have permission to edit the content, you can still use "Reuse / Edit" to adapt the content by creating a derived copy of it and then editing and publishing the copy.