An In-Place Radix-2 DIT FFT for Input in Natural Order

The NR, RN, and NN algorithms implementing DIF (decimation-in-frequency) FFT were presented in Chapters 4, 5, and 6. Corresponding to them, there are also three variants of the DIT (decimation-in-time) FFT, and they are developed in this and the following two chapters. The three DIT FFT algorithms will be presented using the notation developed in the previous chapters. Accordingly, they are referred to as DITNR, DITRN, and DITNN FFT algorithms. The DITNR and DITRN algorithms implement in-place DIT FFT on naturally ordered and bit-reversed input data, whereas the DITNN algorithm allows repeated permutation of the intermediate results and can thus produce naturally ordered output from naturally ordered input. Since both DIF FFT and DIT FFT implement the same Discrete Fourier Transform, one may argue intuitively that the final result which overwrites an input element xk must remain unchanged in either implementation, and that the many results obtained previously in Chapters 4, 5, and 6 for the three DIF FFT algorithms should apply to the corresponding DIT FFT. However, to make this chapter self-contained, it is useful to develop these iterative DIT FFT algorithms from its recursive definition, and this approach is adopted here. Since the concepts introduced before for the DIF FFT will not be repeated, it is recommended that Chapters 4, 5, and 6 be studied before Chapter 7.