next_inactive up previous


\fbox{\Large \bf Physics 6720 -- Fourier Transforms --
\normalsize November 10, 2008}


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 $f(t)$. For example, the function could be a voltage varying with time. Suppose we sample it at a series of times $t_j$ for $j = 0, 1, 2, \ldots{}, N-1$, separated by a constant time interval $\Delta t = t_{j+1} - t_j$. For definiteness, let's take $t_j = j\Delta t$. This gives us a sequence of sampled signal values $f_j = f(t_j)$.

A signal with a single pure frequency

For a concrete example of sampling, suppose the signal is a pure cosine with angular frequency $\omega$.

\begin{displaymath}
f(t) = A \cos(\omega t) = A \cos(2 \pi \nu t).
\end{displaymath} (1)

If we sample it at times $t_j = j\Delta t$, we get the sample values
\begin{displaymath}
f_j = A \cos(j \omega \Delta t).
\end{displaymath} (2)

The sampling domain in time is finite, since we have $j =
0,1,\ldots{}N-1$. That is, we sample over a total time interval $N\Delta t$. 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 $m$ of complete oscillations. That is

\begin{displaymath}
\omega N \Delta t = N 2\pi\nu \Delta t = 2\pi m
\end{displaymath} (3)

That puts a restriction on the allowable pure frequencies, namely that they are also discrete: $\omega = \omega_m$, where
\begin{displaymath}
\nu_m = m/(N \Delta t)    \omega_m = 2 \pi \nu_m = 2 \pi m/(N \Delta t).
\end{displaymath} (4)

If we substitute this into the equation for $f_j$, we get
\begin{displaymath}
f_j = A \cos(2 \pi j m/N).
\end{displaymath} (5)

for a signal with pure frequency $\nu_m$. The $\Delta t$ has canceled out.

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.

Discrete Fourier transform

The discrete Fourier transform is given by

\begin{displaymath}
F_m = \sum_{j=0}^{N-1} f_j e^{-2\pi i j m/N}
\end{displaymath} (6)

for integer values of $m$. As we observed above, the integer $m$ is related to frequency through
\begin{displaymath}
\nu_m = m/(N \Delta t).
\end{displaymath} (7)

The angular frequency is $\omega_m = 2 \pi
\nu_m$.

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 $f(x)$ depending on a spatial coordinate $x$. In this case we sample at a series of equally spaced points $x_j = j \Delta x$, giving us, again the discretely sampled values $f_j$. The Fourier transform $F_m$ is for the wavenumber

\begin{displaymath}
k_m = 2 \pi m/(N \Delta x),
\end{displaymath} (8)

or (remember $k = 2\pi/\lambda$) the wavelength $\lambda_m = N \Delta x/m$. We say that we have transformed a signal from the spatial domain to the wavenumber domain.

Cosine and sine transforms

Another way to look at the Fourier transform is to separate it into its real and imaginary parts. We use the identity

\begin{displaymath}
e^{i x} = \cos(x) + i \sin(x).
\end{displaymath} (9)

So we get
$\displaystyle {\rm Re }F_m$ $\textstyle =$ $\displaystyle \sum_{j=0}^{N-1} f_j \cos(2 \pi j m/N)$  
$\displaystyle {\rm Im }F_m$ $\textstyle =$ $\displaystyle -\sum_{j=0}^{N-1} f_j \sin(2 \pi j m/N)$ (10)

Power spectrum

The Fourier transform $F_m$ is complex. The power spectrum is the square of the norm of the Fourier transform:

\begin{displaymath}
P_m = \vert F_m\vert^2 = ({\rm Re }F_m)^2 + ({\rm Im }F_m)^2.
\end{displaymath} (11)

It gives the spectral analysis of the signal. For example, the power spectrum of a radio broadcast signal is peaked at the broadcast frequency.

Inverse transform

The signal can be reconstructed from its Fourier transform using

\begin{displaymath}
f_j = \frac{1}{N}\sum_{m=0}^{N-1} F_m e^{2\pi i j m/N}
\end{displaymath} (12)

The right hand side of this equation is a linear combination of terms with coefficients $F_m$, each of which oscillate at a pure frequency. This can be seen from the relation
\begin{displaymath}
e^{2\pi i j m/N} = \cos(2 \pi j m/N) + i \sin(2 \pi j m/N).
\end{displaymath} (13)

To make the oscillation explicit in terms of the time variable $t_j = j\Delta t$, notice that we can rewrite the trigonometric functions as
\begin{displaymath}
e^{i \omega_m t_j} = \cos(\omega_m t_j) + i \sin(\omega_m t_j),
\end{displaymath} (14)

where we used $2\pi j m/N = 2\pi j \Delta t \nu_m = \omega_m t_j$. If we are reconstructing a real signal, clearly, only the cosine term should contribute. (The sine term cancels because of the symmetries discussed below.)

Symmetries of the Fourier transform

It is easy to show that the discrete Fourier transform $F_m$ is periodic with period $N$. That is

\begin{displaymath}
F_{m+N} = F_m.
\end{displaymath} (15)

Also it is easy to show that for our real signal, the complex conjugate of the Fourier transform satisfies
\begin{displaymath}
F_m^* = F_{-m} = F_{N-m}.
\end{displaymath} (16)

This means, in particular, that $F_0$ is real. For even $N$, $F_{N/2}$ is also real. This also means that the power spectrum has the symmetry
\begin{displaymath}
P_m = P_{N-m}.
\end{displaymath} (17)

Counting Fourier components

Now we can answer the question, how many independent Fourier components are there? We start with $N$ real signal components in the time domain. But $N$ complex Fourier components in the frequency domain count as $2N$ real numbers if we consider both real and imaginary components. The identity above constrains them so that there are only $N$ 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 $N =
6$ the Fourier transform in the Gnu Scientific Library packs the Fourier transform this way:
0 ${\rm Re }F_0$
1 ${\rm Re }F_1 = {\rm Re }F_5$
2 ${\rm Im }F_1 = -{\rm Im }F_5$
3 ${\rm Re }F_2 = {\rm Re }F_4$
4 ${\rm Im }F_2 = -{\rm Im }F_4$
5 ${\rm Re }F_3$
and for $N = 5$, this way
0 ${\rm Re }F_0$
1 ${\rm Re }F_1 = {\rm Re }F_4$
2 ${\rm Im }F_1 = -{\rm Im }F_4$
3 ${\rm Re }F_2 = {\rm Re }F_3$
4 ${\rm Im }F_2 = -{\rm Im }F_3$

The Fast Fourier Transform algorithm in Numerical Recipes by Press et al uses a slightly different order for even $N$. It puts the two real components $F_0$ and $F_{N/2}$ in the first and second positions and then continues in the same order as above.

About this document ...

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



next_inactive up previous
Carleton DeTar 2008-11-10