Filter Banks Equivalent to STFTs
We now turn to various practical examples of perfect reconstruction filter banks, with emphasis on those using FFTs in their implementation (i.e., various STFT filter banks).
Figure 11.28 illustrates a generic filter bank with
channels,
much like we derived in §9.3.
The analysis filters
,
are bandpass filters
derived from a lowpass prototype
by modulation (e.g.,
), as
shown in the right portion of the figure. The channel signals
are given by the convolution of the input signal with
the
th channel impulse response:
From Chapter 9, we recognize this expression as the sliding-window STFT, where







Suppose the analysis window
(flip of the baseband-filter impulse
response
) is length
. Then in the context of overlap-add
processors (Chapter 8),
is a Portnoff
window, and implementing the window with a length
FFT requires
that the windowed data frame be time-aliased down to length
prior to taking a length
FFT (see §9.7). We can
obtain this same result via polyphase analysis, as elaborated in the
next section.
Polyphase Analysis of Portnoff STFT
Consider the
th filter-bank channel filter
![]() |
(12.96) |
The impulse-response






![\begin{eqnarray*}
H_{0}(z) & = & \sum_{l=0}^{N-1} z^{-l}E_l(z^{N}) \\ [5pt]
H_{k}(z) & = & \sum_{l=0}^{N-1} (zW_N^k)^{-l} E_l[(z W_N^k)^{N}] \\ [5pt]
& = & \sum_{l=0}^{N-1} z^{-l} E_l(z^{N}) W_N^{-kl}.
\end{eqnarray*}](http://www.dsprelated.com/josimages_new/sasp2/img2238.png)
Consequently,
![\begin{eqnarray*}
H_{k}(z)X(z) & = & \sum_{l=0}^{N-1} z^{-l} E_l(z^{N})X(z) W_N^{-kl} \\
\left[\begin{array}{c}
H_{0}(z) \\
\ldots \\
H_{N-1}(z) \end{array} \right]
& = & \left[\begin{array}{ccc}
& & \\
& W_N^{-kl} & \\
& & \end{array} \right]
\left[\begin{array}{c}
E_0(z^N) z^{-0} X(z) \\
\ldots \\
E_{N-1}(z^N) z^{-(N-1)} X(z) \end{array}
\right].
\end{eqnarray*}](http://www.dsprelated.com/josimages_new/sasp2/img2239.png)
If
is a good
th-band lowpass, the subband signals
are bandlimited to a region of width
. As a result,
there is negligible aliasing when we downsample each of the subbands
by
. Commuting the downsamplers to get an efficient implementation
gives Fig.11.29.
First note that if
for all
, the system of
Fig.11.29 reduces to a rectangularly windowed STFT in which the
window length
equals the DFT length
. The downsamplers
``hold off'' the DFT until the length 3 delay line fills with new
input samples, then it ``fires'' to produce a spectral frame. A new
spectral frame is produced after every third sample of input data is
received.
In the more general case in which
are nontrivial filters,
such as
, for example, they can be seen to compute the
equivalent of a time aliased windowed input frame, such as
. This follows because the filters operate on the
downsampled input stream, so that the filter coefficients operate on
signal samples separated by
samples. The linear combination of
these samples by the filter implements the time-aliased windowed data
frame in a Portnoff-windowed overlap-add STFT. Taken together, the
polyphase filters
compute the appropriately time-aliased data
frame windowed by
.
In the overlap-add interpretation of Fig.11.29, the window is
hopped by
samples. While this was the entire window length in
the rectangular window case (
), it is only a portion of the
effective frame length
when the analysis filters have order 1 or
greater.
Next Section:
MPEG Filter Banks
Previous Section:
Paraunitary Filter Banks