<<

The Fractional 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

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

k

m1

X

1

2ijk=m 1

x e (4) F (x) =

j

k

m

j =0

1

= G (x; 1=m) 0  k

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

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

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

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

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

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

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

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

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

j k j k +s

j =0

2

i(k +s) 1

G (x; ) = e F (w ) 0  k

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. Note that this cost is

approximately four times the cost of the usual m-p oint FFT.

The eciency of the ab ove algorithm dep ends on the eciency of the underlying circular

convolution algorithm used to evaluate (18). A varietyoffastconvolution algorithms exist

in the literature (see [2] and [11]), and one of these may b e more attractive than using

FFTs, dep ending on the computer hardware and the application. Further, FFTs over

elds other than the complex numb ers (see [11]) may b e pro tably employed in some

instances. However, for simplicity in assessing the computational costs of algorithms, we

will assume in the following that ordinary complex FFTs are employed. We will also assume

when assessing costs that the sizes of DFTs and FRFTs are p owers of two, although the

algorithms to b e discussed are valid for any size. Hereafter only the dominant term of these

computational costs will b e listed, since lower-order terms are generally overshadowed by

implementation details, esp ecially for large sizes.

3. Computing Longer and Shorter Segments of Results

Formula (19) gives the rst m values of the fractional Fourier transform. Multiple

segments of m values can b e computed even more eciently.For example, supp ose one

wishes to compute the rst r results of an FRFT, where r = qm. These can b e eciently

computed by rep eating formulas (19) through (22) for s =0;m;2m;  ; (q 1)m.In

this case it is reasonable to assume that for eachvalue of s, the DFT of the appropriate

z sequence has b een precomputed. Signi cantly, the DFT of the y sequence needs to b e

computed only once. Thus each segmentof m results can b e computed bymultiplying the

DFT of the y sequence by the precomputed DFT of the appropriate z sequence, p erforming

an inverse 2p-p oint FFT on the result, and multiplying by exp onentials as in (19). The

dominant cost of computing r results in this manner is 10r log m oating p oint op erations

2

(when r is large compared to m).

The discussion in the previous paragraph assumed that one is computing the rst r

values of the FRFT. However, any set of r results that is the union of m-long contiguous

segments can b e computed in this manner, and the computational cost is the same. It is

not even necessary to assume that the starting indices s of the segments are multiples of

m.

Segments of the FRFT shorter than m in length can b e eciently computed by using

a decimation scheme similar to that used for computing a short segment of a DFT. Since

the fast algorithm for a short segment of a DFT is not widely known, it will b e presented

rst.

Supp ose that one wishes to compute the rst m values of the DFT of the n-long sequence

x, where n = qm.We can write

q 1

m1

X X

2i(j +lq )k=n

x e (23) F (x) =

j +lq k

j =0

l=0 5

q 1

m1

X X

2ijk=n 2 ilk =m

= e x e (24)

j +lq

j =0

l=0

q 1

X

2ijk=n

e F (y ) 0  k

k

j

j =0

where y denotes the m-long sequence (x ; 0  l

j +lq

j

valuesofthen-p ointDFTofx can b e computed by writing the input as a q  m matrix

in column ma jor order, p erforming m-p ointFFTsoneachrow, multiplying the results by

certain exp onentials and then summing each column. The dominant computational cost of

this pro cedure is 5n log m oating p oint op erations, which is less than that of computing

2

a full-sized n-p oint FFT. Unfortunately,thissavings is not signi cant in the imp ortant

sp ecial case m = n=2, a case wehave already encountered: recall that only the rst half of

the DFT results in (19) are required.

Formula (25) may b e easily generalized to compute m values of the DFT starting at

any index s. One then obtains

q 1

X

2ij (k +s)=n

F (x) = e F (z ) 0  k

k +s k j

j =0

2ils=m

where z =(x e ; 0  l

j j +lq

The scheme describ ed by equation (25) can b e seen as an abbreviated form of an FFT

algorithm sometimes called the \four step FFT" (see [1] p. 150, [4], [9] p. 569, and [17] p.

202 - 203). This FFT algorithm has received renewed interest lately due its suitabilityfor

some advanced computer architectures, particularly systems with hierarchical memories.

Formula (25) is also related to what is known as the \discrete Zak transform" [3].

This same general metho d can b e applied to compute an m-long segmentofan n-p oint

FRFT:

q 1

m1

X X

2i(j +lq )k

G (x; ) = x e (27)

k j +lq

j =0

l=0

q 1

m1

X X

2ijk 2ilqk

e = x e (28)

j +lq

j =0

l=0

q 1

X

2ijk

= e G (y ;q ) 0  k

k

j

j =0

where y =(x ; 0  l

j +lq

j

n-p oint FRFT of x can b e computed by writing the input as a q  m matrix in column

ma jor order, p erforming m-p oint FRFTs on eachrow, multiplying the results by certain

exp onentials and then summing each column. Note that the exp onential factors in (29)

may b e incorp orated into the exp onential factors in formula (19) and thus do not need to

b e counted in the computational cost. Hence the dominant cost of this scheme is 20n log m

2

oating op erations, which is less than that of directly computing an n-p oint FRFT. 6

The corresp onding formula for an m-long segmentofan n-p oint FRFT b eginning at

some index s is

q 1

X

2ij (k +s)

G (x; ) = e G (z ;q ) 0  k

k +s k j

j =0

2ilqs

where z =(x e ; 0  l

j j +lq j

vectors can b e incorp orated into the factors in (20) and (22) and thus do not need to b e

counted. Hence the dominant cost of this scheme is 20n log m oating p oint op erations,

2

the same as ab ove.

4. Computing DFTs of Sequences with Prime Lengths

It is p opularly b elieved that DFTs can only b e evaluated by a fast algorithm when the

size m of the transform is a highly factorable integer, suchasapower of two. But since the

DFT is merely a sp ecial case of the FRFT, and since the size 2p of FFTs used in evaluating

the FRFTs maybechosentobeanyconvenientvalue (suchasa power of two) that is at

least 2m 2, it follows that the fast fractional Fourier transform algorithm can b e used to

compute m-p oint DFTs even when m is a prime. The computational cost is only ab out

four times the cost of a p ower of two FFT of comparable size. This algorithm was rst

presented in Bluestein's pap er [6].

It should b e emphasized that Bluestein's algorithm p ermits DFTs of any size (not just

primes) to b e computed using p ower of two FFTs, which are generally the most ecient

FFTs available on computer system libraries. Thus dep ending on the computer system

and implementation, Bluestein's algorithm may b e more ecient for computing DFTs of

certain sizes than conventional FFTs. On some computer systems, suchashyp ercub es,

Bluestein's algorithm is preferable for computing DFTs of any size that is not a p ower of

two [15].

Perhaps one reason that Bluestein's algorithm has not received more attention is that

another FFT algorithm for prime m was discovered at ab out the same time by Rader [13].

This algorithm reduces a DFT of prime size m to a circular convolution of size m 1,

which in theory is only ab out half as costly as Bluestein's algorithm. Unlike Bluestein's

algorithm, however, Rader's algorithm do es not generalize to the case of arbitrary , and

there is little exibility in the p ermissible sizes of FFTs that may b e used for ecient

evaluation.

There are a numb er of other imp ortant applications of the basic technique b ehind

Bluestein's algorithm, whichtechnique wehave termed the FRFT. Several of these appli-

cations will b e presented here, including some that were originally presented in [12].

5. Computing DFTs of Sparse Sequences

In this section we will describ e ecient algorithms for computing DFTs of sequences

with large numb ers of zero elements. DFTs of such sequences arise in trigonometric inter-

p olation, as we shall see in section 7. Another common application is in digital ltering, 7

where high order harmonics are often zero ed b efore p erforming an inverse FFT. A third in-

stance is in the computation of the \linear" or \ap erio dic" convolution, which is de ned on

P

n1

the n-long sequences x and y as the 2n-long sequence z =( x y ; 0  k<2n 1),

j k j

j =0

where the subscript k j is restricted to the range 0  k j

arise in applications as diverse as multiprecision arithmetic and the numerical solution of

partial di erential equations. This typ e of convolution is normally evaluated by padding

the n-long input sequences x and y with zero es to length 2n, and then computing their

2n-p oint circular convolution using FFTs.

Three cases of sparse DFTs will b e considered. First we will compute the complete

DFT of an input sequence where only an initial segment is p ossibly nonzero. Second, we

will compute segments of such a DFT. Third, we will compute segments of the DFT of an

input sequence that has only a few nonzero segments.

Let n = qm. Supp ose we wish to compute the DFT of an n-long sequence x that

is known to b e zero except for the rst m entries. This can b e done byemploying a

conventional FFT-based decimation scheme, as follows:

m1

X

2ij (k +lq )=n

F (x) = x e (31)

k +lq j

j =0

m1

X

2ijk=n 2 ij l=m

= x e e (32)

j

j =0

= F (y ) 0  l

l

k

2ijk=n

where y =(x e ; 0  j

j

k

b eginning at index k and increasing with stride q can b e computed with a conventional

m-p oint FFT on the input sequence multipliedby certain exp onentials. The dominant

cost of computing all n elements of the DFT by this pro cedure is 5n log m oating p oint

2

op erations, which is less than that of an n-p oint FFT. Unfortunately,thissavings is not

signi cant in the imp ortant sp ecial case m = n=2,acasewehave already encountered:

note that the sequence y de ned in (13) and (15) is of this form.

If only a single contiguous segment of the n-p oint DFT is required, then this approach

is unsatisfactory, since one can only obtain DFT results with a spacing of q from the ab ove.

Further, the conventional metho d for computing a segment of a DFT in section 3 is also

unsatisfactory since each of the DFTs in the summation (26) must still b e evaluated, with

no savings in computation. However, the FRFT can b e e ectively applied to this situation.

The simplest case is when only m values of the n-p oint DFT are required. In this case

wehave

m1

X

2ij (k +s)=n

F (x) = x e (34)

k +s j

j =0

= G (y ; 1=n) 0  k

k +s

where y =(x ; 0  j

j 8

or 20m log m op erations. This is less than the cost of conventional metho ds whenever

2

m

Multiple sections can b e computed even more economically by merely rep eating (35)

for multiple values of s. As indicated in the rst paragraph of section 3, savings result

b ecause the FFT of the sequence y in (18) needs to b e computed only once. The dominant

cost of computing r elements in this manner is 10r log m oating p oint op erations (when

2

r is large compared to m). Thus up to n=2elements of the DFT may b e computed by

this metho d, and the cost is still less than computing all or part of the n-p ointDFTbya

conventional metho d (for large n).

We will now examine the case in which more than one m-long segment of the input

sequence x is p ossibly nonzero. An m-long segmentofthe n-p oint DFT of x can b e written

q 1

m1

X X

2i(j +lm)(k +s)=n

x e (36) F (x) =

j +lm k +s

j =0

l=0

q 1

m1

X X

2i(k +s)lm=n 2ij (k +s)=n

= e x e (37)

j +lm

j =0

l=0

q 1

X

2i(k +s)l=q

= e G (y ; 1=n) 0  k

k +s

l

l=0

where y =(x ; 0  j

j +lm

l

segments are zero, it follows that most of the terms of this summation are zero. Thus only

a few of these FRFTs need to b e actually computed.

We can assume that the exp onential factors in (38) have b een incorp orated into the

exp onential factors of formula (19). Supp ose that only t of the input segments y contain

l

p ossibly nonzero elements. Then the total computational cost of computing an m-long

segment of the DFT is on the order of 20tm log m op erations. This is less than the cost

2

of computing a segment of a DFT using the conventional scheme (33) whenever t< q=4

(for large n).

As indicated in section 3, multiple segments of results can b e even more eciently

computed by rep eating (38) for several values of s. The dominant cost of computing r

values of the DFT in this wayis10tr log m oating p oint op erations (when r is large

2

compared to m). This is less than conventional metho ds whenever tr < n=2 (for large n).

Thus this metho d is not appropriate unless only a few segments of the input are p ossibly

nonzero and only a few segments of the result are desired.

6. Analyzing Sequences with Non-Integer Perio dic Comp onents

In many practical applications of DFTs and FFTs, notably in signal pro cessing, it is

not really true that the underlying time series b eing studied is exactly p erio dic with p erio d

m, where m is the size of the data sequence. Instead, the sampling interval and sample

size are usually selected arbitrarily for the convenience of hardware and software. Thus

in such applications it is the rule rather than the exception that a data sequence contains

comp onents with p erio ds that are not exactly whole numb ers. 9

One instance of such an application is in computing solar p ositions. Daily solar altitude

and declination angles are readily available from almanacs. Such p ositions are not p erio dic

with p erio d 365 days, but they are very nearly p erio dic with a fractional p erio d of approx-

imately 365.2422 days. In other words, the apparent motion of the sun has a fairly simple

Fourier representation based on a p erio d of 365.2422 days, but the representation is not

simple based on a p erio d of 365 days. In this example weknow from a priori information

what the true p erio d is. But it general we usually do not even know that. Thus we seek

techniques that can determine an unknown p erio d and compute the sp ectrum based on

the true p erio d once it is known.

2ij =m

Let x be the m-long sequence (e ; 0  j

integer. Then the DFT of x is

m1

X

2ij =m 2ijk=m

e e (39) F (x) =

k

j =0

m1

X

2ij ( k )=m

= e (40)

j =0

2i( k )

1 e

(41) =

2i( k )=m

1 e

sin[ ( k )]

i( k )(m1)=m

= e 0  k

sin[ ( k )=m]

Thus the sp ectrum of such a sequence is not a \spike" at a single index but instead is

spread over all indices, with magnitudes that decline rapidly with increasing distance from

. It is fairly easy to determine the unknown frequency to within one unit by examining

these magnitudes. Supp ose that this has b een done and that b is the greatest integer less

than .

One way to determine more accurately is to apply the following formula, whichwas

brought to the authors' attention by Oscar Buneman of Stanford University:

m sin(=m)

1

= b + tan (43)

 cos(=m)+jF (x)j=jF (x)j

b b+1

The derivation of this formula is straightforward from (42). It is exact for a pure sinusoid

signal with frequency in the range b<

harmonics, its accuracy degrades, but it is nonetheless quite usable for many applications.

An alternate metho d, which is somewhat more robust in the presence of noise, is based

on the fractional Fourier transform. In particular, the FRFT can b e used to eciently

compute a high resolution sp ectrum in the interval [b; b + 1]. The m sp ectra values starting

at index b and increasing with interval  are given by

m1

X

2ij (b+k)=m

F (x) = x e (44)

b+k j

j =0 10

m1

X

2ijb=m 2ijk=m

= x e e (45)

j

j =0

= G (y ;=m) 0  k

k

p

2ijb=m

m,which means that where y =(x e ; 0  j

j

p

only the rst m values of the FRFT need to b e computed to span [b; b + 1]. Thus the cost

of this calculation can b e further reduced by applying the techniques of section 3. Supp ose

that F (x) is the largest element of this high resolution sp ectrum. Then an accurate

b+k

estimate of the true frequency is given by b + k.

Once an accurate value of has b een obtained using either of these two metho ds, one

might ask if the sp ectrum can b e adjusted in some sense so that the integer index b corre-

sp onds to the fractional frequency . Ideally the adjusted sp ectrum of a mono chromatic

signal would have a \spike" at b and zero es at all other indices. To that end, let b to b e

the greatest integer less than as ab ove, and let = b= , so that is slightly less than

one. Then consider the formula

r 1

X

2ijk=(m )

X = x e (47)

k j

j =0

1

) 0  k

k

m

where r is the nearest integer to m and where z is the x vector truncated to r elements.

For computational purp oses, it may b e preferable to merely set z equal to x, except that

z = 0 for r  j

j

When r = m is an integer, wehave

r 1

X

2ijk=r

X = x e (49)

k j

j =0

r 1

X

2ij =m 2ijk=r

= e e (50)

j =0

r 1

X

2ij (bk )=r

= e (51)

j =0

= r (k; b) (52)

where  (k; b)=1ifk = b but zero otherwise. Thus in this case wehave precisely the

desired result.

When m is not an integer, it is still true that X = r , but the o -p eak values are not

b

zero. However, their magnitude is nonetheless much smaller than r .Tomake this precise,

let s = r m , and note that jsj 1=2. Then we can write

r 1

X

2ijk=(m )

jX j = (53) x e

k j

j =0 11

r 1

X

2ij (bk )=(m )

e (54) =

j =0

2ir(bk )=(m )

1 e

= (55)

2i(bk )=(m )

1 e

2is(bk )=(m )

1 e

(56) =

2i(bk )=(m )

1 e

sin[s(b k )=(m )]

(57) =

sin[ (b k )=(m )]

When k is close to b,we nd that to a rst-order approximation jX j is equal to jsj,which

k

is b ounded by1=2 and therefore quite small compared with X = r . When k is large

b

(near r )andb is small, or the reverse, the situation is not quite as favorable, since the

denominator of (57) might b ecome small. However, we still nd that the magnitudes of

the o -p eak sp ectral values X are b ounded by m=( )or m=[ (m )], which are small

k

compared with r provided that is neither a very small nor a very large fraction of m.

If the original signal is not mono chromatic with frequency , but instead consists of a

comp onent with frequency plus several harmonics of this frequency, these higher order

harmonics will b e evident in the adjusted sp ectrum at k =2b; 3b; etc. In this case an

analysis of o -p eak amplitudes gives results that are somewhat larger than ab ove but still

quite small compared with r for transforms of reasonably large sizes. The formula (48)

also gives go o d results with the addition of mo derate Gaussian noise.

7. Performing High-Resolution Trigonometric Interp olation

The FFT is frequently used to p erform trigonometric interp olation. For example, given

a sequence x in tabular form, wemay wish to determine approximate midp ointvalues

x . In the previous sections wehave used the \aliased" form of the DFT:

j +1=2

m1

X

2ijk=m

F (x) = x e 0  k

k j

j =0

^

In this section we will use the \unaliased" form of the DFT, which is de ned on x =

(x ; m=2  j

j

m=21

X

2ijk=m

^

^

F (x) = x e m=2  k

k j

j =m=2

The inverse unaliased DFT is de ned analogously.For most purp oses, the unaliased form

is not as convenient as the aliased form, b ecause two di erent formulas are required for

m even and m odd (we will assume in the following that m is even). Further, most FFT

software for computing DFTs assumes the aliased form.

In discussions of trigonometric interp olation, however, the unaliased form is preferred.

^

^

The problem is that although F (x)=F (x) for each k , their interp olated values may

k k 12

^

^

b e di erent (dep ending on how they are de ned), so that F (x) 6= F (x). This

k +1=2 k +1=2

ik t

disagreement stems from the fact that the function f (t)=e has an in nite number

k

of alternate characterizations (or \aliases") on the p oints t =2j =m, namely f (t)=

j k +m

i(k +m)t

e for all integers m. These functions are indistinguishable from one another on the

p oints t .However, at intermediate or interp olated values f (t)andf (t) are di erent.

j k k +m

Therefore a choice of basis functions for the trigonometric expansion of a function f (t)

ik t

must b e made. The most common choice is the set (f (t)=e ; m=2  k

k

set has minimum variance on 0  t  2 and thus ensures that the interp olated values will

b e as smo oth a p ossible.

For computational purp oses, the unaliased form can b e easily reduced to the aliased

j

form. One approach is to de ne m-long sequences y and Y suchthat y =(1) x

j

j m=2

k

^

^

for 0  j

k k m=2

k

^

^

F (x) (60) Y = (1)

k

k m=2

m=21

X

ik 2ij (k m=2)=m

= e x e (61)

j

j =m=2

m1

X

2i(j m=2)k=m

= x e (62)

j m=2

j =0

m1

X

2ijk=m

= y e (63)

j

j =0

= F (y ) 0  k

k

Thus Y is the ordinary m-p ointDFTof y . Alternately, one can de ne y = x for

j j

^

0  j

j j m k k

Then again Y is the ordinary DFT of y . Either way, FFT software designed to compute

the usual m-p oint aliased DFTs can b e readily employed to compute m-p oint unaliased

DFTs.

We will now develop the traditional approach to trigonometric interp olation. Supp ose

^

we wish to compute q interp olated values b etween eachofthe m values of x.Letn = qm.

^

We rst compute the inverse unaliased DFT of x and then extend this sp ectra to the n-long

^

sequence Y as follows:

1

^

^

Y = F (x) jk j

k

k

1

1

^

^

F (x) (66) Y =

m=2

m=2

2

1

1

^

^

Y = F (x) (67)

m=2

m=2

2

Y = 0 n=2  k<m=2 (68)

k

Y = 0 m=2

k

1

^

^

(x) in the ab ove is necessary to pro duce the most accurate interp o- The splitting of F

m=2

lated values. For example, if this is not done then trigonometric interp olation on purely 13

real data will yield complex values. This split is not necessary if m is o dd.

^

The n-long vector y of interp olated results y = x , where n = qm,cannowbe

j j=q

^

computed from the unaliased n-p oint DFT of Y :

m=2

X

2i(j=q)k=m

y = Y e (70)

j k

k =m=2

n=21

X

2ijk=n

= Y e n=2  k

k

k =n=2

This approach requires an m-p ointinverse FFT followed byan n-p ointforward FFT, so

that the dominant cost is 5n log n oating p oint op erations.

2

This cost can b e reduced somewhat by applying a decimation technique similar to that

employed in equations (31) through (33):

m=2

X

2ik(j +lq )=n

Y e (72) y =

k j +lq

k =m=2

m=2

X

2ikj=n 2iklq=n

= Y e e (73)

k

k =m=2

m=21

X

2ikj=n 2iklq=n  imj =n  imlq =n

= Y e e + Y e e (74)

k m=2

k =m=2

l ij=q

^ ^

= F (Z )+(1) Y e (75)

l j m=2

l

^ ^

= F (W )+ (1) 2Y cos(j =q) m=2  l

l j m=2

2ikj=n

^ ^ ^ ^

where Z =(Y e ; m=2  k

j k j j j

m=2

^

the leftmost elementof W , is zero. The formulas (75) and (76) di er only in that the

j

second is more appropriate for working with real data, since a real-valued FFT maybe

used for computation. The dominant cost of computing all n interp olated values in this

fashion is 5n log m oating p oint op erations.

2

In many applications of trigonometric interp olation, only a segmentofthe n interp o-

lated values are required. In this case the cost can b e signi cantly reduced by applying

the FRFT, using techniques similar to those in section 5. Supp ose we wish to compute

only the rst m interp olated values in (71). This expression can b e converted to a FRFT

as follows:

m

X

2i(k m=2)j=n

y = Y e (77)

j

k m=2

k =0

m

X

ij=q 2ikj=n

= e Y e (78)

k m=2

k =0

ij=q

= e G (Z ; 1=n) 0  j

j 14

where Z is the (m + 1)-long sequence (Y ; 0  k  m).

k m=2

Supp ose for a minute that m is a p ower of two, and that the most ecient FFT sizes

employed for evaluating the FRFT on a given computer are also p owers of two. It might

at rst app ear that increasing the size of an FRFT from m to m +1 would require that

the size of FFTs used in computing the FRFT must b e doubled to the next highest p ower

of two, with a corresp onding sharp increase in computational cost. However, recall that

the parameter p of (18) can b e anyinteger greater than one less than the size of the

FRFT. Thus 2m-p oint FFTs can still b e used to evaluate FRFTs of size m + 1, and the

computational cost is virtually unchanged.

More generally,we can compute an m-long segment z of interp olated values b eginning

with z = x and increasing with interval  as follows:

0 s

m=2

X

2ik(s+j)=m

Y e (80) z =

k j

k =m=2

m

X

2i(k m=2)(s+j)=m

Y e (81) =

k m=2

k =0

m

X

i(s+j) 2iks=m 2ijk=m

= e Y e e (82)

k m=2

k =0

i(s+j)

= e G (Z ;=m) 0  j

j

2iks=m

where Z is the (m + 1)-long sequence (Y e ; 0  k  m).

k m=2

Since the exp onential factors in (83) can b e incorp orated into the precomputed exp o-

nentials in (19), we do not need to count the cost of these multiplications. The dominant

cost of the algorithm is thus only 25m log m oating p oint op erations. This is less than

2

the cost of the conventional pro cedure in equations (75) and (76) whenever m< n=4(for

large n). Larger sections of results can b e eciently obtained by rep eating (83) for di erent

starting indices s as indicated in section 3.

8. Detecting Lines in Images and Detecting Signals with Linearly Drifting

Frequencies

The authors rst learned of the problem of detecting signals with linearly drifting

frequencies in discussions with scientists asso ciated with the Search for Extraterrestrial

Intelligence (SETI) pro ject at NASA Ames. In fact, signals with drifting frequencies will

arise in any situation where there is acceleration in the direction b etween the emitter of

the signal and the receiver. It often can b e assumed that over the p erio d of observation

the frequency drift is linear, so we will make this assumption in the following discussion.

It will rst b e shown that the problem of detecting a signal with a linearly drifting

frequency can b e reduced to the problem of detecting a straight line in a noisy two dimen-

sional array. It will then b e shown that the line detection problem can b e eciently solved

using the FRFT.

Supp ose that y is a time series of length n = qm that is the sum of a signal with a

linearly drifting frequency plus Gaussian noise. We will assume that the frequency is less 15

than m.Thus the time series can b e written

2ij (! +j )=m

y = ae + bg 0  j

j j

where a and b are scaling factors, and g are complex Gaussian deviates with unit variance.

j

We will b e interested in applications where is a is much less than b,orinotherwords where

the amplitude of the signal is much less than the amplitude of the noise.

The usual approach to detecting and analyzing such signals is to consider the n-long

time series as a q  m arrayinrow ma jor order. We rst compute the m-p ointDFTof

eachrow in this array (i.e. the DFT of successivecontiguous m-long segments of y ), and

then compute squared magnitudes of each resulting arrayentry (see [8] and [10]):

2

0  j

j;k k j

where z =(y ; 0  l

j j +lm

 is zero), detection of the signal can b e achieved by merely summing the columns of

X to form an m-long vector. The \bin" containing the signal will then b e evidentasa

statistically large entry in this sum vector.

When the frequency of the signal to b e detected is not constant (i.e. when  is nonzero),

this metho d fails since the \bin" containing the signal is di erent from segment to segment,

and thus no entry of the sum vector will contain a statistically large value. Nonetheless,

the signal is evident in this array as a \line" with a certain slop e, and thus in theory it is

p ossible to detect such signals by computing sums in the X arrayover lines with a range

of slop es :

q 1

X

S ( ) = X 0  k

k j;nint(k + j )

j =0

where nint denotes nearest integer. When k is close to ! and is close to 2m ,thenS ( )

k

has a statistically large value and detection o ccurs. Unfortunately, the direct computation

of all these sums over a range of p ossible slop es is very exp ensive [8].

Consider what app ears at rst to b e an even more exp ensive calculation, namely com-

puting sums of values interp olated along the rows of X . In particular, consider the array

of sums

q 1

X

S = X 0  r

r;k

j;k +( +r)j

j =0

where the subscript k +( + r)j is interpreted literally as its fractional value, namely

as the result of trigonometric interp olation along the rows of the X array. Except for the

fractional subscripts, this corresp onds to computing the sums S ( ), where = + r.

k r r

The lo cation (r;k) of the maximum value in the S array yields the unknown slop e and

r

starting p osition of the detected line. From these values the desired drift rate and the

initial frequency of the signal can b e easily determined. 16

This array of sums can b e eciently computed using the FRFT as follows. De ne X

j;k

for negative k so that X = X . Then let (x ^ ; m=2  l

j;k j;k +m j;l

DFT of the j -th row ofX,i.e.ofthevector (X ; m=2  k

j;k j;l j;l

1

x^ . As explained in section 7, splitting for m=2

j;m=2 j;m=2 j;m=2

2

the \Nyquist" value of the DFT in this manner is necessary to obtain purely real results

when interp olating in real data.

Nowwe can write

m=2

X

2ikl=m

X = x e (88)

j;k j;l

l=m=2

m=2

X

2i[k +( +r)j ]l=m

X = (89) x e

j;l

j;k +( +r)j

l=m=2

Thus

m=2

q 1

X X

2i[k +( +r)j ]l=m

x e (90) S =

j;l r;k

j =0

l=m=2

3 2

m=2

q 1

X X

2 i j l=m 2irjl=m 2ikl=m

5 4

x e e e (91) =

j;l

j =0

l=m=2

m=2

X

2ikl=m

= s e (92)

r;l

l=m=2

where

s = G (z ;r=m) (93)

r;l l l

2 i j l=m

z = (x e ; 0  j

l j;l

Hence this summation algorithm consists of p erforming inverse FFTs on rows of the X

array, followed by FRFTs on the resulting columns (with certain exp onential multipliers),

followed by forward FFTs on the resulting rows. The computational cost of entire detection

algorithm is approximately 10n log n oating p oint op erations, or in other words only

2

ab out twice the cost of an n-p oint complex FFT. For complete details, see [14].

9. Conclusions

Wehave describ ed a numb er of applications of the FRFT and its asso ciated fast algo-

rithm. The exibility and eciency of these metho ds p ermits new solutions to a variety

of problems that involve discrete . In many cases, the resulting algorithms

are faster than the conventional metho ds of solution that utilize ordinary FFTs. In fact,

for suciently large problem sizes, these metho ds are often faster than the conventional

algorithms by arbitrarily large factors. 17

Acknowledgments

The authors wish to thank Kent Cullers of NASA Ames and Izidor Gertner of the

CUNY Graduate Center for informative discussions on this sub ject.

References

1. Agarwal, R. C., and Co oley,J.W.,\Fourier Transform and Convolution Subroutines

for the IBM 3090 Vector Facility", IBM Journal of Research and Development,vol.

30 (1986), p. 145 - 162.

2. Agarwal, R. C., and Co oley, J. W., \New Algorithms for Digital Convolution", IEEE

Transactions on Acoustics, Sp eech, and Signal Pro cessing,vol. ASSP-25, no. 5

(1977), p. 392 - 410.

3. Auslander, L., Gertner, I. and Tolimieri, R., \The Discrete Zak Transform: Applica-

tions to Time-Frequency Analysis and Synthesis of Non-Stationary Signals", IEEE

Transactions on Acoustics, Sp eech and Signal Pro cessing, to app ear.

4. Bailey, D. H., \FFTs in External or Hierarchical Memory", Journal of Sup ercomput-

ing,vol. 4 (1990), p. 23 - 35.

5. Bailey, D. H., \A High-Performance FFT Algorithm for Vector Sup ercomputers",

International Journal of Sup ercomputer Applications vol. 2 (1988), p. 82 - 87.

6. Bluestein, L. I., \A Linear Filtering Approach to the Computation of the Discrete

Fourier Transform", IEEE Transactions on Audio and Electroacoustics,vol. AU-18,

no. 4 (1970), p. 451 - 455.

7. Co oley, J. W., and Tukey, J. W., \An Algorithm for Machine Computation of Com-

plex ", Mathematics of Computation,vol. 19 (1965), p. 297 - 301.

8. Cullers, D. K., Linscott, I. R., and Oliver, B. M., \Signal Pro cessing in SETI",

Communications of the ACM,vol. 28 (1985), p. 1151 - 1163.

9. Gentleman, W. M., and Sande, G., \Fast Fourier Transforms { For Fun and Pro t",

AFIPS Pro ceedings,vol. 29 (1966), p. 563 - 578.

10. Gertner, I., \Optimal Detection and Separation of Chirp Signals", Pro ceedings of

ICASSP-90, 1990, to app ear.

11. Nussbaumer, H. J., Fast Fourier Transform and Convolution Algorithms, Springer-

Verlag, New York, 1981.

12. Rabiner, L. R., Schafer, R. W., and Rader, C. M., \The Chirp z -Transform Algorithm

and Its Application", Bell System Technical Journal,vol. 48 (1969), p. 1249 - 1292. 18

13. Rader, C. M., \Discrete Fourier Transforms When the Numb er of Data Samples Is

Prime", Pro ceedings of the IEEE,vol. 56 (1968), p. 1107 - 1108.

14. Swarztraub er, P. N., and Bailey, D. H., \Ecient Detection a Continuous Wave

Signal with a Linear Frequency Drift", submitted for publication.

15. Swarztraub er, P.N.,Sweet, R. A., Briggs, W. L., Henson, V. E., and Otto, J.,

\Bluestein's FFT for Arbitrary N on the Hyp ercub e", submitted for publication.

16. Swarztraub er, P. N., \FFT Algorithms for Vector Computers", Parallel Computing,

1 (1984), p. 45 - 63.

17. Swarztraub er, P. N., \Multipro cessor FFTs", Parallel Computing,vol. 5 (1987), p.

197 - 210. 19