# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English version of the page.

## Choose a Wavelet

The type of wavelet analysis best suited for your work depends on what you want to do with the data. This topic focuses on 1-D data, but you can apply the same principles to 2-D data.

### Time-Frequency Analysis

If your goal is to perform a detailed time-frequency analysis, choose the continuous wavelet transform (CWT).

• The CWT is superior to the short-time Fourier transform (STFT) for signals in which the instantaneous frequency grows rapidly, such as in a hyperbolic chirp.

• The CWT is good at localizing transients in nonstationary signals.

In terms of implementation, scales are discretized more finely in the CWT than in the discrete wavelet transform (DWT). See Continuous and Discrete Wavelet Transforms for more details.

#### Wavelets Supported for Time-Frequency Analysis

To obtain the continuous wavelet transform of your data, use the `cwt` function. You can use the `wname` argument of this function to specify the type of wavelet best suited for your data. By default, `cwt` uses the generalized Morse wavelet family. This family is defined by two parameters. You can vary the parameters to recreate many commonly used wavelets.

WaveletFeatureswname
Generalized Morse WaveletCan vary two parameters to change time and frequency spread`'morse'` (default)
Analytic Morlet WaveletProvides good time localization`'amor'`
Bump WaveletProvides good frequency localization`'bump'`

All the wavelets in the table are analytic. Analytic wavelets are wavelets with one-sided spectra, and are complex valued in the time domain. These wavelets are a good choice for obtaining a time-frequency analysis using the CWT. Because the wavelet coefficients are complex valued, the CWT provides phase information. `cwt` supports analytic and anti-analytic wavelets. See Time-Frequency Analysis with the Continuous Wavelet Transform for additional information.

### Multiresolution Analysis

If you want to obtain a multiresolution analysis, or if you are working with a sparse representation of the data, then choose the discrete wavelet transform (DWT).

#### Energy Preservation

If preserving energy in the analysis stage is important, you must use an orthogonal wavelet. An orthogonal transform preserves energy. Consider using an orthogonal wavelet with compact support. Keep in mind that except for the Haar wavelet, orthogonal wavelets with compact support are not symmetric. The associated filters have nonlinear phase. This table lists supported orthogonal wavelets. You can use the `wname` argument in all the discrete wavelet transform functions to specify the type of wavelet best suited for your data. See `wavemngr('read')` for all wavelet family names.

CoifletScaling function and wavelets have same number of vanishing moments`'coifN'` for ```N = 1, 2, ..., 5```N/A
DaubechiesNonlinear phase; energy concentrated near the start of their support`'dbN'` for ```N = 1, 2, ..., 45````dbaux`, Extremal Phase Wavelet Coefficients
Fejér-KorovkinFilters constructed to minimize the difference between a valid scaling filter and the ideal sinc lowpass filter; are especially useful in discrete (decimated and undecimated) wavelet packet transforms. `'fkN'` for ```N = 4, 6, 8, 14, 18, 22```N/A
HaarSymmetric; special case of Daubechies; useful for edge detection`'haar'` (`'db1'`)N/A
SymletLeast asymmetric; nearly linear phase`'symN'` for ```N = 2, 3, ..., 45````symaux`, Symlets and Phase

Use `waveinfo` to learn more about individual wavelet families. For example, `waveinfo('db')`.

Depending on how you address border distortions, the DWT might not conserve energy in the analysis stage. However, the maximal overlap DWT (`modwt`) does conserve energy. See `dwtmode` and Border Effects for more information.

#### Feature Detection

If you want to find closely spaced features, choose wavelets with smaller support, such as `haar`, `db2`, or `sym2`. The support of the wavelet should be small enough to separate the features of interest. Wavelets with larger support tend to have difficulty detecting closely spaced features. Using wavelets with large support can result in coefficients that do not distinguish individual features. For an example, see Effect of Wavelet Support on Noisy Data. If your data has sparsely spaced transients, you can use wavelets with larger support.

#### Analysis of Variance

If your goal is to conduct an analysis of variance, the maximal overlap discrete wavelet transform (MODWT) is suited for the task. The MODWT is a variation of the standard DWT.

• The MODWT conserves energy in the analysis stage.

• The MODWT partitions variance across scales. For examples, see Wavelet Analysis of Financial Data and Wavelet Changepoint Detection.

• The MODWT requires an orthogonal wavelet, such as a Daubechies wavelet or symlet.

• The MODWT is a shift-invariant transform. Shifting the input data does not change the wavelet coefficients. The coefficients are shifted as well. The decimated DWT is not shift invariant. Shifting the input changes the coefficients and can redistribute energy across scales.

See `modwt` and `modwtmra` for more information. See also Comparing MODWT and MODWTMRA.

#### Redundancy

If your work requires representing a signal with minimal redundancy, use the DWT. If your work requires a redundant representation, use the MODWT. For an example, see Continuous and Discrete Wavelet Analysis of Frequency Break.

### Denoising

An orthogonal wavelet, such as a symlet or Daubechies wavelet, is a good choice for denoising signals. A biorthogonal wavelet can also be good for denoising images.

• An orthogonal transform does not color white noise. If white noise is provided as input to an orthogonal transform, the output is white noise. Performing a DWT with a biorthogonal wavelet colors white noise.

• An orthogonal transform preserves energy.

To learn if a wavelet family is orthogonal, use `waveinfo`. For example, `waveinfo('sym')`.

The `sym4` wavelet is the default wavelet used in the `wdenoise` function and the Wavelet Signal Denoiser app.

### Compression

If your work involves signal or image compression, consider using a biorthogonal wavelet. This table lists the supported biorthogonal wavelets with compact support. You can use the `wname` argument in all the discrete wavelet transform functions to specify the biorthogonal wavelet best suited for your data.

Biorthogonal WaveletFeatureswname
Biorthogonal SplineCompact support; symmetric filters; linear phase`'biorNr.Nd'` where `Nr` and `Nd` are the numbers of vanishing moments for the reconstruction and decomposition filters, respectively; see `waveinfo('bior')` for supported values
Reverse Biorthogonal SplineCompact support; symmetric filters; linear phase`'rbioNd.Nr'` where `Nr` and `Nd` are the numbers of vanishing moments for the reconstruction and decomposition filters, respectively; see `waveinfo('rbio')` for supported values

Having two scaling function-wavelet pairs, one pair for analysis and another for synthesis, is useful for compression.

• The filters are symmetric and have linear phase.

• The wavelets used for analysis can have many vanishing moments. A wavelet with `N` vanishing moments is orthogonal to polynomials of degree `N-1`. Using a wavelet with many vanishing moments results in fewer significant wavelet coefficients. Compression is improved.

• The dual wavelets used for synthesis can have better regularity. The reconstructed signal is smoother.

Using an analysis filter with fewer vanishing moments than a synthesis filter can adversely affect compression. For an example, see Image Reconstruction with Biorthogonal Wavelets.

When using biorthogonal wavelets, energy is not conserved at the analysis stage. See Orthogonal and Biorthogonal Filter Banks for additional information.

### General Considerations

Wavelets have properties that govern their behavior. Depending on what you want to do, some properties can be more important.

#### Orthogonality

If a wavelet is orthogonal, the wavelet transform preserves energy. Except for the Haar wavelet, no orthogonal wavelet with compact support is symmetric. The associated filter has nonlinear phase.

#### Vanishing Moments

A wavelet with `N` vanishing moments is orthogonal to polynomials of degree `N-1`. For an example, see Wavelets and Vanishing Moments. The number of vanishing moments and the oscillation of the wavelet have a loose relationship. The greater number of vanishing moments a wavelet has, the more the wavelet oscillates.

Names for many wavelets are derived from the number of vanishing moments. For example, `db6` is the Daubechies wavelet with six vanishing moments and `sym3` is the symlet with three vanishing moments. For coiflet wavelets, `coif3` is the coiflet with six vanishing moments. For Fejér-Korovkin wavelets, `fk8` is the Fejér-Korovkin wavelet with a length 8 filter. Biorthogonal wavelet names are derived from the number of vanishing moments the analysis wavelet and synthesis wavelet each have. For instance, `bior3.5` is the biorthogonal wavelet with three vanishing moments in the synthesis wavelet and five vanishing moments in the analysis wavelet. To learn more, see `waveinfo` and `wavemngr`.

The number of vanishing moments also affects the support of a wavelet. Daubechies proved that a wavelet with `N` vanishing moments must have a support of at least length `2N-1`.

#### Regularity

Regularity is related to how many continuous derivatives a function has. Intuitively, regularity can be considered a measure of smoothness. To detect an abrupt change in the data, a wavelet must be sufficiently regular. For a wavelet to have `N` continuous derivatives, the wavelet must have at least `N+1` vanishing moments. See Detecting Discontinuities and Breakdown Points for an example. If your data is relatively smooth with few transients, a more regular wavelet might be a better fit for your work.