An improved digit-reversal permutation algorithm for the fast Fourier and Hartley transforms

All radix-B fast Fourier transforms (FFT) or fast Hartley transforms (FHT) performed "in-place" require at some point that the sequence elements he permuted such that, indexing the elements 0 to N - 1, the element with index i is swapped with the element whose index is j. The permutation is called digit-reversing, because if i is represented as a string of digits, base B, then j is that index whose representation is the same string of digits written in reverse order. N is a power of B and B \geq 2 . An elegant algorithm has been found that Performs this "perfect shuffle" more efficiently and, according to timing experiments, runs about eight times faster than the fastest other algorithm known to the author. The algorithm is of order O(N) and led, for example, to a saving of 7 percent in the total (radix-2) FFT running time for N = 1024.

[1]  R. Bracewell The fast Hartley transform , 1984, Proceedings of the IEEE.

[2]  E. O. Brigham,et al.  The Fast Fourier Transform , 1967, IEEE Transactions on Systems, Man, and Cybernetics.

[3]  Andrew G Tescher Transform Image Coding. , 1978 .

[4]  R. Bracewell The Fourier Transform and Its Applications , 1966 .

[5]  C. K. Yuen,et al.  Theory and Application of Digital Signal Processing , 1978, IEEE Transactions on Systems, Man, and Cybernetics.

[6]  Harry Andrews,et al.  A High-Speed Algorithm for the Computer Generation of Fourier Transforms , 1968, IEEE Transactions on Computers.