0% found this document useful (0 votes)
275 views32 pages

179 Interpolation Decimation

Uploaded by

swarans
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
275 views32 pages

179 Interpolation Decimation

Uploaded by

swarans
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

300

PROCEEDINGS OF THEIEEE, VOL. 69, NO. 3 , MARCH 1981

Interpolation and Decimation of Digital SignalsA Tutorial Review


RONALD E. CROCHIERE,
SENIOR MEMBER, IEEE, AND

LAWRENCE R. RABINER,

FELLOW, IEEE

Invited Paper

Abstract-The concepts of digital signal processing are playing an increasingly important role in the area of multirate signal processing, i s . signal processing algorithms that involve more than one sampling rate. In this paper we present a tutorial overview of multirate digital signal processing as applied to systems for decimation and interpolation. We f m t discuss a theoreticalmodel for such systems (based on the sampling theorem) and then show how various structures can be derived to provide efficient implementations of these systems. Design techniques for the linear-time-invariant components of these systems (the digital fdter) are discussed, and finally the ideas behind multistage implementations for increased efficiency are presented.

I. INTRODUCTION
NE OF THE MOST fundamental concepts of digital signal processing is the idea of sampling a continuous process to provide a set of numbers which, in some sense, is representative of the characteristics of the process being sampled. If we denote a continuous function from theprocess being sampled as x&), -m< t < = where xc is a continuous function of the continuous variable t ( t may represent time, space, or any other continuous physical variable), then we can define the set. of samples as x&), -= < n < where the correspondencebetween t and n is essentiallyspecifiedby the sampling process, i.e.,

sampling theorem. This concept of a unique analog waveform corresponding t o a digital sequence will often be used in the course of our discussion to provide greater intuitive insights into the nature of the processing algorithms that wewill be considering. is afundamentalconsideration in The samplingperiodT many signal processing techniques and applications. It often determines convenience, the efficiency, and/or accuracy in which the signal processing can be performed. In some cases an input signal may already be sampled at some predetermined sampling period Tand the goal is to convert this sampled signal to a new sampled signal at a different sampling period TI such that the resulting signal corresponds to the same analog function. In other cases it may be more efficient or convenient to perform different parts of a processing algorithm at different samplingrates in whichcase it maybenecessary to convert the sampling rates of the signals in the system from one rate to another. The process of digitally converting the sampling rate of a tipnal from a given rate F = 1/T to a different rate F = 1/T is called sampling rate conversion. When the new sampling rate is higher than the original sampling rate, i.e.,
F> F

(34

n = 0)

(la)

or

Many types of sampling have been discussed in the literature [ 1 ]-[ 31 including nonuniform sampling, uniform sampling, and multiple function uniform sampling. The most common l refer to throughl i form of sampling, and the one which we w out ti paper is uniform (periodic) sampling in which hs
q ( t )= t/T = n

T< T

(3b)

(1b)

i.e., the samples X D ( ~are uniformly spaced in the dimension ) t , occurring nT apart.Foruniform sampling we definethe Sampling period as T and the sampling rate as
F = 1/T
(2)

It should be clear from the above discussion that x c ( t ) can be sampled with any sampling periodT. However, for a unique x C ( r ) and correspondencebetween thecontinuousfunction the discrete sequence X D ( ~ it ,is necessary that the sampling ) period T be chosen to satisfy the requirements of the Nyquist
Manuscript received June 25, 1980. The authors are with Bell Laboratories, Murray Hill NJ 07974.

the process is generally called interpolation sincewe are creating samples of the original physical process from a reduced set of samples. Historically themathematical process of interpolation, or reading between the lines, has received widespread attention from mathematicians who were interested in the problem of tabulating useful mathematical functions. The question was how often a given function had t o be tabulated (sampled) so that someone could use a simple interpolation rule to obtain accurate valuesof the function at any higher to an sampling rate [4] . Not only did this early work lead appreciation of the sampling process, but it also led t o several interesting classes of interpolationfunctions which could providealmostarbitrarily high accuracy intheinterpolated values, provided that sufficient tabulated values of the function were available. The process of digitally converting the samplingrate of a signal from a given rate F t o a lower rate F, i.e.,
F< F

(44

0018-9219/81/0300-0300$00.75 1981 IEEE 0

CROCHIERE AND RABINER: INTERPOLATION AND DECIMATION OF SIGNALS

301

or T> T (4b)
Fig.1. Basic process of digital sampling rate conversion.

is called decimation. It will beshown in Section 111 that decimation and interpolation of signals are dual processes-i.e., a digital system which implements a decimator can be transformed into a dual digital system which implements an interpolator using straightforward transposition techniques. The techniques to be described in this paper have been applied in a wide variety of areas including: 1) communications systems [ 51, [ 61 ; 2) speech processing systems [ 71 -[9] ; 3) antenna systems [ 101 ; 4) radar systems [ 1 1 , [ 121 . ] The above list contains only a few representative examples of multirate digital systems. From a digital signal processing point of view, both the processes of interpolation and decimation can be well formulated is the basic point in terms of linear filtering operations. This of view we have taken in this paper. We begin in Section I1 with the mathematical (and signal processing) framework of sampling, interpolation, and decimation. In Section 111 we discuss digital networks (structures) which can be used to implementtheconversionfrom one sampling rate to another. Included in thissection is a briefreview of signal-flowgraph representations of digital systems, and of structures for implementing the digital filters required for all sampling rate conversion systems. It is then shown how efficient implementations of sampling rate conversion systems can be obtained by simple manipulations of the proposed canonic structures. In Section IV, we discuss the question of how t o design the digital filter used in the systems presented in Sections I1 and 111. It is shown that two general structures can be used to aid in the design of the special filtersrequiredinsampling rate conversionsystems. Based on thesestructures,anumber of special purpose design algorithms are described. Finally Section V addresses the question of special structures for handling two specialcases of sampling rate conversion, namely: 1) large changes in sampling rates within the system and 2) changes in sampling rate requiring large sampling rate changes internallyinthe structure-e.g.,samplingrateconversion bya factor of 971151.Eachof these cases can be handled most efficiently in a multistage structure in which the sampling rate conversion occurs in a series of 2 or more distinct stages. Questions of computational, storage, and control efficiency are of paramount concern the in discussions in this section. In this paper, we only consider decimation and interpolation systems basedon finiteimpulseresponse (FIR) realizations. Another broad class of sampling rate conversion systems that can also be defined is based on infinite impulse response (IIR) realizations. However, they do not conveniently permit linear phase designs and a discussion of these issues was considered t o be beyond the scope of this paper.

sampling rate F = l/T. We will assume throughout this paper that the ratio of sampling periods of y (m) and x (n) can be expressed as a rational fraction, Le.,

TIT = FIF =MIL

(5)

where M and L are integers. A close examination of the structure of Fig. 1 shows that the systems we are dealing with for digital-todigital sampling rate conversion are inherently linear time-varying systems, i.e., g,(n) is the response of the system at the output sample time m to an input at the input sampletime[mM/Ll - n where [ u ] denotes the integer less than or equal to u (this will become clearer in later discussion). Since the system is linear, each output sample y(m) can be expressed as a linear combination of input samples. A general formfor this expression, which is usedextensively in this paper, is [ 131

A derivation of (6) is given shortly where it is also seen that the system response g, ( n ) is periodic in m with period L , i.e., g,(n)
=gm+rL(n),

r = 0, f l , f2,

. -.

(7)

Thusthesystem g,(n) belongs to the class of linear, periodically time-varying systems. Such systems have been extensively studied for a wide range of applications [ 141, [ 151. In the trivial case when T = T , or L = M = 1, equation (6) reduces to the simple time-invariant digital convolution equation
n=-m

since the period of g,(n) in this case is 1, and theinteger part ofm-nisthesameasm-n. In the next few sections we study in some detail the structure and properties of systems that perform two special cases of sampling rate conversion,namelydecimation by integer factors,andinterpolation by integerfactors [ 161. We then consider the general case of a sampling rate change by a factor of LIM.
A . Sampling Rate Reduction-Decimation by an Integer Factor M

Consider the process of reducing the sampling rate of x(n) by an integerfactor M, i.e.,

TIT=~ 1 1 . (9) RATE CONVERSION 11. BASIC CONCEPTS OF SAMPLING Then the new sampling rate is F = F/M. Assume that x(n) Fig. 1 provides a general description of a sampling rate conrepresents a full band signal, i.e., its spectrum is nonzero for version system. We are given the signal x(n), sampled at the all frequencies f i n the range -F/2 Q f Q F/2, with o = ZnjT, rate F = 1/T, and wish to compute the signal y (m) with a new i.e.,
Strictlyspeakingdecimationmeans a reduction by 10 percent. In signal processing decimation has come t o mean a reduction i sampling n rate by any factor.

IX(eiw)l #O,

101

= I2nfTl

2nFT < -= n 2

(10)

302

PROCEEDINGS OF THE IEEE, VOL. 6 9 , NO. 3, MARCH 1981


SAMPLING RATE DECREASE By M

except possibly at anisolatedset of points. Based on well known sampling theory, in order to lower the sampling rate and to avoid aliasing at this lower rate, it is necessary to filter the signal x (n) with a digital low-pass filter which approximates the ideal characteristic

The sampling rate reduction is then achieved by forming the sequence y ( m ) by extracting every Mth sample of the filtered output. This process is illustrated in Fig. 2(a). Ifwe denote the actual low-pass filter unit sample response as k ( n ) , then we have
w(n)=

n =-m

c
00

k ( k ) x (n- k)

where w ( n ) is the filtered output as seen in Fig. 2(a). The final output y ( m ) is then obtained as
y ( m ) = w(Mm)

(13)
Fig. 2. Block diagramand typical spectra for sampling rate reduction by a factor of M

as denoted by the operation of the second box in Fig. 2(a). Thisblock diagram symbol, which be will referred to asa sampling rare compressor, will be used consistently throughout thispaper,anditcorresponds to the resampling operation given by (13). Fig. 2(b) shows typicalspectra(magnitude of theFourier transforms) of the signals x ( n ) , k ( n ) , w(n), and y ( m ) for an M to 1 reduction in sampling rate. By combining (1 2) and (13) the relation between y ( m ) and x (n) is of the form
00

where the term in brackets corresponds to a discrete Fourier series representation of a periodic impulse train with a period of M samples. Thus we have
y ( m ) = w'(Mm) = w (Mm)

(19)

y(m)=
k=-oa

k ( k ) x ( M m - k)

(14)

We now write the z-transform of y ( m ) as

which is seen to be a special case of (6). Thus for decimation by integer factors of M we have
gm ( n ) = g ( n ) = k (n),

for all m and all n.

(1 5) and since w'(m) is zero except at integer multiples of M, equation (20) becomes

Although g m ( n ) is nor a function of m for this case, it can readily be seen that the overall system of (14) and Fig. 2(a) is not time-invariantby considering the output signal obtained of samples. For when x ( n ) is shiftedbyanintegernumber this case, unless the shift is a multiple of M, the output is nor a shifted version of the output for0 shift, i.e.,
x ( n ) +r(m)

(164

but
x ( n - 6 ) F y ( m - 6/M) unless 6 =rM. (16b)
=

1 M-1

It is of value to derive the relationship between the z-transforms of y ( m ) and x (n) so as to be able to study the natureof the errors in y ( m ) caused by the imperfect low-pass filter. To obtain this relationship we define the signal
w'(n) =

[5

w ( m ) e j 2 n l m / M Z- m / ~

m=--

y ( z )= -

1 M-1
I=o

W(e-i2nVMZ'/M 1.

w(n),

n = 0, *M, +2M,
otherwise

* *

{O,

(17)

Since
W ( z ) = H ( z ) x (2)

i.e., w'(n) = w ( n ) at the sampling instants of y ( m ) , but is zero otherwise. A convenientandusefulrepresentation of w'(n) is then
w'(n) = w ( n )

we can express Y ( z )as

{G

1 M-1
ei2nzn/M},
I =O
--oo

< n < -oo

(18)

CROCHIERE AND RABINER: INTERPOLATION AND DECIhiATION OF SIGNALS

303

Fig. 3 illustrates t h i s process of increasing the sampling rate bya factor L = 3. The input signal x ( n ) is filed-in with L - 1 zero-valuedsamples betweeneachpair of samples of x ( n ) giving the signal w ( m )=
x(m/L),
m = 0 , +L, *2L,
* * *

otherwise.

(28)

As with the resampling operation, the block diagram symbol of an up-arrow with an integer corresponds to increasing the sampling rate as given by ( 2 8 ) and it will be referred to as a sampling rare expander. The resulting signal w(n)hasthe z-transform W(Z)=
=
m =-OD
(dl Fig. 3. Block diagram and typical waveforms and spectra for sampling rate increase by a factor of L.

(294 w(m)z-m
x(m)z-mL

m =--

(29b) (294

= X(ZL).
. I

Evaluating W(z) on the unitcircle z = elW , gives the result

w (eiw
Evaluating Y ( z ) on the unit circle, z = eiw, leads to the result

=X ( p L

(30)

where

w = 2nfT (in radians relative to sampling period T ) . ( 2 4 b )


Equation ( 2 4 ) expresses the Fourier transform of the output signal y ( m ) interms of thetransforms of the aliased components of the filtered input signal x ( n ) . By writing the individual components of ( 2 4 ) directly we see that

which is the Fourier transform of the signal w ( m ) expressed in terms of the spectrum of the input signal x ( n ) (where w = 27rf T and w = 2nf T ) . As illustrated by the spectral interpretation in Fig. 3(c) the spectrum of w ( n ) contains not only the baseband frequencies of interest (i.e., - n / L to n / L ) but also images of the baseband centered at harmonics of the original sampling frequency f 2 n / L , + 4 n / L ,* * To recover the baseband signal of interest and eliminate the unwanted higher frequency componentsit is necessary to filter the signal w ( m ) with a digital low-pass filter which approximates the ideal characteristic

10,
+H(ei(w-2n)/M)X(ei(w-2n)/M) +

otherwise.

... .

(25)

The purpose of the low-pass filter H ( e J W )is to sufficiently filter x ( n ) so that components its above the frequency w = n/M are negligible. In terms of ( 2 4 ) this implies that all terms for l # 0 are removed and if the filter H ( e I W ) closely approximates theideal response of (1 1) then ( 2 4 ) becomes

It will be shown that in order to ensure that the amplitude of y ( m ) is correct,the gain of the filter G mustbe L inthe passband. Letting H ( e i W ) denote the frequency response of an actual filter that approximates the characteristicin (31) it is seen that
y(ei> = ~ ( e i w ) X ( ~ i w ~ )

(32)

and within the approximation of (31)


Y (eJW )

IwI < n / L
otherwise.

(33)

B. Sampling Rare Increase-Interpolation by an Integer Facror L If the sampling rate is increased by an integer factor L , then the new sampling periodT is
T -=- 1 T L

It is easy to see why we need a gain of G in E ( e i w ) , whereas for the decimation filter a gain of 1 is adequate, by examining the zeroth sample of the sequences.From Fig. 2 it isclear that

and the new sampling rate F is F = L F . This process of increasing the sampling rate of a signal x ( n ) by L implies that we must interpolate L - 1 new sample values between each pair of sample values of x ( n ) .

= x(0)

if we assume that I H ( e i W ) I = 1 for 1 0 I IT/M and I X ( e l w ) 1 = 0 for 1w I n/M. Alternatively for the inter-

>

<

304

PROCEEDINGS OF THE IEEE, VOL. 6 9 , NO. 3 , MARCH 1981


SAMPLING RATE INCREASE BY L SAMPLING RATE DECREASE BY M

r--------

r -

F= LF

F.L,

(a)

F= LF

F 1

F=k
F

G =-x(0). L

(b) Fig. 4. (a) Cascade of an integer interpolator and an integer decimator for achievingsamplingrate conversion by rational fractions. (b) A more efficient implementation of this process.

Therefore, a gain G = L is required to match the amplitudes of the envelopes of the signals y ( m ) and x ( n ) . If h ( m ) denotes the unit sample response of H(eiw), then y ( m ) can be expressed as
y(m)=
k=-m

rate increase by an integer factor L . In this section, we consider the general case of conversion by the ratio

T -=- M
T L

x
0

h(m- k)w(k).

(34)

or

Combining (28) and (34)leads to


y(m)=
=
r=-m

&=-m m

F = -F. M
This conversion can be achieved by a cascade of the two above processes of integer conversions by firstincreasing the sampling rate by L and then decreasing it by M. Fig. 4(a) illustrates this process. It is important to recognize that the interpolation by L must precede the decimation process by M so that the width of the baseband of the intermediate signal s ( k ) is greater than or equal to thewidth of the basebands of x ( n ) or y ( m ) . It can be seen from Fig. 4(a) that the two filters h l ( k ) and h 2 ( k ) are operating in cascade at the same sampling rate L F . Thus a more efficient implementation of the overall process can be achieved if the filters are combined into one composite lowpass filterasshownin Fig. 4(b). Since this digital filter h ( k ) must serve the purposes of boththe decimation and interpolation operations described in theprevious two sections it is clear from (1 1) and (31) that it must approximate the ideal digital low-pass characteristic

h(m - k)x(k/L) h(m

- rL)x(r).

(35)

Next we introduce the change of variables


r = E J - n

and the identity (37) where [ u ] denotesthe integer less thanorequal to u and (i) e L denotes the value of i modulo L . Applying (36) and (37) (with M = 1) to (35) then gives

(, 0
where

otherwise

O R= 2nfTpr 2nfT/L = (43) Equation (38) expresses the outputy ( m ) in terms of the input x ( n ) and the filter coefficients h ( m ) and it is again seen to be i.e., the ideal cutoff frequency must be the minimum of the a special case of (6). Thus for interpolation by integer factors two cutoff frequency requirements for the decimator and inof L we have terpolator and the sampling rate the filter is F = L F . of Thetimedomaininput-to-outputrelationforthegeneral g,(n)=h(nL+m@L), forallmandalln (39) conversion circuit of Fig. 4(b) can be derived by considering and it is seen that g m ( n ) is periodic in m with period L as indi- the integer interpolation and decimation relations derived in cated by (7). Sections 11-A and 11-B,i.e., from (35) it can be seen that u(k) can be expressed as C. Sampling Rate Conversion by a Rational Factor MIL In the previous two sections we have considered the cases of u(k) = h(k- rL)x(r) (44) r=-m sampling rate reduction by an integer factor M and sampling
OD

CROCHIERE AND RABINER: INTERPOLATION AND DECIMATION OF SIGNALS

305

and from (1 3) ( m ) can be expressed in terms of u ( k ) as y


y ( m ) = v(Mm).

(45)

Combining (44) and (45)gives


a0

y ( m )=
r=-a0

h(Mm - r L ) x ( r )

(46)

and making the change of variables


r=

E]

-n

(47)

and applying (3 7) gives

Itis seen that (48) corresponds to the general form of the time-varying digital-todigital conversion system described by (6) and that the time-varying unit sample response g,(n) can be expressed as
g m ( n ) = h (nL + mM

-277

-H

2H

w'

L),

for all m and all n

(49)

(e 1 Fig. 5. Decimation of abandpass signal andaspectral for the k = 2 band. interpretation

of the where h ( k ) is the time-invariant unit sample response low-pass digital filter at the sampling rate L F [ 13I . Similarly, by considering the transform relationships of the individualinteger decimttionandinterpolationsystems,the Y ( e i w ) can be determined terms in of output spectrum the input spectrum X ( e l w ) and the frequency response of the filter H(ejW"). From (32) it is seen that V(eiw") can be expressed in terms ofX ( e i w ) and H(eiW") as J7(ei"") H(eiw") X (ejw'IL1 = (50)

required for decimation and interpolation are low-pass filters which preserve the baseband signals of interest. many In practical systems it is also necessary to deal with bandpass signals and many of the results discussed in this paper can be logically extended to the bandpass case as well. While it is not our intention to go into detail on these issues in this paper we will briefly give an example in this section of one way in which this can be done. A more involveddiscussion of these issues and from (21) Y(eiw') can be expressed in terms of V(eiw")as can be found in [ l o ] . Perhaps the simplest and most direct approach to decimating or interpolating digital bandpass signals is to take advantage of the inherent frequency translating (i.e., aliasing) properties of decimationandinterpolation.Thisproperty can be used to advantagewhen dealing withbandpass signals by associating the bandpass signal with one of these modulated cLharmonics'y When H(ejW') closely approximatestheidealcharacteristic instead of with the baseband. Fig. 5(a) illustrates an example of (42) it is seen that this expression reduces to of this process for the case of decimation by the integer factor M . The input signal x ( n ) is first filtered by the bandpass filter , for lw'l < min (a, a M / L ) (52) h g p ( n ) to isolate the frequency band of interest. The resulting bandpass signal x a p ( n ) , is then directlyreduced in sampling rate by selecting one out of every M samples giving the final otherwise output y ( m ) . It is seen that this system is identical to that of Thus far, we have developed the general system for sampling the integer low-pass decimatorwiththeexceptionthatthe rate conversion of low-pass signals by arbitrary rational factors fiiter is a bandpass filter instead of a low-pass filter. Thus the L/M. It was shown that the process of sampling rate converoutput signal Y(elW ) can be expressed as sioncould be modeledasalinear,periodically time-varying system,andthattheunit sampleresponse of thissystem, (53) g,(n) could be expressed in terms of the unit sample response h ( k ) of a time-invariant digital filter designed for the highest system sampling rateL F . From (53) it is seen that Y ( e j W ' )is composed of M aliased . , components of X(eJW) HBP (e'"') modulated by factors of D. Sampling Rate Conversion of Bandpass Signals 2nllM. The function of the filter H ~ p ( e lis to remove (at~ ) In the preceding sections it was assumed that the signals that tenuate) all aliasing components except those associated with we are dealing with are low-pass signals and therefore the filters the desired band of interest. Since the modulation is restricted

306

PROCEEDINGS OF THE IEEE, VOL. 69, NO. 3 , MARCH 1981

to values of 2 d / M it can be seen that only specific frequency bands are allowed by this method. As a consequence the choice of the filter H a p (e'") is restricted to approximate one of the M ideal characteristics

iiBp ( e i w

A . Signal-Flowgraphs In order to precisely define the sets of operations necessary to implement these digital systems we will strongly rely on the in section concepts of signal-flowgraph representation this [ 171-[ 191 . Signal-flowgraphs provide a graphical representation of the explicit set of equations that areused to implement such systems. Furthermore, manipulating the flowgraphs in a mathepictorial way is equivalent to manipulation of the matical equations. III. SIGNAL PROCESSING STRUCTURES DECIMATORS Fig. 6 illustrates an example of a signal-flowgraph of a directFOR form FIR digital filter. The input branch applies the external AND INTERPOLATORS of signal x (n) to thenetwork and the output the network y (n) It is easy to understand the need for studying structures for is identified as one of the node values.Branches define the realizingsampling rate conversion systems by examining the signal operationsinthestructuresuch as delays, gains, and simple block diagram of Fig. 4(b) which can be used to con- sampling rateexpandersandcompressors. Nodes define the vert the sampling rate of a signal by a factor of L / M . As dis- connection points and summing points. The signal entering a cussed inSection I1 the theoretical model for this system is branch is taken as the signal associated with the input node increasing the signal sampling rate by a factor of L (by filling value of the branch. The node value of a branch is the sum of in L - 1 zero-valued samples between each sample of x ( n ) to all branch signals entering the node. give t h e signal w ( k ) ) , filtering w ( k ) to eliminate the images of Thereforefrom the signal-flowgraph (Fig. 6) we can imX(e'") bystandard a linear time-invariant low-pass filter, mediately write down the network equation as h ( k ) , to give u ( k ) , and sampling rate compressing u ( k ) by a factor M (by retaining 1 of each M samples of u ( k ) ) . A direct y ( n ) = x ( n ) h (0) + x ( n - 1) h (1) + * * implementation of the system of Fig. 4(b) is grossly inefficient + x ( n - N + 1 ) h ( N - 1). since the low-pass filter h ( k ) is operating at the high sampling An importantconcept in themanipulation of signal-flowrate on a signal for which L - 1 out of each L input values are graphs is the principle of commutation of branch operations. zero, and the values of the filtered output are required only once each M samples. For this example, one can directly ap- Two branch operations commute if the order of their cascade ply this knowledge in implementing the system of Fig. 4(b) in operation can be interchanged without affecting the input-toa more efficient manner as willbediscussed in this section. output response of the cascaded system.Thusinterchanging is one way of modifying Later in Section V wewill extend these concepts to include commutable branches in a network

, M - 1, i.e., HBP (e'") is restricted to where k = 0, 1, 2, bands w = kn/M to w = ( k + 1) n/M where n/M is the bandwidth. Figs. 5(b)-(e) illustrate this approach. Fig. 5(b) shows the M possible modulatingfrequencies which areaconsequence of the M to 1 sampling rate reduction, i.e., the digital sampling function (a periodic train of unit samplesspaced M samples apart) has spectral components spaced 2nl/M apart. Fig. 5(c) shows the "sidebands" that are associated with these spectral components which correspond to the M choices of bands as defined by (54). They correspond to the bands that are aliased into the baseband of the output signal Y(ei"') according to (54). (As seen by (53) and (54) and Figs. 5(b) and (c), the relationship between k and 1 is nontrivial). Fig. 5(d) illustrates an example in which the k = 2 band is , , used, such that X (e'") is bandlimited to the range 2n/M < I w I < 3n/M. Since the process of sampling rate reduction by M to 1 correspondsto a convolution of the spectra of B p (eiw ) X (Fig. 5(d)) and the sampling function (Fig. 5fb)) this band is lowpass translated to the baseband of Y ( e i w ) as seen in Fig. 5(e). Thus, the processes of modulation and sampling rate reduction are achieved simultaneously by the M to 1 sampling rate reduction. The process of bandpass interpolation is the inverse to that of bandpass decimation and it can be accomplished in a similar manner. Referring to Fig. 3(c) it is seen that we canuse a bandpass filter with a characteristic similar to that described by (54) (withM replaced by L ) to remove one of the harmonic images of the baseband signal rather than the baseband signal itself. The net result is that we achieve both an interpolation and a modulation of the input signal to one of its harmonic locations in the spectrum.

1,

kn/M<IwI<(k+l)n/M otherwise

0,

(54)

Fig. 6. Direct form structure for 811 FIR fdter.

multistage implementations which can achieve greater efficiencies than single stagedesigns when the conversion ratios are large. Before discussing specific classes of structures for sampling rate conversion we will first briefly review in Section 111-A a number of fundamentalnetworkand signal-flowgraph concepts which will be used in developing thesestructures. We will then discuss three principle classes of FIR structures for realizing single stageinterpolatorsanddecimatorsandcompare their properties.

CROCHIERE AND RABINER: INTERPOLATION AND DECIMATION OF SIGNALS

307

h IN-11

M2)
M

Fig. 7. Transposed direct form structure for an FIR fdter.

+'--"+
Fig. 8. Transpositions of the sampling rate compressor and expander.
TRANSPOSE

TRANSPOSE

Fig. 10. Generation of an efficient direct form structure of an M to 1 decimator.

Fig. 9. Transpose of a generalized L/M sampling rate changer.

the network without affecting the desired input-to-output network response. This operation will beused extensively in constructing efficient structures for decimation and interpolaB. Direct Form FIR Structures for Integer Changes tion as we shall see shortly. in Sampling Rates Another important network concept that we rely heavily on is that of transpositionandduality [ 171-[21]. Basically a Consider the model of an M to 1 decimator as developed in dual system is one which performs a complementary operation Section 1 , and as shown 1 in Fig. 10(a). According to this to that of an original system and it can be constructed from model the filter h ( n ) operates at the high sampling rate F and the original system through the process of transposition. We M - 1 out of every M output samples of the filter are discarded the by the M to 1 sampling rate compressor. In particular have already seen anexample of dualsystems,namely if we integer decimator and interpolator (Fig. 2(a) and Fig. 3(a)) for assume that the filter h ( n ) is anN-pointFIRfilter realized the case M = L . with a direct form structure, the network of Fig. 1O(b) results. Basically the transposition operation is one in which the di- The multiplications by h(O), h ( l ) , * . ,h ( N - 1) and the asrection of allbranchesin thenetworkare reversed and the sociatedsummationsinthisnetworkmust be performedat roles of the input and output of the network are interchanged. the rate F . Furthermore all branch operations are replaced by their transA more efficient realization of the above structure canbe pose operations. In the caseof lineartime-invariantbranch achievedby notingthatthebranchoperations of sampling operations, such as gains and delays, these branch operations rate compression and gain can be commuted. By performing a remainunchanged.Thus,forexample,thetranspose of the series of commutative operations on the network, the modified direct form structure of Fig. 6 is the transposed direct form network of Fig. 1O(c) results. The multiplicationsandaddistructure shown in Fig. 7. Also it can be shown [ 171-[21] tions associated with the coefficients h (0) to h ( N - 1) now that for the case of linear time-invariant systems the input-to- occur at the low sampling rate F/M and therefore the total output system response of a system and its dual are identical computation rate in the system has been reduced by a factor (e.g., it can be verified that the networks of Fig. 6 and Fig. 7 M. For every M samples of x ( n ) which areshifted into the have identical system functions). structure (the cascade of delays) one output sample y ( m ) is

For time-varying systems this is not necessarily the case. For example, the transpose of asamplingratecompressor is a of a sampling rate sampling rate expander and the transpose expander is a sampling ratecompressor as shownin Fig. 8. Clearly these systems do not have the same system response. By extending the concepts of transposition rigorously it can alsobe shown that the transposition of a network that performs a sampling rate conversion by the factor L/M i a nets work that performs a sampling rate conversion by the factor MIL. This is illustrated in Fig. 9.

308

PROCEEDINGS OF THE IEEE,

VOL. 69, NO. 3 , MARCH 1981

2-'

Fig. 1 I

Modified direct form FIR filter structure for exploiting impulse response symmetry.

2-'

m2-'
h 2i W)

2-1

Fig. 12. Direct form realization of an M to 1 decimator that exploits symmetry in h ( n ) for even values of N.

h ( N - 1) in Fig. 13(c) are now commuted to the low sampling of L rate side of the network this structure requires a factor times less computation than the structurein Fig. 13(b). An alternative way of deriving the structure of Fig. 13(c) is by a direct transposition of the network of Fig. 1 q c ) (letting L = M). This is a direct consequence o the fact that decimaf tors and interpolators are duals.Similarly anefficientdirect forminterpolatorstructure whichcan exploitsymmetryin h ( n ) can be obtained by transposing the structure of Fig. 12 and letting L = M. A further property of transposition is that for the resulting network, neither the number of multipliers northerateat which thesemultipliersoperate willchange [ 211. Thus if we are given a network that is minimized with respect to its multiplication rate, then its transpose will also be minimized with respect to its multiplication rate.

computed. Thus the structure of Fig. 1O(c) is seen to be a direct realization of (14) in Section 11-A. An alternate form of this structure which can exploit symmetryin h ( n ) (for linear phasedesigns)canbederived by using the modifieddirect formstructure of Fig. 11(for N even). This leads to the M to 1 decimator structure shown in Fig. 12 and it requires approximately a factor of 2 less multiplications than the structure of Fig. lO(c). An efficient structureforthe 1 to L integerinterpolator using anFIR filtercan bederived ina similar manner. We begin with the cascade model for the interpolator shown in Fig. 13(a). In this case however, if h ( m ) is realized with the direct form structure of Fig. 6 we are faced with the problem of commuting the 1 to L sampling rate expander with a series of unit delays.Oneway around t i problem is to realize where hs h ( m ) with the transposed direct form FIR structure as shown g,(n) = h(nL + m @ L), for all rn and n (56) expander can then be in Fig. 7 [ 221. The sampling rate commuted into the network as shown by the series of opera- is aperiodically time-varying filterwithperiod L. Thus to tionsin Fig. 13. Since the coefficients h (0), h ( I ) , * * , generate each output smple y(rn), m = 0, 1, 2, * * * , L - 1,

C. Polyphase FIR Structures for Integer Uecimators and Interpolators A second general class of structures that are of interest in multirate digital systemsare the polyphasenetworks(sometimes referred to as N path networks) [ 221, [ 231. We will find it convenient to first derive this structure for the L to 1 interpolator and then obtain the structure for the decimator by transposing the interpolator structure. In Section I1 it was shownthat a general formforthe input-to-output time-domain relationship the for 1 to L interpolator is

CROCHIERE AND RABINER: INTERPOLATION AND DECIMATION OF SIGNALS


x(n~

309

DELAY = 4

/ 3 4

b- + -p
PJn)

z-l

(b) Fig. 14. Polyphase structures for a 1 to L interpolator.

a different set of coefficientsg,(n) are used. After L outputs y ( L ) is aregenerated,thecoefficientpatternrepeats;thus generated using the same set of coefficients go(n) as y ( O ) , y ( L + 1) uses the same set of coefficients gl (n) as y ( l), etc. Similarly the term [ m / L ] in (55) increases by one for every L samples of y(m). Thus for output samples y ( L ) , y ( L l), + . . . , y(2L - 1)the coefficients g,(n) aremultipliedby samples x(1 - n). In general, for output samples y ( r L ) , y ( r L + l), * * * , y ( r L + L - 1) the coefficients g, (n) are multiplied by samples x ( r - n). Thus it is seen that x ( n ) in (55) is is updated at the low sampling rate F , whereas y (m) evaluated at the high sampling rate LF. An implementation of the 1 to L interpolator based on the computation of (55) is shown in Fig. 14(a). The way in which this structure operates is as follows. The partitioned subsets, go(n), gl(n), . * * ,gL-l (n), of h(m) can be identified with L separate linear, time invariant filters which operate at the low sampling rate F. To make t i subtlenotationaldistinction hs between the time-varying coefficientsand the time-invariant filters we will refer to the time-invariant filters respectively as PO(^), PI(^), * * * ,P L - I (n). Thus
p , ( n ) =g,(n), for

(b) Fig. 15. Illustration of the properties of polyphase networks.

p = 0, 1,2, *

L - 1 and all n.

(57) These filters p , ( n ) will be referred to as the polyphase filters. Furthermore by combining (56) and (57)it is apparent that
p,(n)=h(nL+p),

for p = O , 1 , 2 ; - * , Ll-a n d a l l n (58)

For each new input sample x ( n ) there are L output samples (see Fig. 14). The output from the upper path y o ( m ) has nonzero values for m = nL, n = 0, f l , 22, . . . , which correspond to system outputs y ( n L ) , n = 0, f l , . . . The output from the nextpathyl(m)isnonzeroform=nL+1,n=O,f1,f2;-.

because of the delay of one sample at the high sampling rate. Thus yl(m) corresponds to the interpolation output samples y ( n L + l), n = 0, f l , * . In general the output sf the pth path, y p ( m ) corresponds to the interpolation output samples y ( n L + p ) , n = 0, +1, * * . Thus for each input samplex(n) each of the L branches of the polyphase network contributes one nonzero output which corresponds to one of the L outputs of the network. The polyphase interpolation network of Fig. 14(a) has the property that the filtering is performed at the low sampling rate and thus it is an efficient structure. A simple manipulation of the structure of Fig. 14(a) leads to the equivalentnetwork of Fig. 14(b) in which all the delays are single sample delays. The individual polyphase filters p , ( n ) , p = 0, 1, 2, * * ,L - 1 have a number of interesting properties. This is a consequence of the fact that the impulse responses p p ( n ) , p = 0, 1, 2, * * * , L - 1,correspond to decimated versions of the impulse response of the prototype filter h(m)(decimated by a factor of L according to (56) or (58)). Fig. 15 illustratesthis for the case L = 3 and for an FIR filter h(m) with N = 9 taps. The upper figure shows the samples of h(m) where it is assumed that h(m) is symmetricabout m = 4.Thus h(m) hasaflat delay of 4 samples [ 171. The filter p o ( n ) has three samples corresponding to h(O), h ( 3 ) , h(6) = h(2). Since the point of symmetry of the envelope of p o ( n ) is n = it has a flat delay of samples. Similarly pl(n) has samples h(l), h(4), h(7) = h ( l), and because its zero reference (n = 0) is offset by sample (with respect to m = 0) it has a flat delay of 1 sample. Thus different fractional sample delays and consequently different phase shifts are associated with the different filters

310

PROCEEDINGS OF THE IEEE, VOL. 6 9 , NO. 3, MARCH 1981

O? -$ g
pz i n )
F

y tml
~

LF

Rg. 18. Commutator model for the 1 to L polyphase interpolator.

Fig. 1 6. Ideal frequency response of the polyphase networks.

-'

q J T

F/M

p
FiM

structures since, at most, only one of the p,(n) subfilters are symmetric. By transposing the structure of the polyphase 1 to L interpolator of Fig. 14(b), we get the polyphase M to 1 decimator structure of Fig. 17where L is replaced by M. Again the fiitering operations of the polyphase filters occur at the low sampling rate side of thenetworkandthey can be implemented by any of the conventional structuresdiscussed above. In the above discussion for the 1 to L interpolator we have identified the coefficients of the polyphase filters p p ( n ) with the coefficient sets g,(n) of the time-varying fiiter model. In the case of the M to 1 decimator, however, this identification cannot be made directly. According to the time-varying filter model, discussed in Section 11, the coefficients g m ( n ) for the M to 1 decimator are
g,(n) = g ( n ) = h ( n ) ,

for all n and m.

(59)

Eig. 17. Polyphase structure for an M to 1 decimator.

Alternatively, according to the transpose network of Fig. 17, the coefficients of the M to 1 polyphase decimatorare p,(n)=h(nM+p), for
p=O, 1,2;--,M- ,andalln 1

p,(n) as seen in Fig. 15(b). These delays are compensated for by the delays which occur at the high sampling rate LF in the network (see Fig. 14). The fact that different phases are associated with different paths of the network is, of course, the reason for the term polyphase network. A secondproperty of thepolyphase filters is shown in Fig. 16. The frequency response of the prototype filter h ( m ) approximates the ideal low-pass characteristic & e l w ) shown in Fig. 16(a).' Since the polyphad filters p,(n) are decimated versions of h ( m ) (_dec*atedby L ) thefrequencyresponse o < .a, n/L of H ( e J W )scales to the Tange o G a Q n for < ' Fe(eJw ) as seen in Fig. 16 where pp( e l W ) is the ideal characteristic that the polyphase filter p , ( n ) approximates. Thus the polyphase filters approximate all-pass functions and each ,L - 1, corresponds to a different value of p , p = 0, 1, 2, * phase shift. The polyphase filters can be realized in a variety of ways. If the prototype filter h ( m ) is an FIR filter of length N then the filters p , ( n ) will be FIR filters of length NIL. In this case it is often convenient to choose N to be a multiple of L so that all of the polyphase filters are of equal length. These filters may be realized by any of theconventionalmethodsforimplementing FIR filters such as the direct form structure or the methods based on fastconvolution [ 171, [ 241. If a direct is used for polyphase the filters, the form structure FIR polyphase structure of Fig. 14 will require the same multiplication rate as the direct form interpolator structure of Fig. 13. Exploiting symmetry in h ( m ) is more difficult in this class of
'Recall also that there is an additional gain of L required in the interpolator which we have ignored in this discussion (see Section 1 - ) 1B.

(60) where p denotes the pth polyphase filter. Thus the polyphase filters p,(n) for the M to 1 decimator are equal to the timevarying coefficients g,(n) of the transpose (interpolator) of this decimator. Fromapracticalpoint ofview it is oftenconvenient to implement the polyphase structures in terms of a commutator model. By careful examination of the interpolator structure of Fig. 14 it can be seen that the outputs of each of the polyphase branches contributes samples of y (m)for different time slots. Thus the 1 to L sampling rate expandv and delays can as shown in Fig. 18. The be replaced by a commutator commutator rotates in a counterclockwise direction starting with the zeroth-polyphase branch at timem = 0. A similar commutator model can be developed for the M to 1 polyphase decimator by starting with the structure of Fig. 17 and replacing thedelaysand M to 1 sampling rate compressors with a commutator. This leadsto the structure of Fig. 19. Again the commutator rotates in a counterclockwise directionstartingwiththezeroth-polyphasebranchattime m = 0. At this point the reader should be cautioned that an alternate formulation of these polyphase structures can bedeveloped such that the commutators have clockwise rotations and a different but equivalent set of polyphase filters are defined.'
'This alternate formulation can be developedby defining a set of polyphase filters such that p is replaced by -p on the right-hand side of (58).

CROCHIEBE ANDRABINER: INTERPOLATION AND DECIMATION OF SIGNALS

311

Fig. 19. Commutator model for the M to 1 polyphase decimator.

b
h-c("

r---------

1
y (rn~
d 0
4 2 3 4 5 6

EFFICIENT REALIZATION BY DIRECT FORM CR FOLYPHPSE SWTURE

(a)

r-------

1
0
t

(b) Fig. 21. Timing relationships between


EFFICIENT FEUIZATION BY DIRECT FORM OR POLYPHASE STRUCTURE

y ( m ) and x ( n ) for the case

M = 2,L = 3.

(b) Fig. 20. Possible realization of an L/M sampling rate converter.

where
g,,, (n) = h(nL + mM
0 L),

for all m and all n

(62)

Both formulations havebeenused should not be confused.

in the literature and they

D. FIR Structures with Time-Varying Coefficients for Interpolation/Decimation by a Factoro f L / M In the previous two sections we have considered implementations of decimators and interpolatorsusing the direct form and polyphasestructuresforthe caseof integer changes in the sampling rate.Efficientrealizations of these structures were obtained by commuting the filtering operations to occur at the low sampling rate. For the case of a network which realizes a change in sampling rate by a factor of L / M , it is difficult to achieve such efficiencies. Thedifficulty is illustratedin Fig. 20. Ifwe realize the 1 to L interpolation part of the structure using the techniques described earlier, then we are faced with the problem of commutingthe M to 1samplingratecompressor into theresulting network (Fig. 20(a)). If we realize the decimator part of the structure first, then the 1 to L sampling rate expander must be commutedintothestructure (Fig. 20 (b)). In both cases difficulties arise and we are faced with a network which cannot be implemented efficiently simply using the techniques of commutation and transposition. Efficient structures exist for implementing a sampling rate converter with a ratio in sampling rates of L/M, and in this section we discuss one such class of FIR structures with timevarying coefficients [ 131. This structure can be derived from the time domain input-toautput relation of the network, as derived in Section 11, namely

and h(k) corresponds to the low-pass (or bandpass) FIR prototype filter. It will be convenient for our discussion to assume that the lengthof the filter h ( k ) is a multiple of L , i.e.,

N = QL

(63)

where Q is an integer. Then all of the coefficient setsg,,,(n), m = 0, 1, 2, * ,L - 1 contain exactly Q coefficients. Furthermore g,,, ( n ) is periodic in m with period L , i.e.,

g,,,(n)=g,,,+,L(n),

r=O,+l,f2;*.

(64)

Therefore, equation (61) can be expressed as

of anoutput Equation (65) shows thatthecomputation sample y ( m ) is obtained as a weighted sum of Q sequential samples of x ( n ) starting at the x ( [ m M / L I ) sample and going backwardsin n sequentially. The weighting coefficientsare periodicallytime varying so thatthe m 0 L coefficient set g m e L ( n ) , n = 0, 1, 2, . * , Q - 1, is used for the mth output relationship for the sample. Fig. 21 illustrates this timing n = 0 term in (65) and for thecase M = 2 and L = 3. The table in Fig. 21(a) shows the index values of y ( m ) , x ( [ m M / L l )and gmeL(0) for m = 0,to m = 6 . Fig. 21(b) illustrates the relative timing positions of the signals y ( m ) and x ( n ) drawnon an absolute time scale. By comparison of the table and the figure it can be seen that the value x ( [ m M / 1 ) always represents the L most recent available sample of x @ ) , i.e., y ( 0 ) and y ( 1) are computed on the basis of x ( 0 - n ) . Fory(2) the most recent available value of x ( n ) is x ( l ) , fory(3) itis x ( 2 ) , etc.

312
DIGITAL K X D

PROCEEDINGS OF THE IEEE, VOL. 69, NO. 3 , MARCH 1981

program takes in a block of M samples of the input signal, denoted as x ( n ) , n = 0, 1, 2, * ,M - 1, and computes a blockofLoutputsamplesy(m)m=O,1,2;--,L- 1. For each output sampletime m, m = 0, 1, * ,L - 1, the Q samplesfrom the state-variablebufferaremultiplied respectively with Q coefficientsfromone of the coefficientsets g m l ( n ) and the products are accumulated to give the output y ( m ) . Each time thequantity lmM/LI increases one, by onesamplefrom theinputbuffer is shifted into the statevariable buffer. (This information can be stored in a control array.)Thusafter L output values are computed M input samples have been shifted into the state-variable buffer andthe processcan be repeated for the next block of data. In the course of processing one block of data (M input samples and L output samples) the state-variable buffer is sequentially addressed L times and the coefficient storage buffer is sequenA program which performs this tially addressed once. computation can be found in [ 251.

(L/M)F

E. Comparisons of Structures In this section we have discussed three principle classes of FIR structures for decimators and interpolators. In addition, in Section V we discuss multistage cascades of these structures and show how this can lead to additional g a i n s in computational efficiency when conversion ratios are large. A natural question to ask at this point is which of these methods is most efficient? answer, The unfortunately, is nontrivial and is highly dependent on the application being considered. Some insight and direction, however, can be provided by observing -VARIABLE STATE ww some general properties of the above classes of structures. BUFFER g,(n) go(n) (9 SPJAPLES) The direct form structures have the advantage that they can COEFFICIENT STORAGE be easily modified to exploit symmetry in the system function ( L SETS OF 0 SAMPLES I Fig. 23. Diagram of a program structure to implement the flowgraph of to gain an additional reduction in computation by a factor of Fig. 22 i a block-by-block manner. n approximately two. The polyphase structures have the advantage that the filters p,(n) can be easily realized with efficient Based on (65) and the above description of how the input, techniques such as the fast convolution methods based on the FFT [ 241. As such this structure has been found useful for output, and coefficients enter into computation, the the structure of Fig. 22 is suggested for realizing an L/M sampling fiiterbanks [ 231. Thestructureswithtime-varyingcoefficients are particularly useful when considering conversions by rate converter. The structure consists of: factors of L/M. 1) a Q sample shift register operating at the input samThere are many other considerations which determine overpling rate F which stores sequential samplesof the input all efficiency of these structures. Most of these considerations, signal; however, fiiter are design ones hence and we must defer 2) adirectform FIRstructure withtime-varyingcoeffifurther comparisons of single stage structures for decimators cients (gm.L(n), n = 0, 1, * * ,Q - 1) which operates at andinterpolatorsuntil we have discussed the filter design the outputsampling rate (L/M)F; issues in some detail. 3) a series of digital hold-and-sample boxes which couple the two sampling rates. The inputside of the boxholds DESIGNOF FIR FILTERSFOR the most recent input value until the next input value DECIMATION INTERPOLATION AND comes along; the output side of the box samples the In the discussion in the previous chapters we have assumed input values at times n = mM/L. For times when mM/L thatthefilter h ( k ) approximates some ideal low-pass (or is an integer (i.e., input and outputsampling times arethe bandpass) characteristic (see Figs 2-4). As such the effectivesame), the input changes first andthe output samples the ness of these systems is directly related to the typeand quality changed input. of design of this digital fiiter. The purpose of this section is to filter design techniques, and discuss those It should be clear that the structure of Fig. 22 is an efficient review digital to the design of the one for implementing an (L/M) sampling rate converter since methodsthat areespeciallyapplicable the filtering operations are all performed at the output sam- digital filter insampling rate changing systems. pling rate with the minimum required number of coefficients The filter design problem is essentially one of determining used to generate each output. suitable values of h ( k ) to meet given performance specificabe Fig. 23 shows a diagram of a program configuration to tionsonthefilter.Suchperformancespecificationscan made on the time response h ( k ) , or the frequency response of implement this structure in ablock by blockmanner.The
Fig. 22. Efficient structure for realizing an L/M sampling rate converter.

w.

CROCHIERE AND RABINER: INTERPOLATION AND DECIMATION OF SIGNALS

313

the filter H(eiW) defined as


m

h(k)e-jwk H(eiw)=
&=-m

(66)

(67)

=H(z)l,=,jw.

The frequency response is, in general, a complex function of o. Thus it is convenient to represent it in terms of its magnitude IH(eJW)Iand phase e(w) as H(eiw) = IH(eiw)Ieie(w) (68) where IH(eiW)I= d R e 2 [ H ( e i w ) ]+ Im2 [H(eiw)l (69a)

polators. results decimators The for can then simply be obtained by replacing L by M in the appropriateequations. The samples h(k) can be recovered from p,(n) by sampling rate expanding the sequences pp(n) by a factor L . Each expanded set, is then delayed by p samples and the L sets are then summed to give h (k)(the reverse operation to that of Fig. 15). If we let $ p ( k ) represent the sampling rate expanded set
Fp(k)=

pp(k/L),

k = 0, + L , + 2 L , *
otherwise

(73)

then h(k) can be reconstructed from $,,(k) via the summation

An important filterparameter fined as

is the groupdelay

T(O)

de-

The z-transform H(z) of the prototype fiiter can similarly be expressed in terms of the z-transforms of the polyphase filters Pp(z). It can be shown that
L-1

H(z) =
p=o

z-pPp(zL).

(7.5)

The group delay is a measure of time delay as a function of frequency of a signal as it passes through the filter. Nondispersive filters have the property that 7(0) is a constant (Le., a fixed delay) over the frequency range of interest. Before proceeding to a discussion of filter design techniques for decimators and interpolators, it is important to consider the ideal frequency domain and time domain criteria that specify such designs. It is also important to consider, in more detail, the representation of such filters in terms of a single prototype filter or as a set of polyphase filters. Although both representations are equivalent, it is sometimes easier to view filter design criteriainterms of onerepresentation orthe other. Also, some filter design techniques are directed at the design of a single prototype filter such as in the classical filter design methods,whereasotherfilter design techniquesare directed at the design of the polyphase filters. Thus we will consider both representations in t i section. hs A . Relationship Between the Prototype Filter and its Polyphase Representation As discussed in Section 111, the coefficients, impulse or responses, of the polyphase filters correspond to sampled (and delayed)versions of the impulseresponse of the prototype filter. For a 1 to L interpolator there are L polyphase fiiters and they are defined as (see Fig. 15). p , ( n ) = h ( p + n L p,= O , l , 2 ; . * , L -, a n d a l l n . ) 1 (71) Similarly for an M to 1 decimator there are M polyphase fiiters in the polyphase structure and they are defined as p , ( n ) = h ( p + n M p,= 0 , 1 , 2 ; . . , M -, a n d a l l n . ) 1 (72) Taken as a set, the samples p,(n) ( p = 0, 1, * * ,L - 1 for an interpolator, or p = 0, 1, * ,M - 1 for a decimator) represent all of the samples of h(k). Since the development of the filter specifications is identical for both cases (1 to L interpolators and M to 1 decimators) we will only consider the case of inter-

Finally, the z-transform Pp(z), can be expressed in terms of H(z) according tothe followingderivation. If we definea sampling function Sp(k), such that

then the sampling rate expanded sequences sp(k) in (73) can be expressed as 1 L-1 $&) = S P ( k )h(k) E h(k) ei2n1(k-p)lL. (77)

1=0

The z-transform Pp(z) can then be expressed in the form

and by the substitition of variables k = p

+ nL,
(79)

By substituting (77) into (79) get we

k &=-m

1=0

Letting z = eiw and rearranging terms gives

l=o

&=-m

1=0

p = 0,1 , 2 , .

- - , L - 1.

(81)

314

PROCEEDINGS OF THE IEEE,

VOL. 69, NO. 3, MARCH 1981

Equation (81) shows the relationships of the Fourier transforms of the polyphase filters to the Fourier transform of the prototype filter. Equations (71)474), therefore,illustrate thetimedomain relationships between h ( k ) and p p ( k ) and (75) and (81) show their frequencydomain relationships.

B. Ideal Frequency Domain Characteristics for Interpolation and Decimation Filters In the previous sections we assumed have thatthe filter h ( k ) approximatessomeideal low-pass (or bandpass)characteristic. We will elaborateonthese ideal characteristics in somewhat more detail in the next two sections. In practice it is also necessary to specify a performance criterion to measure. (in aconsistentmanner)how closelyan actualfilter design approximates this idealcharacteristic. Since different design techniques are often based on different criteria, we will consider these criteria as they arise. Recall from thediscussion in Section11-B that the interpolator filter h ( k ) must approximate the ideal4 low-pass characteristic

as illustrated in Fig. 3. By applying (82) to (81) it . s possible to derive the equivai lent ideal characteristics,FPp(elw1, that are implied inthe polyphase filters. Because of theconstraint imposed by (82), only the 1 = 0 term in (81) is nonzero and thus it simplifies to theform

Fig. 24. Illustrations of @ bands in the specification of an interpolator fitter ( L = 5).

domain, theideal interpolator filtersatisfies the constraints

f i ( e j W )= =ejwpJL,

p=O,l,2;..,L-

1.

(83)

Equation (83) shows that the ideal polyphase filters 5 p ( n ) should approximate all-pass fiters with linear phase shifts corresponding to fractional advances of p / L samples ( p = 0, 1, , L - 1)(ignoringanyfixeddelays thatmust be intro2, * duced in practical implementations of such filters). A further found interpretation of the reason for this phase advance can be in Section 111-C on the discussion of polyphase structures. In some cases it is known that the spectrumof x ( n ) does not This property can be used to occupy full its bandwidth. advantage in the filter design and we will see examples of this in the next section on cascaded (multistage) implementations of sampling rate changingsystems..If we define o, as the n highest frequency of interest i X ( e l W ) ,i.e.,
IX(ejw)I<e,

The bands from (2717 + w,)/L to * -)are dont care (4) bands in which the filterfrequency response, is essentially unconstrained. (In practice, however, IH(elW )I should not be very large in these 4 bands, e.g., not larger than L , to avoid amplification of any noise (or tails of X ( e i W ) ) that may exist in these bands). We will see later how these 4 bands can have a significant effect on the filter design problem. Fig. 24(d) shows the response of the ideal polyphase fiiter which is converted from o,. Of an allpass to a low-pass filter with cutoff frequency course, the phase response of each polyphase filter is unaltered by the dont care bands. As. !iscussed in Section 11-A for a decimator, the filter H(eIW ) should approximate the ideal low-pass characteristic

(2n(r + 1) - w,)/L, (r = 0, 1,

as illustrated in Fig.24(c).

f
0,

0 Q I W l Q o,/L
(2nr - o,)/L

< I W I ~ ( 2 .+ O J L , 7 ~
r=l,2;-.,L1 (85)

for n > ~ o ~ > w ,

(84) the

where E is.a ;mall quantity (relative to the peak of I X ( e l w ) l ) , then W(eJW) is an L-fold periodic repetition of X ( e l W ) as Alternatively, the polyphasefiltersshouldapproximate ideal allpass characteristics shown in Fig. 24(for L = 5. In this case, the idealinter) polator filter.only has to remove the ( L - 1) repetitions of the band of X ( e l w ) where IX(eiW)I > E . Thus in the frequency

The ideal characteristic for a fitter is denoted by a tilde over the (87) variable throughout this section. Since conventional the fdter h ( m ) is implemented at the higher If we areonlyinterestedinpreventing aliasing in aband sampling the rate, frequency variable (in (82) for example) is w, whereas since the polyphase fitters are implemented at the lower sam- from 0 to w,, where O, <?TIM, and we are willing to tolerate aliased components for frequencies above a,, then we again pling rate, the frequency variable is w = wL.

CROCHIERE AND RABINER: INTERPOLATION AND DECIMATION OF SIGNALS

315

have a situation where dont care bands are permitted in the filter design. The dont care regions are the same as those in M). In (85) as illustrated in Fig. 24(c) (with L replaced by fact all of the frequencydomain constraints that apply to the design of interpolation filters also apply tothe design of decimationfilters,aconsequence of the property that they are transpose systems.
C. Time-Domain Propertiesof Ideal Interpolation and Decimation Filters If we view the interpolation filter design problem in the time domain, an alternative picture of the ideal interpolation filter is obtained. By taking the inverse transform of the ideal filter characteristic defined by (82) we get the wellknown sin(x)/x characteristic

about somefixednonzero delay.) Thissymmetrydoesnot necessarily extend directly to the-polyphase filters since they correspond to sampled values of h(k) offset by some fraction of a sample. Their envelopes, however, are symmetrical (see Fig. 15). The above symmetry property does, however, imply a form of mirror image symmetry between pairs of polyphase filters Fp(n)and z L - p ( n ) . Applying (92) to (71) gives
pSp(n)= 6(-p

- nL) - (n + 1 ) ~ ) . - p + nL)
(93 1

= X(L - p

Also noting that


FL-p(n) = X(L

(94)

it can be seen that this symmetryis of the form


Fp(n)= FLL-p(-n(95) 1).

In a similar manner we can determine the ideal time responses of the polyphase filters, either by taking the invzrse transform of (87), or by sampling the above time response h(k) according to (71). The net result is that the ideal time responses of the polyphase filters are

In the caseof decimators it is not possible to identify the outputs of specific polyphasebrancheswith specific output samples of the network. All branches contribute to each output. Thus it is not as convenient to give meaningful time to theoperation of the filter a in domain interpretations decimator. The ideal time responses for %(k) and c p ( n ) for decimators, however, are the same as those of (88) and (89), respectively, with L replaced by M.

D. Filter Design Procedures A number of interesting observations can be made about the In the remainder of this section we will discuss a number of above idealtime responses. First we see that they constrain filter design procedures which apply to the design of multirate every Lth value of X(k) such that systems. Since the filter design problem for such systems generally is a low-pass (or bandpass) design problem, nearly all 1, k=O 6(k) = of the work in digital signal processing filter theory canbe 0, k=rL,r=+1,?2;**. brought to bear on this problem. We will not attempt to discuss all of these methods in detail, since they are well docuAlternatively, this implies the constraint that the zeroth-polymented elsewhere [ 1 11, [ 171, but rather we will try to point phase filter have an impulse response that is a unit pulse,i.e., to the relevant issues involved in these designs that particularly &(n) = N n ) , for all n . (91) apply to multirate systems. We will discuss five maincategories of filter design proceIn terms of the polyphase structure of Fig. 14 and its signal dures, namely: processing interpretation of Fig. 15,the aboveconstraint is 1) window designs [ l l ] , [171, 1261; easy to visualize. It simply implies that the output y o ( m ) , of 2) optimal, equiripple linearphase designs [ 271 -[30] ; thezeroth polyphasebranch is identical to the input x(n) 3) half-band designs [ 3 1 -[ 331 ; ] filled in with L - 1 zeros, i.e., these sample values are already 4) special FIR interpolator designsbased on time domain known. The remaining L - 1 samples in between these values filter specifications [ 341 -[ 381, or stochastic properties must be interpolated by the polyphasefilters p,(m), p = 1, of the signal [ 391 ; 2, * . , L - 1. Since these filters are theoretically infinite in 5 ) classical interpolation designs, namely linear and Lagrangduration, they must be approximated, in practice, with finite durationfilters.Thus theinterpolationerrorbetweenthe ian interpolators [ 41, [ 161. outputs of a practical system and an ideal system can be zero E. FIR Filters Based on Window Designs +2L, . * . However in-between these for m = 0, +L, samples, the error will always be nonzero. One straightforwardapproach to designing FIR filters for By choosinga design that does not specifically satisfy the decimators and interpolators is by the well-known m e g o d of constraint of (90) or (91) atradeoffcan be madebetween windowing or truncating the ideal prototype response h(k). A errorsthatoccuratsampletimes m = 0, *L, +2L, * * and direct truncation (i.e., a rectangular windowing of X(k)),howerrors that occurbetween these samples. ever, leads to the Gibbs phenomenon which manifests itself as Anothertimedomainpropertythat can beobserved is a large (9percent) ripplein thefrequency behaviorof the that the ideal filter 6(k) is symmetric about zero, i.e., filter in the vicinity of filter magnitude discontinues (i.e., near (92) the edges of the passband and stopband).Furthermore,the X(k) = X(- k). amplitude of this ripple does not decrease with increasing (Alternatively, for practicalsystems it may be symmetrical duration of the filter(itonlybecomesnarrowerinwidth).

316

PROCEEDINGS OF THE IEEE, VOL. 69, NO. 3 , MARCH 1981

1 +sp
1

% ---------0 0
F P

F s
WS

0.5

WP

l T w

thefiltermust be defined. Fig. 25 shows anexample tolerance scheme for a low-pass Titer where ripple(deviation)in the passband fromthe sponse ripple(deviation)in thestopbandfromthe sponse passband edge frequency = o,/2n stopband edge frequency = o J 2 n number of taps in the FIR filter.

of a

Fig. 25. Illustration of a tolerance scheme for practicallow-pass fflter. a

idealreidealre-

Alternatively, Fig. 26 shows a practical tolerance scheme for amultistopband designof a1 to L interpolator when it is known that the input spectrum does not occupy its full bandh (k)= %(k) w (k), - (N - 1)/2 < k < (N - 1)/2 (96) width (see Section IV-B and Fig. 24). where we assume that w ( k ) is a symmetric N-point (N odd) Given the tolerance schemes of Figs. 25 or 26, it is a simple window. A number of windows havebeen proposedin the matter to set upafilterapproximationproblem based on literature for controlling the effects of the Gibbs phenomenon, Chebyshev approximation methods. Severalhighlydeveloped and their properties are well understood [ 111, [ 171, [26]. techniques have been presented in the literature for solving the Two commonly used types of windows are the generalized Chebyshevapproximationproblem [27] -[ 291,includinga Hamming windows and the Kaiser windows. well documented, widelyused computer program [301. The The window designs have the property that they preserve the solutions are based on either a multiple exchange Remez algozero crossing pattern of X(k) in the actual filter design h ( k ) . rithm, or a single exchange linear programming solution. We Thus if z(k) is obtainedfrom(88),thenthetime-domain will not be concernedwithdetails of the various solution properties discussed inSection IV-C apply to this class of methods. filters. For the case of the low-pass characteristic of Fig. 25 an em Among the advantagesof the window design approach is pirical formula has been derived that relates the fiter paramthat it is simple, easy to use, and can readily be implemented eters. It can be expressed in the form in a direct manner (i.e., closed form expressions are available for the window coefficients, hence the filter responses can be obtained simply fromthe idealfilterresponse).Among the disadvantages are that there is only limited control in choosing cutoff frequencies and passband and stopband errors for most cases. The resulting filter designs are also suboptimal in that a smaller value of N can be found (using other design methods) suchthat all specifications onthe filtercharacteristicsare met or exceeded.

Thus a direct truncation, or a rectangular windowing, of &k) is rarely used in practice. A more successful way of windowing the ideal characteristic X(k) is by more gradually tapering its amplitude to zero near the ends of the filter with a weighting sequence w (k)known as a window. The resulting filter design h ( k ) is thus the product of the window w ( k ) with the ideal response h ( k ) , i.e.,

F. Equiripple (Optimal) FIR Designs The windowing technique of the previous section represented a simple straightforward approach to the design of the digital filter required in all sampling rate conversion systems. However considerablymoresophisticated design techniques have 1, been developed for FIR digital filters [ 1 1 [ 271 -[ 301. One such technique is the method of equiripple designbased on Chebyshev approximationmethods.Thefilters designed by ti technique are optimal in the hs sense that thepeak (weighted) approximationerrorinthefrequencydomain over the frequency range of interest is minimized. To apply the method of equkipple design to the digital filter required for sampling rate conversion, a tolerance scheme on

U4

and where u l = 0.00539, az = 0.07114, a3 = -0.4761, = -0.00266, U s = -0.5941, and U 6 = -0.4278. Although the design relationships of (97)-( 101) appear complex,they are fairlysimple to apply. By way of example, Fig. 27 shows a series of plots of the quantity D m ( & ,,6,) as a function of 6, for severalvalues of 6,. Through the use of

CROCHIERE AND RABINER: INTERPOLATION AND DECIMATION OF SIGNALS


1-

317

L.5

6 5 0.001 , 6 5 o.ooo1 ,

: \
25,2t

33,31

,
0.6

M3.101

0.2
We

a 4
/H

0.8

(a)
L.40

sp 5 0.001
I
bt
001

6,s

OOOOI

.OOO1

8s
Fig. 27. Plot of D,(6,, 6,) for practical values of 6, and 6,.

either analytic the form (e.g., (97))orfrom widely available design charts and tables, itis a simple matter to determine the value of N needed for an FIR low-pass filter to meet any set of design specifications [ 1 1 , [ 381 . ] UCW The above design relationships are for low-pass filters. How(b) ever, as shown in Fig. 24 and 26, digital filters for interpola- Fig. 28. Percentagedecrease i requiredfdterorder by using a multin tion and decimation need not be strictly low-pass filters, but banddesign instead of a low-pass design,asa function Of wc/n for (a) L = 5 and (b) L = 10, respectively. instead canalso include 4, or dont carebands,which can influence the filter design problem. This is especially true when the total width of the 4 bands is a significant portion of the band filter instead of a standard low-pass filter since the total total frequency band. For such cases no simple design formula width of the 4 bands is small. However, as w,/n tends to 0, such as (97) exists which relates the relevant filter parameters. sigmficant reductions in N are possible; e.g., for w,/n % 0.05, is posThus the simplest way of illustrating the effects of the 4 bands a 50 percentreductioninimpulseresponseduration sible. Fig. 28(b) shows similar trendsfor a series of interon the filterdesign problem is by way of example. Consider the design of a set of interpolators with specifica- polators with avalue of L = 10. Figs. 29 and 30 show typical frequency responses for low-pass tions: and multiband interpolation filters. For the example of Fig. L=5 29(a) the specifications were L = 5 , 6, = 0.001, 6, = 0.0001, and w, = 0 . 5 ~ .The required values of N were 41 for the low6, < 0.001 pass filter,and 39forthemultiband design. Thusforthis 6, < 0.0001 case the reduction in filter order was insignificant. However, the change in filter frequency response (as seen in Fig. 29(b)) O<w,<n was highly significant. Fig. 30 shows the same comparisons for i.e., the parameter that we allow to vary is w, (see Fig. 26). designs with L = l o , & , = 0.001, 6, = 0.0001, and 0 = 0.5n. , First we design a series of low-pass filters with passband cutoff In this case a 28-percent reduction in filter order (from 45 for frequencies w, = wc/5, and stopband cutoff frequencies the low-pass filter t o 33 for the multiband filter)was obtained w, = (277 - w,)/5. Next we design a series of multiband filters since the frequency span of the stopbands was small compared with a single passband (identicalto thatof the low-pass design), to the frequency span of the dont care bands. In both these and a series of stopbands, separated by dont care bands (see examples we see that, in the 4 bands, the frequency response Fig. 26). If we compare the required impulse response duraof the resulting filter is truly unconstrained, and can, in fact, tion of the lowpass filter to the required impulse duration of become extremely large (as compared tothe passband rethemultiband filter weget aresult of thetype shownin sponse). The practical implication is that some care must be Fig. 28(a) which gives the percentage decrease in N as a func- taken to ensure that the amplitude responsein the 4 bands tion of o,/n. The heavy dots shown in this figure are mea- stays below some wellspecified level to guarantee thatthe sured values (i.e., they are not theoretical computations), and noise in the input signal, in the 4 bands, is not amplified so much that it becomes excessive in the outputsignal. the smooth curve shows the trend in the data. The numbers The above examples have shown that when o , / L , the cutoff nextto each heavy dot are the minimumrequiredimpulse frequency of the passband, is relatively small (compared to responsedurations(insamples)for the low-pass, andmultin / L ) , significant reductions in computation can be obtained by band designs, respectively. The trends in the curve are quite clear. For w,/n close to exploiting the dont care bands in the design of the interpola1.0, there is essentially no gain in designing and using a multi- tion (or decimation) digital filter. In practice such conditions

318

PROCEEDINGS OF THE IEEE, VOL. 69, NO. 3, MARCH 1981

-20

L'5

8 p ~0.001

8,

'0.oOoi */L.O.l7r

-40

-60

rarelyoccur, i.e.,we are usuallydealing with signals where wc/L is relatively large. As such thequestion arises as to whether the multiband filter approach is of practical utility in the implementation of digital sampling rate changing systems. We will see in Section V that the techniques discussed here are of value in multistage implementation of decimators and interpolators involving large changes in sampling rates.

-100

-tl/

G . Half-BandFIRFilters-ASpecial Case of FIRDesigns for Conversion by Factors o f Two Let us again consider the tolerance specifications of the ideal low-pass filter of Fig. 25. If we consider the special case

s,=s,

=6

(1 02)

w s = l r - up
then the resulting equiripple optimal solution imation problem has the property that
H ( e i w )= 1 - H(ei(lr-W))

(103) to the approx(1 04)

(b) Fig. 2 9 . Comparison between (a) low-pass filter, and (b) its equivalent multiband design for L = 5 .

i.e., the frequency response of the optimal filter is symmetric around w = m/2, and at w = 7712, H ( e I W )= 0.5. It can also be readily shown that any symmetric FIR filter satisfying (1 04), also satisfies the idealtime-domainconstraints discussed in Section IV-C, equation (go), i.e., every other impulse response coefficient (except for k = 0)is exactly 0. Filters designedusing theconstraints of (102)and(103) have been called "half-band" filters [ 311-[331, and their properties have been intensively studied. They can be designed in a variety of ways including the window designs and equiripple designs discussed previously.

-400

-801
~~

H. Minimum Mean-Square-Error Design of FIR Interpolators-Deterministic Signals Thus far we have considered the design of filters for interpolators and decimators from the point ofview of designing the prototype filter h ( m ) such that it satisfies a prescribed set of frequencydomain specifications. In the remainder of Section IV we consider an alternative point ofview in designing filters (particularly for integer interpolators). In this approach the error criterion to be minimized is a function of the difference between the actual interpolated signal and its ideal value rather than a direct specification on the filter itself. We see in this section and in following sections that such an approach leads to a number of filter design techniques [341-[371, [391 which are capable of accounting directly for the spectrum of the signal being interpolated. Fig. 31(a) depicts the basic theoretical framework used for defining the above interpolatorerrorcriterion. We wish to design the FIR filter h ( m ) such that it can be used to interpolate the signal x ( n ) by a factor of L with minimum interpolation error. To define this error weneed to compare the output of this actual interpolator with thatof an ideal (infinite duration) interpolator &(m) whose characteristics were derived in Sections IV-B and IV-C. This signal error is defined as
A r ( m ) = y ( m )- v"(m)
7

(105)

0.27

047

0 6 ~

087

FREOUENCY

(b) Fig. 30. Comparison between (a) a low-pass fiter, and (b) its equivalent multiband design for L = 10.

where y ( m ) is the output of the actual interpolator and p ( m ) i the ideal output. s In this section we wiU consider interpolator designs which

CROCHIERE AND RABINER: INTERPOLATION AND DECIMATION OF SIGNALS

319

minimize the mean-square value of A y ( m ) , defined as


IDEAL INTERPOLATOR

(1 06a) =

2~

"

IAY(eiw')lZ dw'.

(1 06b)

LbJPRACTICAL INTERPOLATOR

(a)

Later in Section IV-I we will .cqnsider designs which minimize the maximum value of IAY(eIW )I over a prescribed frequency range, and in Section IV-J we will refer to designs which mini$rn) mize the maximum value of IA y (m))l in the time domain. The above design problems are greatly simplified by considering them in the framework of the polyphase structures as illustrated in Fig. 14. Here it is seen that the signal y ( m ) is Ppln) actually composed of interleaved samples of the signals u p ( n ) , up (n) p = 0, 1, 2, * , L - 1, as shown by Fig. 3 l(b), where u p ( n ) is the output of the pth polyphase filter. Thus the erron intropth CHANNEL OF PRACTICAL POLYPHASE INTERPOLATOR duced by each polyphase branch are orthogonal to each other (since they do not coincide in time) and wecan define the (b) error in the pth branch as the error between the actual output Fig. 31. Framework for deftning error criteria for interpolation fiiters. and the output of the pth branch of an ideal polyphase interpolator as shown in Fig. 31(b), i.e., phase delay eiwpIL, weighted by the spectrum of the input A u p (n) = u p ( n ) - i i p ( n ) . (107) signal IX(ej")l', is minimized. Note also thatthe integral from -n to n in (1 10) is taken over the frequency range of the Becauseof thisorthogonalityproperty wecan separately input signal of the interpolator, not the output signal. and independently design each of the polyphasefilters for In practicethiserrorcriterion is often modified slightly minimumerrorand arrive atan overall interpolator design [34] -[37], [39] by specifying that X(ej") is bandlimited to which minimizes the error (1 A y (m)ll. Thus a large (multirate) the range 0 < o < MI where 0 < a < 1, i.e., filter design problem can be broken down into L smaller (timeIX(ej")I = 0, for IWI 2 MI (1 11) invariant) filter design problems. In the case of the mean-square-error criterion it can be seen Then (1 10) be expressed as can that
+

plhCHANNEC OF IDEAL POLYPHASE-INTERPOLATOR

E = IlAy(m)ll' = '

1 L-1

E:
p=o

(1 08a)

1 =E:*(Y 2n

1," -

lPp (e'") - e j w p / L1' IX(ejw)IZ do

(1 12) E : = IIAup (n)l12. (1 08b) where the subscript a will be used to distinguish thisnorm fromtheonein(1 10).Alternatively we can consider the To minimize E' we then need to design L independent poly- above modification as a means of specifying that we want the phase filterspp ( n ) ,p = 0, 1, 2, * * , L - 1, whichindependently designof P p ( e l w ) to beminimized only over the frequency minimize the respective mean-square errors E : . range 0 < o < MI, and that the range (YII < w < n is allowed to In order to analytically set up the filter design problem, it be a transition region. Then CY can be used as a parameter in can be noted that theideal polyphase filter responseis the filter design procedure. The solution to the minimization problem of (1 12)involves (109) expressing the norm E:,, directly in terms of the filter coeffiwhich then leads to theform cients p p ( n ) . Then, since the problem is formulated in a classical mean-square sense, it can be seen that E:,, is a quadratic E: = IIAu, (n)1I2 function of the coefficients p p ( n ) andthus it hasa single, uniqueminimum for some optimum choice of coefficients. l n lPp (e'") 1' IX(ei")12 d o . At this minimum point, the derivative of E : , , with respect to all of the coefficients p p ( n ) is zero. Thus the second step in the solution is to take the derivative of E:,, with respect to (1 10) the coefficients p p ( n ) and set it equal to zero. This leads to a Equation (1 10) reveals that in theminimum mean-square-error set of linear equations in terms of the coefficients p p ( n ) and design, we are in fact attempting to design a polyphase fiter the solution to this set of equations gives the optimum choice such that the integral of, the squareddifferencebetween its of coefficients which minimize E:,,. This minimization problem is solved for each value of p , p = 0, 1,2, * , L - 1 and frequency response P p ( e J W ) a linear (fractional sample) and

where

=zL

320

PROCEEDINGS OF THE IEEE, VOL. 69, NO. 3 , MARCH 1981

each solution provides the optimum solution for one of the polyphase filters. Finally, these optimum polyphase filters can be combined, as in (73)-(75), t o obtain the optimum prototype filter h ( m ) which minimizes the overall norm. The details for this approach can be found in [ 351. Also, this same reference, or [40] by Oetken, Parks, and Schuessler, contains a computer program which designs minimum mean-square interpolators according to the above techniques and it greatly simplifies the task of designing these filters. The minimum mean-square-error interpolators designed using the procedure described have a number of interesting properties [36]. 1) The resulting filters have the same symmetry properties as the ideal filters (92) and(95)). 2) The minimum error min E;,& for the polyphasefilters also satisfies the symmetry condition

TIME IN SAMPLES

min

= min

2 EL-^,^.

(113a)

L FREPUENCY

This error increases monotonically as p increases (starting with E t , a = 0) until p = L / 2 at which point it decreases monotonically according to (1 13a). Thus the greatest error occurs in interpolating sample values which are halfway between two given samples. This normalized error is closely approximated by the sine-squared function [36], i.e.,
18.0251
I I
I

\I
Q?r L

0
FREQUENCY

(1 13b) 3) If an interpolator is designed for a given signal with a large value of L , all interpolators whose lengths are fractions of L are obtained by simply sampling the original filter, i.e. if we design an interpolator for L = 100, then for the same parameters cz andR we can derive from thisfilter theoptimum mean-square error interpolators for L = 50, 25, 20, 10, 5, and 2 by taking appropriate samples (orappropriate polyphase filters). Fig. 32 shows an example of the impulse response and frequency response for a minimum mean-square-error interpolation filter with parameter values cz = 0.5, N = 49, R = (N - 1)/ 2L = 3, L = 8, and assuming that IX(eJW)I= 1.
I. Design of FIR Interpolators with Minimax Error in the Frequency Domain Inthe previous section we considered the design of FIR interpolators based on minimzing the mean-square error norm. In this section we will consider another class of designs of +ferpolation filters in which the maximum of the error IA Y(el" )I over the frequency range of interest is minimized. This type of designgives a greater degree of control over the errors at specific frequepcies [36]. In minimax designs of this type, the error A Y ( e l w ) oscillates (ripples) in the frequencydomain between positive and negative values of this maximum error. If the numberof taps in the overall filter is

Fig. 32. The impulseandfrequency responses of a m i n i u m meansquared error interpolation fdter with o = 0.5, R = 3 , and L = 8. !

denoted as

O < ' W ~ = W ~ L < ~ ,= l , 2 ; . * , R X

(115)

where the reader may recall that o refers t o frequencies specified with reference to the low sampling rate and or refers t o frequencies specified with reference t o the high sampling rate. From (1 10) it then follows that
p
P(

el";\) = eiWAP/L, for X = 1,2,

- - . ,R ,

a n d f o rp = 0 , 1 , 2 ; - - , L -

1. (116)

N=2RL

+1

(114)

then each polyphase filter has 2R taps and therefore 2R degrees of f-dpm. These 2R degrees of freedom allow the error IAY(eJW)I t o be exactly zero at 2R Frequencies or R conjugate pairs of frequencies. Thus A Y ( d W ) will have R + 1 extremal values in the range of positive frequencies 0 < o r < m / L . The frequencies at which IAY(eiw )I is zero will be

Thus. at these frequencies the polyphase filter _responses P p ( e l w A ) are all equal to the ideal filter responses P p ( e l w h ) , X=1,2,**-,R. The above problem has now been converted t o a problem of fiding the set of R frequencies o h , X = 1,2, * ,R . The assumption that these frequencies be distinct is not essential t o h the validity of the result. Indeed if we assume that o = 0 for all X and X:" = constant for 101 < m, then all of the zeros (') of IIAY(eiw )It2 occur at a'=0. , I n this case we get a maximally flat behavior of IIAY(eJW )112 suchthatits f i t 4R derivatives withrespect t o ur are zero. Thesolutionthen leads t o the well-known class of Lagrange interpolators [ 361 . For equiripple designs a procedure for finding the frequencies o h has been proposed by Oetken [ 361. First he showed that the error IIAY(e'" )[I2 could be expressed as the sum of the errors due to each polyphay filter. He then showed that the individual errors 11 A Y , (e'" )112 are almost exactly proportional to each other over the whole frequency range. This proportionality has the form (similar to that of (1 13b))

--

llAYp(ej"')ll

= l l A Y ~ (ei"")ll p

sin (pn/L)(117)

CROCHIERE AND RABINER: INTERPOLATION AND DECIMATION O F SIGNALS

321

where IlA Y L (e'"')I12 denotes the error for the ~ polyphase filter p = L/2, i.e. it is the filter which interpolates samples exactly half way between the input samples. This form is a stronger condition than that of (1 13b) in that it applies to individualfrequencies as opposed tothe mean-square error integrated over the entire frequency range. The deviations t o the approximation have been found t o be smaller than 1 percent 1361. Because of the above condition, the design problem may be converted t o a simpler problem of designing one of the polyphase filters such that it has the desired minimax error. The zeros of this filter can be calculated to obtain the frequencies oh, = 1, 2, . X R and they can be applied t o obtain the minimaxsolutions to the other polyphasefilters. It is convenient to choose the polyphase filter p = L/2 which interpclates sample values half way between input samples. Also, as in the case of mean-square-error designs, the design of the polyphase filters is independent of L (assuming that there are always 2R tapsfor eachpolyphasefilter). Therefore,it is convenient to choose L = 2 so that the above design requirements are those of aminimax half-band filter design. This design can be obtained using the techniques described in Section IV-G on half-band filters, with the appropriate weighting factor IX(eJ")(. Fig. 33 shows an example of a minimax intepolator design R for OL = 0.5, = 3, L = 8, and assuming that I X ( $ i w ) I = 1. Fig. 33(a) shows theindividual, errors IIAYp(elw )II (notethat 11 A Y , (el" )I[ = llAYL-p (el" )II) and Fig. 33(b) shows the ' ) ~ 33(c)-(e) shows the impulse totalerror ~ ~ A Y ( e ~ w Figs. ~ . response and frequency response of the final prototype fdfer H(eJW ). Notethat although theerror signal IIAY(eJw )I1 exhibitsan equg-ripple behavior (as specified by the design criterion) H(eJW ) does not exhibit equal-ripple behavior.
e ,

( T/L 1

TIME IN SAMPLES

FREWENCY

J. Other Designs Inaddition tothe above design proceduresa number of other methods have been proposed in the literature. In this section, we briefly refer t o these methods. Parks and Kolba [37] proposed a design technique for interpolators that minimizes the error IAy(m)l in a minimax sense in the time domain.Under the assumption that IX(eJW)Iis bandlimited and spectrally flat within this band this procedure leads to the same designs as the minimum mean-square designs of Section IV-H.Matrinex and Parks also investigated the use of IIR filters forinterpolators.Theinterested reader is referred to [41I and [42] for details. Other classical interpolation techniques are those based on linear and Lagrange methods [4], [ 161. Linear interpolation has obvious limitations since it can be interpreted as only a two point filter. Lagrange interpolators are of historical importance and they can be shown t o be related t o the case of maximally flat designs at o = 0 as mentioned in Section IV-I. This concludes our discussion of FIR design techniques for the filters for decimators and interpolators. As we have shown, there are many techniques for designing such filters, and they are all based on slightly different criteria. Some techniques are convenient because of their simplicity, some because they optimize a specific error criterion, and others are of interest strictly from a historical point of view. As in most filter d e sign problems, it is up to the user to decide which of a set of alternative solutions to the filter design problem is most applicable to theproblem at hand.

FREQUENCY

Fig. 33. Theimpulse and frequency responses of a minimax desim interpolation fdter withu = 0 . 5 , R = 3, and L = 8 .

v. MULTISTAGEIMPLEMENTATIONS OF SAMPLING
RATE

CONVERSION

The concept of using a series of stages t o implement a sampling rate conversion system can be extended t o the case of simple interpolators anddecimators [13], [31]-[33], [43][45] as shown in Figs. 34 and 35. Consider first a system for interpolating a signal by a factor of L as shown in Fig. 34(a). We denote the original sampling frequency of the input signal x ( n ) as Fo and the interpolated signal y(m)has a sampling rate of LFo. If the interpolation rate L can be factored into the product
I

=
i=l

where each Li is an integer, then we can express this network in the form shown in Fig. 34(b). This structure, by itself, does not provide any inherent advantage over the structure of Fig. 34(a). However, if we modify the structure by introducing a lowpass filter betweeneuch of the sample rate increasing boxes, we produce the structure of Fig. 34(c). This structure has the property that the sampling rate increase occurs in a series of Z

322

PROCEEDINGS OF THE IEEE, VOL. 69, NO. 3 , MARCH 1981

r--------1

r-----------

r--------l

stages,whereeach stage (shown w t i dashed boxes) is an ihn independent interpolation stage. Similarly, for an M to 1 decimator, if the overall decimation rate M can be factored into the product
J

These include: 1) increased control structure required implement amu@to stage process; 2) difficulty in choosing the appropriatevalues of Z (or J ) of (1 18) and the best factors Li (or Mi). It is the purpose of this section to show why and how a multistage implementation of a sampling rateconversion system can be (and generally is) more efficient than the standard single stage structure for thefollowing cases: 1) L>> 1 2) M>> 1 3) L / M = 1 but

M=nMj
j=1

Then the general singlestage decimator structure of Fig. 35(a) can be converted into the multistage structure of Fig. 35(b). Again each of the stages within the structure of Fig. 35(b) is an independent decimation stage. Perhaps the most obious question that arises from the above discussion is why consider such multistage structures. At first glance it would appear as if we are greatly increasing the overall computation (since 'we have inserted Titers between each stage) of the structure. T i ,however, is precisely the o p p e hs site of what occurs in practice. The reasons for considering multistage structures, of the types shown in Figs. 34(c) and 35(b), are: 1) significantly reduced computationimplement to the system; 2) reduced storage in the system; 3) simplified filter design problem; 4) reduced finite word length effects, i.e., roundoff noise, coefficient sensitivity, in the implementations of the digital filters. Thesestructures howeverare notwithoutsome drawbacks.

(M = 1)
( L = 1)

Case 1 Case 2

L>> 1, M>> 1 Case3

Cases 1 and 2 are high-order interpolation and decimationsystems, and Case 3 is when a slight change in sampling rate is required (e.g., L/M = 80/69).
A . Computational Efficiency of a Two-Stage Structure-A Design Example Since the motivation for considering multistage implementations of sampling rate conversion systems is thepotential reduction in computation, it is worthwhile presenting"asimple deisign examplewhichillustratesthemanner in whichthe computational efficiencyis achieved. The design example is one in which asignal x ( n ) with a sampling rate of 10 000 Hz, is to be decimated by a factor of

CROCHIERE AND RABINER:

INTERPOLATION AND DECIMATION OF SIGNALS

323

45

150

5000

45 50

xx)

(dl Fig. 36. Example of a onestage and two-stage network for decimation by a factor of 100.

from 100 to 150 Hz gets aliased back into the range 50 to 100 Hz after decimation by the factor of 50. This aliased signal then getsremoved in the second stage. For the second stage the passband extends from 0 to 45 Hz and the transition band extends from 45 to 50 Hz with a sampling rate of 200 Hz. One other change in the filter specifications occurs because we are using a two-stage filtering operation. The passband ripple specification of the two-stage structure is reduced to 6,/2 (since each stage can theoretically add passband ripple to each preceding stage). The stopband ripplespecificationdoes not change since the cascade of two low-pass filters only reduces thestopband ripples. Hence the D(6,, 6,) functioninthe filter design equation becomes D(6,/2, 6,) for the filters in the two-stageimplementation. SinceD(6,, 6,) is relatively insensitive to factors of two, only slight changes occur (from 2.54 to 2.76) due to this factor. For the specific example of Fig. 36(c) we get (for the first stage)
N1 =

M = 100 to give the signal y ( m ) at a 100-Hz rate. Fig. 36(a) shows thestandard, single stage, decimationnetworkwhich implements the desiredprocess. It is assumed that the passband of the signal is from 0 to 45 Hz, and that the band from 45 to 50 Hz is a transition band. Hence the specifications of the required low-pass filterareasshownin Fig. 36(b). We assume, for simplicity, that the design formula (97b)

2.76 = 263 TAPS ((150 - 45)/10 000)


NIF

R1=--

- 263(10 000)
(2)(50)

2W1)

= 26 300 multiplications per second. For thesecond stage we get

can be used to give the order N of a symmetric FIRfilter with maximum passband ripple 6,, maximum stopband ripple 6,, transition width A F and sampling frequency F . For the lowpass filter of Fig. 36(b) we have
A F = 5 0 - 4 5 = 5 HZ F = 10,000 Hz 6, = 0.01

Rz =

110.4(200) (2)(2)

= 5500 multiplications per second.

The total computation for the two-stage implementation is

R 1 + R 2 = 26 300 + 5500 = 31 800 multiplications per second.


Thus a reduction in computation of almost 8 to 1 is achieved in the two-stage decimator over a single-stage decimation for this design example. It is easy to see where the reduction in computation comes fromforthe multistage decimator structureby examining (1 20). We see that the required filter orders are directly p r e portional to D(6,, 6,) and F , and inversely proportional to A F , the filter transition width. For the early stages of a multistage decimator, although the sampling rates are large, equivalently the transition widths are-very large; thereby leading to relatively smallvalues of filter length N . For the last stages of a multistage decimator, the transition width becomes small but so does the sampling rate and the combination again leads to relatively smallvalues of requiredfilterlengths. We see from the above analysis that computation is kept low in each stage of the overall multistage structure. The simple example presented above is by no means a complete picture of the capabilities and sophistication that can be found in multistage structures for sampling rate conversion. It is merely intended to show why such structures are of fundamental importance for many practical systems in which sampling rate conversion is required. In the next section we set up a formal structure for dealing with multistage samplingrate conversion networks, and show how it can be used in a variety of implementations.

6, = 0.001 D(6,, 6,) = 2.54


giving, from (1 20),N % 5080 TAPS. The overall computation in multiplications second per necessary to implement this system is

R = -NF 2M

- (5080) 10 000
2(100)

= 250 000 multipiications/sample

at 000i.e., a total of 250 000 multiplications per sample the 10 Hz rate is required t o implementthesystem of Fig. 36(a) (assuming the use of symmetry of h (n)). Consider now the 2-stage implementation shownm Fig. 36(c). The first stage decimates the signal by a factor of 50: and the second stage decimates the (already decimated) signal by a factor of 2, giving a total decimation factor of 100. The resulting filter specifications are illustrated in Fig. 36(d). For the first stage the passband is from 0 t o 45 Hz, but the transition band extendsfrom45 to 150 Hz. Since the sampling rate at the output of the first stage is 200 Hz the residual signal energy
'We will explain later in this section how the individual decimation factors of the stages are obtained.

324

PROCEEDINGS OF THE IEEE, VOL. 69, NO. 3 , MARCH 1981

For the second stageof the system, thespecifications on the low-pass filter are defined for

0 <f <Fp
F2

Stage Passband 2

(125a)

- F, Q f Q F1 /2

Stage2Stopband(125b)

as shown in Fig. 37(d). Again the band from 0 Q f Q Fs is protected from aliasing in the decimationstage. For the rth stage of the system, thelow-pass filter band specifications are
O<f<Fp
LPF STAGE2
I

Stage r Passband /2

26a) (1

F, - F,
F42

<f <F,-l

Stage r Stopband. (1 26b)

Fp F g F ~1 22 F~. l /

(e) Fig. 37. Signal processing operations and ffiterspecifications I-stage decimator.

for a

B. Parameter Specificationsfor Multistage Implementations Consider the J-stage decimator of Fig. 35(b) where the total decimation rate of the system is M. The sampling rate (frequency) at the outputof the jthstage ( j = 1,2, * ,J ) is

--

withinitial inputsamplingfrequency sampling frequency F J , where

F o , andfinal

output

j=1

Any of the structures discussed in Section 1 1can be used for 1 each stage of the network. Using the ideas developed above, we define the frequencyrange of the output signal y ( m ) as
O<f<Fp

Passband Transition Band.

(1 23a) (1 23b)

F.7 F p <f Q F, = 2

In each stage of the processing, the baseband from 0 to Fs must be protected from aliasing. Any other frequency band can be aliased in an early stage since subsequent processing w i l remove any signal components from the band Seen in Fig. 37. as For the first stage the passband is defined from

Alternatively if it is permissible to allow aliasing intothe transition region F p to F,, F, in (123)-( 126) can be replaced by Fp . It is readily seen from (122)-(126) and Fig. 37 that, for the last stage, the transition band of the low-pass filter is the same as the transition band of the one-stage implementation filter. However, the sampling rate of the system is substantially reduced in most cases. Up to now we have been concerned solely with the regions of definition of the individual low-pass filter frequency bands. Another consideration in the design equations is the magnitude specifications on the filter response in each of the frequency bands. If it is desired that theoverall passband response for the cascade of J stages be maintained within 1 f 6,, it is necessary to require more severe constraints on the passband ripple of theindividualfiltersinthe cascade. A convenient choicewhich will satisfythisrequirement is to specifythe j passband ripple constraints for each stage to be within 1f 6,j where 6,j = 6,/J. In the stopband the ripple constraint for the composite filter must be6, and this constraint must be imposed on each of the individual low-pass filters as well in order to suppress theeffects of aliasing. Fig. 38 illustrates the signal processing operations and lowpass filter specifications for an I-stage implementation of an interpolator with an overall change in sampling rates of 1 to. L . One small change in notation is used in defining theI-stage interpolator-namely the stages are numbered backwards from I to 1. The reason we do this is to clearly show that the I-stage interpolator with interpolation factors is a dualof thez-stage Li This may be trivially decimator with decimation factors Li. seen by taking the transposeof the network of Fig. 38(a). The result is the network of Fig. 37(a) (with Mi = Li and J = I ) . Hence, in order to understand the behavior and properties of multistage structures for interpolators, we need only study the multistage decimator. Given the network structure of Fig. 37 for the J-stage de& mator, we will be interested in the specification of the followthe number of stages J to realize an overall decimation factor of M ; the choice of decimation factors Mi, j = 1,2, * * ,J, that are appropriate for the chosen implementation; the types of digital filters used in each stageof the structure-e.g., FIR versus IIR designs, equiripple versus halfband versus specialized designs; the structureused to implement the filter chosen for each stage; the required filter order (impluse response duration) required in eachstage of the structure;

0 <f Q Fp
Fp Q f Q F1 - F,

Stage 1 Passband

(1 24a)

but the transition band is from Stage 1 Transition Band. (124b)

Thetransitionband will alias backupon itself (afterthe decimation by M 1 )only from f = F, up tof = F1/2;hence the baseband of (123) is protected against aliasing. The stopband of the Stage 1 low-pass filter is from
F 1 - F,

<f Q Fo/2

Stage 1Stopband.(124c)

CROCHIERE AND RABINER: INTERPOLATION AND DECIMATION OF SIGNALS

325

(d)
Fig. 38. Signal processing operations and fdter specifications for an I-stage interpolator.

6) the resulting amount of computation and storage required stage with a reduction of M,/L, in sampling rate [321, 1331 where for each stage, and for the overall structure.

As in most signal processing design problems, there are a number of factors that influence each of the above choices, and it is not a simple matter to select any one choice over all others. Three distinct approaches to the design of multistage structures have been proposed by various authors. In one approach, 1 suggested by Bellanger et al. [32], [ 331 and Rorabacher [ 3 1 , a choice of factors of M = 2 for all stages is suggested in order i t o take advantage of the properties of half-band filters. Shively [44] and Crochiere and Rabiner [ 131, [49] have suggested an approach in which general equiripple filters are used and the choice of the factors Mi are chosen through an optimization procedure which minimizes the overall computation rate (or storage)and thenumber of stages. Finally, Goodman and Carey [45] have suggested afamily of specific filter designs which can be applied to early stages of multistage decimators or final stages of multistage interpolators. In practice any of the above approaches or any combination of them can be applied t o obtain a multistage implementation. The tradeoffs are highly applications dependent. Furthermore any of the structures discussed in Section III can be be used to implementindividual stages. In the following discussion we will briefly discuss the above approaches.
C. Half-Band Designs

M J L , = M/2J

(127)

This final stage can be realized by any of the structures for the general L / M sampling rate conversion discussed in Section 111. Several constraints must be observed with the half-band filters, as discussed in Section N - G . First, the filter tolerances in the passband and stopband must be identical as seen from (102). Therefore, the smallest of the two required tolerances 6, or 6 for the passband or stopband, respectively, must be , used in the design for both bands. A second constraint is that the filter response for the half-band filter is symmetrical about one quarter of the sampling rate, as seen by (104) and the attenuation at this frequency is only 6 dB. Therefore, if the last stage of a decimator (or the first stage of an interpolator) is a 2 to 1 stage, a filter other than a half-band design may stiU be needed if this attenuation is not sufficient. We now consider a simple design to illustrate this method. Design Example 1-Consider the design of a six stage structure to decimate a signal by a factor of M = 26 = 64, with filter specifications

6, = 0.01,

6, = 0.001,

Fp = 0.45 Hz,

F = 0.5 Hz ,

The half-band filter structure is based on the symmetrical half-band FIR filter discussed in Section IV-G. Suchfilters naturally have the property that approximately half of the filter coefficients are exactly zero. Hence the number of multiplications in implementing such filters is half of that needed for a linear phase design, and a quarter of that needed for an arbitrary phase FIR filter. The half-band filter is appropriate only for sampling rate changes of 2 t o 1. Hence the half-band multistage structure consists of a cascade of J-stages with 2 t o 1 reductions in the sampling rate, and, if necessary, afinal

The input sampling frequency is FO 64 Hz, and the output = sampling frequency is F6 = F0/64 = 1.0 Hz. For a single-stage implementation we get

N=

D,(O.Ol, 0.001) = (2.54) (20) (64)= 3251 TAPS (0.05)/64 l(64) - 325 2(64) = 1625 multiplications per second

NF,, R=-2M

where the factor of two in the above expression for R is due to the fact that the filter is symmetrical.

326

PROCEEDINGS OF THE IEEE, VOL. 6 9 , NO. 3, MARCH 1981

For a six stage half-band implementation we require:

This increases the total rateto RT

6 = min
therefore,

(+, 6,)

= 0.001

183 multiplications per second

Dm(O.OO1, 0.001) = 3.25.

In the implementation we will permit aliasing into the transition region F p to F, to permit the u e of a half-band filter in s the fiial stage. The filter order for the jth stage of the design can then be expressed as
Nj

Thusit is seen that, for the aboveexample,themultistage structure is more efficient than the single-stage design by a factor 1625/183 = 8.9,in multiplications per second. aliasing If is permitted in the band from 0.45 to 0.5 Hz then the filter order for the singlestagedesign can be reduced bytwo and the 6251 multistage implementation is more efficient by a factor (1 2)/134 = 6.1 in multiplications per second. D. Designs Based on a Multistage Optimization fiocedure A second approach to the selection of parameters Mi, j = 1,2, ,J and the number of stages J is based on setting up theprobleminterms of anoptimizationprocedure [ 131, [44], [49]. Theorder of thefiltersfor eachstagecan be expressed as

Dm(O.OO1, 0.001) AFjlFj-1

--

where
A F j = F j - 2Fp.

Therefore, the filter orders are approximately (based on the next largest odd order filter from the above estimate)
N1 Nz N3 N4 N5 N6
2 :

where the factor of is due to the assumption that the symmetry of thefilter is used to reducemultiplications. (This The number of multiplications per second necessary to impla optimizationapproachcannot,however,accountforspecial features of specific filter designs such as half-band filters or ment each of these filtersis those discussed in the next section.) 1 . From (119)-(126), (128), (129) it can be shown [ 131 that R i - 4 NJ. Fj the total multiplication rate T for thedesign can be expressed R where the factor of $ is due to the fact that approximately as the product of three terms one-half of the coefficients in the half-band filters are zero and the impulseresponse is symmetric.Thenthemultiplication rates for the stages are

Z7 =9 Z9 31.13 2 65 :

TAPS TAPS TAPS TAPS TAPS TAPS.

and the computation rate (multiplications per second) can expressed as

be

(7) (32) R 1 2 - 56 multiplications per second : = 4


R z ' - = (7)(16) 4 R3 multiplications 18 per second R4 e 9 R5 z 6 . 5 R6

28

multiplications

per

second and where

multiplications second per multiplications second per


l i function can be minimized as a function of the parameters ' s h * * ,J for each choice of J by minimizing S(-). For J = 2 this can be achieved by taking the derivative of S ( - ) with respect to M 1 and setting it to zero. This leads to the ideal choice of M 1 and Mz as

16.25 second mulitplications per

and the total rateis


6

Mi, j = 1,2, -

RT =
j=l

Rj

1 134 multiplications per second :

- 2M(1 - dMAfl(2 - A f ) ) Mlopt 2 - A f ( M + 1) (1 33a) If we do not allow aliasing into the transitionband from Fp to F,, then all of the transition bandsof the above filters become (1 33b) smaller by 2(F, - F p ) = 0.1Hz. This does not significantly affect the orders of the filters N l to N s . The transition band N of the last filter 6 , however, is effectively reducedby a factor In practice the nearest integer values for M1 ind Mz must be of two and it can no longer be a half-band design. Thus N6 used. and R 6 become is'not possible. However, it For J > 2 an analytical approach is possible to find the values of Mi, j = 1 , 2 , * ,J with the aid N6 130 TAPS of a computer-aided optimization procedure. It was found in [ 131 that the Hooke and Jeaves [46], [47] procedure worked R6 2 N6F6 = 65 multiplications per second. :

CROCHIERE AND RABINER: INTERPOLATION AND DECIMATIONOF SIGNALS

327

I n

\u

J.1

lo00

100

z
M
(c)

.1 0

Fig. 39. Minimized valuesof Sand T f o rideal valuesof Mi, = 1 , 2 , i J, and A f = 0.1.

. .,
*

IO

400

M
(c)

well onthisproblemand did not require the evaluation of derivatives. A set of design curves was generated based on the above procedureandthey can be found in [ 131.Alternatively,a similar approach can be used for designs which minimize total storage, i.e.,
NT

Fig. 40. Minimized valuesof Sand T for ideal valuesof Mi, = 1 , 2 , i J, and A f = 0.01.

. . .,

l.e.,

T = T ( J , A ~ , M , M ~ , M ~ , . ... , M ( 1- ~ ~ ) J 34 )

=x
J
j=1

N~

where T is another function of J , Af,M , M I , M z ,

- -

These design curves can be found in [49]. It turns out that (1 34a) designs based on minimizing N T also result in designs that are essentially minimized for R T as well since the minima for R T are relatively broad whereas minima for NT are slightly narrower. Therefore, the design curves in [ 491 are preferred. (1 34b) Figs. 39 and 40 illustrate two example of these design curves for the cases Af = 0.1 and Af = 0.01, i.e., a ten percent and a ,M J - ~ , one percent transition band. Figs. 39(a) and 40(a) show plots

328

PROCEEDINGS OF THE IEEE,

VOL. 69, NO. 3, MARCH 1981

of Filter Designs Thethirdapproach[451 to multistage design is to use a specialized family of filter designs shown in Table I for early Mj>Mj+l > * * > M J . (135) stages of the design and possibly a general FIR or filter halfband filter designed according to one of the methods in Sec6) The required computation (or storage) of an optimized tion IV for the final stage. F1, the first filter in Table I is a J-stage design is relatively insensitive to small changes in the filterwith Mi ones forcoefficientsanditcan be used for Mi for each stage. Thus nearest integer values of M can be i arbitrarydecimationfactors M I . Filters F 2 through F 9 are chosen in practical designs with littleloss in efficiency. half-band filters for decimation by2 to 1 with impulse response The curves of Figs. 39 and 40 provide a set of design guidedurationsfrom3 to9 samplesand shortcoefficientwordlines for the optimized J-stage decimator. To illustrate how lengths. Filters F2, F3, and F5 have monotone passband frethese curves can be applied we give a design example. quency responses, and filtersF 4 , F6-F9 have 2 or more ripples Design Example 2- Consider the design of a J-stage structure in the passband [45]. to decimate a signal by a factor of M = 64, with fiter specificaThe way in which specific filters from Table I are selected tions 6, = 0.01, 6, = 0.001, Fp = 0.45 Hz,F = 0.5 Hz (this is , for each stage of a J-stagedesign is as follows. The filter speciidentical to Design Example 1). The input sampling frequency , fications F,, F,, 6 6, are defined as discussed previously. A is Fo = 64 Hz,and the output sampling frequency is F J ~ = level ripple factor D is then defined as Fo/64 = 1.O HZ. For a J = 1 stage design we get (see Example 1) D = -20 log (6,) for filters F1, F3, F2, F5 (136a)
1
N = 325 TAPS R = 1625 multiplications

of minimizedvaluesofSin(130)and(131)asafunctionofM for each value of J . Figs. 39(b) and 40(b) show similar plots Figs. ofminimized values of T in(134a)-(134c).Finally 39(c) and 40(c) show ideal values of Mi, = 1, 2, * * ,J as a function of M for each J which result 111 the minimized values of S and T. Several important properties of this design procedure can be seen from these figures. They include the following. 1)Foroptimizedcomputation, most of the gain in efficiency is achieved in a two stage structure (J = 2), with only small gains being achieved with three or four stage designs. 2) For optimized storage, substantial reductions in storage can still be achieved in going from two to three or fourstages, although the largest decrease is obtained in going from one to two stages. 3) For optimized storage designs, the actual computation is essentially identical to that of optimized computation designs [49]. Thus a design that is minimized for storage is also minimized for computation. This result is a consequence of the fact that the function S has a broad minimum, whereas T has a somewhat narrower minimum. 4) The gain in efficiency (either computation or storage) in going from1 to J stagesincreasesdramatically as Af gets smaller,and as M getslarger. For example a computational reduction of about 200 to 1 can be achieved with a three stage structure implementing a 1000 to 1 decimation for a normalked transition width of f = 0.0 1. A 5) The decimation ratios of a J-stage optimized design follow the relation

R1 = 116 R2 = 111 RT = R 1 + R 2 = 227

multiplications per second multiplications per second multiplications per second.

From the curves of S in Fig. 39(a) it is seen that a J = 3 stage design can be expected to result in a slightlyloweroverall computation rate. Thus following the same procedure we get

Mz = 4 , M 3 = 2 N1 = 2 6 R1 = 104 Nz = 22 R2 = 22 N3 = 115 R3 = 5 7 R T = R ~ + R 2 + = 183 R3


M1 =8,
Thus we see that a three stage design achieves a reduction in computation (multiplications/second) of a factor of 8.9 over a one-stage design or essentially the same as that of the 6stage halfband approach. By using themultistopband designs discussed inSection IV-F for early stages in the above two-or threestage design it is possible to reduce the order of the fiters in those stages. For examplefrom Fig. 28 it can be estimatedthatforthe three-stage design, N 1 can be reduced by a factor of about 22 percent or N 1 E 20 and N 2 can be reduced by a factor of about 10 percent or N2 E 20. This results in an overall computation rate of R T = 157 (multiplications per second). E. Multistage Designs Based on a Specific

or per second.
D = -20 log[min (6,/J, S,)]

forfilters F 4 , F6-F9 (136b)

For a J = 2 stage we can determine the ideal choices of M1 and M 2 from (1 33). Alternatively, noting that

Af =

(0.5 - 0.45) defined= 0.1, 05 .

and an oversampling frequency as

ratio Oi for each stage j is

we may use the appropriate design curves for Af = 0.1 in Fig. 39. Using eithermethod we getideal values & E 23and Ml E 2.7. The nearestchoice of integer values suchthat M 1 M 2= 64 is either = 32, M 2 = 2) or (M1 16, M 2 = 4). = we use the secondchoice in thisexample. his leads to the design parameters:

N1 = 5 8 N2 = 221

TAPS TAPS

The procedure at each stage is to determine the range of D and oi suchthat each Of thefilters Of Table 1 is applicable. This range is plotted in the chartof Fig. 41 which shows boundaries, in the plane, for which each of the filters meets specifications. The way the chart is used is as follows. For stage 1, the grid point (01, ) is located. If the boundary line of filter F 1 lies D

CROCHIERE AND RABINER:

INTERPOLATION AND DECIMATION OF SIGNALS

329

TABLE I

Cownc~mrs SPECIALIZED FILTERS OF FIR Filter


F1* N
h(0)
1

h(1)
1

h(3)

h(5)

h(7)

h(9)

Design Example 3-To illustrate the above procedure, consider again the M = 64 decimator with 6, = 0.0 1, 6, = 0.00 1, F = 0.45, F = 0.5, Fo = 64 Hz, and FJ = 1 Hz. We calculate , , first the ripple factor D as

D=-2Olog(O.O01)=-60dB(Fl,F2,F3,FS)
D = -20 log (min (0.01/6,0.001))= -60 dB (F5,F5, F6-F9)

where we have used 6 as the largest possible number of stages in the design. The oversampling index for the first stage goes from 64 to 32, showing that an F 2 filter is required, as shown in Fig. 41(b). For stages 2 and 3, filter F 3 can be used as Oj goes from 32 t o 16 (stage 2), and 16 t o 8 (stage 3). For stage 4 (sOi goes from 8 t o 4) an F 5 filter is required, whereas for a stage 5 (sOigoes from 4 t o 2) an F 8 filter is required. For a the final stage, a 115 point FIR filter (the same used in Design Example 2, stage 3 of the three-stage design) is required. The total computation (using symmetry and excluding multiplication by l , - l , or 2) of the resulting sixstage design is:
Multiplications per second

Filter
2
2

Stage
j = 1

2 2
2

2 3
4 5 6

F2 F3
F3 F5 F8 N6 = 115 R6

R1 = O Rz = 32 R3 = 16 R4 = 16 R5 = 1 0 RT= 131

From this example it can be seen that some savings in computation (multiplicationspersecond)can be achieved over previous designs discussed. However, this is achieved at the expense of extra manipulations of the data t o avoid coefficients of 2, 1, and -1.

F. Other Considerations in Multistage Designs


In thepreceding sections we have considered three approaches t o multistage designs of decimators or, equivalently, interpolators by use of transposition. In practice there are many factors besides computation rate inmultiplications/sec that determine the tradeoffs inthese designs. One consideration is that of the cost of control of data flow in thestructure when many stages are involved. Fig. 42(a) illustrates an example of a block diagram of a threestage decimation structure and Fig. 42(b) shows the corresponding control sequence that must be used to implement this structure [49]. In practice a block of M samples of x ( n ) are entered into the main inputbufferand,after processing, one Three state-variable sample r(m) is obtained at the output. buffers S1, S2, and S3 are used t o hold internal data for the filters. The control structure consists of t b e e loops, one within the other, to maintain the proper timing and flow of data in the structure. The actual operations are self-explanatory. In [SO] a program is available t o implement this structure. Many other factors must also be considered in the design of multistage decimators and interpolators. As in most real world situations there is no simple or universal answer as t o what approach is best and in practice a combination of the above techniques often yields the most appropriate tradeoffs.

oi
(b) Fig. 41. D s g chart showing fdters required to meet specifications on ein D and O and a typical example of the use of the chart. i

to the left of the grid point, filter F l is used in the first stage, and the decimation rate of this stage M I , is the largest integer such that thegrid point ( 1 0 /Mi, ) also lies to theright of the D F 1 boundary line. For the second,and subsequent stages, decimationratios of 2areused, andthe filterrequired is the fiiter whose boundary line lies t o the left of the grid point (01/2, D ) for stage j . This procedure can be used until the next t o last stage at which a general FIR filter is required to meet overall filter specifications. We nowillustrate this design methodwiththe following example.

330

PROCEEDINGS OF THE IEEE, VOL. 69, NO. 3, MARCH 1981

x(n)

INPUT

( M SAMPLES)
SAMPLES START

S I
BY M l SAMPLES

STAGE 1

SAMPLE FROM STAGE 1 DECIMATION M SAMPLES TO 1 SAMPLE

+
TIMES
J

4 SAMPLES Np
I

TIMES SAMPLE FROM STAGE 2

STAGE 2

Itl
-Ns SAMPLES
SAMPLESSAMPLE

INPUT BLOCK OF

SAMPLE SAMPLES

s3

Fig. 42. Computational operations and control structure for stage decimator.

a three-

VI. DISCUSSION
In this paper, we have attempted to present a tutorial coverage of thetopic of decimationand interpolation of digital signals. We began in Section I1 by introducing the basic conbepts of sampling rate conversion and its relationship t o periodically time-varying linear systems. InSection 111 we discussed three categories of structures, direct-form, polyphase, and time-varying structuresfor implementing single stage designs of decimators or interpolators. In Section IV we examined properties of ideal filters for sampling rate conversion systems and then briefly discussed a variety of filter design techniques for designing practical filters for these systems. Finally in Section V we considered multistage structures and showed that under certain circumstances they could be considerably more efficient than single stage designs. Three a p proaches were then presented for designing such multistage structures. While we have covered a large scope of material in this paper there were numerous important topics that had to be left out. For example a large body of literature is developing on the use of IIR designs for sampling rate,conversion, particularly where linear phase response is not of concern. References [231, [4 11, [421, [491 illustrate examples of some of this work. Another area of work that has not been covered in this paper is the useof decimation and interpolation concepts for the efficient implementation or design of other digital signal processing operations. For example, the polyphase concept is very useful in designing phase shifters with fractional sample delays since each polyphase filter component by itself approxi-

matesan allpass system [5 11. The cascade of adecimator followed by an interpolator also leads t o an efficient approach to the implementation of narrow-band low-pass or bandpass fiiters [ 131, [32], [52], [53] and these concepts have not been covered in this paper.
REFERENCES
[ 11 C. E. Shannon, Communications in the presence of noise,Proc. IRE, V O ~ .37, pp. 10-21, J a n . 1949. [ 2 ] D. A. Linden, A discussion of sampling theorems, Proc. IRE, V O ~ .47, pp. 1219-1226, July 1959. (31 H. Nyquist, Certain topics in telegraph transmission theory, Trans. AZEE,vol. 47, pp. 617-664, Feb. 1928. . S R. W. Hamming, Numerical Methods for Scientists and Engineers. [I New York: McGraw-Hill, 1962. [ 5 1 S. L. Freeny, R. B. Kieburtz, K V. Mina, and S. K. Tewksbury, Design of digital fdters for an ,digital frequency division multiall plex-time division multiplex translator, IEEE Trans. Circuit Theory, vol. CT-18, pp. 702-711, Nov. 1971. [ 6 ] S. L. Freeny, J. F. Kaiser, and H. S. McDonald, Some applications of digital signal processing in telecommunications, in Applications of DigitalSignalProcessing, A. V. Oppenheim, Ed. Englewood Cliffs, NJ: Rentice-Hall, 1978, ch. 1, pp. 1-28. [ 71 L. R. Rabiner and R. W. Schafer, Dgu Procesping of Speech it l Signals. Englewood Cliffs, NJ: Rentice-Hall, 1978. [ 8 ] R. E. Crochiere, S A. Webber, and J. L. Flanagan, Digital . coding of speech in subbands, Bell Syst. Tech. J . , vol. 5 5 , no. 8, pp. 1069-1085, OCt. 1976. [ 91 D. J. Goodman and J. L. Flanagan, Direct digital conversion between linear and adaptive delta modulation formats, Roc. IEEE Znt. Communications Conf., (Montreal, P.Q., Canada), June 1971. [ 101 R. G . Fridhamand R. A. Mucci, Digital interpolation beam forming for lowpass and bandpass signals,Proc. IEEE, vol. 67, no. 6, pp. 904-919, June 1979. [ 11 ] L. R. Rabiner and B. Gold, Theory and Application of Signal Processing. Englewood Cliffs, NJ: Frentice-Hall, 1975, ch. 13.

Digital

CROCHIERE AND RABINER: INTERPOLATION AND DECIMATION OF SIGNALS


[ 121 J. H. McCleUan and R. J. Purdy, Applications of digital signal processing t o radar, in Applications of Di@tal SignalProcessing, A. V. Oppenheim, Ed., Englewood Cliffs, NJ: Prentice-Hall, 1978, pp. 239-330. [13] R.E. Crochiere and L.R. Rabiner, Optimum FIR digital filter implementations for decimation, interpolation, and narrow-band filtering, ZEEE Trans. Acoust., Speech, Signal Proc., vol. ASSP23, no. 5 , pp. 444-456,Oct. 1975. [14] R. A. Meyer and C. S. Burrus, A unified analysis of multirate and periodically time-varying digital filters, ZEEE Trans. Circuits Syst., vol. CAS-22, pp. 162-168, Mar. 1975. [15] B. Liu and P. A. Franaszek, A class of time-varying digital filters, ZEEE Trans. Circuit Theoty, vol. CT-16, pp. 461-471, Nov. 1969. [ l a ] R. W. Schafer and L. R. Rabiner, A digital signal processing approach to interpolation, Proc. ZEEE, vol. 61, pp. 692-702, June 1973. [ 171 A. V. Oppenheim and R. W. Schafer, Digital Signal Processing. Englewood Cliffs, NJ: Prentice-Hall, 1975. [ 181 R. E. Crochiere and A. V. Oppenheim, Analysis of linear digital networks,Proc. ZEEE, vol. 63, pp. 581-595, Apr. 1975. [ 191 A. Fettweis, A general theorem for signal-flow networks, and applications, Arch.Elek.Ubertragung, vol. 25, pp. 557-561, Dec. 1971. (Also in Digital Signal Procesring, L. R. Rabiner and C. M. Rader, New York: IEEE Press, pp. 126-130, 1972.) [ 201 L. B. Jackson, On the interaction of roundoff noise and dynamic range in digital filters, Bell Syst. Tech. J., vol. 49, no. 2, pp. 159-184, Feb. 1970. [21] T. A. C. M. Claasen and W. F. G. Mecklenbrauker, On the transposition of linear time-varying discrete-time networks and its application to multirate digital systems, Philips J. Res., vol. 23, PP. 78-102.1978. [22] M. G. Bellanger and G. Bonnerot, remultiplication scheme for digital FIR filters with application to multirate filtering, ZEEE Trans. Acoust., Speech, Signal R o c . , vol. ASSP-26, pp. 50-55, Feb. 1978. [23] M. G. Bellanger, G. Bonnerot, and M. Coudreuse, Digital filtering by polyphase network: Application to sample rate alteration and filter banks, ZEEE Ta s Acous., Speech, Signal R o c . , vol. r n. ASSP-24, pp. 109-1 14, Apr. 1976. [24] R. A. Meyer and C. S. Burrus, Design and implementation of multirate digital filters, ZEEE Ta s Acoust.,Speech, Signal r n. R o c . , vol. ASSP-24, pp. 53-58, Feb. 1976. (251 R. E. Crochiere, A general program to perform sampling rate conversion of data by rational ratios, in Programs for Digital Signal Procesping. New York: IEEE Press, 1979, pp. 8.2-1 to 8.2-7. [26] J. F. Kaiser, Nonrecursive digital filter design using the Zo -Sinh window function, i Proc. 1974, ZEEE Znt. Symp. Circuits and n Systems, pp. 20-23, Apr. 1974. (Also reprinted in Digital Signal Procemhg, ZZ. New York: IEEE Press, 1975, pp. 123-126. [27] T. W. Parks and J. H. McClellan, Chebyshev auuroximation for nonrecursive digital filters with linear phase,ZEzE Ta s circuit r n. Theory,vol.CT-19, pp. 189-194, Mar. 1972. 281 E. Hofstetter, A. V. Oppenheim, and J. Siegel, A new technique for the design of nonrecursive digital filters, in Proc. 5th Annu. Princeton Conf. Information SciencesSystems, pp. 64-72,1971. 29) L. R. Rabiner, The design of finite impulse response digital filters using linear programmingtechniques, Bell Syst. Tech. J., vol. 51, no. 6, pp. 1177-1 198, July-Aug. 1972. 301 J. H. McClellan, T. W. Parks, and L. R. Rabiner, A computer momam for desimina ootimum FIR linear ohase dihtal filters. IEfE Trans. Audio lfle&acoust., vol. AU-Pl, pp. 566-526, Dec. 1973. (See also Prog~mp o r Digital Signal Processing. New f York: IEEE Press, 1979, pp. 5.1-1 to 5.1-13. [ 311 D. W. Rorabacher,EfficientFIRfilter design for sample rate reductionorinterpolation, in Proc. 1975 Znt. Symp. Circuits and Systems, Apr . 1975. [32] M. G. Bellanger, J. L. Daguet and G.P. Lepagnol, Interpolation,
.

331

Eds.

.extrapolation, and reduction of computation speed in digital fdr s a ters, ZEEE T n. Acoust., Speech, Signal R o c . , vol. ASP-22, pp. 231-235, Aug. 1974. [33] M. G. Bellanger, Computationrateand storageestimation in multirate digital filtering halfband with filters, ZEEE Trans Acoust., Speech, Signal R o c . , vol. ASSP-25, pp. 344-346, Aug. 1977. [ 341 G. Oetken and H. W. Schuessler, On the design of digital titters for interpolation, Arch.Elek.iibertragung, vol. 27, pp. 471476,1913. [ 35 ] G. Oetken, T. W. Parks and H. W. Schuessler, New results in the design of digital interpolatois, ZEEE Trans. Acoust.,Speech, Signal Proc., vol. ASP-23, pp. 301-309, June 1915. [ 361 G. Oetken, New approaches for the design of digital interpolating filters, ZEEE Tmns. Acoust., Speech, Signal Proc., vol. A S P 27, pp. 637-643, Dec. 1979. 371 T. W. Parks and D. P. Kolba,Interpolation minimizing maximumnormalizederrorforband-limited signals, ZEEE Trans. Acoust., Speech, SignaI Proc., vol. ASSP-26, pp. 381-384, Aug. 1978. 381 0. Herrmann, L. R. Rabiner, and D. S. Chan, Practical design rules for optimum finiteimpulse response lowpass digital filters, Bell Syst. Tech. J., vol. 52, no. 6, pp. 769-199, July-Aug. 1973. 391 A. Polydoros and E. N. Rotonotarios, Digital interpolation of stochastic signals, in Proc. Zurich Seminar on Communications, UP. 349-367. Mar. 1978. __ [40 1 G. Oetken, T . W. Parks, and H. W. Schuessler, A computer program for digital interpolator design, in Programs f o r Digiblr Signal Processing. New York:IEEE Press, 1979, pp. 8.1-1 to 8.1-6. H. G. Martinez and T. W. Parks, A class of infinitedurationresponse digital filters for sampling rate reduction, ZEEE T n. ms Acoust., Speech, Signal Proc., vol. ASSP-27, pp. 154-162, Apr. 1979. - Design of recursive digital filters with optimum magnitude , attenuation poles on the unit circle, ZEEE ? a . Acoust., Ym Speech, Signal Proc., vol. ASSP-26, pp. 150-156, Apr. 1978. G. A. Nelson, L. L. Heifer, and R. C. Wood, High-speed octave r s a band digital filtering, ZEEE T n. Audio Electrwcoust., voL AU-20, pp. 58-65, Mar. 1972. I441 R. R. Shively, On multistage FIR filters with decimation,IEEE Tram. Acoust., Speech, Signal Proc., vol. ASSP-23, pp. 353-357, Aug. 1975. (45 1 D. J. Goodman and M. J. Carey, Nine digital filters for decimationandinterpolation, ZEEE Trans. Acoust,,Speech, Signal ROC.,V O ~ .ASP-25, pp. 121-126, Apr. 1971. R. Hooke and T. A. Jeaves, Direct search solution of numerical and statistical problems, J. Assoc. Comput. Mach.,vol. 8 , no. 4, pp. 212-229,Apr. 1961. 147 1 J. L. Kuester and J. H. Mize, Optimization Techniques with Fortmn. New York: McGraw-Hill, 1973. o, R. Rabiner, J.F. Kaiser, 0. Herrmann, and M. T. D h [48 1 L. Some comparisonsbetween FIR and IIR digital filters, Bell Syst. Tech. J., vol. 53, no. 2, pp. 305-331, Feb. 1974. R. E. Crochiere and L. R. Rabiner, Further considerations i the n mr design ofdeimators and interpolators, ZEEE T n. Acoust., Speech, Signal R o c . , vol. ASSP-24, pp. 296-31 1, Aug. 1976. - A program for multistage decimation,interpolation, and , n m o w band filtering, in Programs for Digital Signal h c & g oe n . New York: IEEE Press, 1979, pp. 8.3-1 to 8.3-14. R. E. Crochiere, L. R. Rabiner, and R. R. Sltiiely, A novel implementation of digital phase shifters, Bell Syst. Tech. J., vd. 54, pp. 1497-1502, OCt. 1975. L. R. Rabiner and R. E. Crochiere, A novel implementation for narrow-band FIR digital filters, ZEEE Pans. Acowt., Speech, Signal R o c . , vol. ASSP-23, pp. 457-464, Oct. 1975. F. Mintzer and B. Liu, The design of optimal multirate bandpas and bandatop filters, ZEEE Ta s Acoust., Speech,Signal R o c . , r n. vol. ASP-26, pp. 534-543, Dec. 1978.

You might also like