The Fourier transform, slowly
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
and the inverse transform is
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:
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).
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]:
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
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: . 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 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.