The Fractional Fourier Transform and Applications David H. Bailey and Paul N. Swarztrauber October 19, 1995 Ref: SIAM Review, Vo
Total Page:16
File Type:pdf, Size:1020Kb
The Fractional Fourier Transform and Applications David H. Bailey and Paul N. Swarztraub er Octob er 19, 1995 Ref: SIAM Review,vol. 33 no. 3 (Sept. 1991), pg. 389{404 Note: See Errata note, available from the same web directory as this pap er Abstract This pap er describ es the \fractional Fourier transform", which admits computation by an algorithm that has complexity prop ortional to the fast Fourier transform algorithm. 2 i=n Whereas the discrete Fourier transform (DFT) is based on integral ro ots of unity e , 2i the fractional Fourier transform is based on fractional ro ots of unity e , where is arbitrary. The fractional Fourier transform and the corresp onding fast algorithm are useful for such applications as computing DFTs of sequences with prime lengths, computing DFTs of sparse sequences, analyzing sequences with non-integer p erio dicities, p erforming high-resolution trigonometric interp olation, detecting lines in noisy images and detecting signals with linearly drifting frequencies. In many cases, the resulting algorithms are faster by arbitrarily large factors than conventional techniques. Bailey is with the Numerical Aero dynamic Simulation (NAS) Systems Division at NASA Ames ResearchCenter, Mo ett Field, CA 94035. Swarztraub er is with the National Center for Atmospheric Research, Boulder, CO 80307, whichissponsoredby National Sci- ence Foundation. This work was completed while Swarztraub er was visiting the Research Institute for Advanced Computer Science (RIACS) at NASA Ames. Swarztraub er's work was funded by the NAS Systems Division via Co op erative Agreement NCC 2-387 b etween NASA and the Universities Space Research Asso ciation. 1 1. Intro duction The conventional fast Fourier transform (FFT) algorithm is widely used to compute dis- crete Fourier transforms (DFTs) and discrete convolutions, and to p erform trigonometric interp olation. However, in some applications of the FFT, either the input is only partially nonzero, or only part of the DFT result is required, or b oth. Nonetheless, the FFT algo- rithm is ordinarily used unless the desired results can b e more eciently computed directly from the de nition of the DFT. We present here a technique that p ermits manyofthese applications to b e computed more eciently. This same technique can also b e applied in other situations that do not admit ecient solution using standard FFTs. The central concept here is a generalization of the DFT that is termed the fractional Fourier transform (FRFT). It is de ned on the m-long complex sequence x =(x ; 0 j< j m)as m1 X 2ijk G (x; ) = x e (1) k j j =0 The parameter will not b e restricted to rational numb ers and in fact maybeany complex numb er. Although this transform is de ned for all integers k ,we will usually compute the rst m nonnegativevalues, i.e. for 0 k<m. Straightforward evaluation of these m 2 values using (1) requires 8m oating p oint op erations, assuming the exp onential factors have b een precomputed. Note that the ordinary DFT and its inverse are sp ecial cases of the fractional Fourier transform: m1 X 2ijk=m F (x) = x e (2) k j j =0 = G (x; 1=m) 0 k<m (3) k m1 X 1 2ijk=m 1 x e (4) F (x) = j k m j =0 1 = G (x; 1=m) 0 k<m (5) k m The discrete Laplace transform can also b e written in terms of the fractional Fourier transform. If is a rational numb er, the FRFT can b e reduced to a DFT and can thus b e evaluated using conventional FFTs. Supp ose that = r=n, where the integers r and n are relatively prime and where n m.Letp be the integer such that 0 p<n and pr 1 (mo d n). Extend the input sequence x to length n by padding with zero es. Then m1 X 2ijkr=n x e (6) G (x; ) = j k j =0 n1 X 2i(pj )kr=n = x e (7) pj j =0 2 n1 X 2ijk=n = x e (8) pj j =0 = F (y ) 0 k<n (9) k where y is the n-long sequence de ned by y = x and where subscripts are interpreted j pj mo dulo n.Thus the rst n values of the FRFT can b e computed by p erforming an n-p oint FFT on the sequence y .We will take5n log n as the cost of this op eration, since that is 2 the numb er of oating p oint op erations in a radix-2 FFT of size n. Since only the rst m values of this DFT are required, we will see in section 3 that the computational cost can b e reduced to ab out 5n log m oating p oint op erations by 2 employing a decimation scheme. 2. The Fast Fractional Fourier Transform Algorithm An imp etus for studying the fractional Fourier transform is the existence of an algo- rithm for computing it that is signi cantly more ecient than the schemes describ ed in the previous section. The computational cost of this algorithm is only ab out 20m log m 2 oating p oint op erations, which is indep endent of the value of . In particular, this cost do es not dep end on whether or not is rational or even real. The algorithm is based on a technique originally due to Bluestein [6] and is related to what is known in the signal pro cessing eld as the \chirp z -transform" (see [11] and [12]). 2 2 2 This algorithm can b e derived bynotingthat2jk = j + k (k j ) . The expression for the FRFT then b ecomes m1 X 2 2 2 i[j +k (k j ) ] G (x; ) = x e (10) k j j =0 m1 X 2 2 2 ik ij i(k j ) = e x e e (11) j j =0 m1 X 2 ik = e y z (12) j k j j =0 where the m-long sequences y and z are de ned by 2 ij y = x e (13) j j 2 ij z = e (14) j Since the summation (12) is in the form of a discrete convolution, it suggests evaluation using the well known DFT-based pro cedure. However, the usual DFT metho d evaluates circular convolutions, wherein z = z . This condition is not satis ed here, but k j k j +m instead z = z when k j<0. Fortunately, it is p ossible to convert this summation k j j k into a form that is a circular convolution. Supp ose we wish to compute the the FRFT for 0 k<m. First select an integer p m 1, and extend the sequences y and z to length 3 2p as follows: y = 0 m j<2p (15) j z = 0 m j<2p m (16) j 2 i(j 2p) z = e 2p m j<2p (17) j It can b e seen by insp ection that the rst m values of G (x; ) satisfy k 2p1 X 2 ik G (x; ) = e y z 0 k<m (18) k j k j j =0 It can also b e seen by insp ection that the sequence z now satis es the required prop erty fora2p-p oint circular convolution. Thus it follows that 2p-p ointDFTsmay b e used to evaluate (18): 2 ik 1 G (x; ) = e F (w ) 0 k<m (19) k k where w is the 2p-long sequence de ned by w = F (y )F (z ). It should b e emphasized k k k that this equality only holds for 0 k<m. The remaining 2p m results of the nal inverse DFT are discarded. These three DFTs can of course b e eciently computed using 2p-p oint FFTs (for discussions of computing FFTs, see [1], [4], [5], [7], [9], [11], [16] and [17]). To compute a di erent m-long segment G (x; ); 0 k<m, it is necessary to k +s slightly mo dify the ab oveconvolution pro cedure. In this case z is as follows: 2 i(j +s) z = e 0 j<m (20) j z = 0 m j<2p m (21) j 2 i(j +s2p) z = e 2p m j<2p (22) j Equations (18) and (19) b ecome 2p1 X 2 i(k +s) y z 0 k<m G (x; ) = e j k j k +s j =0 2 i(k +s) 1 G (x; ) = e F (w ) 0 k<m k +s k The remainder of the algorithm is unchanged. This complete pro cedure will b e referred to as the fast fractional Fourier transform algorithm. The technique of converting the summation (12) into a circular convolution can also b e understo o d as the emb edding of a To eplitz matrix into a larger circulant matrix, which admits evaluation using an FFT. Readers who wish to study the matrix formulation of this algorithm are referred to [15]. We will assume that 5q log q oating p oint op erations are required for a q -p oint FFT. 2 This is the cost of the commonly used radix-2 complex FFT. If q is not a p ower of two, the cost is somewhat higher, dep ending on the factors of q .Ifm is a p ower of two, the 4 obvious choice for p is p = m. Then the total computational cost of the ab ove algorithm is 20m log m +44m oating p oint op erations, assuming that the exp onential factors in 2 (19) and the FFT of the z sequence have b een precomputed.