Professional Documents
Culture Documents
Daniel Potts
Gabriele Steidl
Manfred Tasche
1.1 Introduction
Let d := [? 12 ; 21 )d and IN := fk 2 Zd : ? N2 k < N2 g, where the
inequalities hold componentwise. For xk 2 d , vj 2 N d , and fk 2 C , we
are interested in the fast and robust computation of the discrete Fourier
transform for nonequispaced data (NDFT)
f (vj ) =
k2IN
fk e?2ixk vj
(j 2 IM ) :
(1.1)
For arbitrary nodes, the direct evaluation of (1.1) takes O(N d M d) arithmetical operations, too much for practical purposes. For equispaced nodes
xk := Nk (k 2 IN ) and vj := j (j 2 IN ), the values f (vj ) can be computed
by the well-known fast Fourier transform (FFT) with only O(N d log N )
arithmetical operations. However, the FFT requires sampling on an equally
spaced grid, which represents a signicant limitation for many applications.
For example, most geographical data are sampled at individual observation
points or by fast moving measuring devises along lines. Using the ACT
method (a daptive weight, c onjugate gradient acceleration, T oeplitz matrices) [12] for the approximation of functions from scattered data [22], one
has to solve a system of linear equations with a block Toeplitz matrix as
system matrix. The entries of this Toeplitz matrix are of the form (1.1)
and should be computed by ecient NDFT algorithms. Further applica-
This is page 1
Printer: Opaque this
tions of the NDFT range from frequency analysis of astronomical data [19]
to modelling and imaging [4, 23].
Often either the nodes in time or in frequency domain lie on an equispaced grid, i.e., we have to compute
f (vj ) =
or
h(k) :=
k2IN
X
j 2IN
fk e?2ikvj =N
(j 2 IM )
(1.2)
fj e?2ikvj =N
(k 2 IM ):
(1.3)
Several methods were introduced for the fast evaluation of (1.2) and (1.3).
It may be useful to compare the dierent approaches by using the following
matrix-vector notation: For the univariate setting d = 1 and M = N , the
equations (1.2) can be written as
f^ = AN f
(1.4)
with
N=2?1
2?1
?2ikvj =N N=2?1 :
f^ := (f (vj ))N=
j =?N=2 ; f := (fk )k=?N=2 ; AN := e
j;k=?N=2
(1.5)
2?1
with h^ := (h(k))N=
k=?N=2 .
The dierent NDFT algorithms can be divided into three groups:
I. Based on local series expansions of the complex exponentials like Taylor
series [2] or series of prolate spheroidal functions [18] algorithms were developed which are more ecient than the direct evaluation of the NDFT. In
matrix-vector notation, the matrix AN was approximated by the Hadamard
(componentwise) product of the classical Fourier matrix
N=2?1
FN := e?2ikj=N j;k=?N=2
AN FN E :
The rank of E determines the approximation error. Multiplication of the
right-hand side with a vector means to perform rank(E ) times an FFT of
length N .
II. A quite dierent idea was introduced in [9] for the univariate case.
Note that the idea can be generalized for \line settings". Using Lagrange
interpolation, the matrix AN can be exactly splitted as
AN = D1 CD2 FN ;
(1.6)
where Di (i = 1; 2) are diagonal matrices and where
2?1
C := (1='((vj =N ) ? (k=n))N=
j;k=?N=2
with a monotone decreasing function '. A. Dutt and V. Rokhlin [9] originally have used '(x) := tan(x) ? i. For real input data, a more ecient
modied version with '(x) := 1=x was suggested in [6]. See Figure 1.1. The
multiplication with C can be approximately realized by the fast multipole
method [13].
In contrast to the other NDFT methods, the splitting (1.6) works also
for the inverse matrix, i.e. A?N1 = FN D3 C T D4 , such that for suitably distributed nodes vj , the same algorithm can be used for the inverse transform.
For clustered nodes, the inverse approach does not work, since the entries
of the diagonal matrices dier extremely. See [6].
III. The most ecient NDFT algorithms for the computation of (1.2)
and (1.3) we have noticed the rst time in [8, 4]. See also [5, 20]. In [25],
we proposed a unied approach to the ecient computations of (1.2) and
(1.3), which includes [8, 4]. In matrix-vector notation our approach to (1.2)
can be written as
AN BFn D (n := N ; > 1) ;
(1.7)
with a modied diagonal matrix D and with a sparse matrix B with nonzero
entries ((vj =N ) ? (l=n)), where approximates '. The approaches in
[8, 4] dier only by the choice of the window function '. Now we have
learned that this algorithm with several window functions ' is a remake of
a gridding algorithm, which was known in image processing context years
ago [23, 15, 19]. The gridding method is simply the transposed version of
(1.7) for the ecient computation of (1.3).
However, the dependence of speed and accuracy of the algorithm on the
choice of the oversampling factor and the window width of ' was rstly
investigated in [8, 4]. In [25] the error estimates from [8] were improved,
which leads to citeria for the choice of the parameters of the algorithm.
In this paper, we repeat the unied approach (1.7) for the fast computation of (1.2) from [25] and show the relation to the gridding algorithm
for the fast computation of (1.3). We will see that our approach is also
closely connected with interpolation methods by \translates of one function" known from approximation theory. We include estimates of the approximation error.
3.5
[sec]
2.5
[8]
[9]
[6]
original
1.5
0.5
0
0
500
1000
1500
2000
2500
3000
3500
4000
4500
f (v) :=
k2IN
fk e?2ikv
(1.8)
s1 (v) =
=
k2In
k2Zd
with
g^k :=
Z
(1.10)
X
r2Zdnf0g k2In
X
l2In
gl e2ikl=n ;
(1.11)
If the Fourier coecients ck (') become suciently small for k 2 ZdnIn and
if ck (') 6= 0 for k 2 IN , then we suggest by comparing (1.8) with (1.10) to
set
g^k := 0fk =ck (') kk 22 IINn;I :
(1.12)
n N
Now the values gl can be obtained from (1.11) by the reduced inverse dvariate FFT of size N . If ' is also well-localized in time domain such that
it can be approximated by a 1-periodic function with supp \ d
2m d (2m n), then
n
gl (wj ? nl )
l2In;m (wj )
X
(1.13)
gl := n?d
3: Set
s(wj ) :=
k2IN
g^k e?2ikl=n (l 2 In ):
l2In;m (wj )
gl (wj ? nl ) (j 2 IN ) :
B :=
and where
N=2?1 ;n=2?1
l
(wj ? n )
j =?N=2;l=?n=2
2?1
D := O j diag(1=(n ck (')))N=
k=?N=2 j O
with (N ,(n ? N )=2)-zero matrices O.
(1.14)
T
(1.15)
If only few nodes vj dier from the equispaced nodes j , then the approximating function s1 of f can be alternatively constructed by requiring
exact interpolation at the nodes j=n, i.e. f (j=n) = s1 (j=n) (j 2 In ). As
consequence we have only to replace ck (') in step 1 of Algorithm 1.1 by
the discrete Fourier sum of ('(l=n))l2In . The approximation of a function
f by an interpolating function s1 which is a linear combinations of translates of one given function ' on a grid was considered in various papers in
approximation theory. See for example [16] and also [4].
Let us turn to the gridding algorithm for the fast computation of (1.3). It
seems to be useful to introduce the gridding idea by avoiding the convenient
notation with delta distributions. In short: For
g(x) :=
we obtain that
ck (g) =
j 2IN
j 2IN
fj '(x + wj );
such that h(k) in (1.3) can be computed, if ck (g) is known. Now we determine
Z X
ck (g) =
fj '(x + wj ) e2ikx dx
d j 2IN
which introduces an aliasing error. Furthermore, we replace ' by its truncated version , which introduces a truncation error. Obviously, this results
in a \transposed" Algorithm 1.1, which reads for d = 1 in matrix{vector
notation
ATN DT Fn B T :
For l 2 In we introduce the index set Jm;n (l) := fj 2 IN : l ? m nwj
l + mg.
l2In
g~l e?2ikl=n (k 2 IN ):
k2IN
l2In
(1.16)
To ll these error estimates with life, we consider special functions ' in the
case d = 1. In [25], we have proved
Theorem 1.1. Let (1:2) be computed by Algorithm 1:1 with the dilated, periodized Gaussian bell
'(v) := (b)?1=2
r2Z
e?(n(v+r)) =b
2
(v) := (b)?1=2
r2Z
Here [?m;m] denotes the characteristic function of [?m; m]. Let > 1 and
1 ?( k )2 b
and
1 b (22m
?1) . Then ck (') = n e n
1
2
1 + (2 +1)b2
1
2
Figure 1.2 illustrates our theoretical results by numerical tests. The tests
were implemented in MATLAB. The C{programs for Algorithm 1.1 were
taken from [6] and were included by cmex. The programs were tested on a
Sun SPARCstation 20 in double precision.
Let N = 2t . As example we consider the computation of
f (wj ) =
t ?1
2X
k=0
e?2ikwj (j 2 I2t )
(1.18)
Figure 1.2 (left) shows the error ENDFT (10) for 10 numerical tests and for
various m = 6; : : : ; 20. Figure 1.2 (right) presents the computation time (in
seconds) for the cascade summation of (1.2) and for Algorithm 1.1. Note
that for t = 13 the fast Algorithm 1.1 requires for less than one second
while the direct method based on cascade summation takes more than 3
hours.
5
10
10
10
8
2
10
9
1
10
10
11
10
12
10
13
2
10
14
3
10
10
15
20
10
12
14
16
10
Theorem 1.2. Let (1:2) be computed by Algorithm 1:1 with the dilated, periodized, centered cardinal B-spline
'(v) :=
r2Z
otherwise
n
k=n
and for > 1 and 0 4m=3,
?
E1 2m4m? 1 N2
(2 ? 1)?2m jf j;1 :
>
:
N=P
2?1
k=?N=2
jfk j jkj .
1
u 2m 2 u 2m + 2 X
u 2m
u+r
u?1
u?r
r=2
r2Z=f0g
Z
2m
1 u 2m
2 u ?u 1 + 2
u ? x dx
1
2m
2m4m? 1 u ?u 1 :
2. Since crn (') = 0 (r 6= 0) and
X
2m
2m
2m
k=n
sin(
k=n
)
sin(
k=n
)
=
n ck+rn (') = k=n + r
k=n
k=n + r
2m
k=n
= n ck (') k=n
;
+r
E1 2m4m? 1
N=
2?1
X
k=?N=2
(k6=0)
j m? :
jfk j jkj n? (k=njk=n
? sgn(k)) m
2
11
The functions h+ (u) := u2m? =(u ? 1)2m and h? (u) := u2m? =(u + 1)2m are
monotonically increasing for u 2 [0; 21 ] and 4m=3. Thus, since jkj N=2, we
obtain the assertion.
12
G(x) :=
that
G^ (v) =
and consequently
k2IN
fk '1 (x ? xk )
k2IN
^
f (vj ) = '^G((vvj )) (j 2 IN ):
1 j
Thus, given '^1 (vj ), it remains to compute G^ (vj ).
Let n1 := 1 N (1 > 1), m1 2 N (2m1 n1 ). We introduce the parameter
a := 1 + 2nm and rewrite G^ (v) as
1
1
G^ (v) =
=
k2IN
X
k2IN
fk
fk
RZd
'1 (x ? xk ) e?2ixv dx
X
ad r2Zd
1
1
fk 1 ( nt ? xk ) e?2itv=n :
1
1
t2Ian k2IN
After the computation of the inner sum for all t 2 Ian , we arrive at computation problem (1.2), which can be solved in a fast way by Algorithm 1.1,
where the corresponding window functions and parameters are indicated
by the index 2. We summarize:
S1 (v) S2 (v) := n?d
13
fk 1 ( nt ? xk ) (t 2 Ian ) :
1
k2IN
2: Form g^t := F (t)=ct ('2 ) (t 2 Ian ):
3: Compute by d{variate FFT
F (t) :=
gl := n?2 d
4: Form
t2Ian1
g^t e?2itl=n
(l 2 In2 ):
gl 2 ( nvj ? nl ) (j 2 IN ) :
1
2
(v =n )
s(vj ) := n?1 d
l2In2 ;m2 j 1
5: Form S (vj ) := s(vj )='^1 (vj ) (j 2 IN ).
Output: S (vj ) approximate value of f (vj ) (j 2 IN ).
The Algorithm 1.3 requires O((1 2 aN )d log(1 2 aN )) arithmetical operations. The approximation error is given by
E (vj ) E1 (vj ) + E2 (vj ) + E3 (vj )
with E1 (vj ) := jf (vj ) ? 'S^ ((vvjj )) j; E2 (vj ) := j S (v'^j )?(vSj )(vj ) j; and E3 (vj ) :=
j S ('v^j )(?vjs)(vj ) j : The error E3 (vj ) is the product of the error of Algorithm 1.1
and j'^1 (vj )j?1 . The cut-o error E2 (vj ) behaves like the truncation error
in Algorithm 1.1. The error E1 (vj ) arising from the discretization of the
integral (1.19) can be estimated by an aliasing argument [11].
The following Table 1.1 (see also [10, 11]) contains the relative approximation error
max jf (vj ) ? S (vj )j= jmax
jf (vj ) :
j 2I
2I
1
introduced by Algorithm 1.3 for tensor products of Gaussian bells '1 and
'2 , for N := 128, m = m1 = m2 , a := NN?m , 1 := a2 , 2 := 2 and for
randomly distributed nodes xj and vk =N in 2 . By the choice of 1 ; 2
and a, the main eort of the algorithm consists in the bivariate FFT of
size 4N = 1024. The third column of Table 1.1 contains the error of Algorithm 1.3, if we simply set a = 1 and 1 = 2 = 2. This change of
parameters in
uences only the rst step of the algorithm. (A similar error
occurs, if we consider 1 as 1-periodic function.) Table 1.1 demonstrates
the signicance of the parameter a.
14
m
5
7
9
11
13
15
a = NN?m
5.96608e-06
5.44728e-08
1.07677e-09
3.31061e-11
1.26030e-12
2.16694e-13
a = 1
0.0180850
0.0318376
0.0541445
0.0906439
0.1507300
0.2500920
15
p p
k
(FN f ) ? FN f k2 u (4 + 2) N log2 N + O(u2 ) kf k2 : (1.24)
The following theorem states that the roundo error introduced by Algorithm 1.1 can be estimated as the FFT error in (1.24) up to a constant
factor, which depends on m and .
r2Z
h(n(x + r)) ;
([?m;m]h)(n(x + r)) :
r2Z
Suppose that ' has a uniform convergent Fourier expansion with monotone decreasing absolute values of Fourier coecients
c (') = 1 h^ ( 2k ) (k 2 Z) :
k
where D 2 C n;N and B 2 RN;n are determined by (1.14) { (1.15), then the
roundo error of Algorithm 1.1 can be estimated by
p p
k
(f^)?f~k2 p
u(4 + 2) N (log2 N + log2 + 2m +p1 ) + O(u2 ) kf k2
4+ 2
with
2
2
1=2
:= (h (0)^+ jjhjjL2 ) :
jh(=)j
16
Let us call an algorithm for the computation of the NDFT (1.2) robust, if
for all f 2 RN there exists a positive constant kN with kN u 1 such that
jj
(f~) ? f~jj2 (kN u + O(u2 )) jjf jj2 :
Then, by Theorem 1.3, Algorithm 1.1 is robust.
kDk = kmax
jn c (')j? = (n jcN= (')j)? = jh^ (=)j? :
(1.25)
2IN k
Since is even and monotonically decreasing for x 0, it is easy to check the
1
integral estimate
1 X 2 (w ? l ) 1
j n
n l2In
n
Then it follows by denition of that
X
(0) +
Z 1=2
?1=2
(x) dx :
Z m=n
h2 (nx) dx
(wj ? nl ) h2 (0) + n
?m=n
l2In
h (0) + jjhjjL :
2
(1.26)
k
2?1;n=2?1
B = (bj;k )N=
j =?N=2;k=?n=2 ; bj;k := (wj ? n ) ;
we get for the j {th component (By)j of By (y = (yk )kn==2??n=1 2 2 C n ) that
2m
X
j(By)j j
2
r=1
2m
X
r=1
jbj;kr j jykr j
!
bj;kr
2
!2
2m
X
r=1
ykr :
2
By (1.26), we have
2m
X
r=1
b2j;kr
k2In
such that
2m
X
r=1
yk2r :
(1.27)
17
kByk =
2
2
N=
2?1
X
j =?N=2
2
2
and consequently
q
2
2
1=2
~
(h (0) + jjhjjL ) =: :
2. Next, it is easy to check that by (1.23) and (1.25)
k
(Df ) ? Df k2 u jh^ (=)j?1 kf k2 :
kB k
2
(1.28)
(1.29)
(1.30)
ky^ ? yk
2
p p
4. Finally, we consider the error between
(f~) :=
(B y^) and f~ := By. By (1.28)
and (1.31), we obtain
k
(f~) ? f~k2 k
(B y^) ? B y^k2 + kB (^y ? y)k2
k?
(B y^)p? B y^k2 + ~ jh^ (=)j?1
p
p
u(4 + 2) n log2 n + nu + O(u2 ) kf k2 : (1.32)
By (1.21), (1.23) and (1.14), it follows from [14], p. 76 that
j
(B y^) ? B y^j 1 ?2mu
2mu B jy^j
with jy^j := (jy^k j)kn==2??n=1 2 and consequently by (1.28) that
18
Thus
(1.33)
10
11
11
12
12
13
13
14
14
15
15
16
16
17
10
12
14
16
17
10
t = 1; : : : ; 15.
12
NDFT
14
16
(t)) for
19
f^(n) :=
where
Jn (x) :=
Z1
f (x) Jn (x) dx (n 2 N 0 ) ;
1
X
k=0
(1.34)
2)n+2k (x 2 R)
(?1)k k(x=
! (n + k)!
e?iq cos t = 2
k=0
1
0 (?1)k J2k (q) cos(2kt) + 2i X(?1)k J2k+1 (q) cos(2k +1)t
k=0
with
1
X
1
0 ak := 1 + X ak ;
2 k=1
we obtain for x 2 [?1; 1] and q 2 R that
k=0
e?iqx = 2
1
X
k=0
? 2i
1
X
k=0
h(x) :=
Za
= 2
f (q) e?iqx dq
1
X
k=0
(1.35)
? 2i
1
X
k=0
Note that
(Re h)(x) = (Re h)(?x) ; (Im h)(x) = ? (Im h)(?x) :
Finally, orthogonality of the Chebyshev polynomials Tk (x)
Z1
8
<
if k = l = 0;
w(x) Tk (x) Tl (x) dx = : =2 if k = l 6= 0;
0 if k =
6 l
?1
20
Z1
?1
k+1
f^(2k + 1) = (?1)
?1
(1.36)
(1.37)
with
8
<
1 j = 0; N ;
wj := : 4 j = 2k ? 1 (k = 0; : : : ; N=2) ;
2 j = 2k
(k = 0; : : : ; N=2 ? 1) :
?1
k NX
l=0
?1
k
(?1) +1 NX
l=0
(1.39)
l + 1) :
(Im hl ) cos (2k + 1)(2
2N
(1.40)
For the fast computation of (1.39) and (1.40) in O(N log N ) arithmetical
operations we use the fast cosine transform of type II (DCT{II) proposed
in [24, 3]. In summary, we obtain the following algorithm for the fast computation of the Bessel transform in O(N log N ) arithmetical operations:
Input: N := 2t , f (ja=N ) 2 R (j = 0; : : : ; N ).
1: Compute hl by (1:38) with Algorithm 1:1.
2: Set Re (hl+N=2?1 ) := Re (hN=2?l ), Im (hl+N=2?1 ) := ?Im (hN=2?l ) (l = 1; : : : ; N=2).
3: Compute (1:39) { (1:40) by fast DCT{II.
21
5
3
6
4
7
5
8
6
9
7
10
10
11
12
13
14
15
11
16
10
11
12
13
(1.41)
Jn (x) dx = 2
1
X
l=0
J2l+n+1 (a) :
X
f^(k) f^k = 2 J2l+k+1 (100) :
l=0
22
References
[1] M. Abramowitz and J. A. Stegun, Handbook of Mathematical Functions, Dover Publ., New York, 1972.
[2] C. Anderson and M. D. Dahleh, Rapid computation of the discrete
Fourier transform, SIAM J. Sci. Comput. 17, 913 { 919, 1996.
[3] G. Baszenski and M. Tasche, Fast polynomial multiplication and convolutions related to the discrete cosine transform, Linear Algebra Appl.
252, 1 { 25, 1997.
[4] G. Beylkin, On the fast Fourier transform of functions with singularities, Appl. Comput. Harmon. Anal. 2, 363 { 381, 1995.
[5] A. Brandt, Multilevel computations of integral transforms and particle
interactions with oscillatory kernels, Comput. Phys. Comm. 65, 24 {
38, 1991.
[6] J. O. Droese, Verfahren zur schnellen Fourier{Transformation mit
nichtaquidistanten Knoten, Master Thesis, TH Darmstadt, 1996.
[7] A. J. W. Duijndam and M. A. Schonewille, Nonuniform fast Fourier
transform, Preprint, Univ. Delft, 1998.
[8] A. Dutt and V. Rokhlin, Fast Fourier transforms for nonequispaced
data, SIAM J. Sci. Statist. Comput. 14, 1368 { 1393, 1993.
[9] A. Dutt and V. Rokhlin, Fast Fourier transforms for nonequispaced
data II, Appl. Comput. Harmon. Anal. 2, 85 { 100, 1995.
[10] B. Elbel, Mehrdimensionale Fouriertransformation fur nicht aquidistante Daten, Master Thesis, TU Darmstadt, 1998.
[11] B. Elbel and G. Steidl, Fast Fourier transform for nonequispaced data,
In: Approximation Theory IX, C. K. Chui and L. L. Schumaker (eds.),
Vanderbilt University Press, Nashville, 1998.
[12] H. G. Feichtinger, K. H. Grochenig and T. Strohmer, Ecient numerical methods for nonuniform sampling theory, Numer. Math. 69, 423
{ 440, 1995.
[13] L. Greengard and V. Rokhlin, A fast algorithm for particel simulation,
J. Comput. Phys. 73, 325 { 348, 1987.
[14] N. J. Higham, Accuracy and Stability of Numerical Algorithms, SIAM,
Philadelphia, 1996.
[15] J. I. Jackson, Selection of a convolution function for Fourier inbersion
using gridding, IEEE Trans. Medical Imaging 10, 473-478, 1991.
23