The uniform modulated
filterbank can be implemented using polyphase
filterbanks and DFTs, resulting in huge computational
savings. Figure 1 below illustrates
the equivalent polyphase/DFT structures for analysis and
synthesis. The impulse responses of the polyphase filters
P
l
z
P
l
z
and
P
¯
l
z
P
¯
l
z
can be defined in the time domain as
p
¯
l
m=
h
¯
mM+l
p
¯
l
m
h
¯
m
M
l
and
p
l
m=hmM+l
p
l
m
h
m
M
l
, where
hn
h
n
and
h
¯
n
h
¯
n
denote the impulse responses of the analysis and
synthesis lowpass filters, respectively.
Recall that the standard implementation performs modulation,
filtering, and downsampling, in that order. The polyphase/DFT
implementation reverses the order of these operations; it
performs downsampling, then filtering, then modulation (if we
interpret the DFT as a two-dimensional bank of "modulators").
We derive the polyphase/DFT implementation below, starting
with the standard implementation and exchanging the order of
modulation, filtering, and downsampling.
We start by analyzing the kkth
filterbank branch, analyzed in Figure 2:
The first step is to reverse the modulation and filtering
operations. To do this, we define a "modulated filter"
H
k
z
H
k
z
:
vkn=∑ihixn−iⅇⅈ2πMkn−i=
∑ihiⅇ-ⅈ2πNkixn−i
ⅇⅈ2πMkn=
∑ihkixn−i
ⅇⅈ2πMkn
vk
n
i
h
i
x
n
i
2
M
k
n
i
i
h
i
2
N
k
i
x
n
i
2
M
k
n
i
hk
i
x
n
i
2
M
k
n
(1)
The equation above indicated that
xn
xn
is convolved with the modulated filter and that the
filter output is modulated. This is illustrated in
Figure 3:
Notice that the only modulator outputs not discarded by the
downsampler are those with time index
n=mM
n
m
M
for
m∈ℤ
m
. For these outputs, the modulator has the value
ⅇⅈ2πMkmM=1
2
M
k
m
M
1
,
and thus it can be ignored. The resulting system is portrayed
by:
Next we would like to reverse the order of filtering and
downsampling. To apply the Noble identity, we must decompose
H
k
z
H
k
z
into a bank of upsampled polyphase filters. The technique
used to derive polyphase decimation can be employed here:
Hk
z=∑n=-∞∞
hk
nz-n=∑l=0M−1∑m=-∞∞
h
k
mM+lz-mM+l
Hk
z
n
hk
n
z
n
l
0
M
1
m
h
k
m
M
l
z
m
M
l
(2)
Noting the fact that the
llth
polyphase filter has impulse response:
h
k
mM+l=hmM+lⅇ-ⅈ2πMkmM+l=hmM+lⅇ-ⅈ2πMkl=
p
l
mⅇ-ⅈ2πMkl
h
k
m
M
l
h
m
M
l
2
M
k
m
M
l
h
m
M
l
2
M
k
l
p
l
m
2
M
k
l
where
p
l
m
p
l
m
is the
llth polyphase filter
defined by the original (unmodulated) lowpass filter
Hz
Hz
, we obtain
Hk
z=∑l=0M−1∑m=-∞∞
p
l
mⅇ-ⅈ2πMklz-(mM−l)=∑l=0M−1ⅇ-ⅈ2πMklz-l∑m=-∞∞
p
l
mzM-m=∑l=0M−1ⅇ-ⅈ2πMklz-l
P
l
zM
Hk
z
l
0
M
1
m
p
l
m
2
M
k
l
z
m
M
l
l
0
M
1
2
M
k
l
z
l
m
p
l
m
z
M
m
l
0
M
1
2
M
k
l
z
l
P
l
z
M
(3)
The
kkth filterbank branch (now
containing
MM polyphase branches)
is in
Figure 5:
Because it is a linear operator, the downsampler can be moved
through the adders and the (time-invariant) scalings
ⅇ-ⅈ2πMkl
2
M
k
l
. Finally, the Noble identity is employed to
exchange the filtering and downsampling. The
kkth filterbank branch becomes:
Observe that the polyphase outputs
{
v
l
m|l=0…M−1}
v
l
m
l
0
…
M
1
v
l
m
are identical for each filterbank branch, while the scalings
{ⅇ-ⅈ2πMkl|l=0…M−1}
2
M
k
l
l
0
…
M
1
once. Using these outputs we can compute the branch
outputs via
y
k
m=∑l=0M−1
v
l
mⅇ-ⅈ2πMkl
y
k
m
l
0
M
1
v
l
m
2
M
k
l
(4)
From the previous equation it is clear that
y
k
m
y
k
m
corresponds to the
kkth DFT
output given the
MM-point input
sequence
{
v
l
m|l=0…M−1}
v
l
m
l
0
…
M
1
. Thus the
MM
filterbank branches can be computed in parallel by taking an
MM-point DFT of the
MM polyphase outputs (see
Figure 7).
The polyphase/DFT synthesis bank can be derived in a similar
manner.