Bailey 1991
Bailey 1991
Bailey 1991
_
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
(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
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
__
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:
(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,
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
(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,
..
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
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)/"
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
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
(48) =G z,-
rna
0_<k<r,
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
n/2--1
(71) E
k---n/2
Yce-2iJa/n’ -n/2 < k < n/2.
(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
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
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
Thus
e-2rikl/m
where
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