Finite impulse response

A finite impulse response (FIR) filter is a type of a digital filter. The impulse response, the filter's response to a Kronecker delta input, is 'finite' because it settles to zero in a finite number of sample intervals. This is in contrast to infinite impulse response filters which have internal feedback and may continue to respond indefinitely. The impulse response of an Nth order FIR filter lasts for N+1 samples, and then dies to zero.

Definition

We start the discussion by stating the difference equation which defines how the input signal is related to the output signal

: y [n] =b_0 x [n] + b_1 x [n-1] + cdots + b_N x [n-N]

where x [n] is the input signal, y [n] is the output signal and b_{i} are the filter coefficients. N is known as the "filter order"; an Nth-order filter has (N+1) terms on the right-hand side; these are commonly referred to as "taps".

The previous equation can also be expressed as a convolution of filter coefficients and the input signal.

: y [n] = sum_{i=0}^{N} b_i x [n-i] .

Impulse response and transfer function

To find the impulse response we set

: x [n] = delta [n]

where delta [n] is the Kronecker delta impulse. The impulse response for an FIR filter is the set of coefficients b_n, as follows

:egin{align} h [n] &= sum_{i=0}^{N}b_i delta [n-i] \ &= b_n.end{align}for n = 0 to N.

The Z-transform of the impulse response yields the transfer function of the FIR filter

:egin{align} H(z) &= Z{h [n] } \ &= sum_{n=-infty}^{infty} h [n] z^{-n} \ &= sum_{n=0}^{N}b_n,z^{-n}.end{align}

FIR filters are clearly "bounded-input bounded-output" (BIBO) stable, since the output is a sum of a finite number of finite multiples of the input values, so can be no greater than sum |b_i| times the largest value appearing in the input.

Properties

An FIR filter has a number of useful properties which sometimes make it preferable to an infinite impulse response filter. FIR filters:
*Are inherently stable. This is due to the fact that all the poles are located at the origin and thus are located within the unit circle.
*Require no feedback. This means that any rounding errors are not compounded by summed iterations. The same relative error occurs in each calculation. This also makes implementation simpler.
*They can be designed to be linear phase, which means the phase change is proportional to the frequency. This is usually desired for phase-sensitive applications, for example crossover filters, and mastering, where transparent filtering is adequate.

The main disadvantage of FIR filters is that considerably more computation power is required compared with a similar IIR filter. This is especially true when low frequencies (relative to the sample rate) are to be affected by the filter.

Filter design

To design a filter means to select the coefficients such that the system has specific characteristics. The required characteristics are stated in filter specifications. Most of the time filter specifications refer to the frequency response of the filter. There are different methods to find the coefficients from frequency specifications:
# Window design method
# Frequency Sampling method
# Weighted least squares design
# Minimax design
# Equiripple design. The Remez exchange algorithm is commonly used to find an optimal equiripple set of coefficients. Here the user specifies a desired frequency response, a weighting function for errors from this response, and a filter order "N". The algorithm then finds the set of (N+1) coefficients that minimize the maximum deviation from the ideal. Intuitively, this finds the filter that is as close as you can get to the desired response given that you can use only (N+1) coefficients. This method is particularly easy in practice since at least one text [Rabiner, Lawrence R., and Gold, Bernard, 1975: Theory and Application of Digital Signal Processing (Englewood Cliffs, New Jersey: Prentice-Hall, Inc.) ISBN 0139141014 ] includes a program that takes the desired filter and "N", and returns the optimum coefficients.

Software packages like MATLAB, GNU Octave and Scilab provide convenient ways to apply these different methods.

Some of the time, the filter specifications refer to the time-domain shape of the input signal the filter is expected to "recognize". The optimum matched filter is to sample that shape and use those samples directly as the coefficients of the filter -- giving the filter an impulse response that is the time-reverse of the expected input signal.

Moving average example

A moving average filter is a very simple FIR filter. The filter coefficients are found via the following equation:

:b_{i}=frac{1}{N+1} for i=0,1,dots,N

To provide a more specific example, we select the filter order:

: N=2

The impulse response of the resulting filter is:

:h [n] =frac{1}{3}delta [n] +frac{1}{3}delta [n-1] +frac{1}{3}delta [n-2]

The following figure shows the block diagram of such a second-order moving-average filter.

To discuss stability and spectral topics we take the z-transform of the impulse response:

:H(z)=frac{1}{3}+frac{1}{3}z^{-1}+frac{1}{3}z^{-2}=frac{1}{3}frac{z^{2}+z+1}{z^{2

The following figure shows the pole-zero diagram of the filter. Two poles are located at the origin, and two zeros are located at z_{1}=-frac{1}{2}+jfrac{sqrt{3{2}, z_{2}=-frac{1}{2}-jfrac{sqrt{3{2}

The frequency response, for frequency "ω" in radians per sample, is:

:H(e^{jomega})=frac{1}{3}+frac{1}{3}e^{-jomega}+frac{1}{3}e^{-j2omega}

The following figure shows the absolute value of the frequency response. Clearly, the moving-average filter passes low frequencies with a gain near 1, and attenuates high frequencies. This is a typical low-pass filter characteristic. Frequencies about π are aliases of the frequencies below π, and are generally ignored or filtered out it reconstructing a continuous-time signal. :

The following figure shows the phase response.

:

ee also

*Electronic filter
*Filter (signal processing)
*Infinite impulse response (IIR) filter
*Z-transform (specifically Z-transform#Linear_constant-coefficient_difference_equation)
*Filter design
*Cascaded Integrator-Comb Filter

References

External links

* [http://dspguru.com/info/faqs/firfaq.htm FIR FAQ]
* [http://www.ludd.luth.se/~torger/brutefir.html BruteFIR; A software for applying long FIR filters to multi-channel digital audio, either offline or in realtime.]
* [http://freeverb3.sourceforge.net/ Freeverb3 Reverb Impulse Response Processor]


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Finite impulse response — Ein Filter mit endlicher Impulsantwort (englisch finite impulse response filter, FIR Filter, oder manchmal auch Transversalfilter genannt) ist ein diskreter, meist digital implementierter Filter und wird im Bereich der digitalen… …   Deutsch Wikipedia

  • Finite impulse response filter — Ein Filter mit endlicher Impulsantwort (englisch finite impulse response filter, FIR Filter, oder manchmal auch Transversalfilter genannt) ist ein diskreter, meist digital implementierter Filter und wird im Bereich der digitalen… …   Deutsch Wikipedia

  • Infinite impulse response — IIR redirects here. For the conference company IIR, see Informa.Infinite impulse response (IIR) is a property of signal processing systems. Systems with that property are known as IIR systems or when dealing with electronic filter systems as IIR… …   Wikipedia

  • Acoustic Radiation Force Impulse (ARFI) Imaging — uses acoustic radiation force to generate images of the mechanical properties of soft tissue. How it worksAcoustic radiation force is a phenomenon associated with the propagation of acoustic waves in attenuating media. Attenuation includes both… …   Wikipedia

  • Digital filter — A general finite impulse response filter with n stages, each with an independent delay, di, and amplification gain, ai. In electronics, computer science and mathematics, a digital filter is a system that performs mathematical operations on a… …   Wikipedia

  • Convolution — For the usage in formal language theory, see Convolution (computer science). Convolution of two square pulses: the resulting waveform is a triangular pulse. One of the functions (in this case g) is first reflected about τ = 0 and then offset by t …   Wikipedia

  • Linear filter — A linear filter applies a linear operator to a time varying input signal. Linear filters are very common in electronics and digital signal processing (see the article on electronic filters), but they can also be found in mechanical engineering… …   Wikipedia

  • Filter design — is the process of designing a filter (in the sense in which the term is used in signal processing, statistics, and applied mathematics), often a linear shift invariant filter, which satisfies a set of requirements, some of which are contradictory …   Wikipedia

  • Scale space implementation — Scale space Scale space axioms Scale space implementation Feature detection Edge detection Blob detection Corner detection …   Wikipedia

  • Blind equalization — is a digital signal processing technique in which the transmitted signal is inferred from the received signal, while making use only of the transmitted signal statistics. Hence, the use of the word blind in the name.Blind equalization is… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.