Fourier transforms provide information about the frequencies contained in a signal. They also have many other applications in science and engineering. Here we give a quick overview of the discrete Fourier transform of a real valued signal, possibly the most common case.
We start with a signal
. For example, the function could be a
voltage varying with time. Suppose we sample it at a series of times
for
, separated by a constant time
interval
. For definiteness, let's take
. This gives us a sequence of sampled signal values
.
For a concrete example of sampling, suppose the signal is a pure
cosine with angular frequency
.
| (1) |
| (2) |
The sampling domain in time is finite, since we have
. That is, we sample over a total time interval
. When we sample over a finite domain, we need to say what
we mean by a signal oscillating purely at only one frequency. We
require that over the length of the sampling interval we have an
integer number
of complete oscillations. That is
| (3) |
| (4) |
| (5) |
Of course we can do a Fourier transform of any signal, no matter whether its oscillations come out even. Here we are just describing what we mean by a component with a single pure frequency over a finite interval in time.
The discrete Fourier transform is given by
![]() |
(6) |
| (7) |
We say that we have transformed a signal from the time domain to the frequency domain.
The same formalism applies to the Fourier transform of data
depending on a spatial coordinate
. In this case we sample at a
series of equally spaced points
, giving us, again
the discretely sampled values
. The Fourier transform
is
for the wavenumber
| (8) |
Another way to look at the Fourier transform is to separate it into
its real and imaginary parts. We use the identity
| (9) |
![]() |
|||
![]() |
(10) |
The Fourier transform
is complex. The power spectrum is the
square of the norm of the Fourier transform:
| (11) |
The signal can be reconstructed from its Fourier transform using
![]() |
(12) |
| (13) |
| (14) |
It is easy to show that the discrete Fourier transform
is
periodic with period
. That is
| (15) |
| (16) |
| (17) |
Now we can answer the question, how many independent Fourier
components are there? We start with
real signal components in the
time domain. But
complex Fourier components in the frequency
domain count as
real numbers if we consider both real and
imaginary components. The identity above constrains them so that
there are only
independent real values involved.
Often programs that compute the discrete Fourier transform use the
constraint to pack the Fourier transform into a vector with the same
number of real components as the signal vector. For example, for
the Fourier transform in the Gnu Scientific Library packs the
Fourier transform this way:
| 0 | |
| 1 |
|
| 2 |
|
| 3 |
|
| 4 |
|
| 5 |
| 0 | |
| 1 |
|
| 2 |
|
| 3 |
|
| 4 |
|
The Fast Fourier Transform algorithm in Numerical Recipes by Press
et al uses a slightly different order for even
. It puts the
two real components
and
in the first and second
positions and then continues in the same order as above.
This document was generated using the LaTeX2HTML translator Version 2002 (1.63)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -split 5 fourier
The translation was initiated by Carleton DeTar on 2008-11-10