Ke Zhou

Document Type

Thesis - Open Access

Award Date


Degree Name

Master of Science (MS)


Electrical Engineering

First Advisor

D.B. Miron


The first FFT algorithms were reported by Runge and Konig in 1924, and by Danielson and Lanczos in 1942. However, the FFT didn't receive much attention at all until Cooley and Tukey published their algorithm in 1965. The Cooley-Tukey algorithm is simple and widely used in many application software packages. Winograd developed his FFT in 1976, which is based upon the prime factor theory. It is typically faster than the Cooley-Tukey Algorithm, if the computer system has no multiplication instructions. According to the book prepared by the Digital Signal Processing Committee of the IEEE in 1979, the speed difference among these FFT algorithms is around 40%. My objective in this paper is to choose a proper algorithm, establish the appropriate programming techniques, and determine the sequence of steps required to implement a FFT both on a conventional IBM-PC and a Vector Processor (VP) system. I will demonstrate how to vectorize a FFT so that the algorithm can be performed under a VP system. The analysis of data dependence in an algorithm is another important part of this paper. The paper includes the analysis of the Cooley-Tukey and Winograd FFT algorithms. The Prime factor method will be used in these two FFTs. It will be seen that the Cooley-Tukey Algorithm can be more easily implemented on a vector system and needs fewer memory locations. The details of' the Winograd FFT algorithm can be found in. In addition, this paper has two Cooley-Tukey FFTs and one DFT program written in Assembly Language. One of two FFT programs has been tested and executed on a conventional IBM-PC which has an Intel-8088 processor as the Central Processing Unit, and one Intel-8087 Numeric Data Processor. The 8087 is specially designed to perform real number operations efficiently and quickly. Because of the special architecture of the 8087, single or double precision can be easily processed. The tested program was compiled and linked by Microsoft Assembly Language version 5.0 and the required results of both the FFT and Inverse FFT were obtained.

Library of Congress Subject Headings

Fourier transformations -- Computer programs

Parallel processing (Electronic computers)

Parallel programming (Computer science)



Number of Pages



South Dakota State University