0% found this document useful (0 votes)
10 views16 pages

Bailey 1991

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 16

SIAM REVIEW 1991 Society for Industrial and Applied Mathematics

Vol. 33, No. 3, pp. 389-404, September 1991 OO2


Downloaded 09/07/13 to 18.7.29.240. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

THE FRACTIONAL FOURIER TRANSFORM AND APPLICATIONS*


DAVID H. BAILEYt AND PAUL N. SWARZTRAUBER$
Abstract. This paper describes the "fractional Fourier transform," which admits computation
by an algorithm that has complexity proportional to the fast Fourier transform algorithm. Whereas
the discrete Fourier transform (DFT) is based on integral roots of unity e -2ri/n, the fractional
Fourier transform is based on fractional roots of unity e -2ia, where a is arbitrary. The fractional
Fourier transform and the corresponding fast algorithm are useful for such applications as computing
DFTs of sequences with prime lengths, computing DFTs of sparse sequences, analyzing sequences
with noninteger periodicities, performing high-resolution trigonometric interpolation, 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.

Key words, discrete Fourier transform, fast Fourier transform

AMS(MOS) subject classifications. 65T20, 65T10, 65Y20

1. Introduction. The conventional fast Fourier transform (FFT) algorithm is


widely used to compute discrete Fourier transforms (DFTs) and discrete convolutions,
and to perform trigonometric interpolation. However, in some applications of the
FFT, either the input is only partially nonzero, or only part of the DFT result is
required, or both. Nonetheless, the FFT algorithm is ordinarily used unless the desired
results can be more efficiently computed directly from the definition of the DFT. We
present here a technique that permits many of these applications to be computed
more efficiently. This same technique can also be applied in other situations that do
not admit efficient solution using standard FFTs.
The central concept here is a generalization of the DFT that is termed the

_
fractional Fourier transform (FRFT). It is defined on the m-long complex sequence
x=(xj, 0<j<m) as
m--1
(1) Gk(X,
j=O

The parameter a will not be restricted to rational numbers and in fact may be
any complex number. Although this transform is defined for all integers k, we will
usually compute the first m nonnegative values, i.e., for 0 k < rn. Straightforward
evaluation of these m values using (1) requires 8m 2 floating point operations, assuming
the exponential factors have been precomputed.
Note that the ordinary DFT and its inverse are special cases of the fractional
Fourier transform"
m--1

j=0

Received by the editors May 10, 1990; accepted for publication (in revised form) October 30,
1990.
Numerical Aerodynamic Simulation (NAS) Systems Division at NASA Ames Research Center,
Moffett Field, California 94035.
National Center for Atmospheric Research, Boulder, Colorado 80307, which is sponsored by the
National Science Foundation. This work was completed while the author was visiting the Research
Institute for Advanced Computer Science (RIACS) at NASA Ames, and was funded by the NAS
Systems Division via Cooperative Agreement NCC 2-387 between NASA and the Universities Space
Research Association
389
390 DAVID H. BAILEY AND PAUL N. SWARTZTRAUBER

(3) Gk(x, l/m), 0 <_ k < m,


m--1
1
E xfe’rJk/m
Downloaded 09/07/13 to 18.7.29.240. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

(4) F_I(x) m
j=0
1
(5) --Gk(x,--l/m), 0 <_ k < m.
m
The discrete Laplace transform can also be written in terms of the fractional
Fourier transform.
If c is a rational number, the FRFT can be reduced to a DFT and can thus be
evaluated using conventional FFTs. Suppose that c r/n, where the integers r and
n are relatively prime and where n >_ rn. Let p be the integer such that 0 _< p n
and pr 1 (mod n). Extend the input sequence x to length n by padding with
zeroes. Then
m--1

j=0
n--1
(7) xe -()/
j=0

(s) x
j=0

(9) Fk(y), 0 k < n,

where y is the n-long sequence defined by yj Xpj and where subscripts are inter-
preted modulo n. Thus the first n values of the FRFT can be computed by performing
an n-point FFT on the sequence y. We will take 5n log 2 n as the cost of this operation,
since that is the number of floating point operations in a radix-2 FFT of size n.
Since only the first m values of this DFT are required, we will see in 3 that the
computational cost can be reduced to about 5n log 2 m floating point operations by
employing a decimation scheme.
2. The fast fractional Fourier transform algorithm. An impetus for study-
ing the fractional Fourier transform is the existence of an algorithm for computing it
that is significantly more efficient than the schemes described in the previous section.
The computational cost of this algorithm is only about 20m log 2 m floating point op-
erations, which is independent of the value of c. In particular, this cost does not
depend on whether or not c 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
processing field as the "chirp z-transform" (see [11] and [12]).
This algorithm can be derived by noting that 2jk j2 + k 2 (k- j)2. The
expression for the FRFT then becomes
m--1

j=0
m--1
(11) e-rik E XJe-riJ2eri(k-J)a
j--0
FRACTIONAL FOURIER TRANSFORM 391
m--1
-7ik2
(12) YjZk-j
Downloaded 09/07/13 to 18.7.29.240. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

j=O

where the m-long sequences y and z are defined by

Since the summation (12) is in the form of a discrete convolution, it suggests

__
evaluation using the well-known DFT-based procedure. However, the usual DFT
method evaluates circular convolutions, wherein zt:-j zt:-j+m. This condition is
not satisfied here, but instead Zk_ j Zj_ k when k- j < 0. Fortunately, it is possible
to convert this summation into a form that is a circular convolution. Suppose 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 2p as follows:

(5) yj 0, m_< j < 2p,


(16) zj 0, m j < 2p- m,
(1) Zj e ri(j-2p)2 2p- m <_ j < 2p.
It can be seen by inspection that the first m values of Gk(x, () satisfy

(18) Gk(X, a)= e -ik(

be used to evaluate (18)"

(19) Gc(x,a)
2p--1

j=0

-ikF[l(w),
_
yjzk-y,

0
0 k < m.

It can also be seen by inspection that the sequence z now satisfies the required
property for a 2p-point circular convolution. Thus it follows that 2p-point DFTs may

g < m,

where w is the 2p-long sequence defined by wk Fk(y)Fk(z). It should be emphasized


that this equality only holds for 0 <_ k < m. The remaining 2p- m results of the final
inverse DFT are discarded. These three DFTs can of course be efficiently computed
using 2p-point FFTs (for discussions of computing FFTs, see [1], [4], [5], [7], [9], [11],
[16], and [17]).
To compute a different m-long segment Gk+s(X, c), 0 <_ k m, it is necessary
to slightly modify the above convolution procedure. In this case z is as follows:

(20) zj e ri(j+s):(, 0 <_ j < m,


(21) zj=0, m_<j<2p-m,
(22) zj e ri(j/s-2p)c, 2p- m _< j < 2p.
The remainder of the algorithm is unchanged. This complete procedure will be
referred to as the fast fractional Fourier transform algorithm.
The technique of converting the summation (12) into a circular convolution can
also be understood as the embedding of a Toeplitz 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].
392 DAVID H. BAILEY AND PAUL N. SWARTZTRAUBER

We will assume that 5q log 2 q floating point operations are required for a q-point
FFT. This is the cost of the commonly used radix-2 complex FFT. If q is not a power
Downloaded 09/07/13 to 18.7.29.240. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

of 2, the cost is somewhat higher, depending on the factors of q. If m is a power


of 2, the obvious choice for p is p m. Then the total computational cost of the
above algorithm is 20m log 2 m + 44m floating point operations, assuming that the
exponential factors in (19) and the FFT of the z sequence have been precomputed.
Note that this cost is approximately four times the cost of the usual m-point FFT.
The efficiency of the above algorithm depends on the efficiency of the underlying
circular convolution algorithm used to evaluate (18). A variety of fast convolution
algorithms exist in the literature (see [2] and [11]), and one of these may be more
attractive than using FFTs, depending on the computer hardware and the applica-
tion. Furthermore, FFTs over fields other than the complex numbers (see [11]) may
be profitably employed in some instances. However, for simplicity in assessing the
computational costs of algorithms, we will assume that ordinary complex FFTs are
employed. We will also assume when assessing costs that the sizes of DFTs and
FRFTs are powers of 2, although the algorithms to be discussed are valid for any size.
Hereafter only the dominant term of these computational costs will be listed, since
lower-order terms are generally overshadowed by implementation details, especially
for large sizes.
3. Computing longer and shorter segments of results. Formula (19) gives
the first rn values of the fractional Fourier transform. Multiple segments of rn values
can be computed even more efficiently. For example, suppose we wish to compute
the first r results of an FRFT, where r qm. These can be efficiently computed
by repeating formulas (19)-(22) for s 0, m, 2m,..., (q- 1)m. In this case it is
reasonable to assume that for each value of s, the DFT of the appropriate z sequence
has been precomputed. Significantly, the DFT of the y sequence needs to be computed
only once. Thus each segment of rn results can be computed by multiplying the DFT
of the y sequence by the precomputed DFT of the appropriate z sequence, performing
an inverse 2p-point FFT on the result, and multiplying by exponentials as in (19).
The dominant cost of computing r results in this manner is 10r log 2 rn floating point
operations (when r is large compared to m).
The discussion in the previous paragraph assumed that we are computing the
first r values of the FRFT. However, any set of r results that is the union of m-long
contiguous segments can be 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 rn in length can be efficiently 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 be presented first.
Suppose that we wish to compute the first rn values of the DFT of the n-long
sequence x, where n qm. We can write
m--lq--1
(23) F(x) E E Xjd-lqe’-27ri(jd-lq)k/n
=0 j=0
q--1 m--1
(24)

j=0
e -:’iyk/’
=o
xy+qe -eitk/m
FRACTIONAL FOURIER TRANSFORM 393

(e)
q-1

’ -’/(). 0 <k< ..
Downloaded 09/07/13 to 18.7.29.240. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

j=0

where yj denotes the m-long sequence (xj+tq, 0 <_ < m). This means that the first
m vahes of the n-point DFT of x can be computed by writing the input as a q m
matrix in column major order, performing m-point FFTs on each row, multiplying

_
the results by certain exponentials, and then summing each column. The dominant
computational cost of this procedure is 5n log 2 m floating point operations, which is
less than that of computing a full-sized n-point FFT. Unfortunately, this savings is not

_
significant in the important special case m n/2, a case we have already encountered:
recall that only the first half of the DFT results in (19) are required.
Formula (25) may be easily generalized to compute m values of the DFT starting
at any index s. We then obtain
q-1
(26) Fk+s() E -2rij(k+s)/nFk(ZJ)’
j=o
0 k < m,

where zj (xj+lqe -2rils/m, 0 < m).


The scheme described by (25) can be seen as an abbreviated form of an FFT
algorithm sometimes called the "four step EFT" (see [1, p. 150], [4], [9, p. 569], and
[17, pp. 202-203]). This FFT algorithm has received renewed interest lately due to
its suitability for 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 method can be applied to compute an m-long segment of an
n-point FRFT:
m--lq--1
(m a(.)
1=o j=0
x+-(+)
q--1 m--1

..
j=0 =0
q--1
() -"a(, q), 0 _< <
j=0

where yj (xj+q, 0 <_ < m). As above, this means that the first m values of
the n-point FRFT of x can be computed by writing the input as a q m matrix in
column major order, performing m-point FRFTs on each row, multiplying the results
by certain exponentials, and then summing each column. Note that the exponential
factors in (29) may be incorporated into the exponential factors in formula (19) and
thus do not need to be counted in the computational cost. Hence the dominant cost
of this scheme is 20n log 2 m floating operations, which is less than that of directly
computing an n-point FRFT.
The corresponding formula for an m-long segment of an n-point FRFT beginning
at some index s is

(a0) a+(, )=
q--1

j=0
-’(+)"a(, q), 0 <_ < ..
Downloaded 09/07/13 to 18.7.29.240. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

394
_
DAVID H. BAILEY AND PAUL N. SWARTZTRAUBER

where zj (Xj+lqe -2rilqsa, 0 < m). Note that the exponential factors in these
zj vectors can be incorporated into the factors in (20) and (22) and thus do not need
to be counted. Hence the dominant cost of this scheme is 20n log 2 m floating point
operations, the same as above.
4. Computing DFTs of sequences with prime lengths. It is popularly
believed that DFTs can only be evaluated by a fast algorithm when the size m of the
transform is a highly factorable integer, such as a power of 2. But since the DFT is
merely a special case of the FRFT, and since the size 2p of FFTs used in evaluating
the FRFTs may be chosen to be any convenient value (such as a power of 2) that is
at least 2m- 2, it follows that the fast fractional Fourier transform algorithm can be
used to compute m-point DFTs even when m is a prime. The computational cost is
only about four times the cost of a power of 2 FFT of comparable size. This algorithm
was first presented in Bluestein’s paper [6].
It should be emphasized that Bluestein’s algorithm permits DFTs of any size
(not just primes) to be computed using power of 2 FFTs, which are generally the
most efficient FFTs available on computer system libraries. Thus, depending on the
computer system and implementation, Bluestein’s algorithm may be more efficient
for computing DFTs of certain sizes than conventional FFTs. On some computer
systems, such as hypercubes, Bluestein’s algorithm is preferable for computing DFTs
of any size that is not a power of 2 [15].
Perhaps one reason that Bluestein’s algorithm has not received more attention is
that another FFT algorithm for prime m was discovered at about 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 about half as costly as Bluestein’s algorithm.
Unlike Bluestein’s algorithm, however, Rader’s algorithm does not generalize to the
case of arbitrary a, and there is little flexibility in the permissible sizes of FFTs that
may be used for efficient evaluation.
There are a number of other important applications of the basic technique behind
Bluestein’s algorithm; we have termed this technique the FRFT. Several of these

_
applications will be presented here, including some that were originally presented in

5. Computing DFTs of sparse sequences. In this section we will describe


efficient algorithms for computing DFTs of sequences with large numbers of zero el-
ements. DFTs of such sequences arise in trigonometric interpolation, as we shall see
in 7. Another common application is in digital filtering, where high-order harmonics
are often zeroed before performing an inverse FFT. A third instance is in the com-
putation of the "linear" or "aperiodic" convolution, which is defined on the n-long
n--1
sequences x and y as the 2n-long sequence z (j=o xjYk-j, 0 k < 2n- 1), where
the subscript k- j is restricted to the range 0 _< k- j < n- 1. Linear convolutions
arise in applications as diverse as multiprecision arithmetic and the numerical solu-
tion of partial differential equations. This type of convolution is normally evaluated
by padding the n-long input sequences x and y with zeros to length 2n, and then
computing their 2n-point circular convolution using FFTs.
Three cases of sparse DFTs will be considered. First we will compute the complete
DFT of an input sequence where only an initial segment is possibly 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. Suppose we wish to compute the DFT of an n-long sequence x that
is known to be zero except for the first m entries. This can be done by employing a
FRACTIONAL FOURIER TRANSFORM 395

conventional FFT-based decimation scheme, as follows:


m--1
Downloaded 09/07/13 to 18.7.29.240. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

(31) F+t(a) E x e-(+)/


j=o
m--1
(32) E x e-/e-t/’
j=0

(33) =Ft(Yk), O < m, O k < q,


where y (xje -2ik/, 0 j < m). Thus, for each k, 0 k < q, the m DFT values
beginning at index k and increing with stride q can be computed with a conventional
m-point FFT on the input sequence multiplied by certain exponentials. The dominant
cost of computing all n elements of the DFT by this procedure is 5n log 2 m floating
point operations, which is less than that of an n-point FFT. Unfortunately, this
savings is not significant in the important special case m n/2, a ce we have
already encountered: note that the sequence y defined in (13) and (15) is of this
form.
If only a single contiguous segment of the n-point DFT is required, then this
approach is unsatisfactory, since we can only obtain DFT results with a spacing of q
from the above. rther, the conventional method for computing a segment of a DFT
in 3 is also unsatisfactory since each of the DFTs in the summation (26) must still
be evaluated, with no savings in computation. However, the FRFT can be effectively
applied to this situation.
The simplest ce is when only m values of the n-point DFT are required. In this
ce we have
m--1
-2ij(k+s)/n
(34) Fa+(x) zig
j=0
(35) Gk+(y, l/n), 0 k < m,
where y (xj, 0 j < m). The dominant cost here is the cost of an m-point FRFT,
or 20m log 2 m operations. This is less than the cost of.conventional methods whenever
m < n/4 (for sufficiently large n).
Multiple sections can be computed even more economically by merely repeating
(35) for multiple values of s. As indicated in the first paragraph of 3, savings result
because the FFT of the sequence y in (18) needs to be computed only once. The
dominant cost of computing r elements in this manner is 10r log 2 m floating point
operations (when r is large compared to m). Thus up to n/2 elements of the DFT
may be computed by this method, and the cost is still less than computing all or part
of the n-point DFT by a conventional method (for large n).
We will now examine the ce where more than one m-long segment of the input
sequence is possibly nonzero. An m-long segment of the n-point DFT of can be
written
q--lm--1

t=0 j=0
q--1 m--1

=0 j =0
396

(38)
_
DAVID H. BAILEY AND PAUL N. SWARTZTRAUBER

q--1
e-2(k+8)t/qGk+8(yt, l/n), 0 <_ k < m,
Downloaded 09/07/13 to 18.7.29.240. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

/=0

where yt (xj+Im 0 j < m). With the assumption that only a few m-long input
segments are zero, it follows that most of the terms of this summation are zero. Thus
only a few of these FRFTs need to be actually computed.
We can assume that the exponential factors in (38) have been incorporated into
the exponential factors of formula (19). Suppose that only t of the input segments yt
contain possibly nonzero elements. Then the total computational cost of computing
an m-long segment of the DFT is on the order of 20tm log 2 m operations. This is less
than the cost of computing a segment of a DFT using the conventional scheme (33)
whenever t < q/4 (for large n).
As indicated in 3, multiple segments of results can be even more efficiently com-
puted by repeating (38) for several values of s. The dominant cost of computing r
values of the DFT in this way is lOtr log 2 m floating point operations (when r is large
compared to m). This is less than conventional methods whenever tr < n/2 (for large
n). Thus this method is not appropriate unless only a few segments of the input are
possibly nonzero and only a few segments of the result are desired.
6. Analyzing sequences with non-integer periodic components. In many
practical applications of DFTs and FFTs, notably in signal processing, it is not really
true that the underlying time series being studied is exactly periodic with period 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 components with periods that are not exactly whole numbers.
One instance of such an application is in computing solar positions. Daily solar

_
altitude and declination angles are readily available from almanacs. Such positions
are not periodic with a period of 365 days, but they are very nearly periodic with a
fractional period of approximately 365.2422 days. In other words, the apparent motion
of the sun has a fairly simple Fourier representation based on a period of 365.2422
days, but the representation is not simple based on a period of 365 days. In this
example we know from a priori information what the true period is. But in general
we usually do not even know that. Thus we seek techniques that can determine an
unknown period and compute the spectrum based on the true period once it is known.
Let x be the m-long sequence (e 2rij//m, 0 j < m) where is unknown and
not an integer. Then the DFT of x is
m--1
(39)
j=O
m-1

j--0

1 e 2i(-k)
(41) 1 e2"i(-k)/"

(42) e,i(_k)(m_l)/m sin[(- k)] 0 < k < m.


sin[r(- k)/m]’
Thus the spectrum 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
FRACTIONAL FOURIER TRANSFORM 397

from /. It is fairly easy to determine the unknown frequency to within one unit
by examining these magnitudes. Suppose that this has been done and that b is the
Downloaded 09/07/13 to 18.7.29.240. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

greatest integer less than/.


One way to determine/ more accurately is to apply the following formula, which
was brought to the authors’ attention by Oscar Buneman of Stanford University:

b+
m sin(Tr/m)
(43) tan-

The derivation of this formula is straightforward from (42). It is exact for a pure
sinusoid signal with frequency in the range b < < b + 1. In the presence of noise
or higher-order harmonics, its accuracy degrades, but it is nonetheless quite usable
for many applications.
An alternate method, which is somewhat more robust in the presence of noise, is
based on the fractional Fourier transform. In particular, the FRFT can be used to
eciently compute a high-resolution spectrum in the interval [b, b+ 1]. The m spectra
values starting at index b and increasing with interval are given by
m-1
(44) rb+(x,)- Ex
j=0
m--1
(45) E Xje-27rijb/me-27rijkh/m
j=0

(46) Gk(y, 5/m), 0 <_ k < rn,


where y (xje -2Eijb/m, 0 < j < m). is typically chosen to be 1/x/- which means
that only the first x/ values of the FRFT need to be computed to span [b, b + 1].
Thus the cost of this calculation can be further reduced by applying the techniques
of 3. Suppose that Fb+kh(X) is the largest element of this high-resolution spectrum.
Then an accurate estimate of the true frequency/ is given by b + kS.
Once an accurate value of fl has been obtained using either of these two methods,
we might ask if the spectrum can be adjusted in some sense so that the integer
index b corresponds to the fractional frequency/. Ideally, the adjusted spectrum of
a monochromatic signal would have a "spike" at b and zeros at all other indices. To
that end, let b be the greatest integer less than as above, and let c b//, so that
a is slightly less than 1. Then consider the formula
r--1
(47) Xk E xY e-eEiyk/(m‘)
j=0

(48) =G z,-
rna
0_<k<r,

where r is the nearest integer to mc and where z is the a vector truncated to r


elements. For computational purposes, it may be preferable to merely set z equal to
a, except that zj 0 for r < j < m.
When r -ma is an integer, we have
r--1
(49) Xk E xJ e-2ijk/’
j=0
398 DAVID H. BAILEY AND PAUL N. SWARTZTRAUBER
r--1
(50) e 2rij/rn e-2rijk/r
Downloaded 09/07/13 to 18.7.29.240. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

j=0
r--1
(51) e -2ij(b-k)/r
j--0

where 5(k, b) 1 if k b, but zero otherwise. Thus in this case we have precisely the
desired result.
When ma is not an integer, it is still true that Xb r, but the off-peak values
are not zero. However, their magnitude is nonetheless much smaller than r. To make
this precise, let s-r- ma, and note that Isl _< 5" Then we can write

r-1
Xje-2rijk/(ma)
j=0

r--1
(54) e-2rij(b-k)/(mc*)
j=0

1 e 2rrir(b-k)/(ma)
(55) 1 e2ri(b-k)/(rna)
1 e 2ris(b-k)/(ma)
(56) 1 e 2ri(b-k)/(ma)
sin[Trs(b- k)/(rna)]
(57)
sin[-(b- k)/(ma)]
When k is close to b, we find that to a first-order approximation IXk[ is equal
to Is I, which is bounded by and therefore quite small compared with Xb r.
When k is large (near r) and b is small, or the reverse, the situation is not quite as
favorable, since the denominator of (57) might become small. However, we still find
that the magnitudes of the off-peak spectral values Xk are bounded by rn/(r/) or
rn/[Tr(m- )], which are small compared with r provided that is neither a very
small nor a very large fraction of m.
If the original signal is not monochromatic with frequency fl, but instead consists
of a component with frequency / plus several harmonics of this frequency, these
higher-order harmonics will be evident in the adjusted spectrum at k 2b, 3b, etc.
In this case an analysis of off-peak amplitudes gives results that are somewhat larger
than above but still quite small compared with r for transforms of reasonably large
sizes. The formula (48) also gives good results with the addition of moderate Gaussian
noise.
7. Performing high-resolution trigonometric interpolation. The FFT is
frequently used to perform trigonometric interpolation. For example, given a sequence
x in tabular form, we may wish to determine approximate midpoint values xj+i/2.
In the previous sections we have used the "aliased" form of the DFT:
m--1
0 <_ <
j=0
FRACTIONAL FOURIER TRANSFORM 399

In this section we will use the "unaliased" form of the DFT, which is defined on
5 (xj, -m/2 <_ j < m/2) as
Downloaded 09/07/13 to 18.7.29.240. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

,/2-1
_< <
j----m/2

The inverse unalied DFT is defined analogously. For most purposes, the una-
liased form is not as convenient the aliased form, because two different formul
are required for m even and m odd (we will sume in the following that m is even).
rthermore, most FFT software for computing DFTs assumes the alined form.
In discussions of trigonometric interpolation, however, the unaliased form is pre-
ferred. The problem is that, although Fk () Fk (x) for each k, their iflterpolated
values may be different (depending on how they are defined), so that F+/2()
Fk+/2(). This disagreement stems from the fact that the function fk(t) e t h an
infinite number of alternate characterizations (or "aliases") on the points tj 2j/m,
namely, f+m(t) e i(k+m)t for all integers m. These functions are indistinguishable
from one another on the points tj. However, at intermediate or interpolated values
fk(t) and fk+m(t) are different. Therefore a choice of basis functions for the trigono-
metric expansion of a function f(t) must be made. The most common choice is the
set (f(t) e ikt, -m/2 k < m/2). This set h minimum variance on 0 t 2
and thus ensures that the interpolated values will be as smooth a possible.
For computational purposes, the unaliased form can be easily reduced to the
aliased form. One approach is to define m-long sequences y and Y such that yj
(--1)JXj_m/2 for 0 j < m and Yk (--1)kk-m/2(&)
for 0 k < m. Then

(60)
/:-
e -’i -2Eij(-/:)/m
(61) xje
j=--m/2
m--1
-2i(j-m/2)/
(62) Xy_m/e
j=0
m-1
-iyk/
(63) yje
j=0

(64) Fk(y), 0 k < m.


Thus Y is the ordinary m-point DFT of y. Alternately, we can define yj xj
for 0 j < m/2 and yj Xj-m for m/2 j < m, and similarly define Yk in terms of
k. Then again Y is the ordinary DFT of y. Either way, FFT software designed to
compute the usual m-point aliased DFTs can be readily employed to compute m-point
unaliased DFTs.
We will now develop the traditional approach to trigonometric interpolation. Sup-
pose we wish to compute q interpolated values between each of the m values of &.
Let n qm. We first compute the inverse unaliased DFT of & and then extend this
spectra to the n-long sequence as follows"

(65) Ya [(&), [k[ < m/2,


(66) Y_/ 1--1
_/u(&),
400 DAVID H. BAILEY AND PAUL N. SWARTZTRAUBER

(67) Ym/2 _,/2(),


(68) Yk --0, -n/2 < k < -m/2,
Downloaded 09/07/13 to 18.7.29.240. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

(69) Y -O, m/2 < k < n/2.


The splitting of _m/2(;) in the above is necessary to produce the most accurate
interpolated values. For example, if this is not done then trigonometric interpolation
on purely real data will yield complex values. This split is not necessary if m is odd.
The n-long vector /of interpolated results yj Xj/q, where n qm, can now be
computed from the unaliased n-point DFT of :
m/2
(70) YJ-- E Yke-2i(J/q)k/’

n/2--1
(71) E
k---n/2
Yce-2iJa/n’ -n/2 < k < n/2.

This approach requires an m-point inverse FFT followed by an n-point forward


FFT, so that the dominant cost is 5n log 2 n floating point operations.
This cost can be reduced somewhat by applying a decimation technique similar
to that employed in equations (31)-(33):
m/2
(72) yj+q yk e- 2rik(j +lq) /
k---m/2

(73) Yk e-- 2ikj /n e-- 2rciklq/n


k---m/2

(74) -E yke-2rikj /n e-2riklq/n _. Yrn/2e-rimj /n e-rirnlq/n


k---m/2
(75) (2)+ (-1)tY./2e -ij/q
’(Wj)+ (-1)t2Y,/2 cos(j/q), -m/2 <_ < m/2, O <_j < q,
where 2j (Yke -2ikj/’, -m/2 < k < m/2) and where 2j except that
Wi
(I?j)_,/2 the leftmost element of lgVy, is zero. The formulas (75) and (76) differ
only in that the second is more appropriate for working with real data, since a real-
valued FFT may be used for computation. The dominant cost of computing all n
interpolated values in this fashion is 5n log 2 m floating point operations.
In many applications of trigonometric interpolation, only a segment of the n
interpolated values are required. In this case the cost can be significantly reduced
by applying the FRFT, using techniques similar to those in 5. Suppose we wish to
compute only the first m interpolated values in (71). This expression can be converted
to a FRFT as follows:

(77) YJ E Yk-m/2e-2ri(k-m/2)j/n
k=O

(78) e’J/q
E Yk-m/2e-2’kj/n
k=O
FRACTIONAL FOURIER TRANSFORM 401

(79) eiJ/qGj(Z, l/n), 0 <_ j < m,


where Z is the (m + 1)-long sequence (Yk-m/2, 0 <_ k <_ m).
Downloaded 09/07/13 to 18.7.29.240. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

Suppose for a moment that m is a power of two, and that the most efficient FFT
sizes employed for evaluating the FRFT on a given computer are also powers of 2. It
might at first appear 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 be doubled to the
next highest power of 2, with a corresponding sharp increase in computational cost.
However, recall that the parameter p of (18) can be any integer greater than one less
than the size of the FRFT. Thus 2m-point FFTs can still be 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 interpolated values
beginning with z0 x8 and increasing with interval 5 as follows:

(so)
m
(81) Yk_m/2 e-2Ei(-/2)(+j)/
k=O
m
(82)
k=0

(83) e’i(+i)Gy(Z, g/m), 0 j < m,


where Z is the (m + 1)-long sequence (Yk_m/2e -2i/m, 0 k m).
Since the exponemial factors in (83) can be incorporated into the precomputed
exponemials 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 floating point operations. This
is less than the cost of the conventional procedure in (75) and (76) whenever m < n/4
(for large n). Larger sections of results can be efficiently obtained by repeating (83)
for different starting indices s as indicated in 3.
8. Detecting lines in images and detecting signals with linearly drifting
frequencies. The authors first learned of the problem of detecting signals with lin-
early drifting frequencies in discussions with scientists associated with the Search for
Extraterrestrial Intelligence (SETI) project at NASA Ames Research Center. In fact,
signals with drifting frequencies will arise in any situation where there is acceleration
in the direction between the emitter of the signal and the receiver. It often can be
assumed that over the period of observation the frequency drift is linear, so we will
make this assumption in the following discussion.
It will first be shown that the problem of detecting a signal with a linearly drifting
frequency can be reduced to the problem of detecting a straight line in a noisy two-
dimensional array. It will then be shown that the line detection problem can be
efficiently solved using the FRFT.
Suppose 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 than m. Thus the time series can be written
(84) yj ae 2Ej(+j’)/m + bgy, 0 <_ j < n,
where a and b are scaling factors, and gi are complex Gaussian deviates with unit
variance. We will be interested in applications where is a is much less than b, or in
402 DAVID H. BAILEY AND PAUL N. SWARTZTRAUBER

other words where the amplitude of the signal is much less than the amplitude of the
noise.
Downloaded 09/07/13 to 18.7.29.240. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

The usual approach to detecting and analyzing such signals is to consider the
n-long time series as a q m array in row major order. We first compute the m-point
DFT of each row in this array (i.e., the DFT of successive contiguous m-long segments
of y), and then compute squared magnitudes of each resulting array entry (see [8] and
[10]):
(85) Xj,k IFk(zj)l 2, O <_j < q, O <_ k < m,
where z (Yy+zm, 0 <_ < m). When the frequency of the signal is constant
(i.e., when T is zero), detection of the signal can be achieved by merely summing the
columns of X to form an m-long vector. The "bin" containing the signal will then be
evident as a statistically large entry in this sum vector.
When the frequency of the signal to be detected is not constant (i.e., when T
is nonzero), this method fails since the "bin" containing the signal is different 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
slope, and thus in theory it is possible to detect such signals by computing sums in
the X array over lines with a range of slopes a:
q--1
(86) Sk(O) Xj,nint(kWaj) 0 <_ k < m,
j=0

where nint denotes nearest integer. When k is close to w and a is close to 2roT, then
Sk(a) has a statistically large value and detection occurs. Unfortunately, the direct
computation of all these sums over a range of possible slopes a is very expensive [8].
Consider what appears at first to be an even more expensive calculation, namely
computing sums of values interpolated along the rows of X. In particular, consider
the array of sums
q--1
(87) S,k Xy,k+(+)y, 0 _< r < q, 0 _< k < m,
j=O

where the subscript k + (a q-5r)j is interpreted literally as its fractional value, namely,
as the result of trigonometric interpolation along the rows of the X array. Except
for the fractional subscripts, this corresponds to computing the sums Sk(a), where
a a q-5r. The location (r, k) of the maximum value in the S array yields the
unknown slope ar and starting position of the detected line. From these values the
desired drift rate and the initial frequency of the signal can be easily determined.
This array of sums can be efficiently computed using the FRFT as follows. Define
Xj,k for negative k so that Xj,k Zj,k+m. Then let (&j,z, -m/2 <_ < m/2) be the
unaliased DFT of the jth row of X, i.e., of the vector (Xy,k, -m/2 <_ k < m/2). Now
set x,t &j,t for -m/2 < < m/2, but Xj,_m/2 Xj,m/2 -j,--m/2. As explained
in 7, splitting the "Nyquist" value of the DFT in this manner is necessary to obtain
purely real results when interpolating in real data.
Now we can write
m/2
(ss) --2rikl/m
FRACTIONAL FOURIER TRANSFORM 403

(89) x,+(.+)= x,e


Downloaded 09/07/13 to 18.7.29.240. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

Thus

e-2rikl/m

where

(93) sr,z G(zz, r/m),


(94) z (xj,e -2Eij/m, 0 <_ j < q).
Hence this summation algorithm consists of performing inverse FFTs on rows of
the X array, followed by FRFTs on the resulting columns (with certain exponential
multipliers), followed by forward FFTs on the resulting rows. The computational cost
of entire detection algorithm is approximately 10n log 2 n floating point operations, or
in other words only about twice the cost of an n-point complex FFT. For complete
details, see [14].
9. Conclusions. We have described a number of applications of the FRFT and
its associated fast algorithm. The flexibility and efficiency of these methods permits
new solutions to a variety of problems that involve discrete Fourier analysis. In many
cases, the resulting algorithms are faster than the conventional methods of solution
that utilize ordinary FFTs. In fact, for sufficiently large problem sizes, these methods
are often faster than the conventional algorithms by arbitrarily large factors.
Acknowledgments. The authors wish to thank Kent Cullers of NASA Ames
Research Center and Izidor Gertner of the CUNY Graduate Center for informative
discussions on this subject.

REFERENCES

[1] R. C. AGARWAL AND J. W. COOLEY, Fourier transform and convolution subroutines for the
IBM 3090 vector facility, IBM J. Res. Devel., 30 (1986), pp. 145-162.
[2] , New algorithms for digital convolution, IEEE Trans. Acoust. Speech Signal Process.,
25, (1977), pp. 392-410.
[3] L. AUSLANDER, I. GERTNER, AND R. TOLIMIERI, The discrete Zak transform: Applications
to time-frequency analysis and synthesis of non-stationary signals, IEEE Trans. Acoust.
Speech Signal Process., to appear.
[4] D. H. BAILEY, FFTs in external or hierarchical memory, J. Supercomputing, 4 (1990), pp. 23-
35.
[5] , A high-performance FFT algorithm for vector supercomputers, Internat. J. Supercom-
puter Appl., 2 (1988), pp. 82-87.
[6] L. I. BLUESTEIN, A linear filtering approach to the computation of the discrete Fourier trans-
form, IEEE Trans. Audio Electroacoust., 18 (1970), pp. 451-455.
404 DAVID H. BAILEY AND PAUL N. SWARTZTRAUBER

[7] J. W. COOLEY AND J. W. TUKEY, An algorithm for machine computation of complex Fourier
series, Math. Comp., 19 (1965), pp. 297-301.
[8] D. K. CULLERS, I. R. LINSCOTT, AND B. M. OLIVER, Signal processing in SETI, Comm. ACM,
Downloaded 09/07/13 to 18.7.29.240. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

28 (1985), pp. 1151-1163.


[9] W. M. GENTLEMAN AND (. SANDE, Fast Fourier transforms--for fun and profit, AFIPS Proc.,
29 (1966), pp. 563-578.
[10] I. GERTNER, Optimal detection and separation of chirp signals, Proc. ICASSP-90, 1990, to
appear.
[11] H. J. NUSSBAUMER, Fast Fourier Transform and Convolution Algorithms, Springer-Verlag, New
York, 1981.
[12] L. R. RABINER, R. W. SCHAFER, AND C. M. RADER, The chirp z-transform algorithm and its
application, Bell System Tech. J., 48 (1969), pp. 1249-1292.
[13] C. M. RADER, Discrete fourier transforms when the number of data samples is prime, Proc.
IEEE, 56 (1968), pp. 1107-1108.
[14] P. N. SWARZTRAUBER AND D. H. BAILEY, EJficient detection of a continuous wave signal with
a linear frequency drift, submitted for publication.
[15] P. N. SWARZTRAUBER, R. A. SWEET, W. L. BRIGGS, V. E. HENSON, AND J. OTTO, Bluestein’s
FFT for arbitrary N on the hypercube, submitted for publication.
[16] P. N. SWARZTRAUBER, FFT Algorithms for vector computers, Parallel Comput., 1 (1984),
pp. 45-63.
[17] , Multiprocessor FFWs, Parallel Comput., 5 (1987), pp. 197-210.

You might also like