This is the user sandbox of An unused username. A user sandbox is a subpage of the user's user page. It serves as a testing spot and page development space for the user and is not an encyclopedia article. Create or edit your own sandbox here.
Finished writing a draft article? Are you ready to request review of it by an experienced editor for possible inclusion in Wikipedia? Submit your draft for review!
The Vector-Radix FFT algorithm, is a multidimensional Fast Fourier transform (FFT) algorithm, which is a generalization of the ordinary Cooley–Tukey FFT algorithm that divides the transform dimensions by arbitrary radices. It breaks a multidimensional (MD) discrete Fourier transform (DFT) down into successively smaller MD DFTs until, ultimately, only trivial MD DFTs need to be evaluated[1].
The most common multidimensional FFT algorithm is row-column algorithm, which means transforming the array first in one index and then in the other, see more in FFT. Then a radix-2 direct 2-D FFT has been developed[2], and it can eliminate 25% of the multiplies by the conventional row-column approach. And this algorithm has been extended to rectangular arrays and arbitrary radices[3], which is the general Vector-Radix algorithm. Perhaps it is the simplest non-row-column FFT algorithm. Vector-radix FFT algorithm can reduce the number of complex multiplications significantly, compared to row-vector algorithm. For example, for a time matrix (M dimensions, and size N on each dimension), the number of complex multiples of vector-radix FFT algorithm is , meanwhile, for row-column algorithm, it is . And generally, even larger savings in multiplies are obtained when this algorithm is operated on larger radices and on higher dimensional arrays[3].
As with Cooley–Tukey FFT algorithm, two dimensional vector-radix FFT is derived by decomposing the regular 2-D DFT into sums of smaller DFT's multiplied by "twiddle" factor.
A decimation-in-time (DIT) algorithm means the decomposition is based on time domain , see more in Cooley–Tukey FFT algorithm.
For simplicity, let us assume that , and radix-( are integers).
Using the change of variables:
, where
, where
where or .
Then, the two dimensional DFT can be written as:
One stage "butterfly" for DIT vector-radix 2x2 FFT
The equation above defines the basic structure of the 2-D DIT radix- "butterfly". (See 1-D "butterfly" in Cooley–Tukey FFT algorithm)
When , the equation can be broken into four summations: one over those samples of x for which both and are even, one for which is even and is odd, one of which is odd and is even, and one for which both and are odd[1], and this leads to:
Similarly, a decimation-in-frequency (DIF, also called the Sande-Tukey algorithm) algorithm means the decomposition is based on frequency domain , see more in Cooley–Tukey FFT algorithm.
Using the change of variables:
, where
, where
where or .
And the DFT equation can be written as:
The Split-radix FFT algorithm has been proved to be a useful method for 1-D DFT. And this method has been applied to the vector-radix FFT to obtain a split vector-radix FFT[4][5].
In conventional 2-D vector-radix algorithm, we decompose the incident into 4 groups:
By the split vector-radix algorithm, the first three groups remain unchanged, the fourth odd-odd group is further decomposed into another four sub-groups, and seven groups in total:
That means the fourth term in 2-D DIT radix- equation, becomes:
,
where
The 2-D N by N DFT is then obtained by successive use of the above decomposition, up to the last stage.
It has been shown that the split vector radix algorithm has saved about 30% of the complex multiplications and about the same number of the complex additions for typical array, compared with the vector-radix algorithm[4].