8.0 Practical limitations of the Fourier transform

8.0 Practical limitations of the Fourier transform#

A review of the phasor and Fourier transform#

Everything in this chapter builds on two ideas from Chapter 5. Let us restate them briefly.

The first is the phasor, or complex sinusoid, \(a\, e^{j\omega t}\). Recall that this is a single compact expression, built from Euler’s formula, that packages a real cosine and an imaginary sine together into a vector that rotates in the complex plane. It draws a circle of radius \(a\), completing one revolution every \(1/f\) seconds, where \(f = \tfrac{\omega}{2\pi}\). See Chapter 5 for the full development.

The second is the Fourier transform itself,

\[X(\omega) = \int_{-\infty}^{\infty} x(t)\, e^{-j\omega t}\, dt = R(\omega) + j\, I(\omega),\]

where \(R(\omega) = \Re\big(X(\omega)\big)\) and \(I(\omega) = \Im\big(X(\omega)\big)\) are its real and imaginary parts. The intuition, which is worth holding onto, is that to measure how much of frequency \(\omega\) is present in \(x(t)\), we synthesize a phasor at frequency \(\omega\), multiply it by \(x(t)\) to measure their similarity, and sum that similarity over all time by integrating.

What makes it impractical#

The Fourier transform is a mathematical object defined over the real line. If we want to analyze the frequency content of a finite array of digital audio samples with a finite amount of computation, three properties stand in our way:

  1. It integrates over infinite time. The limits run from \(-\infty\) to \(\infty\). Real signals are never infinitely long, and even if they were, integrating over all time would take infinite computation.

  2. It is defined over continuous signals \(x(t)\), not discrete samples \(x[n]\). Sometimes we know the continuous function behind our samples (when we synthesize it ourselves), but usually we do not. For example, a digital recording from a microphone gives us only the samples. We need a transform that operates on the samples we can actually observe.

  3. It is defined for every real frequency \(\omega\). Suppose we had a signal \(x(t)\) that consisted of a single basic sinusoid at an unknown frequency. To find that frequency using the Fourier transform, we would have to test every possible \(\omega\), an infinite search.

In the following sections, we will expand on and tackle these issues one by one.