You are on page 1of 13

444 IEEE TRANSACTIONS ON ACOUSTICS,

SPEECH, AND SIGNAL PROCESSING, VOL. ASSP-23,


NO. 5 , OCTOBER 1975

Optimum FIR Digital Filter Implementations for


Decimation, Interpolation, and Narrow-Band
Filtering
LAWRENCE R. UBINER, SENIOR MEMBER, IEEE

Abstract-In this paper a general theory of multistage decimators and back to the original frequency. They proposed a multistage
interpolators for sampling rate reduction and sampling rate increase is procedure for sampling rate reduction by alternately fdtering
presented. A set of curves and the necessary relations for optimally de-
with half-band filters and reducing the sampling rate by factors
signingmultistage decimators is also given. It is shown that the pro-
cesses of decimation and interpolation are duals and therefore the same of 2 until a desired power of 2 sampling rate reduction was
set of design curves applies to both problems. Further, it is shown that achieved. They then used a reverseprocess for interpolating
highly efficient implementations of narrow-band finite impulse response back to the original sampling frequency. Shively [9] has also
(FIR) fiiters can be obtained by cascading the processes of decimation suggested a multistage process for integer sampling rate reduc-
and interpolation. Examplesshowthat theefficiencies obtained are
comparable to those of recursive elliptic filter designs.
tions for which the sampling rate reduction at each stage can
be greater than two. He proposed a procedure for optimally
choosing thereduction ratios at each stagesuch thatthe
amount of computation in the overall sampling rate reduction
I. INTRODUCTION process was minimized.

W ITH the increasing number of applications of digital


techniques in signal processing, the need for efficient
translating between various sampling frequencies has
become increasingly apparent. An example of such an applica-
In this paper we present a general theory of the processes of
sampling rate reduction and sampling rate increase. Hereafter,
wewillgenerally refer to these processes as decimation and
interpolation, respectively. In Section I1wereview some of
tion is the conversion of digital signal code formats, i.e., con- the basic principles of decimation and interpolation established
version fromdeltamodulation to pulse-code modulation, by Schafer and Rabiner [4]. In Section I11 weuse these re-
which inherently operate at different sampling rates [ 11 . An- sults to extendthe approach of Shively and present design
other example is the transmission of speech via analysis- curves and formulas for the optimum implementation of deci-
synthesis techniques (e.g., vocoders) where a sampling rate mators with noninteger decimation ratios. In Section IVwe
reduction is required for efficient transmission, and a sampling address the problem of interpolation and show that there is a
rate increase is required for the regeneration of the speech [2]. mathematical duality aswell as a conceptual one between
Yet another application is in narrow-band filtering where an decimation and interpolation. This duality then enables a
efficient implementation of a digital filter can be realized using user to apply the design curves and formulas developed in Sec-
a sampling rate reduction followed by a sampling rate increase tion I11 to the design of optimum 'interpolators. In Section V
~ 3 1 [61.
- wediscuss the design of low-pass narrow-band FIR filters
The processes of sampling rate reduction (often called deci- which are implemented in terms of an optimal decimator in
mation) and sampling rate increase (or interpolation) have cascade with an optimal interpolator. We then show that this
been examined from several points of view. Crooke and Craig form of implementation corresponds to an optimal FIR filter
[7] have shown that for band-limiting applications computa- implementation. For narrow-band filters very significant gains
tional efficiencies can be gained by sampling rate reduction. in efficiency can be derived by using this form of implementa-
Nelson et al. [8] have found similar advantages using sampling tion over that of a direct form implementation. Finally, in
rate reduction in conjunction with octave band filters. Schafer Section VI some additional considerations in the design of
and Rabiner [4] have shown that sampling rate increase and optimum decimators and interpolators are given.
sampling rate reduction arebasically interpolation processes
and canbe efficiently implemented using finite impulse re- 11. PRELIMINARY CONSIDERATIONS OF THE DECIMATION
sponse (FIR) digital filters. Furthermore,they show that AND INTERPOLATIONPROCESSES
sampling rate conversion between any rational ratio of sam-
pling frequencies canbe efficiently implemented by atwo- Before proceeding to the design of optimum decimators and
stage process consisting of an integer sampling rate increase interpolators it will be convenient to review, in this section,
followed by an integer sampling rate decrease. Bellanger et al. some of the fundamental concepts of decimation and inter-
[SI foundthat efficient implementations of low-pass FIR polation in the context of digital signal processing as discussed
filters could be obtainedbya process of first reducing the in [4] .
sampling rate, filtering, and then increasing the sampling rate The process of decimating a signal x(n) by an integer ratio M
is depicted in Fig. 1. The original sampling rate is denoted as
Manuscript received January 24, 1975; revised May 16, 1975. f, and the final rate is then f,/M. To avoidaliasing atthe
The authors are with Bell Laboratories, Murray Hill, N.J. 07974. lower sampling rate, f J M , it is necessary to filter the original
CROCHIERE AND RABINER:FIRDIGITALFILTERIMPLEMENTATIONS 445

I
DECREASE
SAMPLING _I y(n)
RATE BY
M \I

Fig. 2. (a) Illustration of the interpolation processand (b) frequency


0 f, /M f- response and waveform interpretation.
(b)
Fig. 1. (a) Illustration of the decimation process and (b) frequency
response interpretation.
I
I
INCREASE ECREASE
'
I

SAMPLING-
T R A T F BY LpF SAMPLING
RATE
M BY
signal x(n) with a low-pass filter giving the signal w(n). The
sampling rate reduction is then achievedby forming a new
sequence y(n) byextracting every Mth sample of w(n). A
block diagram of these operations is given in Fig. l(a). Fig.
l(b) shows typical Fourier transforms ofthe signals x(n),
I
w(n>,and.Y(n). I

-L I y(n)
INCREASE DECREASE
The process of interpolating a signal x(n) by an integer SAMPLINGw(n1
RAT5 BY LpF __ SAMPLING
RATS BY
ratio L is, similarly, depictedin Fig. 2. In this case the sampling I
rate of a signal x(n) is increased by the factor L by inserting fr - l-L
Lf _ _ - _ - _ _ Lfr
L'_____ _ _ _ _ - L ICM f,
.I.

GENERAL INTERPOLATOR/DECIMATOR
L-1 zero-valued samples between each sampleof x(n). This (b)
creates a signal w(n) (with sampling rate Lfr) whose frequency Fig. 3 . (a) Cascade of an interpolatorand a decimatorforachieving
components are periodic with period equal to the original samplingratechangesby noninteger factors. (b) More efficient im-
sampling frequency f, as shown in Fig. 2(b). To eliminate plementation of this process.
these periodic components and retain only the baseband fre-
quencies it is necessary to filter the signal w(n) with an appro- examine this process we recognize that the two low-pass fdters
priate low-pass filter.' The resulting signal y(n) with sampling are operating in cascade and at the same sampling rate. Thus a
rate Lf, is then the desired interpolated signal. At the bottom more efficient implementation of the overallprocess can be
of Fig. 2(b) the Fourier transform of the signal y(n) is shown. achieved if the filters are combined into one composite low-
Thus far, we have only considered sampling rate increases or pass filter [4] as shown in Fig. 3(b). The system of Fig. 3(b)
decreases by integer ratios. If sampling rate conversions be- corresponds to a general interpolation or decimation module
tween rational integer ratios of sampling frequencies are de- depending upon whether L is greater or less than M . If L = 1,
sired this can be achieved by a combination of the two above this general module becomes the integer decimator of Fig. 1
processes. That is, if we desire a sampling rate conversion by a and, if M = 1, it becomes the integer interpolator of Fig. 2.
ratio L / M (where L and M are integers) we can achieve this by The design of the low-pass filter (i.e., specification of cutoff
first interpolating by L and then decimating b y M as shown in frequencies and ripples) in this general module for sampling
Fig. 3(a). It is important to recognize that the interpolation rate change will be explained in Sections I11 and IV.
process hust precede the decimation process to retain the de- An extremely important consideration in the implementa-
sired frequency band in the final output (except in the case tion of the sampling rate changing system of Fig. 3(b) is the
when the original signalis sufficiently band limited). If we choice of the type of low-pass fdter [4]. For this type of sys-
tem, a significant savings in computation can be obtained by
'To retain the same signal energy at the high sampling rate the pass- using an FIR filter in a standard direct form implementation.
band gain of this filter must be equal to L [ 4 ] . For this case, the filter output v(n) is computed from the in-
446 TRANSACTIONS
IEEEACOUSTICS,
ON
SIGNAL
SPEECH,
PROCESSING,
AND OCTOBER 1975

put w(n) by the relation

N- 1
u(n)= h(m)w(n- m )
m=o

where h(m), (m = 0, 1, .,N - 1)are the filter coefficients


and N is the duration of the unit sample response of the filter.
From (1) it is seen that the computation of an output point
depends only upon past and present values of w(n) and not
upon past values of any internal filter variables. Thus the filter
computations need only be made once for every Mth output
point. Furthermore, it is known that w(n) is nonzero only for
every Lth input point. Thus only one multiplication andaddi-
LPF- STAGE K
tion must be performed for every Lth input point. Therefore
the effective number ofmultiplications and additionsis N/(LM)
FINPUT
SAMPLING RATE
OUTPUTSAMPLINGRATE
per output sample: instead of N as predicted by a simple ap-
0 fn fs frK fr(K-1)
plication of(1). For this and other reasons to be discussed
later, we will assume for the remainder of this paper that the
low-pass filter is a linear phase FIR designused in a direct
form implementation.
0 f, f,, f--
(b)
111. OPTIMUM DESIGNOF MULTISTAGE DECIMATORS
Fig. 4. (a)Illustration of a K-stagedecimatorand (b) frequencyre-
FOR SAMPLING RATE REDUCTION
sponse interpretation of this process.
In the previous section a generalone-stage techniquefor
changing the sampling rate of a signal by the factor LIM was The overall sampling rate reduction achieved by this process is
discussed. For largechanges in sampling rate, however, it is denoted as D and is given as
generally more efficient to reduce the sampling rate with a
D = f r o /frK
series of decimation stages rather than making the entire rate
reductionwithone stage. In this way the simplingrate i s
reduced gradually resulting in much less severefiltering require-
= nK

i=1
Di. (3)
ments on the low-pass filters at each stage. Bellanger et al. [SI
In Fig. 4(b) IX[exp j(27rflfu,,)JI represents the magnitude of
and Nelson et al. [8] also have implemented sampling rate re-
the spectrum of x ( n ) and I Y[exp j ( h f l f r K ) ] I corresponds to
ductions usingseveral decimation stages;however they re-
the magnitude of the spectrum of y(n). From the sampling
stricted their results by only using factors of 2 at each stage.
theorem, we recognize that the highest frequency in y (n) is
Shively [9] considered a more general approach with integer
decimation for a two-stage design similar to that of Fig. l(b).
f,which i s
He also suggested a procedure for optimizing the two-stage de- f,<-.
frK
sign by properly choosing the decimation ratios of each of the 2
stages. In this section we extend and generalize the work of Because of practical considerations in the design of the low-
Shivelyusing the more general decimation stage shown in pass filters used in the decimationprocess, this bandwidth can
Fig. 3(b). Design curves and formulas are presented for imple- never be fully realized andthe usable portion of the base-
menting optimum decimators for a wide range of parameters band willalwaysbe somewhat less than f,. We denote this
and conditions. bandwidth as being froh zero to f p corresponding to the band
The basic multistage process for sampling rate reduction over which the magnitude response of the composite of the
with K stages is illustrated in Fig. 4(a) and a frequency domain low-pass filters remains flat within specified tolerance limits of
interpretation of this process is given in Fig. 4(b). The initial 1 k 6,. Also because of practical considerations a inakimum
sampling rate is fro and the fmal sampling rate is f u i with in- toierance must be allowed for the magnitude response of the
termediate sampling frequencies designatedas f r l , f r 2 , . . *, low-pass filters in the stopband and this will be denoted as 6,.
f r ( K - 1 ) . The sampling rate reduction achieved by each stage We can now focus on the design requirements for each stage.
-
of the decimation process is denoted as D i , i = 1 , 2 , .,K and We will permit the most general form for each stageasdis-
therefore the intermediate sampling frequencies are given by cussed in the previous section [see Fig. 3(b)] . This form for
stage i is illustrated in Fig. 5(a). Li corresponds to the sam-
pling rate increase and Mi corresponds to thesampling rate de-
crease for stage i. As there is a net sampling rate reduction
this implies,Mi >Li. Then
2This does not imply that greater efficiencies can be obtained by si-
multaneously increasing L and M as both Nand the sampling rate in (1)
are proportional to L .
CROCHIERE AND RABINER: FIR DIGITAL FILTER XMPLEMEMTATIQNS 447

for stage i, then


K
R, =CRi.
i=1

Let Ni denote the number of samples in the unit sample re-


sponse of the direct form FIR filter in stage i. Then R ican be
expressed as the product of Nitimes the sampling rate of the
L PF- STAGE i filter, Z,i&(i...l), divided by the savings factor LlMi discussed in
ALIASED SIGNAL Section TI Therefore
~

/AFTER SAMPLING
‘f RAPE REDUCTION
\ TO f,i

L L1 /.- - L L _ _ _I._._.___ ._...-A.._.I-


0 fp fa fri -f, fri
P -- fr(i-1) Lifrtl-1)

(b)
‘The duration of the unit sample response, Ni, can,in turn, be
Fig. 5 . (a) Stage i of a K-Stage decimator. @) I’requency response rep-
resentation of the low-pass filter requirements forstage i. derived from the required filter specifications of the low-pass
filter in stage i.
Design procedures and relations for designing optimal FIR
and from (2) the net decimation ratio Difor stage i is given as filters of the above type have been well established. Given the
desired ripple specifications and cutoff frequencies an approxi-
Mi.
1). =- mate relation for the necessary unit sample response duration
Li N is given as4 [lo] [l I]
The requirements on the low-pass filter for stage i can be de-
termined with the aid of Fig. 5(b). The passband requirement
must be such that it is flat from zero to fp in order to avoid
distorting the baseband response. As it isdesired thatthe where
overall passband ripple for the composite of K stages be main-
At; width of the transition band normalized to the sampling
tained within 1 ? 6,, it is necessary to requkre more severe
frequency
constraints on the individual filters in the cascade. A con-
venient choice which will satisfy this requirement is to specify Dw(61 6,) = [5.309 x (log10
the passband ripple constraints for each stage i to be within
-6 7.114 X (loglo 6,)
1 k bpi where = 6,/K. In thestopbandthe ripple con-
straint for the composite filter niust be 6, and this constraint - 0.47611 loglo 6 2 - [2.66 X low3(loglo
must be imposed on each of the individud low-pass filters as
well, in order to suppress the effects of aliasing? Finally, to -t 0.5941 OOglo 6 1) + 0.4278 J (1 0)
assure that no high frequency components are aliased into the f(61,62)=0.5f244loglo (61/62)+ 11.01217
baseband at stage i, the stopband cutoff frequencyof the low-
pass filter i can be chosen to be fri - &. At the final stage, K , S I tolerance in the magnitude response in the passband
it can be seen that this cutoff frequency is then equal to f s as 62 tolerance in the magnitude response in the stopband.
desired sincefrK = 2 f,.
.Thusfar, we have established the basic framework for a In the particular application that we are considering here most
of the stages will have relativelynarrow-band filters, especially
multistagedecimatorand havespecified therequirements
in cases where decimation ratios D are greater than 10 or so.
which must be met at each stage. Given that the requirements
Generally, AF in (9) willbeTelatively small and the second
fro, f,,fp, 6, and 6, are known, the next consideration
~ is that
two terms on the right side of (9) will be relatively insignificant
of optimizing the design for maximum efficiency. The flexible
compared to that of the first tern. With this in mind we can
parameters that we have at our disposalare thedecimation
argue that a further approximationof (9) to the form
ratios D j , i = 1, 2, . * K , as well as K . The function to be
e,

minimized is the overall amount of required computation. A


meaningful measure of this is the total number of multiplies
and adds (MADS) which must be performed per second. If
RT is denoted as this value and R i is the number of MAI>S/s is justified for our purposes. Also, it greatly simplifies the de-
velopment of the following optimization procedure. Further
3Since the aliasing generally does not add coherently, 6 , instead of j’ustification for this step will be presented later.
6,/K is used in each stage for the stopband specification. The use of ’From the preceding discussion of the required filter require-
6,/K instead of 6, does not change the results sufficiently from t h ~ ~
given here because of the relative insensitivityof the design formulas to
the deltas. 4D_(6 1,62) should not be confused with the decimation ratios Di.
448 TRANSACTIONS
IEEEACOUSTICS,
ONSIGNAL
SPEECH,
PROCESSING,
AND OCTOBER 197s

ments we can now determine the length of the unit sample where
response Nifor stage i. Letting
61 = Sp/K
6* =6,

(18b)
This is the fmal form that we desire.
We can now minimize RT by selecting the number of decima-
tion stages K and then minimizing RT in terms of the decima-
tion ratios which can be assumed to be continuous variables.
From (2), (6), ( 9 , and (12) thecomputation rate Ri in By comparing values of RT for these various values of K we
MADS/s for stage i can be expressed in the form can then optimize the number of stages. Typically the opti-
mum number of stages will besomewhere between 1 and 4.
For K = 1 there is no flexibility in choosing decimation
ratios (Dl = 0 ) . For K = 2 , R Tis a function of one variable,
By applying (7) the total computation forstages 1-K is given as D l . To minimize RT we can take its derivative with respect to
D l and set it to zero. This yields a quadratic function in D l .
It leads to two solutions for D l , only one of which is valid,
and can be given as
and with theaid of ( 2 )and (3) this can be expressed in the form - 2D(1 - .\/DAf/(2 - Af))
D'opt - 2-Af(D+1) ' K=2
and
D2,p* = D/D1 3 K=2.

(15) For largervalues of K the above analytic procedure is not


This is almost in the form thatwe desire for a formal optimiza- feasible and we must resort to more powerful computer-aided
tion procedure. That is, RT is expressed only in terms of optimization techniques. For our purposes we found that the
-
known parameters and the variables D l , D 2 , . -,D , over Hooke and Jeeves optimization routine [12], [13] worked
well and did not require the evaluation of derivatives.
which it is to be minimized. It is important to recognize how-
ever that only K - l of these variables are independent. That In the above procedure for optimizing the multistage decima-
is, we can express DK in terms of the known parameter D and tor several interesting observations can be made. From (18a)
the variables D l ,D2 ,. . -,D K - ~in the form we can see that RT is a product of three factors, the initial
frequency f r o , D,(6p/K, 6), which is a function of SF,6, and
D K , and S which is a function of Af,D , Kand , the decimation
DK=-.
(16) ratios. This factorization makes the problem much simpler to
n
K- 1

i=l
deal with and to grasp intuitively. For example, we can ob-
serve the effects that SP and 6, have on RT by examining the
Therefore DK must be eliminated from (15 ) before attempting behavior of Da(Sp/K, 6,). In Table I this function is tabulated
to minimize RT. Otherwise the optimization procedure will for some typical values of 6, and 6, and for K = 1, 2 , - . -,6.
fail. From this table we can also observe the effect of K on
At this point it is also convenient for later notational pur- D,(6,/K, 6s). For example, in going from a one-stage design
poses to define a new parameter (K = 1) to a two-stage design (K = 2), D,(GP/K, 6), increases
typically by a factor of approximately 10 percent. This is a
reflection of the increased amountofcomputation that is
This is simply an alternative to expressing both f , and f p . It required due to the fact that the passband ripples of the two
has the interpretation that itis a relative measure of the transi- cascaded filters in the two-stage design must be made smaller
tion band between f , and f p . For example if Af is 0.25 then in order to retain a composite ripple of S p . Aswe willsee
the passband, 0 to f,, occupies threequarters of the new shortly, this variation of D,(6JK, )6; with respect to K is
baseband. relatively insignificant compared to the variation of S with
Upon substitution of (16) and (17) into (15) we get the fiial respect to K . In other words we conclude that the choice of
objective function the optimum number of stages is not strongly affected by the
choice of 6, and S,, but rather, on the choice of Af and D .
Perhaps the more interesting function in (1Sa) is S. For a
( W
given number of stages RT is minimized by minimizing S. To
ABINER: AND
CROCHIERE 449

TABLE I responds to the minimum. When theoptimumnumberof


stages is known, the optimum values for the decimation ratios
OF Dm(:,
TABULATION 6
,
)
for each stage can be determined from the curves in Fig. 7 or
from (19).
SP 6, K K= K
=l 2K
= 3K
= 4.=K5 = 6 Generally, it has been observed that the rangeoverwhich
0.100 0.0100 1.25 1.46 1.58 1.67 1.74 1.79 the choiceof decimation ratios can bevaried without ap-
0.100 0.0050 1.41 1.63 1.75 1.84 1.91 1.97 preciably increasing RT is relatively large. This. property
0.100 0.0010 1.80 2.0'2 2.15 2.25 2.32 2.38 further justifies our use of the approximation in (11) and is
0.100 0.0005 1.95 2.19 2.32 2.42 2.49 2.55
0.100 0.0001 2.33 2.58 2.72 2.82 2.90 2.96 very desirable because it allows a great deal of flexibility in the
choice of decimation ratios in an actual design without sacrific-
0.050 0.0100 1.46 1.67 1.79 1.88 1.94 1.99 ing efficiency. In fact it is often desired in practice to choose
0.050 0.0050 1.63 1.84 1.97 2.06 2.12 2.18
0.050 0.0010 2.02 2.25 2.38 2.47 2.54 2.60 nearest integer values for the decimation ratios when possible.
0.050 0.0005 2.19 2.42 2.55 2.65 2.72 2.78 This allows us' to take advantage of the symmetry of the im-
0.050 0.0001 2.58 2.82 2.96 3.06 3.14 3.20 pulse response in the implementation of the low-pass filters
0.010 0.0100 1.94 2.15 2.27 2.35 2.42 2.47 and achieve an additional factor of approximately 2 in savings
0.010 0.0050 2.12 2.33 2.45 2.54 2.60 2.66 in the required number of multiplications. Thissavings can-
0.010 0.0010 2.54 2.76 2.89 2.98 3.04 3.10 not, in general, be realized in stages where noninteger decima-
0.010 0.0005 2.72 2.94 3.07 3.16 3.23 3.29
0.010 0.0001 3.14 3.37 3.50 3.60 3.67 3.73 tion ratios are implemented. Another reason for perhaps de-
viating from an optimal design is when the order Niof a filter
0.005 0.0100 2.15 2.35 2.47 2.55 2.61 2.66 in one or more of the stages is excessively large. In this situa-
0.005 0.0050 2.33 2.54 2.66 2.74 2.81 2.86
0.005 0.0010 2.76 2.9 8 3.10 3.19 3.26 3.31 tion we may want to change the decimation ratios in such a
0.005 0.0005 2.94 3.16 3.29 3.38 3.45 3.50 way that it will relax the filter requirements ofthese particular
0.005 0.0001 3.37 3.60 3.73 3.83 3.90 3.95 stages at the expense of increasing the filter orders in other
0.001 0.0100 2.6 1 2.81 2.92 3.00 3.07 3.11 stages. It may also be desirable in such cases to increase the
0.001 0.0050 2.81 3.01 3.12 3.20 3.27 3.31 number of decimation stages in the design in order to reduce
0.001 0.0010 3.25 3.46 3.58 3.67 3.73 3.78 the orders of the fdters in all of the stages. Because of these
0.001 0.0005 3.45 3.66 3.78 3.87 3.93 3.98
0.001 0.000 1 3.90 4.12 4124 4.33 4.40 4.45 types of practical tradeoffs, it is suggested that the above de-
sign curves and formulas be applied rather flexibly and used
only as a guide in obtaining a starting point for. an optimal
show this behavior of S we chose six values of Af, distributed design. Practical considerations should then be applied to de-
from 0.01 to 0.5, and values ofD ranging from 1 to 5000. We termine the final choice of the design. .
then minimized S for these examples with K = 1, 2, 3, and 4
An Example
using the Hooke and Jeeves algorithm whennecessary. The
resulting optimum values of S are plotted in Fig. 6 and the To illustrate the abovedesign approach we will choose to
optimum decimation ratios which minimize S are plotted in design a decimator withthe following specifications.
Fig. 7. Six sets of graphsare given in each figure and they cor- 8, = 0.05
respond to the six values of Af. Each graph inFig. 6 contains 6, = 0.005
four curves for the appropriate values of K . In Fig. 7 curves
Af = 0.1
for all values of K and i are given. Also indicated in the plots
of Fig. 6 are the approximate ranges o f D over which one, two, D=20
three, or four stages appear to be optimum based on the be- fro = 10 kHz.
havior of S . That is, one stage appears to be optimal over From Table I we can obtain values for D,(GP/K, 6,) and from
region I, two stages appear to be optimal over region 11, etc. Fig. .6(c) we can obtain minimized values for S for K = 1 , 2 , 3 ,
The dotted curves in Fig. 6 will be explained in SectionV. and 4. These results are compiled in Table 11 along with com-
Several important conclusions can be drawn from the curves puted values of RT using (18a). From this table we see that
of Fig. 6. Generally, the largest gains in efficiency are possible the minimum value for RT occurs when K = 3. By referring
in going from a one-stage to a two-stage design. This confirms to Fig. 7(c) we can determine the optimum decimation ratios
a conjecture previously made by Shively [9] . Smallergains for this three-stage design to be
are possible in going from a two-stage to a three-stage design
and it is questionable as to whether any further improvement Dl SZ 5.9,DZ 2.4,D3 2 1.4.
is possible with four stages. These values of decimation ratios appear to be somewhat im-
Equations (lo), (17)-(19)) Table I, and Figs. 6 and 7 can be practical to use in a realistic design. A more convenient choice
used as a set of design relations and curves for a widerange of might be to choose a nearest design which achieves the overall
designs ofoptimaldecimators. To applythem we first cal- decimation rate D using integer decimation ratios. One choice
culate R in (1 8a) using (1 0) or TableI to determine D,(6,/K, which is close to this optimum design might be Dl = 5, Dz = 2,
6), and the curves in Fig. 6 to determine the minimum 5'. The 0 3 = 2. By applying these values into (18a) and (18b) we can
optimum number of stages can be determined by calculating obtain an estimateof RT 72730 MAD/s. Because we have
R T for K = 1, 2, 3, and 4 and choosing the one which cor- integer decimation ratios, we can take advantage of the sym-
450 IEEE TRANSACTIONS O N ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, OCTOBER 1975

*. A f = 0.5 / Af =0.05

/
/
1
1
f

1 1000 10 100
D
bf = 0.02
(a)
c /

100

10

1
1 10 100 1000
D

D (e)
(bl

D D
(C) (f)

Fig. 6 . Plots of minimized values of S as a function of K , D,and Af


where Af is 0.5, 0.2, 0.1, 0.05, 0.02, and 0.01 for plots(a)-(f),
respectively.
CROCHIERE AND RABINER: FIR DIGITAL FILTER IMPLEMENTATIONS 45 1

1
E
bt = 0.5 Af.0.05
=g- fp
-
1000 fS tooo~
1

D
(a1

: Af.0.2

10007 STAGE
1

D
D (9)
(bl

1000
1 =O”
STY
t
i

I
?00

Di

K=4 10

10 100 1000 1
D D
IC) (f)

Fig. 7. Plots of optimum decimation ratios as a function of K, D ,and


Af where Af is 0.5, 0.2, 0.1, 0.05,0.02 and 0.01 for plots (a)+),
respectively.

metry of the impulse responses of the filters and require only Therefore wehave two alternatives whichappear to be
half of the number of multiplications, orapproximately promisiig for the above design, both which require approxi-
36 365 multiplications/s. mately the same amount of computation. Another considera-
An alternative approachmightbe to consider a two-stage tion in comparing these deiigns might be the required filter
designas opposed to a three-stage design. In t h i s case the order for each stage. By applying (2) and (17) into (12) an ex-
optimum decjmation ratios from Fig. 7(c) are D l e 10.3 and pression for this filter order can be given as
D 2 1.95. Practical values for these ratios would be D l = 10
and D z = 2. From (18a) and (18b) we can determine RT for
this design is to be RT 7 1 850. Again we can take advantage
of symmetry and implement the design with approximately
35 925 multiplications/s.
452 IEEE TRANSACTIONS ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, OCTOBER 1975

TABLE I1

S RT
fr K fr(K-l) fr(K-2) fr$ fr 0
(0)
1 1.63 20.0 326 000
4 2 3.9 71 760
-INPUT SAMPLING RATE
7 3 3.3 65 010
4 2.06 3.3 67 980 SAMPLING RATE

b f s frK fr(K-l)

For the three-stage design these orders can be calculated to be K L P F - S T A G E K-1


N 1 % 12.9, N 2 % 7.5, and N 3 % 78.8 and for the two-stage de-
sign they are N 1 = 35 and N 2 = 73.6. The total amount of I1
\
I
1 INPUT
?SAMPLING RATE !VSAMPLING
OUTPUT
RATE
coefficient storage forthetwo designs,using symmetry, is fr(K-P)
therefore %50 for the three-stage design and %54 for the two-
stagedesign. Therefore they are also comparable in this re-
spect for this example.
A fiial consideration in choosing from the two alternatives
is the number of stages. As both designs are roughly equiva-
lent we would probably be inclined to choose the two-stage SPECTRUM OF OUTPUT SIGNAL
designas it would be somewhat simpler to implement. This
example illustrates a typical method of applying the curves
A I I
and relations in this section to the design of an optimal dec- 0 f, f- " fro
imat or. (b)
Fig. 8. (a) Illustration of a K-stage interpolator and (b) its frequency
I v . OPTIMALDESIGN OF INTERPOLATORS FOR response interpretation.
SAMPLING RATEINCREASE
Interpolation is essentially the inverse or dual of decimation.
That is, we start from a low sampling rate and convert to a
high sampling rate. This duality is obvious conceptually and,
as will be seen shortly, it can also be formulated in more rig-
orous terms. Since we have already shown that the decimation
process can sometimes be implemented more efficiently as a
multistage process, duality then implies that the interpolation
process can also be implemented more efficiently as a multi- PERIOD!C2CrrqMPONENTS
stage process.
With the above concepts in mind the multistage interpola-
OF I X(e 'TIIAFTER
SAMPLING RATE
tion process can be formulated as shown in Fig. 8. Because , LPF-STAGE i /ylNC,REASE BY Mi
the interpolation and decimation processes are dual, it is con-
venient to choose anotationthat emphasizes this duality.
Thus in Fig. 8 , the notation used is the reverse of the notation
used for decimation in Fig. 4. The input sampling rate, the
low rate, is designated as f,K and the high sampling rate at the
output is designated as fro. The stages and intermediate fre- f-
quencies are similarly labeled in reverse order. It is also con- (b)
venient to assume that each of the stages of interpolation are Fig. 9. (a) Stage i of a K-stage interpolator. (b) Frequency response
of the general form shown in Fig. 3(b). However, in keeping representation of the low-pass filter requirements for stage i.
with our notation of the dual process we will assign M i to be
the integer ratio by which the sampling rate is increased and Finally the overall net sampling rate increase is givenas
Li to be the integer ratio by which the sampling rate is de-
creased in stage i, as shown in Fig. 9 . The requirement for the
structure of Fig. 9 to be an interpolator is Mi > Li.If Di de-
notes the netratio of sampling rate increase for stage i, then
The frequency interpretation of this multistage interpo-
D.=-
Mi i=1,2;--,K lation processis depicted in Fig. 8(b). The initial spectrum
' Li (21) I X [exp j ( 2 n f / f r o ) ]I covers the baseband, 0 to f,, where f, =
f r K / 2 . We againassume for practical considerations that the
and
useable portion of this baseband extends from 0 to f,. The
fr(i-l)=Di=
f r1i , 2 ; . -(,2K2. ) low-pass filters ininterpolation
the process eliminate the
453
CROCHIERE AND RABINER:FIRDIGITALFILTERIMPLEMENTATIONS

periodicity of I X [exp j(2nf/fr0)]I over the bandf , to fro - f,


andthe resulting spectrumafterinterpolation is shown as
I Y [exp j(21rf/fro)]I. Again, for practical considerations, we
specify that this composite magnitude response of the low-pass
filters to have a tolerance iri the passband of 6, from 0 to f p
and a tolerance in the stopband of 6,.
The requirements for an individual filter in stage i can now If we compare (29) and (15) we observe that they are iden-
be obtained with the aid of Fig. 9(b).' Essentially, the filter tical, i.e., the total amount of computation required to inter-
must have a passband tolerance of 1 f @,/K)and a stopband polate from sampling rates f r K to f r o is the sameas that
tolerance of 6,. The passband extends from 0 tof,. The stop- required to decimate from f r o to f Y K under the same set .of
band starts at f r i - f , and eliminates ail of the unwanted peri- filter specifications on A f , 6 , , and 6,. Furthermore, if we op-
odic components ofI X [exp j(2nf/fro)]I above this frequency. timize this interpolator by minimizing RT we obtain the iden-
For all stages exceptthe first we observe that between the tical solutions for the interpolation ratios Di as for the decima-
periodic components of I X [exp j(2lrf/fr0)]I, there exist fre- tion ratios Di of the optimum decimator. Finally, comparing
quency bands with essentially zero signal level [see Fig.9 ( b ) ] . the filter requirements for the low-pass filters, it is seen that
Strictly speaking, the filter characteristics in these regions need these also are identical. In factthere is a one-to-one corre-
not be as severe as for the regions where stopband behavior is spondence or duality between the two designs. This duality
required. It is worth noting that this property could be ex- is very significant because it means that all of the curves and
ploited to obtain a slightly more efficient implementation of design relations for optimum multistage decimator designs de-
the filter [4] , [ 141 , [ 1 5 ] . However, for convenience, we will veloped in the previous section can be applied equally well to
assume that a standard low-pass filter is used in all cases since the design of optimum multistage interpolators.
the design relations for this class of FIR filters are more read- In terms of practical implementations, it was shown that in
ily understood than for themore general case. the case of decimators, it was advantageous to choose integer
The duration Ni of the unit sample response for the low-pass decimation ratios and take advantage of the symmetry condi-
filter of stage i can now be dete'mined With the aid of ( 1 1 ) . tions of the FIR filters. For interpolators it is generally not
Using the above specifications of the cutoff frequencies, the possible to take advantage of such symmetry as we are already
term AF in ( 1 1 ) is given as using the condition that Mi - 1 out of everyMi sample points
entering the low-pass filter are zero valued (one exception to
this occurs when M i= 2 and Ni is odd). Therefore the condi-
tion that the interpolation ratiosDi be integer is not as impor-
tant in terms of overall efficiency for interpolators as it was
and Ni is
for the decimators.
v. OPTIMALIMPLEMENTATIONS OF NARROW-BAND
FIR FILTERSBY DECIMATION AND INTERPOLATION
In Sections I11 and IV we discussed the design of optimal
Similarly the m o u n t of computation R i for stage i in MADS/s
implementations of decimators and interpolators. In this sec-
is of the form
tion we apply these concepts to the design of optimal multi-
stage narrow-band filters. It is interesting to note that if a
signal is decimated down to a low sampling rate and then in-
terpolated back to the high rate, as shown in Fig. 10, we have,
in effect, low-pass filtered the signal. Obviously the same re-
sult can be obtained directly with a low-pass filter operating at
the high rate, f r o . In this section it is shown that the first
method, that of decimation and interpolation, is often a con-
siderably more efficient way of implementing an FIR low-pass
filter than the standard direct form implementation at thehigh
sampling rate. This advantage becomes particularly significant
when the bandwidth of the low-pass filter becomes small rela-
By applying (22), Rican be expressed in terms of the interpo- tive to the sampling rate.
lation ratios Di and the known design parameters, giving It is convenient to fust consider the case where the decima-
tor and interpolator inFig. 10 are one-stage designs. We as-
sume that the desired.specifications on the low-pass filter are
f , , f , , 6,, and 6, as before. Theamount of computation
(MADS/s) required for the decimation stage can be obtained
from (15). However, because there are two stages in the over-
Finally, thetotalamount of computation required forthe all implementation (i.e., one for decimation and one for in-
overall multistage interpolator is terpolation), Dm(6p/K, 6,) in (15) must be replaced by
454 TRANSACTIONS
IEEE
ACOUSTICS,
ON
SPEECH, AND SIGNAL
PROCESSING,
OCTOBER 1975

I I By applying this approximation in (34) and noting that


D = f r o / 2 f s we
, get
SF = 4 D (not using symmetry).
(3 6)
If symmetry is used in the direct form implementation, RDF
can be reduced by a factor of approximately 2 as can RD for
the decimator. However, as mentioned previously, no savings
in multiplications due to symmetry aregenerallypossible in
theinterpolator. Therefore, using symmetry, SF is approx-
imately
SF 30 (using symmetry). (37)
As D becomes large, or equivalently, the filter bandwidth be-
comes small, this savings becomes large. For example, for a
Fig. 10. Decimator-interpolator implementation of a narrow-band FIR filter with a bandwidth of 0.5 percent of the sampling rate, D
low-pass filter.
is 100, and it canbe implemented approximately 33 times
more efficiently than a standard direct form FIR implementa-
Dm(tip/2K,6,), i.e., the passband ripples must be reduced by
tion.
an additional factor of 112 in order to keep the overail ripple
For optimal multistage designs of the decimators and inter-
within 6,. The amount of computation RD for the decima-
polators in Fig. 10 even greater efficiencies are possible. By
tion stage (not using symmetry) is then
arguments similar to those above it canbeshown thatthe
amount of computation (multiplications/s) required for a gen-
eral multistage decimator-interpolator design, using sym-
metry in the decimation stage, is

Because of duality, this quantity is also the amount of com-


putation required fortheinterpolator. Therefore, thetotal
amount of computation required is ~ R D . where S is plotted in the curvesofFig. 6. Similarly, the
Theamountofcomputation (MADS/s) required fora amount of computation (multiplications/s) required for a di-
straightforward direct form FIR filter with the same specifica- rect form FIR filter,using symmetry, is from (33a)
tions and not using symmetry is
RDF 4D,(6p7 6,) f r o s ' (394
RDF =Nfro (31)
where S' can be expressed with the aid of (17) in the form
where N is the duration of the unit sample response. From
(1 1) N can be approximated as

This relation is plotted as thedotted line in the curvesof


Fig. 6. The savingsinusing a general multistage designare
Then RDp is given as then
RDF D,(6p, 6s) f r o S' (MAWS) (334
RDF
SF= -
where RDI
s' = -*
fro (33b)
fs -f p
The net savings factor, SF, that can be achieved by using
the decimator-interpolator implementation instead of the di-
rect form implementation is then
By comparing the plots of S and S' in Fig. 6 an indication of
these savings as a function of D and A f can be obtained. For
large values of D and small values of A f savings factors in ex-
(fs - fp>lfro cess of 500 are possible.
(34)
2(1 - ( ( f s +fp)/fro)D)' We can further argue that this multistage approach for imple-
menting narrow-band FIR filters, as shown in Fig. 10, is an
recognize that for typical values of 6,
optimal multistage design. That is, in the design of a multi-
stage low-pass filter it is always most efficient to decimate as
far down in sampling rate as possible, i.e., to 2f,, and then in-
terpolate back ratherthan decimating to some interme&ate
CROCHIERE AND RABINER: FIR DIGITAL FILTER IMPLEMENTATIONS 455

sampling rate, low-pass filtering, and interpolating back. This put pointy(0) iscomputed by notingthat
is because the gain in efficiency monotonically increases as D N- 1
increases(seeFig. 6). Therefore it isalways preferable to y(0) = u(0) = h(m) w(0 - m)
make D as large as possible and to use optimal designs for the m=o
decimation and interpolation stages. By the same argument, if
where N = (2L. Fig. 11 (a) and (b) show h(m) and w(0 - m)
we wish to simultaneously low-pass filter a signal and perform
respectively where w(m) is constructed from x(n) by inserting
a sampling rate conversion, it is always most efficient to op-
L - 1 zero-valued samples between the samples of x(n). It is
timally decimate to the lowest permissible sampling rate first
then easy to see that
and then interpolateto thenew output sampling rate.
In a companion paper [6] some additional interesting prop- ~(O)=h(O)~(O)+h(2)~(-l)+h(4)~(-2)+h(6)~(-3).
erties of these decimator-interpolator filters are discussed.
To compute the pointy(1) we note that
VI. ADDITIONALPRACTICALCONSIDERATIONS IN THE N- 1
IMPLEMENTATION OF DECIMATIONAND y(1) = 4 3 ) = h(m) w(3 - m).
INTERPOLATION STAGES m= 0

In SectionI1 we demonstrated that each stage of a decimator The sequence w ( 3 - m) is illustrated in Fig. 1l(c). Comparing
or interpolator can generally be in the formgiven in Fig. 3(b), the curves of (a) and (c) we see that y(1) can be computed as
and that for the specific cases of integer decimations and in-
teger interpolations this form reducesto those of Fig. l(b) and
~(1)=h(l)~(l)+h(3)x(O)+h(5)x(-l)+h(7)~(-2).
Fig.2(b), respectively, In practice theimplementation of Similarly, referring to Fig. ll(a) and (d), y(2) canbe com-
these modules can be very complicated [particularly the gen- puted as
eral module in Fig. 3(b)] , since it involves signals at several
different sampling rates and also involves keeping track of N- 1
~ ( 2 =) ~ ( 6=) h(m) ~ ( - 6m)
when multiplications must be performed. In t h i s section we m=o
present a straightforward methodof implementing this general
stage which alleviates many of these problems. For the case of = h(0) x(3) + h(2) x(2) + h(4) x(1)
integer decimations or interpolations the approach simplifies
+ h(6) x(0).
accordingly.
Assume that the length of the unit sample response of the In the computation of each output point y(n), x(n) is se-
low-pass fiter in Fig, 3(b) is N . L - 1 out of every L samples quentially addressed for Q of its values. According to (42), it
of w(n) are of zero value, and therefore the computation is mustthen beadvanced by [nM/L] forthecomputation of
proportional to NIL since the unit sample response spans ap- thenextoutputpoint. Also h(n) must be addressedby
proximately NIL nonzero samples. Schafer and Rabiner' [4] (kL + (nM) @ L ) . Alternatively, h(n) can be addressed sequen-
have observed that if N is chosen to be tially if the samples of h(n) are stored in anappropriate
scrambled order. That is, to compute y(0) the sequence of Q
N=QL (41) samples go(n) =h(O),h(L), * * * ,h((Q - 1) L ) is required. To
where Q is an integer, then the unit sample response will span compute y(1) the sequence of Q samples g,(n) = h(M @ L ) ,
exactly Q nonzero samples of w(n) for each filter cycle. We h(L + M @ L ) , . * * , h((Q - 1) L + M @ L ) is required. To
assume for convenience that N is chosen such that it satisfies compute y (L - l), the sequence of Q samples gL-l(n) =
this condition. It is then possible to express the computation h(((L - 1) M ) @ L ) ,h(L + ((L - l ) M ) @ L ) , * * ,h((Q - 1) L +
of an output point y ( n ) in the form ((L - 1) M ) @ L ) is needed. Finally, to compute y ( L ) the se-
quence go@) is again required and the cycle repeats. There-
fore, if the coefficients of h(n) are arranged in the scrambled
order, as shown in Fig. 12, they canbe addressed in a se-
quential manner for the calculation in (42). On each computa-
where ( ) @ L implies the quantity in parentheses modulo L tion of an output point y(n), one block of Q coefficients is
and [ ] corresponds tothe integer partof the number in sequentially addressed. For the computation of the next out-
brackets. The sequence h(n), n = 0 , l , * , N - 1 contains the put points y(n + l), * * * ,y ( n + 2), * * . ,y ( n + L - l), the ad-
coefficients of the direct form FIR filter or equivalently the dress pointer is indexed sequentially until it hascycled tbrough
samples of its unit sample response. Equation (42) was deter- all L sequences go(n), g,(n), . . . ,gL- (n) at which point the
mined empirically from several examples. It has the general address pointeris reset and the cycle begins again.
characteristics of a convolution and when M = L = 1 it be- This approach provides an efficient way of handling the data
comes the convolution equation as expected. in a general section. For L = 1 or M = 1 it simplifies accord-
To illustrate the relationship depicted by (42) we will ex- ingly and, if L = M = 1 , then it is equivalent to a straightfor-
amine the case where L = 2, M = 3, and Q = 4. The first out- ward direct form convolution. If the assumption on the length
of the impulse response (41) is not made, asimilar formulation
'In [4] the additional constraint that N be an oddintegerwas im- results in which the sequences go(n)-gL-l (n) are not allof
posed; here this constraint need not be applied. equal length.
456 IEEE TRANSACTIONS ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, OCTOBER 1915

additional properties of the implementation of narrow-band


h(m) FIR filters using these techniques are discussed, and illustrated
I
k.
/
‘\ /
with several designexamples.
0 2 4 6 8
m-
I la) REFERENCES
[ I ] D. J. Goodman, “The application of delta modulation to analog-
todigitdl PCM encoding,” Bell Syst. Tech. J., vol. 48, pp. 321-
344, Feb. 1969.
m- [2] J. L. Flanagan, Speech Analysis, Synthesis, and Perception. New
I
York: Springer-Verlag, 1972.
[3] S. L. Freeney, R. B. Kieburtz, K. V. Mina, and S. K. Tewksbury,
“Designof digital filtersfor an all digital frequency division
multiplex-time division multiplex translator,” IEEE Trans. circuit
m-
Theory(Special Issue on Activeand Digital Networks), vol.
c T - 1 8 , ~ 702-711,
~. NOV.1971.
[4] R. W. Schafer and L. R. Rabiner, “A digital signal processing ap-
proach to interpolation,” Proc. IEEE,vol. 61, pp. 692-702, June
1973.
[5] M. G.Bellanger, J. L. Daguet, and G.P. Lepagnol, “Interpola-
tion, extrapolation, and reduction of computation speed in dig-
(dl
ital filters,” IEEE Trans. Acoust., Speech, Signal Processing, vol.
ASSP-22, pp. 231-235, Aug. 1974.
Fig. 11. Illustration of (42). [6] L. R. Rabiner and R. E. Crochiere, “A novel implementation for
narrow-band FIR digital filters,” this issue, pp. 457-464.
[7] A. W. Crooke and J. W. Craig, “Digital filters for sample-rate re-
duction,” IEEE Trans. AudioElectroacoust.(Special Issue on
1 I
I h ( 0 ) h(L) o o o Ih((Q-l)L)I h(McL) /h(L+MeU[ 0 0 0 Ih((P-l)L+M@L)lOoo Digital Filtering), vol. AU-20,pp. 308-315, Oct. 1972.
[8] G. A. Nelson, L. L. Pfeifer, and R.C. Wood, “High-speed octave
f band digital filtering,” IEEE Trans. Audio Electroacoust., vol.
ADDRESS gL-, I n )
POINTER, AU-20, pp, 58-65, Mar. 1972.
7
oo~~h(~~L-l~M~~L~~h~L+~~L-1~M~~L~~o00/h~~Q-l~L+~~L-1~M~~L~~
[9] R. R. Shively, “On multistage FIR filters with decimation,”
IEEE Trans. Acoust., Speech, Signal Processing, vol.ASSP-23,
Fig. 12. Illustration of the scrambled order for storing the coefficients pp. 353-357, Aug. 1975.
h ( n ) so that they can be accessed in a sequential manner. [ l o ] 0. Herrmann, L. R. Rabiner, and D. S. K. Chan, “Practical design
rules foroptimumfinite impulse responselow-pass digital fi-
ters,” Bell Syst. Tech. J., vol. 52, pp. 769-799, July-Aug. 1973.
VII. CONCLUSIONS [ l l ] L. R. Rabiner, “Approximate design relationships for low-pass
FIR digital filters,” IEEE Trans. AudioElectroacoust., vol.
In this paper we have discussed issues in the design of multi- AU-21, pp. 456-460, Oct. 1973.
stage decimators and interpolators and have presented curves [12] R. Hooke and T. A. Jeeves, “‘Direct search’ solution of numerical
and relations for optimal implementations. It was shown that and statistical problems,” J. Ass. Comput.Mach ., vol. 8,pp. 21 2-
229, Apr. 1961.
the two processes, decimation and interpolation, are duals and [13] J. L. Kuester andJ. H. Mue, OptimizationTechniqueswith
that the same set of design curves can be applied to both. We Fortran. New York: McGraw-Hill, 1973.
then applied these techniques to the design of narrow-band [ 141 G . Oetken and H. W. Schiisslef, “On the design of digital filters
for interpolation,” Arch Elek. Ubertragung., vol. 2, pp. 471-476,
FIR filters by a process of decimation and interpolation and 1973.
showed that this led to a highly efficient way of implement- [15] G . Oetken, T. W. Parks, and H. W. Schiissler, “New results in the
ing such filters. In the last section a practical approach toward design of digital interpolators,” IEEE Trans. Acoust.,Speech,
Signal Processing (Special Issue on I974 Arden House Workshop
implementing the individual stages of these multistage sam- on Digital Signal Processing), vol. ASSP-23, pp. 301-309, June
pling rate changers was presented. In a companion paper [ 6 ] 1975.

You might also like