Professional Documents
Culture Documents
Anand
Anand
TRANSFORMS
AASHIRWAD VISWANATHAN ANAND
Contents
1. History and Introduction
2. Overview of the Continuous Fourier Transform and Convolutions
3. The Discrete Fourier Transform (DFT)
4. Computational Considerations
5. The radix-2 Cooley-Tukey FFT Algorithm
References
6. Appendix 1
1
2
4
7
8
10
11
DFT in its most general form, as we shall see, is inefficient for machine computation, requiring N 2 complex operations for a signal containing N samples. This
motivates the development of the Fast Fourier Transforms, a family of efficient implementations of the DFT for different composites of N . In particular, we examine
the radix-2 Cooley-Tukey FFT algorithm, which reduces the number of complex
operations required to N log2 (N ).
2. Overview of the Continuous Fourier Transform and Convolutions
We begin with a discussion on the continuous Fourier transform and the Inversion and Convolution theorems, which are important in understanding the
relationship between the continuous Fourier transform and the DFT.
Definition 2.1. (Fourier Series) The Fourier series of a function f , piecewise
continuous on [P, P ] and having period 2P is defined as
(2.2)
f (t) =
cn ein P t
n=
where
(2.3)
cn =
1
2P
f (t)ein P t dt1
(2.4)
f (t)eit dt
(2.5)
f (t) =
1
2P
f(P, n
P ), so that equation (2.2) may be rewrit-
1 X
1 X
f (P, n )ein t =
f (P, n )ein t ,
2P n=
2 n=
P
n =
n
P
f (t)eit dt,
f (t)
1
2
f()eit d
Remark 2.8. We have so far omitted details regarding the convergence of the integrals described. The following discussion shall be a little more explicit in this
regard.
Definition 2.9. (Continuous Fourier Transform) For a function f on R, such
that
Z
|f (t)|dt <
(2.10)
R
the integral f() = R f (t)eit dt converges absolutely and is defined as the continuous Fourier transform or Fourier integral of f .
Thus, any function on a finite interval (P, P ) can be represented as a sum
of harmonic oscillations with discrete frequencies {n : n = n
P , n Z}, and
any function on the infinite interval (, ) can be constructed from harmonic
oscillations with a continuous frequency spectrum { : R}, with the sum
replaced by an integral.
Theorem 2.11. (Inversion Theorem) Suppose that f satisfies Equation (2.10)
and is continuous, except for a finite number of finite jumps in any finite interval,
and that f (t) = 21 (f (t+) + f (t)) for all t, i.e. f is of bounded variation, then
(2.12)
1
f (t0 ) = lim
A 2
f()eit0 d
v = 2
is used, the Fourier integral pair can be expressed in the symmetrical form
(2.14)
f(v) =
f (t)e2ivt dv
Z
(2.15)
f (t) =
f(v)e2ivt dv
Z
f (t y)g(y)dy =
(f ? g)(t) =
R
f (y)g(t y)dy,
t, y R
Theorem 2.18. (Convolution Theorem) Let F be the map from the space of
that
functions satisfying Equation (2.10), to the space of continuous functions on R
tend to 0 at , such that F[f ] = f, as defined in Equation (2.6). Then
F[f ? g] = F[f ]F[g]
(2.19)
Proof.
Z Z
F[f ? g]() =
ZR Z
f (t y)g(y)dy eit dt
f (t y)g(y)ei(ty+y) dtdy
Z
Z
iy
=
g(y)e
dy f (t y)ei(ty) dt
R
Z
ZR
iy
=
g(y)e
dy f (t)ei(t) dt = F[f ]F[g]
X(k ) =
N
1
X
x(tn )eik tn ,
k = 0, 1, ..., N 1
n=0
The construction of the DFT uses the important fact that the sinusoidal terms
in the DFT form an orthogonal basis of the space Cn (which may be normalized
to obtain an orthonormal basis for Cn ). In the following discussion, we shall write
k = 2k
N T and tn = nT , where T is the sampling interval of the signal. With these
nk
substitutions we can write eik tn = e2i N .
k 6= l,
0 k, l N 1
Specifically,
(
< sk , sl >=
N,
0,
k=l
k 6= l
Proof. We take the inner product of two complex sinusoidal vectors sk and sl .
< sk , sl >=
N
1
X
N
1
X
n=0
n=0
sk (n)sl (n) =
N
1
X
e2i
n(kl)
N
n=0
nk
nl
e2i N e2i N
1 e2i(kl)
1 e2i
(kl)
N
, k 6= l
NP
1
e0 = N. If k 6= l,
n=0
1e2i(kl)
1e2i
(kl)
2i N
(kl)
N
Remark 3.4. In the last step, we made use of the closed-form expression for the
sum of a geometric series
N
1
X
zn =
n=0
1 zN
1z
e2i N
sk (n) =
N
Theorem 3.3 demonstrates that the set of vectors {sk (n) : k = 0, 1, ..., N 1, n =
0, 1, ..., N 1} are orthogonal (linearly independent) and span the space Cn , thereby
forming a basis. Given a signal x(tn ) Cn , its DFT is now defined by
X(k ) =< x, sk >=
N
1
X
x(n)sk (n),
k = 0, 1, ..., N 1
n=0
X(k ) =
N
1
X
nk
x(n)e2i N ,
n=0
k = 0, 1, ..., N 1
Psk (x) =
< x, sk >
X(k )
sk =
sk
2
ksk k
N
(3.8)
x(tn ) =
N
1
X
k=0
X(k )
sk
N
(3.9)
x(n) =
N 1
nk
1 X
X(k )e2i N ,
N
n = 0, 1, ..., N 1
k=0
(3.12)
(x ? y)(n) =
N
1
X
x(m)y(n m)
m=0
x?y =X Y
2Stoer and Bulirsch [2] provide a numerical analytic proof demonstrating how this formula is
the best reconstruction of the original waveform.
Proof.
DF TN,k (x ? y) =
N
1
X
nk
(x ? y)(n)e2i N
n=0
N
1N
1
X
X
nk
x(m)y(n m)e2i N
n=0 m=0
N
1
X
N
1
X
m=0
n=0
nk
y(n m)e2i N
x(m)
nk
y(n m)e2i N =
N 1m
X
y(n)e2i
(n+m)k
N
y(n)e2i
mk
N
n=m
n=0
N
1
X
n=0
= e2i
mk
N
N
1
X
y(n)
n=0
= e2i
mk
N
Y (k)
Therefore, we have
N
1
X
DF TN,k (x ? y) =
x(m)e
!
2i mk
N
m=0
This theorem is of great practical importance as it forms the basis of a large body
of FFT theory. The Fast Fourier Transform provides a fast method of computing
the DFT, and consequently a fast convolution when Theorem (3.13) is applied.
4. Computational Considerations
We recall the definition of the DFT of a sequence x(tn ), from Equation (3.2):
(4.1)
X(k) =
N
1
X
x(n)eik tn ,
k = 0, 1, ..., N 1
n=0
2i
N
+ . . . + x(N 1)WN
2(N 1)
+ . . . + x(N 1)WN
(N 1)(N 2)
(N 1)(N 1)
This system of equations is more conveniently represented in the matrix form below:
(4.2)
WN0
X(0)
0
WN
X(1)
= ...
...
X(N 2)
WN0
X(N 1)
WN0
WN0
WN1
..
.
WN0
WN2
..
.
WNN 2
WNN 1
2(N 2)
WN
2(N 1)
WN
...
...
..
.
...
...
WN0
WNN 1
...
(N 1)(N 2)
WN
(N 1)(N 1)
WN
x(0)
x(1)
...
x(N 2)
x(N 1)
or more compactly as
(4.3)
nk
X(k) = WN
x(n)
(5.1)
X(k ) =
N
1
X
x(n)WNnk ,
k = 0, 1, ..., N 1
n=0
where WN = e
2i
N
(5.2)
k = 21 k1 + 22 k2 + . . . + k0
Rewriting Equation (5.1) we get
(5.3)
X(k1 , k2 , . . . , k0 ) =
1 X
1
X
1
X
...
n0 =0n1 =0
x(n1 , n2 , . . . , n0 )WNp
n1 =0
where
p = (21 k1 + 22 k2 + . . . + k0 )(21 n1 + 22 n2 + . . . + n0 )
(5.4)
WNp = WN
(21 k
WN
1
. . . WN
Now consider the first term of Equation (5.5)
WN
2 (22 k1 n1 )
= WN
2 (k1 n1 )
. . . WN
2 (23 k2 n1 )
WN
21 (k0 n1 )
WN
21 (k0 n1 )
= WN
since
(5.6)
WN
2 (23 k1 n2 )
= WN
21 (k1 n2 )
. . . WN
2 (24 k2 n2 )
WN
22 (k0 n2 )
WN
= WN
As we proceed through the terms of Equation (5.5), we add another factor which
does not cancel by the condition WN2 = 1. This process continues until we reach
the last term in which there is no cancellation.
Using these relationships, Equation (5.3) can be rewritten as
4Since applications usually are free to choose their sample lengths, this is not a major con-
straint, and analogous techniques still work for the general case.
10
X(k1 , k2 , . . . , k0 ) =
1 X
1
X
n0 =0n1 =0
1
X
...
21 (k0 n1 )
WN
x(n1 , n2 , . . . , n0 )
n1 =0
22 (2k1 +k0 )(n1 )
WN
...
Performing each of the summations separately and labeling the intermediate results,
we obtain
x1 (k0 , n2 , . . . , n0 ) =
1
X
21 (k0 n1 )
x0 (n1 , n2 , . . . , n0 )WN
n1 =0
x2 (k0 , k1 , n3 , . . . , n0 ) =
1
X
x1 (k0 , n2 , . . . , n0 )WN
n2 =0
..
.
x (k0 , k1 , . . . , k1 ) =
1
X
x1 (k0 , k1 , . . . , n0 )W (2
k1 +w2 k2 +...+k0
n0
n0 =0
X(k1 , k2 , . . . , k0 ) = x (k0 , k1 , . . . , k1 )
This set of recursive equations represents the FFT as proposed by Cooley and
Tukey for N = 2 . The direct evaluation of the DFT for an input sequence of length
N requires N 2 multiplications, as shown above. In the radix-2 FFT algorithm,
there are summations, each representing N equations. Of these N equations,
each contains two complex multiplications. However, one of these multiplications
is always with unity, and so it may be skipped. Since we have summations
representing N equations, each having one complex multiplication, this gives us
N = N log2 (N ) operations, a considerable improvement from the direct evaluation
of the DFT.
6. Acknowledgments
It is a pleasure to thank my mentors, Yan Zhang and Jessica Lin, for guiding
me through the study of Fourier transforms and and for helping me develop my
understanding through both examples and theory.
References
[1] E. Oran Brigham. The Fast Fourier Transform. Prentice-Hall, Inc, 1974.
[2] J. Stoer and R. Bulirsch. Introduction to Numerical Analysis. Springer-Verlag New York, Inc.
1993.
[3] Anders Vretbald. Fourier Analysis and its Applications. Springer-Verlag New York, Inc. 2003.
[4] Henri J. Nussbaumer. Fast Fourier Transform and convolution algorithms. Springer-Verlag
New York, Inc. 1982.
[5] Elias M. Stein and Rami Sharkachi. Fourier Analysis: an introduction. Princeton University
Press, 2003.
11
[6] Julius O. Smith. Mathematics of the Discrete Fourier Transform (DFT) with Audio Applications. W3K Publishing, 2007.
[7] J.W. Cooley and J.W. Tukey. An algorithm for the machine calculation of complex Fourier
series. Math. Computat., vol. 19, pp. 297-301, 1965.
[8] Otto Neugebauer. The Exact Sciences in Antiquity. Dover Publications, 1969.
7. Appendix 1
In the following table, x X shall denote that X and x are Fourier transform
pairs, i.e. X is the Fourier transform of x, which can be retrieved from X via the
inverse Fourier transform.
Table A.1
Fourier Transform
x(t) + y(t) X() + Y ()
Property
Linearity
X(t) x()
Symmetry
x(t t0 ) X()e2it0
Time Shifting
x(t)e2i0 t X( 0 )
Frequency Shifting
xe (t) Re ()
Even Functions
xe (tn ) Re (k )
xo (t) iIo ()
Odd Functions
xo (tn ) iIo (k )
Odd Functions
1
N X(tn )
x(k )
km
N
mk
N
X(k m )