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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Sheeran M. Design and verification of regular synchronous circuits,IEE Proceedings, vol. 133, Pt. E, No. 5, September 1986, pp 295–304
Bird RS. An introduction to the theory of lists, In: Broy M (ed) Logic of programming and calculi of discrete design, Springer, 1987, pp 3–42
Bird RS. Lectures on constructive functional programming, Oxford University Computing Laboratory Programming Research Group technical monograph PRG-69, September 1988
Luk W, Jones G. The derivation of regular synchronous circuits, In: Bromley K, Kung S-Y, Schwarzlander E. Proceedings of the international conference on systolic arrays, IEEE Computer Society Press, 1988, pp 305–314
Luk W, Jones G. From specification to parametrised architectures, In: Milne GJ (ed) The fusion of hardware design and verification, North-Holland, 1988, pp 267–288
Sheeran M, Jones G. Relations + higher-order functions = hardware descriptions, Proc. CompEuro 89, Hamburg, May 1987 pp 303–306
Jones G. Calculating the fast Fourier transform as a divide and conquer algorithm, (unpublished)
Jones G. Factorising Fourier for fastness,(privately circulated draft of present paper)
Jones G. Constructing the fast Fourier transform by calculating with the algorithm, working paper for the STOP summer school on Constructive Algorithmics, Ameland, September 1989
Cooley JW, Tukey JW. An algorithm for the machine computation of complex Fourier series, Mathematics of Computation, 19, 1965, pp 297–301
Aho AV, Hoperoft JE, Ullman JD. The design and analysis of computer algorithms, Addison-Wesley, 1974
Smith SG. Fourier transform machines, In: Denyer P, Renshaw D. VLSI signal processing; a bit-serial approach, Addison—Wesley, 1985, pp 147–199
Ullman JD. Computational aspects of VLSI, Computer Science Press, 1984
Chandy KM, Misra J. Parallel program design — a foundation, Addison—Wesley, 1988
Jones G, Luk W. Exploring designs by circuit transformation, In: Moore W, McCabe A, Urquhart R (eds) Proceedings of the first international workshop on Systolic Arrays, Adam Hilger, 1987, pp 91–98
Sheeran M. Retiming and slowdown in Ruby, In: Milne GJ (ed) The fusion of hardware design and verification, North-Holland, 1988, pp 289–308
Sheeran M. Describing hardware algorithms in Ruby, In: David et al (eds) Proceedings IFIP WG10.1 workshop on Concepts and Characteristics of Declarative Systems, Budapest, 1988
Sheeran M, Jones G. Butterfly algorithms, (in hand)
Luk W. Parametrised design for regular processor arrays, D.Phil. thesis, Oxford University, 1988
Jones G. Fast Fourier transform by program transformation of the discrete Fourier transform,(submitted for publication)
Jones G, Sheeran M. Timeless truths about sequential circuits, In: Tewksbury SK, Dickinson BW, Schwartz SC (eds) Concurrent computations: algorithms, architectures and technology, Plenum Press, 1988, pp 245–259
Backhouse RC. Making formality work for us, Technical Report CS 8907, Department of Mathematics and Computing Science, University of Groningen, 1989
Wadler PL, Miller Q. An introduction to Orwell 5.00, Oxford University Programming Research Group, 1988
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1990 British Computer Society
About this paper
Cite this paper
Jones, G. (1990). Deriving the fast Fourier algorithm by calculation. In: Davis, K., Hughes, J. (eds) Functional Programming. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3166-3_6
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3166-3_6
Publisher Name: Springer, London
Print ISBN: 978-3-540-19609-9
Online ISBN: 978-1-4471-3166-3
eBook Packages: Springer Book Archive