This module will briefly take a look a the computational savings
of the polyphase/DFT modulated filterbank implementation. We
will start by looking at our standard analysis bank and then
move on to compare this with our other implementation approaches.
Assume that the lowpass filter in the standard analysis bank,
Hz
H
z
,
has impulse response length
NN. To
calculate the sub-band output vector
{
y
k
m|k=0…M-1}
y
k
m
k
0
…
M
1
y
k
m
using the standard structure, we have
M
decimator outputs
vector
×
M
filter outputs
decimator outputs
×
N
+
1
multiplications
filter output
=
M
2
N
+
1
multiplications
vector
M
decimator outputs
vector
×
M
filter outputs
decimator outputs
×
N
+
1
multiplications
filter output
=
M
2
N
+
1
multiplications
vector
(1)
where we have included one multiply for the modulator. The
calculations above pertain to standard (
i.e.,
not polyphase) decimation. If we implement the
lowpass/downsampler in each filterbank branch with a polyphase
decimator,
M
branch outputs
vector
×
N
+
1
multiplications
branch output
=
M
N
+
1
multiplications
vector
M
branch outputs
vector
×
N
+
1
multiplications
branch output
=
M
N
+
1
multiplications
vector
(2)
To calculate the same output vector for the polyphase/DFT
structure, we have approximately
1
DFT
vector
×
M
2
log
2
M
multiplications
DFT
×
M
polyphase outputs
DFT
×
N
M
multiplications
polyphase output
1
DFT
vector
×
M
2
log
2
M
multiplications
DFT
×
M
polyphase outputs
DFT
×
N
M
multiplications
polyphase output
(3)
=
N
+
M
2
log
2
M
multiplications
vector
=
N
+
M
2
log
2
M
multiplications
vector
The table below gives some typical numbers. Recall that the
filter length
NN will be linearly
proportional to the decimation factor
MM, so that the ratio
NM
N
M
determines the passband and stopband performance.
| |
M=32
M
32
,
NM=10
N
M
10
|
M=128
M
128
,
NM=10
N
M
10
|
| standard |
328,704 |
20,987,904 |
| standard with polyphase |
10,272 |
163,968 |
| polyphase/DFT |
400 |
1,728 |