Summary: The decimation-in-time (DIT) radix-4 FFT recursively partitions a DFT into four quarter-length DFTs of groups of every fourth time sample. The outputs of these shorter FFTs are reused to compute many outputs, thus greatly reducing the total computational cost. The radix-4 decimation-in-frequency FFT groups every fourth output sample into shorter-length DFTs to save computations. The radix-4 FFTs require only 75% as many complex multiplies as the radix-2 FFTs.
Derivation of the Fourier Transform
Fast Fourier Transform (FFT)
Spectrum Analyzer: Introduction to Fast Fourier Transform
Alternate FFT Structures
Decimation-in-Time (DIT) Radix-2 FFT
Decimation-in-Frequency (DIF) Radix-2 FFT
Efficient FFT Algorithm and Programming Tricks
FFTs of Prime Length and Rader's Conversion
Overview of Fast Fourier Transform Algorithms (FFTs)
Running FFT
Split-Radix FFT Algorithm
The radix-4 decimation-in-time and decimation-in-frequency fast Fourier transforms
(FFTs) gain their speed by reusing the results of smaller,
intermediate computations to compute multiple DFT frequency outputs.
The radix-4 decimation-in-time algorithm rearranges the discrete Fourier transform (DFT) equation
into four parts: sums over all groups of every fourth discrete-time index
This is called a decimation in time because the time samples are rearranged in alternating groups, and a radix-4 algorithm because there are four groups. Figure 1 graphically illustrates this form of the DFT computation.
| Radix-4 DIT structure |
|---|
![]() |
Due to the periodicity with
|
If the FFT length
The radix-4 FFT requires only 75% as many complex multiplies as the radix-2 FFTs, although it uses the same number of complex additions. These additional savings make it a widely-used FFT algorithm.
The decimation-in-time operation regroups the input samples at each successive
stage of decomposition, resulting in a "digit-reversed" input order.
That is, if the time-sample index
| Original Number | Original Digit Order | Reversed Digit Order | Digit-Reversed Number |
|---|---|---|---|
| 0 | 000 | 000 | 0 |
| 1 | 001 | 100 | 16 |
| 2 | 002 | 200 | 32 |
| 3 | 003 | 300 | 48 |
| 4 | 010 | 010 | 4 |
| 5 | 011 | 110 | 20 |
| ⋮ | ⋮ | ⋮ | ⋮ |
It is important to note that, if the input signal data are placed in digit-reversed order before beginning the FFT computations, the outputs of each butterfly throughout the computation can be placed in the same memory locations from which the inputs were fetched, resulting in an in-place algorithm that requires no extra memory to perform the FFT. Most FFT implementations are in-place, and overwrite the input data with the intermediate values and finally the output. A slight rearrangement within the radix-4 FFT introduced by Burrus allows the inputs to be arranged in bit-reversed rather than digit-reversed order.
A radix-4 decimation-in-frequency FFT can be derived similarly to the radix-2 DIF FFT, by separately computing all four groups of every fourth output frequency sample. The DIF radix-4 FFT is a flow-graph reversal of the DIT radix-4 FFT, with the same operation counts and twiddle factors in the reversed order. The output ends up in digit-reversed order for an in-place DIF algorithm.
How do we derive a radix-4 algorithm when
Perform a radix-2 decomposition for one stage, then radix-4 decompositions of all subsequent shorter-length DFTs.