Home | | Python | | IPython | | Share This Page |

IPython: Math Processor

A tool that manipulates mathematics as a word processor manipulates words

Copyright © 2014, Paul Lutus — Message Page

(double-click any word to see its definition)

Fourier Transforms

Expressed in the simplest terms, a Fourier transform bidirectionally converts functions, signals and data sets between time or space domains and the frequency domain. Fourier transforms have many applications in signal processing, data compression/optimization and physics.

Not unlike Calculus, a given transform type has a reciprocal operation, so one can transform a time-domain signal to the frequency domain, then back again, often with an advantage in noise reduction or efficient bandwidth use.

Here's an example in which a relatively complex waveform (an "AM radio" modulated waveform) is transformed from the time to the frequency domains:

Note the two plots above. The upper plot shows a 1000 Hz "carrier wave" modulated by a 60 Hz "modulation wave", a common sight in the early days of radio technology. The lower plot shows the same signal in the frequency domain — a carrier wave spectral line with two adjacent modulation spectral lines.

The important thing to understand about the relationship between the time and frequency domains is that one can use Fourier methods to convert bidirectionally — the workbook below performs the reciprocal transform of the one above:

Notice about the above notebooks that, in the first example that transforms from the time to frequency domains, the function np.fft.rfft() is called, but for the reverse transformation, np.fft.irfft() is called. These function have a symmetrical and reciprocal relationship, as shown these equations:

(1) Forward transform (time $\rightarrow$ frequency): $ \displaystyle f(y) = \int_{-\infty}^{\infty} f(x) \, e^{-2 \pi i x y} dx$

(2) Inverse transform (frequency $\rightarrow$ time): $ \displaystyle f(x) = \int_{-\infty}^{\infty} f(y) \, e^{2 \pi i x y} dy$

Did you notice the difference between these two equations with opposite effect? Apart from some variable name changes that don't affect the math, there's only one difference — a minus sign.

*To navigate this article set, use the arrows and drop-down lists at the top and bottom of each page.*

Home | | Python | | IPython | | Share This Page |