Post

Radix-2 FFT, Windowing, and Spectral Leakage

## The FFT: Why It's Revolutionary

Radix-2 FFT, Windowing, and Spectral Leakage

The FFT: Why It’s Revolutionary

Direct DFT Complexity

  • $N$ outputs × $N$ multiplications each = $O(N^2)$ operations

FFT (Radix-2 Decimation-in-Time)

  • Decomposes $N$-point DFT into smaller DFTs recursively
  • $O(N \log_2 N)$ operations

Speedup Factor for $N=64$

MethodOperationsSpeedup
Direct DFT$64^2 = 4096$1×
Radix-2 FFT$64 \cdot \log_2 64 / 2 = 192$21.33×

Formula: $\text{Speedup} \approx \frac{N^2}{(N/2)\log_2 N} = \frac{2N}{\log_2 N}$

For $N=1024$: $\frac{2048}{10} = 204.8\times$ faster!


Radix-2 DIT FFT Structure

For $N = 2^m$, recursively split into even/odd indices:

\[X[k] = \sum_{n \text{ even}} x[n] W_N^{kn} + \sum_{n \text{ odd}} x[n] W_N^{kn}\]

Let $n = 2r$ (even) and $n = 2r+1$ (odd):

\[X[k] = \sum_{r=0}^{N/2-1} x[2r] (W_N^2)^{kr} + W_N^k \sum_{r=0}^{N/2-1} x[2r+1] (W_N^2)^{kr}\]

Since $W_N^2 = W_{N/2}$, this is two $N/2$-point DFTs combined with twiddle factors $W_N^k$.

Butterfly Operation

1
2
3
4
5
6
7
Input:     x[0] ──►──────────► X[0]
                  ╱
x[1] ──►────────╱
                  ╲
x[2] ──►────────╲
                  ╲
x[3] ──►──────────► X[3]

Each stage has $N/2$ butterflies. Total: $(N/2) \log_2 N$ butterflies.


This post is licensed under CC BY 4.0 by the author.