Jump back to chapter selection.
Table of Contents
10.1 From DTFT to DFT
10.2 DFT Properties
10.3 Circular and Linear Convolution
10.4 Spectral Leakage and Windowing
10.5 Fast Fourier Transform
10.6 Short-Time Fourier Analysis
10 Discrete Fourier Transform and FFT
The DTFT is the natural Fourier representation for infinite-length discrete-time signals, but it is still a continuous function of frequency. Computers need finite lists of numbers. The discrete Fourier transform (DFT) turns a finite sequence into a finite list of frequency samples, and the fast Fourier transform (FFT) computes that list efficiently.
This chapter is therefore the bridge from transform theory to numerical signal processing.
10.1 From DTFT to DFT
For a length-
The inverse DFT is
The DFT basis functions are sampled complex exponentials. The frequency represented by bin
Because discrete-time frequency is periodic with period
The DFT can be understood in two equivalent ways:
- as the Fourier series coefficients of a periodic sequence with period
; - as samples of the DTFT of a finite-duration sequence at
.
If
The DFT samples this at equally spaced frequencies:
This distinction matters. The DFT itself always assumes periodicity in both domains:
When using the DFT to analyse a finite segment of a longer signal, we are implicitly windowing the signal and periodically extending that windowed segment.
10.2 DFT Properties
The DFT has properties analogous to the DTFT, but all indexing is modulo
If
then:
| Property | Time domain | DFT domain |
|---|---|---|
| Linearity | ||
| Circular time shift | ||
| Frequency shift | ||
| Time reversal | ||
| Circular convolution | ||
| Multiplication |
For real-valued
The bins
Parseval's relation for the DFT is
Energy is preserved up to the normalization convention.
10.3 Circular and Linear Convolution
The DFT converts circular convolution into multiplication:
The
Circular convolution wraps around modulo
If
To compute linear convolution using the DFT, choose
zero-pad both sequences to length
For long signals, filtering with one giant FFT is inefficient or impossible due to memory. Practical block methods include:
- overlap-add: split the input into blocks, zero-pad each block, convolve by FFT, and add overlapping output tails;
- overlap-save: process overlapping input blocks and discard the corrupted samples caused by circular wraparound.
Both methods implement ordinary LTI filtering while using FFTs internally.
10.4 Spectral Leakage and Windowing
When a finite segment is analysed with a DFT, the signal is multiplied by a window
Multiplication in time corresponds to convolution in frequency. Thus the measured spectrum is the true spectrum blurred by the window spectrum:
For a rectangular window, the window transform has narrow main lobe but large side lobes. If a sinusoid does not land exactly on a DFT bin, its energy spreads into many bins. This is spectral leakage.
Other windows trade main-lobe width against side-lobe level:
- rectangular: best frequency resolution, worst leakage;
- Hann/Hamming: reduced side lobes, wider main lobe;
- Blackman: stronger side-lobe suppression, even wider main lobe;
- Kaiser: adjustable tradeoff through a parameter.
Zero-padding does not improve the true frequency resolution. It samples the same windowed DTFT more densely, which can make peaks easier to locate visually or numerically. The actual ability to separate two close frequencies is set mainly by the observation length and window shape.
10.5 Fast Fourier Transform
Direct computation of the DFT requires
to reduce the complexity to order
for radix-2 lengths.
For
Write
Define
Then
and
for
Repeating this decomposition recursively gives the FFT. Decimation-in-frequency uses the complementary idea: split the output frequencies first rather than the input time indices. Both lead to the same complexity class.
Important implementation details are:
- bit-reversed ordering or equivalent index permutations;
- in-place butterflies to reduce memory;
- precomputed or recursively generated twiddle factors;
- scaling conventions for the inverse transform;
- numerical round-off, especially for fixed-point implementations.
10.6 Short-Time Fourier Analysis
The DFT assumes the analysed segment is the object of interest. For signals whose spectrum changes with time, one uses a sliding window:
where
The STFT gives a time-frequency representation. The window length controls the tradeoff:
- a long window gives good frequency resolution but poor time localization;
- a short window gives good time localization but poor frequency resolution.
There is no way around this tradeoff for Fourier windows. It is the signal-processing version of a time-bandwidth limitation. Speech, radar, music, vibration analysis, and spectroscopy all use variants of this idea.
For reconstruction, neighbouring windows must overlap in a way that allows the windowed segments to add back to the original signal. This is the basis of overlap-add reconstruction and many modern time-frequency processing algorithms.