Next  |  Prev  |  Up  |  Top  |  Index  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

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 $ N=3$ channels, much like we derived in §9.3. The analysis filters $ H_{k}(z)$ , $ k=1, \ldots, N$ are bandpass filters derived from a lowpass prototype $ H_{0}(z)$ by modulation (e.g., $ H_{k}(z) = H_{0}(zW_N^k),\; W_N \isdef e^{-j\frac{2 \pi}{N}}$ ), as shown in the right portion of the figure. The channel signals $ X_n(\omega_k)$ are given by the convolution of the input signal with the $ k$ th channel impulse response:

$\displaystyle X_n(\omega_k) \eqsp \sum_{m=-\infty}^{\infty} x(m) h_{0}(n-m)W_N^{-km} \protect$ (12.95)

From Chapter 9, we recognize this expression as the sliding-window STFT, where $ h_{0}(n-m)$ is the flip of a sliding window ``centered'' at time $ n$ , and $ X_{n}(\omega_k)$ is the $ k$ th DFT bin at time $ n$ . We also know from that discussion that remodulating the DFT channel outputs and summing gives perfect reconstruction of $ x(n)$ whenever $ h_{0}(n)$ is Nyquist(N) (the defining condition for Portnoff windows [213], §9.7).


\begin{psfrags}
% latex2html id marker 30995\psfrag{z^-1}{{\large $z^{-1}$}}\psfrag{X(z)}{{\large $X(z)$}}\psfrag{X0(z)}{{\large $X_0(z)$}}\psfrag{X1(z)}{{\large $X_1(z)$}}\psfrag{X2(z)}{{\large $X_2(z)$}}\psfrag{Xn[0]}{{\normalsize $X_n(\omega_0)$}}\psfrag{Xn[1]}{{\normalsize $X_n(\omega_1)$}}\psfrag{Xn[2]}{{\normalsize $X_n(\omega_2)$}}\psfrag{H0(z)}{{\large $H_0(z)$}}\psfrag{H1(z)}{{\large $H_1(z)$}}\psfrag{H2(z)}{{\large $H_2(z)$}}\psfrag{W(-0n,N)}{{\small $W_N^{0n}$}}\psfrag{W(-1n,N)}{{\small $W_N^{-1n}$}}\psfrag{W(-2n,N)}{{\small $W_N^{-2n}$}}\psfrag{W(0n,N)}{{\small $W_N^{0n}$}}\psfrag{W(1n,N)}{{\small $W_N^{1n}$}}\psfrag{W(2n,N)}{{\small $W_N^{2n}$}}\psfrag{STFT}{}\begin{figure}[htbp]
\includegraphics[width=\twidth]{eps/portnoff}
\caption{Portnoff analysis bank for $N=3$.}
\end{figure}
\end{psfrags}

Suppose the analysis window $ w$ (flip of the baseband-filter impulse response $ h_0$ ) is length $ L>N$ . Then in the context of overlap-add processors (Chapter 8), $ w$ is a Portnoff window, and implementing the window with a length $ N$ FFT requires that the windowed data frame be time-aliased down to length $ N$ prior to taking a length $ N$ FFT (see §9.7). We can obtain this same result via polyphase analysis, as elaborated in the next section.



Subsections
Next  |  Prev  |  Up  |  Top  |  Index  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

[How to cite this work]  [Order a printed hardcopy]  [Comment on this page via email]

``Spectral Audio Signal Processing'', by Julius O. Smith III, W3K Publishing, 2011, ISBN 978-0-9745607-3-1.
Copyright © 2022-02-28 by Julius O. Smith III
Center for Computer Research in Music and Acoustics (CCRMA),   Stanford University
CCRMA