The Fourier transform's blind spot
The Fourier transform tells you which frequencies a signal contains, but not when they occur — a symphony and a randomly scrambled version of the same notes share identical Fourier magnitude spectra. The Short-Time Fourier Transform tries to fix this with a sliding window, but the window size is fixed: a short window gives good time resolution and poor frequency resolution, a long window the reverse, at every frequency alike. This is a real limit, not an engineering shortcoming — for any signal, the time spread Δt and frequency spread Δω obey Δt·Δω ≥ 1/2, the same uncertainty relation that governs quantum mechanics.
Wavelets: a window that adapts to frequency
A wavelet ψ(t) is a short oscillating function with zero mean and unit energy. From a single mother wavelet, a whole family of daughter wavelets is generated by scaling and translating: ψ_{a,b}(t) = (1/√|a|)·ψ((t−b)/a). Large scale a stretches the wavelet to analyse low frequencies; small a compresses it to analyse high frequencies — the window automatically narrows exactly where fine time resolution is needed. The Continuous Wavelet Transform correlates the signal with every daughter wavelet, producing a 2D time-scale map called a scalogram.
Haar wavelet: ψ(t) = +1 on [0, 0.5), −1 on [0.5, 1), 0 elsewhere Haar transform of [4, 6, 2, 8]: averages = [5, 5] → [5] differences = [−1, −3] → [0] Haar coefficients: [5 | 0 | −1, −3]
Haar, Daubechies and multiresolution analysis
The Haar wavelet (Alfred Haar, 1909) is the simplest orthonormal wavelet: it splits a signal into pairwise averages and differences recursively, in O(N) time with exact integer arithmetic — but it has only one vanishing moment, producing blocky "staircase" artefacts. Ingrid Daubechies solved this in 1988 by constructing compactly supported wavelets with N vanishing moments (db1 = Haar, db2, db4 ... dbN): a wavelet with N vanishing moments gives exactly zero coefficients for any polynomial signal of degree below N, so smooth regions compress to almost nothing and only genuine discontinuities produce large coefficients. The theoretical backbone is multiresolution analysis (Mallat & Meyer, ~1989), which recursively splits a signal into a coarse approximation and a detail layer via a lowpass/highpass filter bank — the Mallat algorithm computes a full decomposition in O(N), faster than the FFT's O(N log N).
From JPEG2000 to gravitational waves
JPEG2000 replaced JPEG's blocky 8×8 DCT with a wavelet pipeline: a 2D discrete wavelet transform to five levels, quantisation, then EBCOT entropy coding into an embedded bitstream where any prefix is already a valid, lower-quality image. The lossless mode uses the integer CDF 5/3 filter; the lossy mode uses the biorthogonal CDF 9/7 (Daubechies) filter. The result — no blocking artefacts, progressive transmission, and region-of-interest coding — made JPEG2000 mandatory for digital cinema and the DICOM medical-imaging standard. Wavelets have since spread far beyond images: LIGO uses wavelet Q-transforms to pull black-hole-merger chirps out of noisy strain data, seismologists use the Morlet CWT to separate P and S waves, and neuroscientists extract oscillatory brain rhythms from EEG with continuous wavelet transforms.
Frequently asked questions
What is a wavelet transform?
A wavelet transform decomposes a signal into components at different scales (frequencies) and different times simultaneously. Unlike the Fourier transform, which uses infinite sinusoids and gives global frequency information with no time localisation, wavelets use short oscillating functions concentrated in time, providing both time and frequency information.
What is the difference between CWT and DWT?
The Continuous Wavelet Transform (CWT) correlates a signal with a wavelet at every scale and time position, producing a highly redundant 2D time-scale map. The Discrete Wavelet Transform (DWT) samples this map at a dyadic grid, producing a compact, non-redundant, perfectly invertible representation computed in O(N) via the fast Mallat algorithm.
What are Daubechies wavelets and why do they matter?
Daubechies wavelets (db1 = Haar, db2, db4 ... dbN), constructed by Ingrid Daubechies in 1988, are orthogonal wavelets with N vanishing moments — exactly zero for polynomial signals up to degree N-1. Higher N gives smoother wavelets and better frequency localisation but wider time support. db4 underlies JPEG2000 lossless compression; db8-db20 appear in seismology and biomedical signal processing.
Try it live
Everything above runs in your browser — open Wavelet Transform, switch between Haar and Daubechies-4 filters, and watch a signal split into approximation and detail coefficients on the scalogram. Nothing is installed, nothing is uploaded.
▶ Open Wavelet Transform simulation