#### DFT Filter Bank

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 ,

*i.e.*,

(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

**0**through .

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

*redefines the time origin*every sampling period (each modulation term within the DFT starts at time 0 for each transform), while the DFT Filter Bank does not redefine the time origin (modulation terms are ``free running'' as they would be in an analog filter bank). Since ``DFT time'' repeats every samples, the two treatments coincide every samples (

*i.e.*, for every integer ).

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).

**Next Section:**

Inverse DFT and the DFT Filter Bank Sum

**Previous Section:**

System Diagram of the Running-Sum Filter Bank