Recall that the Length
*Discrete Fourier Transform* (DFT) is
defined as

(10.13) |

Comparing this to (9.12), we see that the filter-bank output , , is precisely the DFT of the input signal when ,

(10.14) |

In other words, the filter-bank output at time (the set of samples for ), equals the DFT of the first samples of ( , ). That is, taking a snapshot of all filter-bank channels at time yields the DFT of the input data from time

More generally, for all
, we will call Fig.9.15 the *DFT
filter bank*. The DFT filter bank is the special case of the STFT for
which a rectangular window and hop size
are used.

The *sliding DFT* is obtained by advancing successive DFTs by one
sample:

(10.15) |

When for any integer , the Sliding DFT coincides with the DFT filter bank. At other times, they differ by a linear phase term. (Exercise: find the linear phase term.) The Sliding DFT

When
is a power of 2, the DFT can be implemented using a Cooley-Tukey Fast
Fourier Transform (FFT) using only
operations per
transform. By keeping track of the linear phase term (an
modification), a DFT Filter Bank can be implemented efficiently using
an FFT. Uniform FIR filter banks are very often implemented in
practice using FFT software such as `fftw`.

Note that the channel bandwidths are *narrow* compared with half
the sampling rate (especially for large
), so that the filter bank
output signals
are *oversampled*, in general. We will
later look at *downsampling* the channel signals
to
obtain a ``hopping FFT'' filter bank. ``Sliding'' and ``hopping''
FFTs are special cases of the discrete-time *Short Time Fourier
Transform* (STFT). The STFT normally also uses a *window
function* other than the rectangular window used in this development
(the running-sum lowpass filter).

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

Copyright ©

Center for Computer Research in Music and Acoustics (CCRMA), Stanford University