Finite Impulse Response (Fir) : Objectives
Finite Impulse Response (Fir) : Objectives
Finite Impulse Response (Fir) : Objectives
FINITE IMPULSE
CHAPTER 9
RESPONSE (FIR)
Objectives
After completing this chapter, you will be able to:
DEFINITION
In signal processing, a finite impulse response (FIR) filter is a filter whose impulse
response (or response to any finite length input) is of finite duration, because it settles to
zero in finite time. This is in contrast to infinite impulse response (IIR) filters, which may
have internal feedback and may continue to respond indefinitely (usually decaying).
The impulse response (that is, the output in response to a Kronecker delta input)
of an Nth-order discrete-time FIR filter lasts exactly N + 1 samples (from first nonzero
element through last nonzero element) before it then settles to zero.
For a causal discrete-time FIR filter of order N, each value of the output sequence is a
weighted sum of the most recent input values:
70
DIGITAL SIGNAL PROCESSING
where:
• 𝑏𝑖 is the value of the impulse response at the i'th instant for 0≤ i ≤ N of an Nth
order FIR filter. If the filter is a direct form FIR filter then is also a coefficient of the
filter.
This computation is also known as discrete convolution.
The x [n – i] in these terms are commonly referred to as taps, based on the structure of
a tapped delay line that in many implementations or block diagrams provides the delayed
inputs to the multiplication operations. One may speak of a 5th order/6-tap filter, for
instance.
The impulse response of the filter as defined is nonzero over a finite duration. Including
zeros, the impulse response is the infinite sequence:
If a FIR filter is non-causal, the range of nonzero values in its impulse response can start
before n = 0, with the defining formula appropriately generalized.
PROPERTIES
A FIR filter has a number of useful properties which sometimes make it preferable to an
infinite impulse response (IIR) filter. FIR filters:
• 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.
• Are inherently stable, since the output is a sum of a finite number of finite multiples
of the input values, so can be no greater than Σ |𝑏𝑖 | times the largest value
appearing in the input.
71
DIGITAL SIGNAL PROCESSING
The main disadvantage of FIR filters is that considerably more computation power
in a general-purpose processor is required compared to an IIR filter with similar sharpness
or selectivity, especially when low frequency (relative to the sample rate) cutoffs are
needed. However, many digital signal processors provide specialized hardware features
to make FIR filters approximately as efficient as IIR for many applications.
FREQUENCY RESPONSE
The filter's effect on the sequence x [n] is described in the frequency domain by the
convolution theorem:
and
𝐻2 (𝜔) can also be expressed in terms of z-transform of the filter impulse response:
72
DIGITAL SIGNAL PROCESSING
FILTER DESIGN
A FIR filter is designed by finding the coefficients and filter order that meet certain
specifications, which can be in the time domain (e.g., a matched filter) and/or the
frequency domain (most common). Matched filters perform a cross-correlation between
the input signal and a known pulse shape. The FIR convolution is a cross-correlation
between the input signal and a time-reversed copy of the impulse response. Therefore,
the matched filter's impulse response is "designed" by sampling the known pulse-shape
and using those samples in reverse order as the coefficients of the filter.
When a particular frequency response is desired, several different design methods are
common:
Software packages like MATLAB, GNU Octave, Scilab, and SciPy provide convenient
ways to apply these different methods.
73
DIGITAL SIGNAL PROCESSING
In the window design method, one first designs an ideal IIR filter and then truncates
the infinite impulse response by multiplying it with a finite length window function. The
result is a finite impulse response filter whose frequency response is modified from that
of the IIR filter. Multiplying the infinite impulse by the window function in the time domain
results in the frequency response of the IIR being convolved with the Fourier transform
(or DTFT) of the window function. If the window's main lobe is narrow, the composite
frequency response remains close to that of the ideal IIR filter.
The ideal response is usually rectangular, and the corresponding IIR is a sinc
function. The result of the frequency domain convolution is that the edges of the rectangle
are tapered, and ripples appear in the passband and stopband. Working backward, one
can specify the slope (or width) of the tapered region (transition band) and the height of
the ripples, and thereby derive the frequency domain parameters of an appropriate
window function. Continuing backward to an impulse response can be done by iterating
a filter design program to find the minimum filter order. Another method is to restrict the
solution set to the parametric family of Kaiser windows, which provides closed form
relationships between the time-domain and frequency domain parameters. In general,
that method will not achieve the minimum possible filter order, but it is particularly
convenient for automated applications that require dynamic, on-the-fly, filter design.
The window design method is also advantageous for creating efficient half-band
filters, because the corresponding since function is zero at every other sample point
(except the center one). The product with the window function does not alter the zeros,
so almost half of the coefficients of the final impulse response are zero. An appropriate
implementation of the FIR calculations can exploit that property to double the filter's
efficiency.
74
DIGITAL SIGNAL PROCESSING
Method:
(𝑁−1)
Given a N point FIR filter h[n] and r[n] = h [n + k], k = .
2
Step 1: Suppose h[n] even symmetric. Then, the discrete time Fourier transform r[n] of
is defined as
Step 3: Minimize the mean square error by doing partial derivative of MSE with respect
to s[n]
In addition, we can treat the importance of passband and stopband differently according
to our needs by adding a weighted function, W(f) Then, the MSE error becomes
75
DIGITAL SIGNAL PROCESSING
A moving average filter is a very simple FIR filter. It is sometimes called a boxcar
filter, especially when followed by decimation. The filter coefficients 𝑏0, … 𝑏𝑁 are found
via the following equation:
To provide a more specific example, we select the filter order: N = 2; The impulse
response of the resulting filter is:
Fig. (a) Block diagram of a simple FIR filter (2nd-order/3-tap filter in this case, implementing a moving
average)
76
DIGITAL SIGNAL PROCESSING
Fig. (c) Magnitude and phase responses Fig. (d) Amplitude and phase responses
Fig. (a) shows the block diagram of a 2nd-order moving-average filter discussed below.
The transfer function is:
Fig. (b) shows the corresponding pole–zero diagram. Zero frequency (DC) corresponds
to (1, 0), positive frequencies advancing counterclockwise around the circle to the
Nyquist frequency at (−1, 0). Two poles are located at the origin, and two zeros are
located at
77
DIGITAL SIGNAL PROCESSING
Fig. (c) shows the magnitude and phase components of 𝐻(𝑒 𝑗ω ). But plots like these can
also be generated by doing a discrete Fourier transform (DFT) of the impulse response.
And because of symmetry, filter design or viewing software often displays only the [0, π]
region. The magnitude plot indicates that the moving-average filter passes low
frequencies with a gain near 1 and attenuates high frequencies, and is thus a crude low-
pass filter. The phase plot is linear except for discontinuities at the two frequencies where
the magnitude goes to zero. The size of the discontinuities is π, representing a sign
reversal. They do not affect the property of linear phase. That fact is illustrated in Fig. (d).
Reference:
• https://en.wikipedia.org/wiki/Finite_impulse_response#Window_design_m
ethod
• http://supercdms.tamu.edu/tobackgroup/work/softprojects/triggeractive/fir
mwareplan/fir.html
• https://www.youtube.com/watch?v=jL_1DwUMD2w
Overview of FIR and IIR Filters
• https://www.youtube.com/watch?v=9yNQBWKRSs4
78