What Are Wavelet Transforms?
Wavelet transforms are mathematical tools for analyzing data where features vary over different scales. For signals, features can be frequencies varying over time, transients, or slowly varying trends. For images, features include edges and textures. Wavelet transforms were primarily created to address limitations of the Fourier transform.
While Fourier analysis consists of decomposing a signal into sine waves of specific frequencies, wavelet analysis is based on decomposing signals into shifted and scaled versions of a wavelet. A wavelet, unlike a sine wave, is a rapidly decaying, wave-like oscillation. This enables wavelets to represent data across multiple scales. Different wavelets can be used depending on the application. Wavelet Toolbox™ for use with MATLAB® supports Morlet, Morse, Daubechies, and other wavelets used in wavelet analysis.
Audio signals, time-series financial data, and biomedical signals typically exhibit piecewise smooth behavior punctuated by transients. Similarly, images typically include homogenous, piecewise smooth regions separated by transients, which appear as edges. For both signals and images, the smooth regions and transients can be sparsely represented with wavelet transforms.
Capturing transient behavior in signals using a MATLAB wavelet transform.
Wavelet transforms can be classified into two broad classes: the continuous wavelet transform (CWT) and the discrete wavelet transform (DWT).
The continuous wavelet transform is a time-frequency transform, which is ideal for analysis of non-stationary signals. A signal being nonstationary means that its frequency-domain representation changes over time. CWT is similar to the short-time Fourier transform (STFT). The STFT uses a fixed window to create a local frequency analysis, while CWT tiles the time-frequency plane with variable-sized windows. The window widens in time, making it suitable for low-frequency phenomena, and narrows for high-frequency phenomena. The continuous wavelet transform can be used to analyze transient behavior, rapidly changing frequencies, and slowly varying behavior.
Analyzing a hyperbolic chirp signal (left) with two components that vary over time in MATLAB. The short-time Fourier transform (center) does not clearly distinguish the instantaneous frequencies, but the continuous wavelet transform (right) accurately captures them. See the MATLAB code.
With the discrete wavelet transform scales are discretized more coarsely than with CWT. This makes DWT useful for compressing and denoising signals and images while preserving important features. You can use discrete wavelet transforms to perform multiresolution analysis and split signals into physically meaningful and interpretable components.
Original (left) and denoised (right) images. The image was denoised while preserving the edges using a wavelet denoising function. See the MATLAB code.
For more information on applying wavelet techniques and selecting the right wavelets for your application in MATLAB, see Wavelet Toolbox.
Examples and How To
Software Reference
Wavelet Transforms FAQs
Wavelet transforms are mathematical tools for analyzing data where features vary over different scales, such as frequencies varying over time in signals or edges and textures in images.
Fourier analysis decomposes signals into sine waves of specific frequencies, while wavelet analysis decomposes signals into shifted and scaled versions of a wavelet, a rapidly decaying wave-like oscillation that enables representation of data across multiple scales.
The two broad classes are the continuous wavelet transform (CWT), a time-frequency transform ideal for analyzing non-stationary signals, and the discrete wavelet transform (DWT), which uses coarsely discretized scales for compressing and denoising signals and images.
A wavelet is a rapidly decaying, wave-like oscillation that, unlike a sine wave, can be shifted and scaled to represent data across multiple scales.
Wavelet transforms are used to analyze biomedical signals, seismic data, and time-series financial data with transient behavior, as well as to denoise and compress images while preserving important features like edges.
While STFT uses a fixed window for local frequency analysis, CWT tiles the time-frequency plane with variable-sized windows that widen for low-frequency phenomena and narrow for high-frequency phenomena.
Wavelet Toolbox supports Morlet, Morse, Daubechies, Haar, Symlets, and other wavelets used in wavelet analysis.
DWT is useful for compressing and denoising signals and images while preserving important features and for performing multiresolution analysis to split signals into physically meaningful and interpretable components.
See also: Signal Processing Toolbox, DSP System Toolbox, wavelet transforms videos, empirical mode decomposition, denoising