0% found this document useful (0 votes)
47 views

What Is The Fast Fourier Transform

The document discusses the fast Fourier transform (FFT), which is a computational tool that efficiently calculates the discrete Fourier transform (DFT) of a time series. The FFT allows for signal analysis tasks like power spectrum analysis and filter simulation to be performed substantially faster on digital computers than previous methods. Specifically, the FFT can compute all DFT coefficients of a time series with N samples using around 2N log N operations, whereas a direct calculation would require N2 operations. This makes the FFT very useful for applications involving the DFT.

Uploaded by

Gabriel Aguirre
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views

What Is The Fast Fourier Transform

The document discusses the fast Fourier transform (FFT), which is a computational tool that efficiently calculates the discrete Fourier transform (DFT) of a time series. The FFT allows for signal analysis tasks like power spectrum analysis and filter simulation to be performed substantially faster on digital computers than previous methods. Specifically, the FFT can compute all DFT coefficients of a time series with N samples using around 2N log N operations, whereas a direct calculation would require N2 operations. This makes the FFT very useful for applications involving the DFT.

Uploaded by

Gabriel Aguirre
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

1664 PROCEEDINGS OF THE IEEE, VOL. 55. NO.

10, OCTOBER 1967

What Is the Fast Fourier Transform?

Abstracr-ThefastFourier transform is a computational tool which method is such that solutions to many problems cannow be
facilitatessignal analysis such as power spectnan analysis and filter simula-
obtained substantially more economically thanin the past.
tion by means of digital computers. It is a method for efficiently ampsting This is the reason for the very great current interest in this
the discrete Fourier transform of a series of data samples (referred to as a
technique.
time series). In this paper, the discrete Fouriertransform of a time series is
defined some ofits properties aredisclssed,the Pssociated fast method( f a t The discrete Fourier transform (DFT) is a transform in
Fourier transform) for computing this transform is derived, and some of the its own right such as the Fourier integral transform or the
computationalaspects of the method are presented. Examplesare includedto Feu-rier series transform. It is a powerful reversiblemapping
demonstrate the concepts involved. operation for time series. As the name implies, it has mathe-
matical properties that areentirely analogous to those of the
Fourier integral transform. In particular, it defines a spec-
INTRODUCTION trum of a timeseries; multiplication of the transform of two

A NALGORITHMfor the computation of Fourier time series corresponds to convolvingthe time series.
coefficients whichrequires much less computational If digital analysis techniques are tobe used for analyzing
effort than was required in the past was reported by a continuous waveform then isit necessary that the data be
Cooley and Tukey[’] in 1965. This method is now widely sampled (usually at equally spaced intervals of time) in
known as the “fast Fourier transform,” and has produced order to produce a time series of discrete samples which
major changes in computational techniques used in digital can be fed into adigital computer. As is well known[61,such
spectral analysis, filter simulation, and related fields. The a time series completely represents the continuous wave-
technique has a long and interesting history that has been form,provided this waveform is frequencyband-limited
summarized by Cooley, Lewis, and Welch in this issue[’]. and the samples are taken at a rate thatis at least twice the
The fast Fourier transform (FFT) is a method for effi- highest frequency present in thewaveform.When these
ciently computing the discrete Fourier transform (DFT) of samples are equally spacedthey are known as Nyquist
a time series (discrete data samples). The efficiency of this samples. It will be shown that the DFT of such a timeseries
is closelyrelated to the Fourier transformof the continuous
Manuscript received March 10, 1967. Because of its great interest to the waveform fromwhich samples havebeen taken toform the
readers of the PROCEEDINGS, this paper has been reprinted from the June, time series. This makes the DFT particularly useful for
1967, issue of the IEEE TRANSACTIONS ON Amlo AND ELECTROACOUSTICS
devoted to the fast Fourier transform. The authors comprise the Audio power spectrum analysis and filter simulation on digital
and Electroacoustic Group’s Subcommittee on Measurement Concepts, computers.
H. D. Helms, Chairman. The fast Fouriertransform(FFT), then, is a highly
W. T. Cochran and D. L. Favin are with Bell Telephone Laboratories,
Inc., Holmdel, N. J. efficient procedure for computing the DFT of a time series.
R. A. Kaenel is with Bell Telephone Laboratories. Inc., Murray It takes advantage of the fact that the calculation of the
Hill. N. J. coefficients ofthe DFT can be carried out iteratively, which
H. D. Helms is with Bell Telephone Laboratories. Inc., Whppany.
N. J. results in aconsiderable savings of computation time. T h s
J. W. Cooley and P. D. Welch are with the IBM Research Center, manipulation is not intuitively obvious, perhaps explaining
Yorktown Heights, N. Y. why this approach was overlooked for such a long time.
W. W . Lang and G . C. Maling are with the IBM Corporation, Pough-
keepsie, N. Y. Specifically, if the time series consists of N=2“ samples,
C. M. Rader is with Lincoln Laboratory. Massachusetts Institute of then about 2nN=2N. log,N arithmetic operations will be
Technology, Lexington, Mass. (Operated with support from the U. S. shown to be required to evaluate all N associated DFT co-
Air Force.)
D. E . Nelson is with the Electronics Division, General Dynamics efficients. In comparison with the number of operations
Corporation, Rochester, N. Y. required for the calculation of the DFT coefficients with
Authorized licensed use limited to: UNIVERSIDADE FEDERAL DE SANTA MARIA. Downloaded on January 10,2023 at 00:53:44 UTC from IEEE Xplore. Restrictions apply.
COCHRAN ET
TRANSFORM AL.: THE FAST
FOURIER 1665

straightforward procedures (N’), this number is so small Interchanging in ( 5 ) the order of summing over the indices
when Nis large as tocompletely change the computationallyr and k, and using the orthogonality relation
economical approach to various problems. For example,
N- 1
it hasbeen reported that forN = 8 192 samples, the computa-
exp (2nj(n - m)r/N) = N, if n = m mod N
tions require about five seconds for the evaluation of all r=O
8 192 DFT coefficients on anIBM 7094 computer. Conven- = 0, otherwise (6)
tional procedures take on the order of half an hour.
The known applications where a substantial reduction establishes that the right side of ( 5 ) is in fact equal to X,.
in computation time’has been achieved include : 1) computa- It is useful to extend the range of definition of A, to all
tion of the power spectra and autocorrelation functions of integers (positiveand negative). Within this definition it
sampleddataf41; 2) simulation of filtersL5];3) pattern follows that
recognition by using a twodimensional form of the DFT;
4) computation of bispectra, crosscovariance functions,
cepstra, and related functions; and5 ) decomposing of con-
volved functions.
THEDISCRETE
FOURIER
TRANSFORM
(DFT)
Relationships Between DFT and the Fourier
Definition of the DFT and Its Inverse
Transform of a Continuous Watleform
Since the FFT is an efficient method for computing the
An important property thatmakes the DFT so eminently
DFT it is appropriate to begin by discussing the DFT and
useful is the relationship between the DFT of a sequence
some of the properties that make itso useful a transforma-
of Nyquist samples and the Fourier transform of a con-
tion. The DFT is defined by’
tinuous waveform, whichis represented by theNyquist
N- 1
samples. To recognize this relationship,considera fre-
A, = XkeXp(-2Kjjrk/N) r = O;”,N - (1) 1
k=O
quency band-limited waveform g(t) whose Nyquist samples,
X,, vanish outside the time interval 0 I t IN T
where A, is the rth coefficient of the DFT and x, denotes

zo
the kth sample of the time series which consists of N samples sin(n(t - kT)/T)
and j = J T . The xk’s can be complex numbers and the ’(‘) = (n(t - LT)/T)
’ xk

A,’s are almostalways complex. For notationalconvenience


(1) is often written as where Tis the time spacing between the samples. A periodic
N- 1 repetition of g(t) canbe constructed that has identically the
A, = 1
k=O
(xk)wrk r = 0,. . . ,N - 1(2) same Nyquist samples in thetime interval 0 st IN T
Nzl sin (n(t - kT - lNT)/T)
where
gp(f) = (n(t - kT - lNT)/T) . (10)
W = exp (- 2nj/N). (3) I k=O

Let theFouriertransform of g(t) be G( f). As iswell


Since the xk’s areoften values of a functionat discrete time
knownL6], this transformis exactly specified at discrete fre-
points, the index r is sometimes called the “frequency” of quencies by the complex Fourier series coefficients of g,(t).
the DFT.TheDFT hasalso been called the “discrete
From this it follows :
Fouriertransform” or the“discrete time, finiterange
Fourier transform.”
There exists the usual inverse of the DFT and, because
the form is very similar to that of the DFT, the FFT may NT
be used to compute it. = (l/NT)j gp(t).exp(-2njnt/NT).dt
The inverse of (2) is 0
N- 1
N- 1
= (l/NT)
Xk.exp(-2njnkT/NT) (11)
X,= (1/N) 1 A,W-” 1 = 0, l ; . . , N - 1. (4) k=O
r=O
where In(IN/2 due to the spectral bandwidth limitation
This relationshipis called the inverse discrete Fourier trans-
implicitly assumed by thesamplingtheoremunderlying
form (IDFT). It is easy to show that this inversion is valid
the validity of Nyquist samples.
by inserting (2) into(4)
Comparing (11) and (1) it is seen that they are exactly
N-1 N-1
the same except for afactor of N T and (r, n) are both un-
x, = (xk/N)wr(k-J). ( 5 ) bounded. That is,
r =kO= O

N .A, = D, for r = n andT = 1 second. (12)


The definition of the DFT is not uniform in the literature. Some
authors useA J N as the DFT coefficients, othersuse A , / n , still others use The bounds specified for r and n require a correspondence
a positive exponent. which depends on (7)
Authorized licensed use limited to: UNIVERSIDADE FEDERAL DE SANTA MARIA. Downloaded on January 10,2023 at 00:53:44 UTC from IEEE Xplore. Restrictions apply.
1666 PROCEEDINGS OF THE IEEE.OCTOBER 1967

(Time) (Frequency)
4

L
T = NT

Frequency band-limited source waveform.


Nyquist samples of the frequency band-limited source
waveform.
Truncated source waveform.
Truncated series of Nyquist samples of the source wave-
form.
Frequency band-limited waveform whose Nyquist sam-
ples are identical to the truncated series of Nyquist sam-
ples of the sourcewaveform.
Periodic continuation of the truncatedsource waveform.
Periodic continuation of the truncated series of Nyquist
samples of the source waveform.
D M coefficientsinterpreted as Fourier series coefficients
producing complex waveform.
t

Fig. 1. Related waveforms and their corresponding spectra as


-defined by the Fourier transforms (integral transforms for
energy-limited waveforms; series transform for periodic
waveforms).

G(njN T ) values of N , a distinction avoided by keeping r positive.


= D, = N.A, A waveform of the type considered by (9) is shown in
NT
Fig. l(e). It is usually obtained as an approximation of a
where frequency band-limited source waveform [such as the one
n = r for n = 0, 1, '.., q < Nl2, sketched in Fig. l(a)] by truncating the Nyquistsample
series of this waveform, and reconstructing the continuous
and waveform corresponding to the truncated Nyquist sample
n = N - r for n = -1, -2;.., -4 > - N / 2 (13) series [Fig. l(b), (d), and (e)]. Notwithstanding the identity
of the Nyquist samples of this reconstructed waveform and
and the frequency band-limited source waveform, these wave-
forms differin the truncation interval pig. l(c) and (e)].
G(nINT)
= D, = N . A,/2 for n = N / 2 . (14) The difference is usually referred to as aliasing distortion ;
NT
the mechanics of this distortion is most apparent in the
Equations (13) and (14) give a direct relationship between frequency domain [Fig. l(cHe)]. It can be made negligibly
the DFT coefficients and the Fourier transform at discrete small by choosing a sufficiently large product of the fre-
frequencies for the waveform stipulated by (9). A one-to- quency bandwidthof the source waveform and the duration
one correspondence could have been obtained if the run- of the truncation intervalt6](e.g., N is greater than ten).
ning variable r had been bounded by fN/2. This, however, These aliasing distortions are carried over directly to the
would have required distinguishing between even and odd discrete spectra of the periodically repeated waveforms

Authorized licensed use limited to: UNIVERSIDADE FEDERAL DE SANTA MARIA. Downloaded on January 10,2023 at 00:53:44 UTC from IEEE Xplore. Restrictions apply.
COCHRAN ET A L . : THE FAST FOURIER TRANSFORM 1667

TABLE I
COMPARISON
OF THE NUMBER
OF MULTIPLICATIONS
REQUIRED
USING"DIRECT"Ah) FFT METHODS

Approximate Number of Multiplications


(upper comparable bounds)
Operation Formula
I
Direct FFT
.. .
Discrete Fourier Transform ( D m ) 1
k=O
"jrk r = 1,2;..,N- 1 ~ NZ 2N log, N
~~ . ~~~~ ~

N- 1
Filtering (Convolution) X k x - k u=O,l;..,N-l N2 3N log, N
k=O

w- 1 --I
Autocorrelation Functions
k=O
1 r = 0, 1, . . ' , N - 1 z4 F2 + 3) 3N log, N

I N-1 N - 1
Two-Dimensional FourierTransform (Pattern Analysis) Xt,le-2nj(k+' " r, q = 0, 1, . . . , N - 1 4N2N4 log, N
k=O 1=0

Two-Dimensional Filtering

[Fig. l(f) and (g)], and appear correspondingly in the DFT number N and the programming ingenuity applied['].
of the truncated series of Nyquist samples [Fig. l(h)]. It It may be useful to point out that the FFT not only re-
may be of interest to observe thatthe waveform corre- duces the computation time; it also substantially reduces
sponding to the DFT coefficients interpreted as Fourier round-offerrorsassociated with these computations.In
series coefficients is complex [Fig. l(h)]. fact, both computation time and round-off error essentially
are reduced by a factorof (log, N ) / N where N is the number
Some Useful Propertiesof the DFT
of data samples in the time series. For example, if N = 1024
Another property that makes the DFT eminently useful = 21°, then N . log, N = 10 240[71,[91.Conventional methods
is the convolution relationship. That is, the IDFT of the for computing (1) for N = 1024 would require an effort
product of two DFTs is the periodic mean convolution of proportional to N z = 1 048 576, more than 50 times that
the two time series of the DFTs. This relationship proves required with theFFT.
very useful when computing the filter output as a result of The FFT is a clever computational techniqueof sequen-
an input waveform ; it becomes especially effective when tially combiningprogressively larger weighted sums of data
computed by the FFT. A derivation of thisproperty is samples so as toproduce the DFT coefficients as defined by
given in Appendix A. (2). The technique canbe interpreted in termsof combining
Other properties of the DFT are in agreement with the the DFTs of theindividual data samples suchthatthe
corresponding properties of the Fourier integral transform, occurrence times of these samples are taken into account
perhaps with slight modifications. For example, the DFT sequentiallyandapplied totheDFTs of progressively
of a time series circularly shifted by h is the DFT of the larger mutuallyexclusive subgroups of data samples, which
time series multiplied by W - r h .Furthermore, the DFT of are combined to ultimately produce the DFT of the com-
the sum of two functions is the sum of the DFT of the two plete series of data samples. The explanation of the FFT
functions. These properties are readily derived using the algorithm adopted in this paper is believed to be particularly
definition of the DFT. These and other propertieshave been descriptive for programming purposes.
compiled by Gentleman and Sandef']
Concentional Forms of the F F T
THE FAST FOURIER TRANSFORM
Decimation in Time: The DFT [asper (2)] andits inverse
General Description of the FFT [see (4)] areof the same form so that a procedure,machine,
As mentioned in the Introduction, the FFT is an algo- or subroutine capable of computing one can be used for
rithm that makes possible the computation of the DFT of computing the other by simply exchanging the roles of X ,
a time series more rapidly than do other algorithms avail- and A,, andmakingappropriate scale-factor and sign
able. The possibility of computing the DFT by such a fast changes. The two basic forms of the FFT, each with its
algorithm makes the DFT technique important. A com- several modifications, are therefore equivalent.However, it
parison of the computational savings that may be achieved is worth distinguishing between them and discussing them
through use ofthe FFT is summarized in Table I for various separately. Let us first consider the form used by Cooley
computations that are frequently performed. is important
It and Tukeyl'] which shall be called decimation in time. Re-
to add that the computational effortslisted represent com- versing the roles of A , and X , gives the form called decima-
parableupper bounds; the actualeffortsdependonthe tion in frequency, which will be considered afterwards.
Authorized licensed use limited to: UNIVERSIDADE FEDERAL DE SANTA MARIA. Downloaded on January 10,2023 at 00:53:44 UTC from IEEE Xplore. Restrictions apply.
1668 OCTOBER OF THE IEEE,
PROCEEDINGS 1967

Supposeatime series having N samples [such as x k Assuming that we have a method which computes dis-
shown in Fig. 2(a)] is divided into two functions, & and z k , crete Fouriertransforms in a time proportionalto the
each of which has onlyhalf as many points ( N / 2 ) . The square ofthe number of samples, we can use this algorithm
function yk is composed of the even-numbered points ( X o , to compute the transforms of & and Z k , requiring a time
X , , X , ...), and z k is composed of the odd-numbered proportional to 2(N/2),, and use (21) and (22) to find A ,
points (Xl, X , , X , . . .). These functions are shown in Fig. with additional N operations. This is illustrated in the sig-
2(b) and (c), and we may write them formally as nal flow graph of Fig. 3. The points on the left are the values
of x , (i.e., yk and z k ) , and the points on the right are the
yk =
N points of the discrete Fourier transform, A,. For simplicity,
k=O,l,2;'',-- 1. (15) Fig. 3 is drawn for the casewhere x , is an eight-point
2
zk = X2k+ 1 function, andadvantage is taken of the fact that W"=
- wn - N12 , as per (3).
Since Y k and z k are sequences of N / 2 points each, they have
discrete Fourier transforms defined by However, since Y k and z k are to be transformed,and
since we have shown that the computation of the DFT of
(N/2)- 1
B, = 1 & exp (- 4njrk/N) N samples can be reduced to computing the DFTs of two
k=O sequences of N / 2 samples each, the computation of Bk (or
N C,) can be reduced to the computation of sequences of
r = 0, 1 , 2 ; . . -- 1 . (16) N / 4 samples. These reductions can be carried out as long
' 2
( N / 2 )- 1 as each function has a number of samples that is divisible
C, = z k exp ( - 4njrk/N) by 2. Thus, if N = 2" we can maken such reductions, applying
k=O (15),(21),and (22)first forN , then for N / 2 , . . . ,and finally for
The discrete Fourier transform that we want is A,, which a two-point function. The discrete Fourier transform of a
we can write in terms of the odd- and even-numberedpoints one-point function is, of course, the sample itself. The suc-
-1 cessive reduction of an eight-point discrete Fourier trans-
A, = 1 exp (- 4njrk/N) form, begun in Fig. 3, is continued in Figs. 4 and 5. In Fig. 5
k=O the operationhas been completelyreduced to complex
+ Z k exp (- ?$ [2k + l])} multiplications and additions. From the signal flow graph
there are 8 by 3 terminal nodes and 2 by 8 by 3 arrows, cor-
r = 0, 1, 2, . . . , N - 1 (17) responding to 24 additions and 48 multiplications. Half of
the multiplications can be omitted since the transmission
or indicated by the arrow is unity. Half of the remaining multi-
(N12)- 1 plications are also easily eliminated, as we shall see below.
A, = Yk exp ( - 4 n j r k / N ) Thus, in general, N .log, N complex additionsand, at most,
k=O
(Ni2)- 1
4 N . log, N complex multiplications are required for com-
+ exp ( -2njr/N) 1 Z k exp ( - 4 n j r k / N )( 1 8 ) putation of the discrete Fourier transform of an N point
k= 0 sequence, where N is a power of 2.
which, using (16), may be written in the following form : When N is not a power of 2, but has a factor p , the de-
velopment of equations analogous to ( 1 5 ) through (22) is
A, = B, + exp ( - 2njr/N)C, 0 I r < N / 2 . ( 1 9 ) possible by forming p different sequences, Yf)= x p k + i , each
For values of r greater than N / 2 , the discrete Fourier trans- having N / p samples. Each of these sequences has a DFT
forms B, and C , repeat periodically the values taken on @ ,): and the DFT of the sequence x k can be computed
when I < N / 2 . Therefore, substituting r + N / 2 for r in (19), from the p simpler DFTs with pN complex multiplications
we obtain and additions. That is,
P- 1
@;)wi[r+
m(Nip)l
+m(N/p) =
i=O
0 Ir < N / 2 rn = 0, 1 , 2 , ..., p - 1
= B, - exp ( - 2njr/N)C, 0 5 r < N / 2 .( 2 0 ) _ - 1.
' P
By using (3), (19)and (20)may be written as
A, = B, + .W'C, 0 I r < N / 2( 2 1 ) The computation of the DFTs can be further simplified if
N has additional primefactors.
= B, - W'C, 0 < r < N/2.(22)
Further information about the fast Fourier transform
From (21) and (22),the first N / 2 and last N / 2 points of the can be extracted from Fig. 5. For example, if the input se-
discrete Fouriertransform of X , (asequencehaving N quence x , is stored in computer memory in the order
samples) can be simply obtained from the DFT of & and
z k , both sequences of N / 2 samples. x,, x,, x,,x,, x , , x,, x,,x,, (24)

Authorized licensed use limited to: UNIVERSIDADE FEDERAL DE SANTA MARIA. Downloaded on January 10,2023 at 00:53:44 UTC from IEEE Xplore. Restrictions apply.
COCHRAN ET A L . : THE FAST FOURIER TRANSFORM 1669

X0

x4

x2

e . e
0 0

0 0

I I I I I I I
k
0 1 2 3 4 5 6 7 XI

e . .

q ; 'k

0 1
1;
2 3 4
;;
5 6
~

7
x3

e . .

Fig. 2. Decomposition of a time series into two part-time series. x7


each of which consists of half the samples.
Fig. 4. Signal flow graph illustrating further reduction of the DFT
computation suggested by Fig. 3.

DISCRETE

A2

A3
3

A4

DISCRETE As
TRANSFORM

Fig. 3. Signal flow graph illustrating the reduction of endpoint DFT to


two DFTs of N!2 points each, using decimation in time. The signal
flow graph may be unfamiliar to some readers. Basically it is composed
of dots (or nodes) and arrows (transmissions). Each noderepresents a
variable, and the arrows terminating at thatnode origmateat the nodes
whose variables contribute to the value of the variable at that node.
The contributions are additive, and the weight of each contribution, if
other than unity, is indicated by the constantwritten close to the arrow-
head of the transmission. Thus, in this example, the quantity A , at the
bottom right node is equal to B 3 + W X C3. OperationsotherthanFig. 5. Signal flow graph illustrating the computation of the DFT
addition and constant multiplication must be clearly indicated by when theoperations involved are completely reduced to multiplications
symbols
than other . or -. additions.and

Authorized licensed use limited to: UNIVERSIDADE FEDERAL DE SANTA MARIA. Downloaded on January 10,2023 at 00:53:44 UTC from IEEE Xplore. Restrictions apply.
1670 PROCEEDINGS OF THE IEEE. OCTOBER 1967

as in Fig. 5, the computation of the discrete Fourier trans-


form may be done “in place,” that is, by writing all inter-
mediate resultsover the originaldata sequence, and writing
the final answer over theintermediate results. Thus, no
storage is needed beyond that required for the original N
complex numbers. To see this, suppose that each node cor-
responds to two memoryregisters(thequantities to be
stored are complex). The eight nodes farthest to the left in
Fig. 5 then represent the registers containing the shufaed
order input data. The first step in the computation is to
compute the contents of the registers represented by the
eight nodes just to the right of the input nodes. But each
pair of input nodes affects only the corresponding pair of
nodesimmediately to theright,and if the computation
deals with two nodes at a time, the newly computed quan-
tities may be written into the registers from which the input ‘4

valueswere taken, since theinput values arenolonger


needed for furthercomputation.Thesecondstep,com-
putation of the quantities associated with the next vertical
array of nodes to the right, also involves pairs of nodes
although these pairs are now two locations apart instead
of one. Thisfact does not change the property of “in place”
computation, since each pair of nodes affects only the pair
of nodes immediatelyto the right.After a new pair of results
is computed, it may be stored in the registers which held
ltsold the no longer needed.
computa-
In the A7
tion for the final array of nodes, correspondingto the values
Fig. 6. Rearrangement of the flow graph of Fig. 5 illustrating the DFT
of the DFT, the computation involves pairs of nodes sepa- computation from naturally ordered time samples.
rated by four locations, but the “in place” property still
holds.
For this version of the algorithm, the initial shuf3ing of
the data sequence, X , , was necessary for the “in place”
computation. Thus shuffling is due to the repeated move-
ment of odd-numbered membersof a sequence to the endof
the sequence during each stage of the reduction, as shown
in Figs. 3, 4, and 5. This shuffling has been called bit re-
versal’ because the samples are stored in bit-reversed order ;
i.e., X , =X(100)2 is stored in position (011)’ = 3, etc. Note
that the initial data shuffling can also be done “in place.”
Variations of Decimation in Time: If one so desires, the
signal flow graph shown in Fig. 5 can be manipulated to
yield different forms of the decimation in time version of the
algorithm. If one imaginesthat in Fig. 5 all the nodes on the
same horizontal level as A , are interchanged with all the
nodes on the same horizontallevel as A,, and all the nodes
on the level of A , are interchanged with the nodes on the
level of A,, with the arrows carriedalong with the nodes,then
one obtains a flow graph like thatof Fig. 6.
For this rearrangement one need not shuffle the original
data into the bit-reversed order, but the resulting spectrum
needs to be unshuffled. An additional disadvantage might
be that the powers of W needed in the computation are in
bit-reversedorder. Cooley’s originaldescription of the
algorithm[’] corresponds to the flow graph of Fig. 6.

Fig. 7. Rearrangement of the flow graph of Fig. 5 illustrating the DFT


This is a special caseof digit reversal where the
radix of the addressis computation without bit reversal.
2; more general digit reversals are available for transforms with other
radices.

Authorized licensed use limited to: UNIVERSIDADE FEDERAL DE SANTA MARIA. Downloaded on January 10,2023 at 00:53:44 UTC from IEEE Xplore. Restrictions apply.
FOURIER
COCHRAN
FAST ET A L . : THE TRANSFORM 1671

A somewhat more complicated rearrangement of Fig. 5 which we recognize as the N / 2 point DFT of the function
yields the signal flow graph of Fig. 7 . For this case both the ( K - zk)exp ( - 2rcjk/N).
input data and the resulting spectrum are in “natural” It can be concluded from (29) and (30) that the DFT of
order, and the coefficients in the computation are also used an N-sample sequence, X , , may be determined as follows.
in a natural order. However, the computationmay no longer For even-numbered transform points, it may be computed
be done “in place.” Therefore, at least one other array of as an N / 2 point DFT of a simple combination of the first
registers must be provided. This signal flow graph, and a N / 2 and last N / 2 samples of x,.For odd-numbered trans-
procedure corresponding to it, are due to Stockham“]. form points, it may be computed as another N / 2 point
Decimation in Frequency: Let us now consider a second, DFT of a different simple combination of the first and last
quite distinct, form of the fast Fourier transform algorithm, N / 2 samples of x,. This is illustrated in the signalflow
decimation in frequency. This form was found independently graph of Fig. 8 for an eight-point function. W has been de-
by Sande[’] and by Cooley and Stockham[’]. Let the time fined in (3).
series xk have a DFT A , . The series and the DFT bothcon- As was the case with decimation in time, we can replace
tain N terms. As before, we divide X , into two sequences each of the DFTs indicated in Fig. 8 by 2 two-point DFTs,
having N,’2 points each. However, the first sequence, Yk, is and each of the two-point DFTs by 2 one-point transforms,
now composed of the first N,/2points in x,, and the second, theselastbeingequivalency operations. These steps are
Z , , is composed of the last N i 2 points in X , . Formally, indicated in Figs. 9 and 10.
then Examination of Fig. 10 gives us much information about
the method of decimation in frequency, and allows us to
5 = x, compare it with decimation in time. Both methods require
N N / 2 .log N complex additions, complex subtractions, and
k = 0, 1 , 2 , ’ . . - - 1. (25)
’ 2 complex multiplications. Both computations can be done
zk = Xk+N’2 in place. If the coefficients inthe computation areto be used
in a “natural” rather than “bit-reversed’’ order, as in Figs.
The N point DFT of X , may now be written in terms of
5 and 10, then the decimation-in-frequency method works
Y k and z k
on time samples in unshuffled order and yields frequency
(m2)- 1
samples in shuffled (bit-reversed) order. Recall that Fig. 5
A, = 1 exp ( - 2lrjrkiN) yielded the opposite result.
k=O

+ z k exp (- [k + t]/N)}
2njr (26)
We are also able to rearrange the nodes in Fig. 10 to
obtainthe signal flow graph, Fig. 1 1 , which works on
shuffled time samples and yields naturally ordered fre-
(N(2)-1
quency samples, but the coefficients are needed by the com-
A, = {K + [exp ( - lrjr)]Zk)exp ( - 2lrjrk/N).(27)
putation in bit-reversed order. The geometry of this signal
k=O
flow graph is identical to the geometry of Fig. 5, just as the
Let us consider separately the even-numbered andodd- geometry of Fig. 10 is identical to the geometry of Fig. 6 .
numbered points of the transform. Let the even-numbered The differences lie in the transmissions.
points be R, and the odd-numbered points be S,, where A somewhat more complicated rearrangement of Fig. 10
R r = -42, (shown in Fig. 12) yields a signal flow graph that takes un-
0Ir < N(/228. ) shuffled samples of the time series and produces a set of
Fourier coefficients that are nor in bit-reversed order. The
Sr = A2r+ 1
computation cannot, however, be done “in place,” and at
It is this step that may be called decimarion in frequency. least one other array of registers must be provided. The
Notethat for computingthe even-numbered spectrum method is similar to that shown in Fig. 7 for decimation in
points, (27)becomes simply time. The forms of Figs. 5, 6 , 7, 10, 1 1 , and 12 constitute a
set of what we might call canonic forms of the fast Fourier
transform. We may choose among these forms to find an
algorithm with the properties of “in place” computation,
normally ordered input, normally ordered output, or nor-
which we recognize as the N / 2 point DFT of the function mally ordered coefficients, butnot all four at once. To
( K + Z k ) , the sum of the first N / 2 and the last N / 2 time achieve“in place” computation, we must deal withbit
samples. Similarly, for the odd-numbered spectrum points, reversal, andto eliminate bit reversal we must give up
(27)becomes “in place” computation. The two methods most effective
(N/Z)- 1 when using homogeneous storage facilities are those pro-
S, = A2,+ =
k=O
I K + Z k exp (-7rj[2r + 1)))-
- viding in right order the sine and cosine coefficients needed
in the Computation. The other methods seem less desirable
. exp ( - 27rj[2r + l]k/N) since they require wasteful tables. Still,allsix methods
have about equal usefulness, andthemethod usedbest
will depend on theproblem athand.For example, the

Authorized licensed use limited to: UNIVERSIDADE FEDERAL DE SANTA MARIA. Downloaded on January 10,2023 at 00:53:44 UTC from IEEE Xplore. Restrictions apply.
1672 PROCEEDINGS O F THE IEEE,OCTOBER 1967

x74
/ - I
-
;3Y A7
Fig. 10. Signal flow graph illustratingthecomputation of the DFT
Fig. 8. Signal flow graph illustrating the reduction of endpoint DFT when the operations involved are completely r e d u d to multiplica-
to two DFTs of N / 2 points each, using decimation in frequency. tions and additions.

Fig. 9. Signal flow graph illustrating further reduction of the DFT


computation suggested by Fig. 8.
Fig. 11. Rearrangement of the flow graph of Fig. 10 illustratingthe
computation of the DFT to yield naturally ordered DFT coefficients.

Authorized licensed use limited to: UNIVERSIDADE FEDERAL DE SANTA MARIA. Downloaded on January 10,2023 at 00:53:44 UTC from IEEE Xplore. Restrictions apply.
COCHRAN
TRANSFORM
ET
FOURIER
A L . : THE FAST 1673

2) Compute, then, the p-point transforms


I)- 1

of the q sequences B f ) ,where


s = r.p(p);’ + m.q(q)pl (modN,O Is < N ) (34)
and the notation I$),’ is meant to represent the reciprocal
of p , mod q, i.e., the solution of p(p), > 1 (mod q). ’
CONCLUSION
The integral transformmethodhas been one of the
foundations of analysis for many years because of the ease
with which the transformed expressions may be manipu-
lated, particularly in such diverse areas as acoustic wave
propagation, speech transmission, linear network theory.
transport phenomena, optics, and electromagnetic theory.
Many problemswhch areparticularly amenable to solution
by integral transform methods have not been attacked by
this method in the past because of the high cost of obtaining
numerical results this way.
The fast Fourier transform has certainly modified the
economics of solution by transform methods. Some new
applications were presented in the June, 1967, issue of the
IEEE TRANSACTIONS ON AUDIOAND ELECTROACOUSTICS.
Further interesting and profitable applicationsprobably
Fig. 12. Rearrangement of the flow graph of Fig. I O illustrating will be found during the next few years.
the DFT computation without bit reversal.

APPENDIX
method shown in Fig. 10 may be used to transform from
Asiswell known, if the filter impulse response isfre-
the time to the frequency domain, and the method shown quency band-limited to 1/2T Hz and is given by its Ny-
in Fig. 4 may be used for the inverse transform. Any of the quist samples Yh spaced T seconds apart, and furthermore,
methods described above may be used for the inverse dis- if theinput waveform is also frequency band-limited to
crete Fourier transform if the coefficients are replaced by 1/2T Hz and given by its Nyquist samples x , spaced T
their complex conjugates, and if the result of the computa- second apart, then the filter output waveform is also fre-
tion is multiplied by 1/N. quency band-limited to l/2T Hz and completely specified
The six forms mentioned are, in a sense, canonic, but one
by its Nyquist samples Z , spaced T seconds apart
could also employ a combination of decimation intime S S
and decimation in frequency at different stages in the re- 2, = x,’ X - k = 1x,-,’x. (35)
duction process, yielding a hybrid signal flow graph. k= 0 I=O
A Useful Compurational Variation: It may be worth Theconvolutionrelationship facilitates computation of
pointing out here how some programming simplicityis this equation.
realized when the factors p and q = N / p are relatively prime. To prove the convolution relationship, let the DFT of
As described by Cooley, Lewis, and WelchL2],the “twiddle the xk’s be A , and, correspondingly, let the DFT of the
factor” W” of (23) can be eliminated by choosing sub- Yh’s be Br. The IDFT of the product of A , . Br then becomes
sequences of the xk’s that are different from those used be- [see (4)1
fore. The DFT computations are then conveniently per-
/ I \ N-1
formed in two stages.
1) Compute the q-point transforms
1 N-l N-l N-1

1 N-1N-1 N-1 W r ( k + f - s )
=-
Nk=O
1 I=O xk4 1
r=O N
1 s 1 N-1
of each of the p sequences

= (h). Z, + perturbationterm. (36)

Authorized licensed use limited to: UNIVERSIDADE FEDERAL DE SANTA MARIA. Downloaded on January 10,2023 at 00:53:44 UTC from IEEE Xplore. Restrictions apply.
1674 THE PROCEEDINGS OF IEEE, OCTOBER 1967

If the first N/2 samples of each of the two time series (X,) fast Fourier transform to computationof Fourier integrals, Fourier series,
and ( y h ) are assumed to be identically zero, then the per- and convolution integrals,” ibid., pp. 79-84.
(d) J. L. Flanagan, “Spectrum analysis in speech coding,’’ ibid., pp.
turbation term of (36) is zero so that the IDFT of the -9.
product of the two DFTs multiplied by N is equal to the (e) G. C. Maling, Jr., W. T. Morrey, and W. W. Lang, “Digital de-
convolution product 2, of (35). Since it is always possible termination of third-octave and full-octave spectra of acoustical noise,”
ibid., pp. 98-104.
to select the time series to be convolved such that half of (f) R. C. Singleton and T. C. Poulter, “Spectral analysis of the call of
the samples are zero, the convolution relationship for the the male killer whale,” ibid., pp. 1W113.
DFT can beused to computetheconvolutionproduct (g) P. D. Welch, “The use of fast Fourier transform for the estimation
of power spectra: A method based on time averaging over short, modified
[see (35)] of two time series. periodograms,” ibid., pp. 7C73.
It is useful to point out that if.A,= B w r ,a periodic auto- Is](a) J. W. Cooley et al.[4c].
correlation function of E; emerges. (b) H. D. Helms, “Fast Fouriertransformmethod of computing
difference equations and simulating filters,” IEEE Trans. Audio and
Electroacoustics, vol. AU-15, pp. 85-90, June 1%7.
REFERENCES (c) T. G. Stockham, “High speed convolution and correlation,” I966
Spring Joint Computer Conf., AFIPS Proc., vol. 28. Washington, D. C.:
[‘I J. W. Cooley and J. W. Tukey, “An algorithm for the machine Spartan, 1966, pp. 229-233.
calculation of complex Fourier series,” Math. of Comput., vol. 19, pp. W. T. Cochran, J. J. Downing, D. L. Favin, H. D. Helms, R.A.
297-301, April 1965. Kaenel, W. W. Lang, and D. E. Nelson, “Burst measurements in the
[’I J. W. Cooley, P. A. W. Lewis, and P. D. Welch, “Historical notes frequency domain,” Proc. IEEE, vol. 54, pp. 8 3 W 1 , June 1966.
on the fast Fourier transform,” this issue, p. 1675. [’I (a) W. W. Gentleman and G. Sande,“FastFouriertransforms
[31 R. B. Blackman and J. W. Tukey, The Measurement of Power for fun and profit,” 1966 Fall Joint Computer Con$, AFIPS Proc.,vol. 29.
Spectra. New York: Dover, 1959. Washington, D. C . : Spartan, 1966, pp. 56g578.
[41 (a) C . Bingham, M. D. Godfrey, and J. W. Tukey, “Modern tech- (b) R. C. Singleton, “A method for computing the fast Fourier trans-
niques of power spectrum estimation,” IEEE Trans.Audio and Electro- form with auxiliary memory and limited high-speed storage,” IEEE
acoustics, vol. AU-15, pp. 5 M , June 1967. Trans. Audio and Electroacoustics, vol. AU-15, pp. 91-98, June 1967.
(b) B. P. Bogert and E. Parzen, “Informal comments on the uses of [‘I Private communication.
power spectrum analysis,” ibid., pp. 74-76. [91 J. W.Cooley, “Applications of the fast Fourier transform method,”
(c) J. W. Cooley, P. A. W. Lewis, and P. D. Welch, “Application of the Proc. IBM Scientific Computing Symp., June 1966.

Correction to “Noise in FM Receivers with Negative


Frequency Feedback”
00
P. Frutiger, author of the above paperwhich appeared on e,(f) = f cos k2nft.
iik (10)
pages 1506-1520 of theNovember, 1966, issue of the k= 1
PROCEEDINGS, has called the following to the attention of
the Editor. The Rayleigh function following (1l), page 1508, should
On page 1507, the function 4(t)in (7) should have read have read
@(t),where Wr)represents

+(t) - mot - -sin


Am
at.
2n
w(n) = rexp
n2
(- $) = 2np exp (- pn2).

n
Finally, it should be remembered that the mean value of
On page 1508, (8) shouldhave appeared as
the noise voltage e,( f),as a consequence of the fact that it
. Am exists only where n(t)< 1, is equal to that given in (lo),
n multiplied by the mean time where the fundamental fre-
+
e(t)= 4(t) t g - ’ quency f is not “switched off,” i.e., jA2np exp ( - p n 2 ) dn.
For k = 1, this leads to (12) in the following form:

The first factorin (9), page 1508, shouldhaveread


(f- Af COS at).
In (lo), page 1508, the sine function should be replaced On page 1511, the measure of the abscissa in Fig. 4 is
by the cosine function:
4 -f* n
Manuscript received July 24, 1967. B
Authorized licensed use limited to: UNIVERSIDADE FEDERAL DE SANTA MARIA. Downloaded on January 10,2023 at 00:53:44 UTC from IEEE Xplore. Restrictions apply.

You might also like