This tutorial is about the use of Fourier series, as applied to the
area of time series analysis. It is largely qualitative and should help
users to examine results critically, and to report results clearly. This
tutorial is not intended for implementors of Fourier methods (who should
already know it all). Nor does it deal with 2D or higher-dimensional
Fourier applications, for example spatial transforms, for which users
should search for **Multidimensional Fourier**. Nor is it
theoretical — the mathematically-minded should search using terms
like **Fourier transform** or **Harmonic analysis**.

This tutorial is divided into several parts, designed to lead the reader gently from the core idea of signal decomposition, through to the common applications of Fourier series. The pages are:

- Preface: some important terms and distinctions
- Decomposition: the idea of signal decomposition
- Fourier series: formal Fourier series decomposition
- Golden rules: some important constraints
- Spectra (1): relation between Fourier and power spectra
- Spectra (2): tricks and traps in spectral estimation
- Fourier filtering: using Fourier series for filtering
- Other applications: other application of Fourier series

Doing is part of learning, and for this reason the tutorial contains several Java-based applets. These applets are interactive, and thereby serve to reinforce the accompanying text. Indeed, the applets are possibly the main value of this tutorial, over the many fine books on this topic. See Java applets for more about the applets.

Most people will find the later tutorial pages of most relevance, but I do recommend looking at the earlier pages too.

Applets are a neat way to allow serious programs to be run anywhere. The browser not only renders HTML , but can hand control of a rectangle within the page to an applet — a program written in Java — which can then use the rectangle for buttons, text, plots, etc. The combination of a fully-featured user interface and the portable, powerful Java language means that users anywhere (and with any browser and operating system) can run substantial programs conveniently.

The downside of applets is that users (or their SysAdmins) must install
a Java plugin for their browser. Plugins are browser-specific and operating
system-specific. (For instance a Java plugin for AMD64s became available
only in 2009!) Added to this annoyance is the matter of versions:
browsers, operating systems and Java itself are constantly evolving, and
mismatches may cause applets to fail. Fortunately it is easy to tell
if a Java plugin is installed for your browser: a large gray area where
you expect the applet to be is one sign, and another is from looking under
`about:plugins` (for Mozilla and Firefox),
(for IE).
It should be clear whether the Java plugin is installed, and which versions
of Java are supported. (The applets here require Java version 1.2
support.) There are various schemes in place to install the
Java plugin semi-automatically, and if all else fails your SysAdmin will
be able to do it.

In case of intractable problems with applets, and as a last resort, you may email me with the following information about your software and its configuration:

There should be a box just above this line, and it should be filled
with software configuration information. If it isn't then you either have
JavaScript disabled, or we have a JavaScript incompatibility — which
is a *completely* independent issue from that of Java plugin
incompatibility. They are different languages, and have different
implementations. In case of Java applet failure compounded by JavaScript
failure, just start by telling me your browser and operating system
versions, and we will take it from there.

Validate HTML CSS | Last changed 2011-06-30 | Chris Rennie |