Fast" Fourier Transforms-For Fun and Profit

Fast" Fourier Transforms-For Fun and Profit

FAST" FOURIER TRANSFORMS-FOR FUN AND PROFIT W. M. Gentleman BeU Telephone Laboratories Murray HiU, New Jersey and G. Sande· Princeton University Princeton, New Jersey IMPLEMENTING FAST FOURIER which become practical when used with the fast TRANSFORMS algorithm, make the technique important. Let us therefore first consider some properties of such Definition and Elementary Properties of Fourier transforms. Transj017l'l8 The usual infinite Fourier integral transform is The "Fast Fourier Transform" has now been well known and widely used-the physicist when widely known for about a year. During that time it solving a partial differential equation, the communi­ has had a ma~or effect on several areas of computing, cation engineer looking at noise and the statistician the most striking example being techniques of numer­ studying distributions may all resort to Fourier icaJ convolution, which have been completely ~vo­ transforms, not only be.cause the mathematics may lutionized. What exactly is the "Fast Fourier be simplified, but because nature itself is often easier Transform''? to understand in terms of frequency. What is less well known is that many of the properties of the In fact. the Fast Fourier Transform is nothing usual Fourier transform also hold, perhaps with more than an algorithm whereby, for appropriate slight modification, for the Fourier transform defined length sequences, the finite discrete Fourier transform on finite, equispaced, discrete sequences. of the sequence may be computed much more rapidly than by other available algorithms. The properties We see in Table I that the most significant change and uses of the finite discrete Fourier transform, required to modify the usual theorems so that they apply to the finite discrete case is that indexing must .,... work made use of computer facilities supported in be considered modulo N. A useful heuristic inter­ part by National ~CDce Foundation grant NSF-GPS79. pretation of this is to think of the sequence X(t) as Research was partially ~ported by the Office of Naval a function defined at equispaced points on a circle. ~ UDder CODtract Nonr 1858(05) and by the Na­ UUIIIU Reeearch CouncIl of Canada. This interpretation is to be contrasted with what is .. 563 564 PROCEEDINGS-FALL J~INT COMPUTER. CONFERENCE, 1966 TABLE I TABLE l-(Continued) A Comparison Usual and Finite Discrete 0/ Uaual Finite Dilcrete Fourier Trans/orms that is, the inverse Fourior that is, tho inverse Fourier Usual Finite Discrete transform of the product of transform of the product of the Fourier transforms. the F 0 uri e r tranaforma. Definition NOTE: Tho convolutioD ....1' here must be conaidered as AA N-I ,X(n ... !(t)et-lI~dt X(t) ~ X(t)e lf cyclic, i.e.. the indicoa of X. f__ '=0 and Y must be intorpreled modulo N. Linearity Operational Calculru The Fourior transform is a The Fourier transform is a An operational calculus can An operational calculus can linear operator. linear operator. be defined, based on the be defined, based on the OnhogonaUty property that property that N-I ... ,1 o:..llc1'-~dt - a(i'-'h X(t)j"'d' ~ (~X(t»e'- f-co iG. '..0 · A where a(i'- f) is the Dirac where IN is the Kronecker - -2'11'01(i) - (e --;:' -1) X(I) delta function. That is, delta function with ita argu­ ment being considered mod­ i.e., the Fourior transform Le., tho Fourier transform ulo N. That is, b(kN) of the derivative of a func­ of the (forward) cWfereoce /(0) if 0 /.i(i>a(l)di "" .... I, for intesor k, othOl­ tion ia tho FoUriOl trans­ of a function is the Fourier wise b - 0. , form of the function, mul­ traDlform of the fgnc:tIoa. is fD the interval (a,b), tiplied by -2'11'li: otherwise I multiplied by (e ~t-1). NOTE: Tho difference here J.bf(i> a(i>Ji ... o. must be considered cycJl. cally, so that ~X(t) - X(t+ 1) - X(t) becomr:a Inverse Trans/orm ~X(N-1) .... K(N) - 00 AI' X(N-l) = X(O) - A A A If X(/) If X(t) - 1_ !(/)e... lldl X(N-l) for the case of I = N - 1. thon then Symmetries A If X is real then X is bermi­ If X is real then X is bermf. eo", A " i\ 1 N-l -..III X(t):- X(t)e-Iw"'dt , X(I) ... -~. X(;)e-·- til].D symmetric, i.e., t(t) - til].D aympletric, i.e., .I(t) .. -co f Nt:: {X(-1»·j if X is hepni­ {X(N-1)}·j if X is ~er­ l tian symmetric then jf is mitian symmetric, then Is which we observe can be . wbich we observe can be r considered real. , A ~. If Y is imasfnary, thea considered If Y is imasinarY, then Y r is hermitian antiaym­ 1 is hOJ..lDitian antispnmotric, m 0 tri c, i.e., yO) - as X(t) ... as X(t) -- X N i.e., yet) - -{f(-n)·j -("(N-1»·j if Y Is her­ if Y is hermitian antisym­ mitian antiaymmolric theD N-I "lit}. metric thon Y is imasinary. t is imagiOary. )"e-:-r {f-:X(iW..... '.G} • ~ {X(i> • I { NOTE: The uao of tile tenni hermitian aymmeCric or the complex conjugate of or the complex conjugate of and hermitian antisymmetric the Fourier transform of the tho Fourior transform of the complex conjupte of X. complex conjugate of X, di­ fD the discre~ cue is COD­ vided by N. sistont with that in tho umaI caso if we interpret ~ Convolution Theorem modUlo, N. Shifting Theore11U --X N FAST FOURIER TRANSFORMS-FOR FUN AND PROFIT 565 often the natural interpretation-as sampled data where from ..a continuous infinite function. Basic Algebra 01 Fast Fourier Trans/orms We recognize At this point we will define the notation e(X) tJlflU so $at we may wP~ expressions such as those B-1 (bb) A-I ~ e - Z:(b) and 1 e (A)~ W,,(a) of Table ~ in a ~pler fonia. The two most impor­ "=0 B a=o A tant properties of e(X) are'·that as Fourier transforms themselves, applied to shorter e(X+Y) = e(X)e(Y) sequences. Obtaining a subsequence by starting at and the bth element and taking every Bth element e(X) = 1 if X is an integer. thereafter, in the manner W,,(a) is obtained from X(b+aB), is called decimating by B. Observe that Using this notation, the finite discrete Fourier tlJi sequence Z~(b) are not quite the sequence of transform' of the sequence X(I) is frequency a values from the transforms of these decimated sequences, but these values multiplied 'by N-t ( It) . = X(t)e N XC?) ~ Ii "twiddle fac;tor" e ( ab ). , AB Suppose N has factors A and B so that N AB. = The Fourier transform of the complete AB point • '" A A Then writing I = a + bA and I = b + aB where sequence may thus be accomplished by doing the B a,a = 0,1, .. ,A-l and b,8 = 0,1, .. ,B-1; we different A point Fourier transforms, multiplying have through by the appropriate twiddle factors, then X(a+bA) doing the A different B point Fourier transforms. This is a recursive formula which defines the larger = ~ ~ X(b+aB)e( {a+bAl~b+aB} ) Fourier transform in terms of smaller ones. The total number of operations is now proportional to AB(A +B) rather than (AB)" as it would be for a B-1 A-I {fA aa bb .. ) = ~ ~ X(b+aB)e - + - + - + ab direct implementation of the definition, hence the hOa=o B A B name "Fast Fourier Transform". Associated observations: = ~ ~ ':~(b+aB)' (~) e (;) e( ~) 1. Attention is drawn to the special ad­ vantage of factors 2 or 4, in that since a , as as is in~gral implies e( as) = 1 Fourier transform of a 2 or 4 point se­ quence may be done using only additions = ~ e (~)l e ~ ) ~ X(b+aB)e (~a)~ and subtractions, one stage of complex arithmetic may be avoided. If we define the B different sequences 2. Although the recursive algorithm above may be implemented directly, it is Wt(a) X(b+aH) a 0,1, .. ,A-l = = much better to simulate the recursion as and the A different sequences described in the following sections, since one may avoid the unnecessary calculation Zt(b) = e (!) ~ X(b+aB)e (;) of some complex exponentials. With our programs, for example, the simulating th~ b = 0,1, .. ,B-l recursion takes only 2/5 as long for a 210 point transform .• we can write the above equation as • ' . B 1 A • All programs discuaed in this paper were fmplemeated X(a+GB) = i e (bb) Za(b) usins ALCOR Algol 60 on tho mM 7094 at Princeton 11110 B University. .. 566 PROCEEDING~FALL JOINT COMPUTER CONFERBN,CB, 1966 3. The multi-dimensional finite discrete Fourier transform e(~(a+bA+CAB») X(a+bA+cAB) . ABC In both cases we may factor ~e tWiddle factor out­ side the summation. if we do tliis we obtain in the first case ... .. can be computed efficiently by factorizing X(c+bc+aBC) = ~ e(~) eC~[~~~) in each dimension separately, as above. 4. The algebra presented here is not 2 e(b"&) ~(b~)2 e(~)X(a+bA+cA.B) quite that appearing in "An Algorithm for &..0 B B CaD .C the Machine Calculations of Complex (Cooley version) Fourier Series," by I. W. Cooley' and I. W. In the second case we obtain Tukey.1I The difference can be seen if we consider N as having three factors, N = X(c+tC+DBC) ~ A-1~ e (""')~ e ( ABab )"'1l , ABC.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    18 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us