| Deriving the fast Fourier algorithm by calculation | |||||||||||||||||
Abstract | |||||||||||||||||
| This paper reports an explanation of an intricate algorithm in the terms of a potentially mechanisable rigorous-development method. It uses notations and techniques of Sheeran [1] and Bird and Meertens [2, 3]. We have claimed that these techniques are applicable to digital signal processing circuits, and have previously applied them to regular array circuits [4, 5, 6]. This paper shows that they can deal with an apparently very different and more complex algorithm: the fast Fourier transform. Similar papers to this one [7, 8, 9] perform most of the same calculations, but experiment with different ways of expressing the algorithms and their development. Twenty-five years ago Cooley and Tukey rediscovered an optimising technique usually attributed to Gauss, who used it in hand calculation. They applied the technique to the discrete Fourier transform, reducing an apparently O(n 2 ) problem to the almost instantly ubiquitous O(n log n) `fast Fourier transform' [10]. The fast Fourier tra... | |||||||||||||||||
Publication details | |||||||||||||||||
| |||||||||||||||||