Morlet wavelet
The Morlet wavelet is a complex-valued mother wavelet defined as the product of a Gaussian envelope and a complex sinusoidal carrier wave, providing an effective tool for analyzing the time-frequency content of non-stationary signals through the continuous wavelet transform.[1] Developed in the late 1970s and early 1980s by French geophysicist Jean Morlet at the oil company Elf-Aquitaine (now Total), the wavelet emerged from efforts to improve seismic data processing for detecting subsurface reflections with varying frequencies over time.[2] Morlet, inspired by Dennis Gabor's 1946 work on windowed Fourier transforms and the Heisenberg uncertainty principle, coined the term "wavelet" (from the French "ondelette," meaning "small wave") to describe these localized oscillatory functions.[2] His initial implementations were published in 1982 alongside collaborators Georges Arens, Eliane Fourgeau, and Dominique Glard, focusing on practical applications in geophysics, while mathematical formalization came through collaborations with Alexandre Grossmann and others, notably in a 1984 paper establishing the transform's invertibility and admissibility conditions for square-integrable wavelets of constant shape.[3][4][5] Mathematically, the Morlet wavelet is typically expressed as \psi(t) = \pi^{-1/4} e^{i \omega_0 t} e^{-t^2 / 2}, where \omega_0 (often set to 6 for admissibility) is the central frequency ensuring a balance between time and frequency localization, and the Gaussian term e^{-t^2 / 2} provides decay to make it square-integrable.[1] This form, a modulated Gaussian, admits an analytic continuation to Hardy functions and satisfies the admissibility condition \int_{-\infty}^{\infty} |\hat{\psi}(\omega)|^2 / |\omega| \, d\omega < \infty, allowing perfect reconstruction of signals via the inverse wavelet transform.[5] Variations include adjustable parameters like a damping factor c in \psi(t) = e^{-(t/c)^2} e^{i 2\pi f_0 t} to tune the time-frequency resolution trade-off.[1] The Morlet wavelet's strength lies in its ability to capture both transient and oscillatory features with good time and frequency resolution, making it particularly suitable for applications in signal processing, such as seismic interpretation, where it facilitates spectral decomposition of non-stationary data.[1][2] Beyond geophysics, it is employed in neuroscience for analyzing electroencephalogram signals, in meteorology for studying climate variability, and in audio processing for time-frequency representations of sounds.[6] Its complex nature enables phase information extraction, enhancing its utility in fields requiring precise localization of frequency components over time.[1]Mathematical Definition
Continuous Form
The continuous Morlet wavelet is a complex-valued function derived from a Gaussian-windowed complex exponential, designed for time-frequency analysis in the continuous wavelet transform. It takes the form \Psi_\sigma(t) = c_\sigma \pi^{-1/4} e^{-t^2/2} \left( e^{i \sigma t} - \kappa_\sigma \right), where t is the time variable, \sigma > 0 is the central frequency parameter controlling the number of oscillations within the Gaussian envelope (typically \sigma > 5 to ensure the approximation to admissibility holds well), and \kappa_\sigma = e^{-\sigma^2/2} is the correction term subtracted to enforce zero mean, satisfying the admissibility condition \int \Psi_\sigma(t) \, dt = 0 required for the wavelet to be a valid analyzing function.[7][8] The normalization constant c_\sigma ensures the wavelet has unit energy, \int |\Psi_\sigma(t)|^2 \, dt = 1, and is given by c_\sigma = \left( 1 + e^{-\sigma^2} - 2 e^{-3\sigma^2/4} \right)^{-1/2}. This arises from computing the L^2-norm of the unnormalized form, where the cross term in the integral involves the Fourier transform of the Gaussian, yielding \sqrt{\pi} e^{-\sigma^2/4}. For large \sigma, \kappa_\sigma becomes negligible (\approx 10^{-5} at \sigma = 6), simplifying the wavelet to \Psi_\sigma(t) \approx \pi^{-1/4} e^{i \sigma t} e^{-t^2/2}.[7][8]Discrete Form
The discrete form of the Morlet wavelet discretizes the continuous version onto a dyadic grid of scales and translations to enable efficient numerical computation in discrete wavelet transforms. This involves scaling the mother wavelet by factors of $2^j and translating by multiples of $2^j, where j \in \mathbb{Z} indexes the scale and k \in \mathbb{Z} indexes the translation. The resulting basis functions are given by \psi_{j,k}(t) = 2^{-j/2} \Psi\left( \frac{t - k 2^j}{2^j} \right), where \Psi(t) is the mother Morlet wavelet.[9] In practical implementations, the central frequency parameter \sigma (also denoted \omega_0) is typically set to approximately 6 to minimize the need for complex-valued corrections that enforce the admissibility condition, as this value ensures the wavelet's mean is nearly zero while maintaining good time-frequency localization.[8] A common approximation uses the real part of the complex Morlet wavelet to simplify computations, yielding \Psi(t) = \pi^{-1/4} e^{-t^2/2} \cos(\sigma t) with \sigma = 6, which provides a bandpass filter suitable for analyzing oscillatory signals without significant DC leakage.[8][10] Sampling considerations are critical in discrete applications to avoid aliasing and ensure accurate representation of the wavelet's frequency content. The signal's sampling rate must exceed twice the highest frequency of interest (Nyquist criterion), and wavelet scales should be selected to span frequencies from near zero up to the Nyquist frequency, often using logarithmic spacing with at least 10–12 voices per octave to adequately sample the scaleogram without redundancy.[8] Padding the signal with zeros to the next power of two and defining a cone of influence for edge effects further mitigate artifacts in the discrete transform.[8] This discrete form is widely implemented in software libraries for continuous wavelet analysis on discrete data. In MATLAB, thecwt function supports the analytic Morlet wavelet (specified as 'amor') with configurable voices per octave (default 10) and automatic scale-to-frequency mapping based on the sampling rate.[11] Similarly, PyWavelets implements the complex Morlet via the 'cmorB-C' family (e.g., 'cmor6-1.0' for \sigma = 6) in its cwt routine, evaluating the wavelet over bounded support and recommending scales \geq 2 relative to the sampling interval to prevent aliasing.[12] These tools fix \sigma = 6 as the standard for discrete analysis, balancing computational efficiency with analytical fidelity.[12][11]