5
Design and Implementation
of FIR Filters
A filter is a system that is designed to alter the spectral content of input signals in
a specified manner. Common filtering objectives include improving signal quality,
extracting information from signals, or separating signal components that have been
previously combined. A digital filter is a mathematical algorithm implemented in hard-
ware, firmware, and/or software that operates on a digital input signal to produce a
digital output signal for achieving filtering objectives. A digital filter can be classified
as being linear or nonlinear, time invariant or varying. This chapter is focused on the
design and implementation of linear, time-invariant (LTI) finite impulse response
(FIR) filters. The time-invariant infinite impulse response (IIR) filters will be discussed
in Chapter 6, and the time-varying adaptive filters are introduced in Chapter 8.
The process of deriving the digital filter transfer function H(z) that satisfies the
given set of specifications is called digital filter design. Although many applications
require only simple filters, the design of more complicated filters requires the use of
sophisticated techniques. A number of computer-aided design tools (such as MATLAB)
are available for designing digital filters. Even though such tools are widely available,
we should understand the basic characteristics of digital filters and familiar with
techniques used for implementing digital filters. Many DSP books devote substantial
efforts to the theory of designing digital filters, especially approximation methods,
reflecting the considerable work that has been done for calculating and optimizing filter
coefficients.
5.1 Introduction to Digital Filters
As discussed in previous chapters, filters can be divided into two categories: analog
filters and digital filters. Similar specifications are used for both analog and digital
filters. In this chapter, we will discuss digital filters exclusively. The digital filters
are assumed to have a single input x(n), and a single output y(n). Analog filters are
used as design prototypes for digital IIR filters, and will be briefly introduced in
Chapter 6.
Real-Time Digital Signal Processing. Sen M Kuo, Bob H Lee
Copyright # 2001 John Wiley & Sons Ltd
ISBNs: 0-470-84137-0 (Hardback); 0-470-84534-1 (Electronic)