
28-1
6
REFERENCE
DATA
FOR ENGINEERS
an approximation
io
h(n),
where
ifN
is the desired length
of the
HR,
then
N
>>
N.
Then use a carefully selected
window to truncate
h(n)
according to
hjn)
=
w(n)lz(n).
Finally, use an
FFT
of length
N
to find
H(d”).
If
h(dw)
is a satisfactory approximation to
H(dw),
the design is
finished. If not, choose a new
H(dw)
or a new
o(n)
and
repeat. Throughout the procedure, it is important to
choose
N
=
W,
with
k
an integer in the range [4,
.
. .
,
101.
The
k
should be made as large as possible within
the limits of the computer resources. This design tech-
nique is
a
trial-and-error procedure. The quality
of
the
result will depend to some degree on the skill and
experience of the designer.
Table 4 lists a few well-known window functions
that can be used in this procedure. An extensive list of
windows and their figures of merit has been published
in Reference
12.
Computer Design
by
Equiripple Approxima-
tion-There are quite a few publications and numer-
ous
computer programs that deal with optimized
designs for
FIRS
using equiripple approximations in
the frequency domain. One popular program that has
been widely distributed is the one published by
McClellan, et. al.* This program is capable of design-
ing bandpass (including low-pass and high-pass), dif-
ferentiator, and Hilbert-transform
FIR
filters under the
constraint of linear phase. Fig.
10
illustrates an equir-
ipple approximation for an ideal low-pass response.
In
the program, the order,
N,
of the equiripple approxi-
mation (also the resulting order
of
the FIR design) is
fixed by the designer. Also, the designer specifies the
transition band, which is treated as a “don’t care”
interval during the computer optimization; Le., the
optimization is unconstrained in this interval. This
particular program uses the Remez Exchange Algo-
rithm to find the best equiripple approximation to the
specified response, returning to the user the FIR coef-
10
1
-
6,
6
w
Fig.
10.
Equiripple approximation to an ideal low-pass
response.
*
Reference
22.
Note that this program has been integrated into many com-
mercially available
DSP
software design tools.
ficients and the stopband and passband ripple factors.
If the result is unsatisfactory, the user can change the
order,
N,
the transition width or the relative weighting
factors in the various bands to improve the result.
In
general, this design program is easy to use, executes
efficiently, and produces excellent results.
In
certain
circumstances, the design for multiple-band bandpass
filters results in undesirable resonance peaks
in
the
“don’t-care’’ bands, a problem that has been addressed
in the literature. Fig.
11
shows a 64th-order dual
bandpass FIR filter that was designed with the pro-
gram of McClellan,
et.
al.?
DIG
ITAL-FI LTE
R
IMPLEMENTATION
The fundamental building blocks for implementing
digital filters are multipliers, adders, unit delay regis-
ters, and semiconductor memories.
This
section
addresses some of the issues concerning the selection
of a network topology, arithmetic number codes, and
the analysis of quantization effects in digital signal
processors. Much of the discussion is directed toward
IIR
digital filters, because the feedback
in
W
struc-
tures causes the performance to be rather sensitive to
network topology and the effects of quantization error.
Network Structures
The generic building block for
IIR
filters is the sec-
ond-order section (Fig.
12).
The canonical-form sec-
ond-order section requires two delay registers, five
multipliers, and four adders and is capable of realizing
a pair of complex poles and complex zeros with real-
valued multiplier coefficients.
It
is
well known that the
sensitivity of the zeros of a polynomial with respect to
incremental changes in the coefficients grows large
rapidly as the polynomial order increases. Therefore,
with respect to transfer function sensitivity and round-
off error accumulation,
it
is always preferable
to
decompose a high-order transfer function into lower-
order subsystems. This results in a parallel or cascade4
realization.
In
the parallel realization,
H(z)
is expanded as a par-
tial fraction expansion of the form
M-1
L
H(z)
=
~c~z-~
+xHi(z)
(Eq. 24)
k=O
j=l
where the first
M
terms are called the feed-forward
terms, and each
Hj(z)
has a first-order numerator and a
second-order denominator of the form
t
Reference
22.
$
Some
references call this
form
a “series” realization, al-
though “cascade”
is
now more commonly used.