The Fourier transform, slowly

Processing Prerequisites

Learning objectives

  • State the Fourier transform as a shopping-list decomposition: any signal equals a sum of sinusoids
  • Move between time domain and frequency domain and read magnitude and phase spectra
  • Apply the convolution theorem: convolution in time is multiplication in frequency
  • Explain why processing lives in the frequency domain — and what the DFT and FFT actually are

If one theorem changed seismic processing more than any other, this is it: every signal can be written as a sum of sinusoids, and the Fourier transform tells you the weights. That is the whole idea. The rest is bookkeeping.

1. The continuous Fourier transform

For a continuous-time signal x(t), the Fourier transform is

X(ω)  =  x(t)eiωtdtX(\omega) \;=\; \int_{-\infty}^{\infty} x(t)\, e^{-i\omega t}\, dt

and the inverse transform is

x(t)  =  12πX(ω)eiωtdωx(t) \;=\; \frac{1}{2\pi}\int_{-\infty}^{\infty} X(\omega)\, e^{i\omega t}\, d\omega

The inverse formula is the punchline. It says: to reconstruct x(t), take a sinusoid eiωt at every frequency, weight it by X(ω), and add them all up. The signal is a weighted sum of rotating phasors — we proved in §0.2 that those are cosines when projected onto the real axis.

2. Magnitude and phase

The transform X(ω) is complex. Unpack it:

X(ω)=X(ω)eiX(ω)X(\omega) = |X(\omega)|\, e^{i\angle X(\omega)}

The magnitude |X(ω)| is how much of the sinusoid at frequency ω the signal contains. The phase ∠X(ω) is how that sinusoid is timed — where its peak lands. Both are needed to reconstruct x(t).

Fourier DemoInteractive figure — enable JavaScript to interact.

In the widget above, move the sliders. Each slider controls the amplitude of a single sinusoid at a fixed frequency. The right panel shows the magnitude spectrum — notice that |X(f)| is just your slider values, peak-for-peak. That is literally all the Fourier transform is doing.

3. The discrete Fourier transform (DFT)

Real seismic is sampled, so we need the discrete version. For an N-sample sequence x[n]:

X[k]  =  n=0N1x[n]ei2πkn/N,k=0,1,,N1X[k] \;=\; \sum_{n=0}^{N-1} x[n]\, e^{-i 2\pi k n / N},\qquad k=0,1,\dots,N-1

Each X[k] is the complex amplitude of the sinusoid at frequency fk = k·fs/N, where fs is the sampling rate. The widget’s right panel is doing exactly this sum.

Done naively, the DFT takes O(N2) operations. For a 3D seismic volume with N in the millions, that is prohibitive. The Fast Fourier Transform (FFT) reorganizes the same sum into O(N log N) operations by recursively splitting even-indexed and odd-indexed samples. An FFT on a million samples takes milliseconds; a naive DFT would take minutes. Every processing system uses the FFT — the DFT equation is what gets evaluated, but it is evaluated the fast way.

4. The convolution theorem

(xh)(t)  F  X(ω)H(ω)(x \ast h)(t) \;\xleftrightarrow{\mathcal{F}}\; X(\omega)\cdot H(\omega)

Convolution in time is multiplication in frequency. This is the theorem that makes fast seismic processing possible.

Why does it matter? A time-domain convolution with a 1000-sample filter over a 10-million-sample trace costs roughly 1010 multiply-accumulates. Transform both, multiply element-wise, transform back: the cost drops to O(N log N), about 108 operations — a hundred-fold speedup, and the crossover point is only a few tens of samples. Every f–k filter, every spectral whitening step, every FFT-based migration, lives here.

5. Why processing lives in the frequency domain

  • Filtering is multiplication. A band-pass filter is just a window in the frequency domain — set H(ω) to 1 in the passband, 0 outside, multiply.
  • Linear systems are diagonal in frequency. An LTI filter maps each frequency to itself (scaled). In time it is a full convolution; in frequency it is a scalar-per-frequency multiplication. This diagonalization is why frequency analysis is so clarifying.
  • Bandwidth is a length. The fundamental resolution of seismic — your ability to separate nearby reflectors — is set by the bandwidth of H(ω). More bandwidth means shorter time-domain wavelet, means thinner beds visible. This is §0.5’s setup.
  • Noise and signal often differ in frequency content. Ground roll is low-frequency; swell noise is very-low-frequency; high-frequency ambient can be a broad hiss. Deciding in which band your signal lives is half of noise attenuation.

6. Three facts that look small and aren’t

  • Parseval: total energy in time equals total energy in frequency: nx[n]2=1NkX[k]2\sum_n |x[n]|^2 = \tfrac{1}{N}\sum_k |X[k]|^2. Energy is not created or destroyed by transforming.
  • Shift-in-time ↔ phase ramp in frequency: shifting x[n] by k samples multiplies X[ω] by e−iωk. No change in magnitude, only in phase. This is the basis of phase-shift migration.
  • Real signals have conjugate-symmetric spectra: X[−k] = conj(X[k]). So for a real trace, the negative-frequency half is redundant — half the bins carry all the information.
**The one sentence to remember**

The Fourier transform rewrites your signal as a weighted sum of sinusoids; the convolution theorem turns every time-domain filter into a pointwise frequency multiplication; the FFT makes both fast enough to run at production scale.

Where this goes next

Section §0.5 nails down a practical constraint: sampling. When we discretize a continuous signal we necessarily lose information — unless we sample fast enough. Everything you just learned about the frequency domain comes with a hard speed limit called the Nyquist frequency.

References

  • Bracewell, R. N. (1999). The Fourier Transform and Its Applications (3rd ed.). McGraw-Hill.
  • Oppenheim, A. V., Schafer, R. W. (2009). Discrete-Time Signal Processing (3rd ed.). Prentice Hall.
  • Claerbout, J. F. (1976). Fundamentals of Geophysical Data Processing. McGraw-Hill.
  • Yilmaz, Ö. (2001). Seismic Data Analysis (2 vols.). SEG.

This page is prerendered for SEO and accessibility. The interactive widgets above hydrate on JavaScript load.