Computational Savings of Polyphase Interpolation/Decimation
Assume that we design FIR LPF
Hz
H
z
with NN taps, requiring
NN multiplies per output. For
standard decimation by factor MM,
we have NN multiplies per
intermediate sample and MM
intermediate samples per output, giving
NM
N
M
multiplies per output.
For polyphase decimation, we have
NM
N
M
multiplies per branch and
MM branches, giving a total of
NN multiplies per output. The
assumption of
NM
N
M
multiplies per branch follows from the fact that
hn
h
n
is downsampled by MM to
create each polyphase filter. Thus, we conclude that the
standard implementation requires
MM times as many operations as
its polyphase counterpart. (For decimation, we count multiples
per output, rather than per input, to avoid confusion, since
only every
MthMth
input produces an output.)
From this result, it appears that the number of
multiplications required by polyphase decimation is
independent of the decimation rate
MM. However, it should be
remembered that the length NN of
the
πM
M
-lowpass FIR filter
Hz
H
z
will typically be proportional to
MM. This is suggested,
e.g., by the Kaiser FIR-length
approximation formula
N≈-10log10
δ
p
δ
s
-132.324Δω
N
-10
10
δ
p
δ
s
13
2.324
Δ
ω
where
Δω
Δ
ω
in the transition bandwidth in radians, and
δ
p
δ
p
and
δ
s
δ
s
are the passband and stopband ripple levels. Recall
that, to preserve a fixed signal bandwidth, the transition
bandwidth
Δω
Δ
ω
will be linearly proportional to the cutoff
πMM,
so that NN will be linearly
proportional to MM. In summary,
polyphase decimation by factor MM
requires NN multiplies per
output, where NN is the filter
length, and where NN is linearly
proportional to MM.
Using similar arguments for polyphase interpolation, we could
find essentially the same result. Polyphase interpolation by
factor LL requires
NN multiplies per input, where
NN is the filter length, and
where NN is linearly proportional
to the interpolation factor LL.
(For interpolation we count multiplies per input, rather than
per output, to avoid confusion, since
MM outputs are generated in
parallel.)