of one sample per unit time. The scheme of Fig. 14 would
then require that the
N
multiplications and
N
-
1
additions
be performed in one unit of time (because,
as
the next input
sample arrives, the internal delay elementsz-' are updated
to the new set of values).
So,
whenever y(2n) is being com-
puted, the system is working at the rate of
N
MPU and
N
-
1
APU.' And at odd intervals, the system
is
sitting idle
(because y(2n
+
1)
need not be computed). This is clearly
an inefficient use of computing resources.
On the other hand, if we implement the system in poly-
phase form, we can redraw Fig. 7(a)
as
in Fig. 15(a). Next,
(a) (b)
Fig.
15.
Polyphase implementation of decimation filter. (a)
Redrawing based on Fig. 7(a). (b) Redrawing by use of first
noble identity (Fig.
9).
with the helpof the first noble identity(Fig.9)wecan redraw
Fig.
15(a)
as in Fig. 15(b). Now the building blocks
€&z)
and
E,(z)
are receiving the samples at half the rate (i.e., one sam-
ple in two units of time). We therefore need to perform only
NI2 MPUsand
(N
-
1)/2APUson theaverage.Thepolyphase
representation
is
thus a neat tool which enables us to rear-
range the computations of the filtering operation,
so
as to
minimize the computational load per unit time. Looking at
it in another way, each multiplier in Fig. 14 is required to
complete
its
operation in one unit of time, whereas in Fig.
I5(b), two units of time are available for the same job.
For general
M,
the decimation filter can be implemented
using the M-component decomposition of
(IO).
The com-
putational saving
is
M-fold.
lnterpolation Filters: Recall the interpolation filter of Fig.
7(b).AssumefirstthatH(z)
isdirectlyimplemented
as
in Fig.
14. The input
x,(n)
to the filter has all the odd numbered
samples equal to zero. As a result, only about
50
percent
of the multipliers in Fig. 14 have nonzero inputs. As such,
the implementation does not exploit this fact to minimize
the required computation per unittime. For example, when
n
is
even,
h(0)
has to work at two times the input rate
(because its input will change after this duration), while at
the same time
h(1)
is resting. Once again
a
polyphase
approach will give a more efficient design. For this we use
(13)
with
M
=
2, and invoke the second noble identity (Fig.
9) to obtain the implementation of Fig.
16.
Here each mul-
Fig.
16.
Polyphase implementation
of
interpolation filter.
tiplier in each building block is constantly occupied, and
gets
two
units of time to finish its job.
Commutator Models: A very convenient way to represent
the polyphase decomposition
is
offered bythe commutator
'The abbreviations MPU and APU represent multiplications per
unit time and additions per unit time, respectively, where a unit
of time is the separation between the samples of the input signal
x(n).
switch model. The basic principles of this are discussed
clearly in
[3]
and [4]. The applications of the commutator
model in multirate analysislsynthesis systems is also indi-
cated in [31].
It
can be verified that the Type-I polyphase
decomposition can be represented using the counterclock-
wise commutator model [4] and theType-2 polyphase using
theclockwise model. In this paperweshall not makeexplicit
reference to this type of a model, and to minimize dupli-
cation of the results described in [3] and [4], we refrain from
further elaboration.
Fractional Decimators: Consider Fig. 8(a), which is a
scheme to obtain
a
sampling rate reduction by the factor
MIL.
If we implement
H(z)
directly, as in Fig. 14, then it
is
inefficient due to two reasons: first the input to H(z) con-
tains
L
-
1
zero-valued samples out of every
L
samples
so
that only one out of
L
multipliers
is
working at
a
time. Sec-
ond, only one out of
M
computed samples in
xdn)
is
going
to be used. These two factors are related to the fact that the
computations in Fig. 8(a) are done at the point where the
sampling rate
is
the highest possible.
To obtain a more efficient implementation, we begin by
considering the
M
=
3,
L
=
2 example again. By using the
Type-I polyphase representation and rearranging as we did
in Fig.
15,
we obtain the implementation of Fig. 17(a). On
(b)
Fig.
17.
Two ways
to
improve the efficiency of fractional-
decimation filter. (a) Using Type-I decomposition, based on
Fig.
15.
(b) Using Type-2 decomposition, based on Fig. 16.
the other hand, if we use the Type-2 decomposition and
rearrange as in Fig. 16, we get Fig. 17(b). Clearly Fig. 17(a)
and Fig. 17(b) are more efficient than Fig. 8(a), by factors of
M
and
L,
respectively. Can we do better than these? Notice
that Fig. 17(a) exploits the presence of the decimator
whereas Fig. 17(b) exploits the presence of the interpolator.
Is
it
possible to exploit both?
Theanswer, indeed,
is
in the affirmative. Such an efficient
scheme is obtained in
[3,
page 3111 by the use of filter struc-
tures with time-varying coefficients. The derivation in [3]
is
based on time-domain reasonings.
We shall now describe an implementation with the high-
est possible efficiency, based on z-domain reasonings [32]
using the polyphase decomposition. First notice that we are
stuck in Fig. 17 mainly because we cannot move the inter-
polator any more to the right (and decimator any more to
the left). This
is
because the noble identities simply cannot
be applied anymore! However, here
is
the nice trick which
comes to our rescue: we can write
z-'
=
z-33
so
that Fig.
17(b) can be redrawn
as
in Fig. 18(a). With the help of the
noble identities, this becomes Fig. 18(b). Next we can inter-
change the decimator with the interpolator (which is valid
because 2 and
3
are relatively prime; see section
11-B)
to
VAIDYANATHAN: MULTIRATE DIGITAL FILTERS