# Wavelet transform The **wavelet transform** analyzes a signal by correlating it against scaled and time-shifted copies of a single, localized oscillating function called a mother wavelet, rather than against the endless sinusoids a [[Fourier_transform|Fourier transform]] uses. Stretching the wavelet analyzes slow variation at a wide, forgiving time resolution; compressing it analyzes fast variation at a narrow one, so the transform reports not only which scales, or roughly which frequencies, are present in a signal but approximately when each occurs. The discrete form, built from dyadic scales and used throughout compression and filter-bank design, is the [[Discrete_wavelet_transform|discrete wavelet transform]]; this article treats the continuous transform directly, along with the wavelet series it is built from. The Wavelet transform sketch on this page computes a continuous transform of a chosen test signal against a complex Morlet wavelet and builds its scaleogram live, letting the reader drag the wavelet to change its scale and position over a signal that can mix a sharp transient with a slow trend. ## Definition A wavelet series expresses a square-integrable function as an orthonormal series generated by translating and dilating a single mother wavelet. This article's closely related subject is the continuous wavelet transform, the [[Integral_transform|integral transform]] `X_w(a,b) = (1/sqrt(a)) * integral of x(t)*conj(psi((t-b)/a)) dt`, which correlates a signal x(t) against copies of the mother wavelet psi scaled by a and shifted by b. The scale a stretches or compresses the wavelet in time; because a wavelet oscillates a fixed number of times regardless of a, stretching it lowers the frequency it responds to and compressing it raises that frequency, so a alone sets the frequency the transform is sensitive to at a given point in the (a, b) plane, while b slides that sensitivity along the signal's time axis. Discretizing a and b, typically on a dyadic grid where each scale is half the one before it, gives the [[Discrete_wavelet_transform|discrete wavelet transform]] used in compression and most digital filter-bank designs. ## Principle Where a Fourier transform correlates a signal against sinusoids that extend across all time and so reports only which frequencies are present, with no record of when, the wavelet transform correlates it against copies of a wavelet that is localized in time and has, by construction, very little energy far from its center. The result is a joint description over both time and scale: a large scale a analyzes slow, low-frequency trends with a wide, forgiving time window, while a small scale a analyzes fast transients with a narrow one, at the cost of a wider frequency response at that scale. This trade is not new — any single window, wavelet or otherwise, occupies a fixed-area box in a time-frequency plane, a limit related to the same [[Uncertainty_principle|uncertainty principle]] that bounds a quantum particle's position and momentum — but a wavelet's box changes shape as its scale changes: tall and narrow at small a, short and wide at large a, rather than keeping the one fixed shape a single window of fixed length keeps at every frequency. ## Wavelet compression ### Method Wavelet compression applies the transform, almost always in its discrete, dyadic form, through a bank of digital filters that repeatedly splits a signal or image into a coarse approximation and a detail at half the resolution, then splits the coarse part again at the next scale; this cascade is exactly a [[Filter_bank|filter bank]]. Because a wavelet basis concentrates most of a natural image's or audio signal's energy into a small number of large coefficients, with the rest close to zero, the transform can be followed by [[Quantization_(signal_processing)|quantization]] that rounds small coefficients toward zero and an entropy coder that spends few bits recording them, achieving [[Data_compression|data compression]] with much less visible loss, for the same bit budget, than discarding information directly in the original domain. ### Evaluation #### Requirement for image compression An image codec asks a compression wavelet for several properties at once: compact support, so the filter's impulse response is short enough to compute quickly and does not smear a coefficient's influence far from the edge or texture that produced it; enough vanishing moments that smooth regions compress to almost nothing, leaving bits for genuine detail; and, ordinarily, symmetry, so the filter does not shift different parts of the image by different amounts. #### Requirement for shift variance and ringing behavior An orthogonal wavelet transform is shift-variant: shifting the input by a single sample can rearrange which coefficients are large, a poor property for a codec that must also tile a large image into independently coded blocks. The same sharp transitions that give a wavelet filter good frequency selectivity can also ring, producing a faint oscillation near a sharp edge once the finer coefficients around it are quantized away, in much the same way a truncated Fourier series rings near a discontinuity. Practical image standards typically respond by choosing a symmetric, biorthogonal filter pair instead of a strictly orthogonal one, trading a little coding efficiency for less visible ringing. #### Derivation of impulse response A wavelet filter's impulse response is not chosen freely: it is derived from a two-scale relation that expresses the scaling function associated with the wavelet as a weighted sum of shifted copies of itself at half the scale, with the wavelet itself built from a related, high-pass combination of the same coefficients. Solving that relation fixes the filter's taps, and different choices of how many taps to allow, and how many vanishing moments to demand, give the different named wavelet families in use. ### Limitations No single wavelet is best for every signal: a family well matched to sharp edges is not the family best matched to smooth gradients, and choosing badly gives worse compression than a well-chosen fixed transform would. The transform is also more expensive to compute for a large image or a long recording than a block transform of fixed size, and a large installed base of codecs and hardware already built around other transforms has kept wavelet-based formats a minority choice even where they compress better. ## Comparison with Fourier transform and time-frequency analysis A plain Fourier transform of an entire signal reports which frequencies are present but not when; a [[Short-time_Fourier_transform|short-time Fourier transform]] recovers timing by applying the same idea section by section through a [[Window_function|window]] of one fixed length, which fixes the shape of the resolution box at every analysis frequency. With a one-second window analyzing a 10 Hz tone, for instance, a second tone only 1 Hz away is still merged into one peak, one 2 Hz away is resolved but biased, and only past about 2.5 Hz of separation does a rectangular window read the pair cleanly.[^tib98w] A second tone at only one quarter the amplitude of the first fares worse still, staying hidden under the first tone's skirt at 1 Hz of separation and remaining visibly biased even at 2 Hz.[^tib100w] The wavelet transform instead keeps the resolution box's area fixed but lets its shape adapt with scale: at high analyzed frequencies the effective window is short, giving sharp timing at the cost of frequency resolution, while at low analyzed frequencies the window widens, trading timing for the frequency resolution a plain Fourier transform would give. This is a constant-Q analysis: the ratio between the analyzed frequency and the width of the response around it stays roughly constant across scales, unlike a short-time Fourier transform's constant absolute bandwidth, which is why a wavelet scalogram can show fine detail in the timing of a fast transient and fine detail in the frequency of a slow oscillation on the same plot. ## Other practical applications Beyond compression, the transform's ability to localize a signal in both time and scale suits it to detecting brief events buried in a longer record: a click of static in an audio recording, a sudden change in a biomedical signal, or the arrival of a seismic wave. Seismology was in fact among the transform's earliest applications: Jean Morlet, a geophysicist, developed the sliding, scaled correlation this article describes for analyzing seismic reflection data, and worked with the physicist Alex Grossmann to place it on a formal mathematical footing.[^grossmann84] The same locality makes the transform useful for denoising, since a signal's genuine structure often concentrates into a few large coefficients at scales matched to its features while noise spreads thinly across all of them, so coefficients below a threshold can be discarded with comparatively little damage to the signal itself; and for analyzing signals, from [[Speech_coding|speech]] to vibration measurements, whose frequency content genuinely changes over time in a way a single Fourier transform of the whole record cannot show. ## Time-causal wavelets A time-causal wavelet is built to depend only on a signal's past: its analyzing function is zero for any argument corresponding to a future sample, so a transform built from it can run in real time, updating each output the instant a new sample arrives rather than waiting for a symmetric neighborhood of past and future values. This trades away the sharp, symmetric time localization an acausal wavelet like the Morlet wavelet gets from looking equally forward and backward, in exchange for a transform usable during a live measurement rather than only afterward, on a signal already fully recorded. ## Synchro-squeezed transform The synchro-squeezed transform reassigns the energy already computed in a wavelet scalogram to a sharper estimate of each component's instantaneous frequency, concentrating what is normally a smeared ridge of energy across nearby scales into a thinner line closer to the true, possibly time-varying frequency of the underlying signal. It was introduced as a wavelet-based alternative to empirical mode decomposition for the same purpose: extracting a small number of clean, time-varying frequency tracks from a signal whose components are not simple, fixed sinusoids.[^dlw2011] ## Microsims The Wavelet transform sketch computes a continuous wavelet transform of a chosen test signal against a complex Morlet wavelet and builds up its scaleogram, the plot of the transform's magnitude over time and scale, as the calculation runs. Dragging the wavelet shown over the signal panel scales and slides it, changing a and b directly and moving the corresponding point read out on the scaleogram; clicking the signal control cycles through the available test signals. A diagnostics panel reports that the product of the wavelet's time width and frequency width at the current scale stays fixed as a changes even though the box's shape does not: narrow and tall at small scales, short and wide at large ones. *Try:* Cycle to a signal with both a sharp transient and a slow trend and compare where each shows up sharpest on the scaleogram, narrow in time near the transient and narrow in scale near the trend. A sibling three.js build of [[Spectrogram|Spectrogram]] renders the same idea as a scalogram surface, with short windows analyzing high frequencies and long windows analyzing low ones. <!-- SIGSIM:BEGIN g35 — Signal Processing portal microsim (framework build, specs/sims/Wavelet_transform.json); do not hand-edit inside --> **Microsim — three.js (Wikitube framework), pending deploy:** *Wavelet transform: constant Q - short wavelets high, long low* will play here once `https://wikitube-3d-microsims.netlify.app/signal/Wavelet_transform.html` is live. <!-- pending: <div class="wt-sim" data-src="https://wikitube-3d-microsims.netlify.app/signal/Wavelet_transform.html" data-title="Wavelet transform"></div> --> *Built from `MICROSIM_GUIDE/specs/sims/Wavelet_transform.json`; part of the [[Signal_processing]] set ([[PORTAL_Signal_Processing]]).* <!-- SIGSIM:END --> ## Wikipedia : Wikitube **Strict pair:** [Wikipedia](https://en.wikipedia.org/wiki/Wavelet_transform) : [Wikitube](https://en.wikitube.io/wiki/Wavelet_transform) Skeleton mirrored at revision 1363938745. Prose, emphasis and the microsims are Wikitube's own. ## See also - [[Short-time_Fourier_transform]] - [[Filter_bank]] - [[Image_compression]] - [[Discrete_wavelet_transform]] - [[Fourier_transform]] - [[Spectrogram]] ## References [^tib98w]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, pp. 98–100 (PDF pages). Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^tib100w]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, p. 100 (PDF page). Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^grossmann84]: Grossmann, A.; Morlet, J. "Decomposition of Hardy Functions into Square Integrable Wavelets of Constant Shape." SIAM Journal on Mathematical Analysis, 1984. [^dlw2011]: Daubechies, I.; Lu, J.; Wu, H.-T. "Synchrosqueezed Wavelet Transforms: An Empirical Mode Decomposition-like Tool." Applied and Computational Harmonic Analysis, 2011. ## External links - Wavelet transform, live sketch: https://editor.p5js.org/sciencenibber/full/7uR8jbXWS - Wavelet transform, editor fork: https://editor.p5js.org/sciencenibber/sketches/7uR8jbXWS <!-- Hubs: Signal_processing. Portals: PORTAL_Signal_Processing. Signal Processing portal wave 1 · 2026-09-17 · drafted. -->