Concept:
The Discrete Fourier Transform (DFT) converts a discrete-time sequence into its frequency-domain representation. Computing a standard $N$-point DFT directly requires calculating $N^2$ complex multiplications. The Radix-2 Fast Fourier Transform (FFT) algorithm significantly reduces this computational burden by using a divide-and-conquer strategy to exploit the periodic and symmetric properties of the twiddle factors ($W_N^{kn}$).
Step 1: Understanding Radix-2 FFT Decomposition
The Radix-2 Fast Fourier Transform requires the sequence length $N$ to be a power of two ($N = 2^m$). The algorithm works by breaking the main $N$-point computation down into smaller pieces:
• The total number of stages in the computation structure is given by: $\log_2 N$.
• Within each individual stage, the processing is performed using basic computational units called butterfly structures.
Step 2: Counting Multiplications Per Stage
Each basic Radix-2 butterfly structure takes two inputs and performs one complex multiplication by a twiddle factor ($W_N^r$).
• Since each butterfly processes $2$ data points, a single stage requires exactly $\frac{N}{2}$ butterflies.
• This means there are $\frac{N}{2}$ complex multiplications performed in each stage of the algorithm.
Step 3: Calculating Total Multiplications
To find the total number of complex multiplications required across the entire algorithm, multiply the number of multiplications per stage by the total number of stages:
\[
\text{Total Complex Multiplications} = (\text{Multiplications per Stage}) \times (\text{Total Stages})
\]
\[
\text{Total Complex Multiplications} = \frac{N}{2} \cdot \log_2 N
\]
Step 4: Comparing efficiency gains
For an $N=1024$ point transform:
• Direct DFT requires: $N^2 = 1,048,576$ complex multiplications.
• Radix-2 FFT requires: $\frac{1024}{2} \log_2(1024) = 512 \times 10 = 5,120$ complex multiplications.
This huge reduction in calculations highlights the importance of the $\frac{N}{2}\log_2 N$ formula for fast signal processing.