ContinuousWaveletTransform

ContinuousWaveletTransform[{x1,x2,}]

gives the continuous wavelet transform of a list of values xi.

ContinuousWaveletTransform[data,wave]

gives the continuous wavelet transform using the wavelet wave.

ContinuousWaveletTransform[data,wave,{noct,nvoc}]

gives the continuous wavelet transform using noct octaves with nvoc voices per octave.

ContinuousWaveletTransform[sound,]

gives the continuous wavelet transform of sampled sound.

Details and Options

• ContinuousWaveletTransform gives a ContinuousWaveletData object.
• Properties of the ContinuousWaveletData cwd can be found using cwd["prop"]. A list of available properties can found using cwd["Properties"].
• The resulting wavelet coefficients are arrays of the same dimensions as the input data.
• The possible wavelets wave include:
•  MorletWavelet[…] Morlet cosine times Gaussian GaborWavelet[…] complex Morlet wavelet DGaussianWavelet[…] derivative of Gaussian MexicanHatWavelet[…] second derivative of Gaussian PaulWavelet[…] Paul wavelet
• The default wave is .
• The default value for noct is given by , where is the length of the input. »
• The default value for nvoc is 4.
• The continuous wavelet transform of a function is given by .
• The continuous wavelet transform of a uniformly sampled sequence is given by .
• The scaling parameter is given by equal-tempered scale where is the octave number, the voice number, and the smallest wavelet scale.
• For each scale , the ContinuousWaveletTransform computes the wavelet coefficients .
• The following options can be given:
•  Padding None how to extend data beyond boundaries SampleRate Automatic samples per unit WaveletScale Automatic smallest resolvable scale WorkingPrecision MachinePrecision precision to use in internal computations
• Padding pads the input data to the next higher power of 2 to reduce boundary effects. The settings for Padding are the same as for the padding argument used in ArrayPad.
• InverseContinuousWaveletTransform gives the inverse transform.

Examples

open allclose all

Basic Examples(2)

Compute a continuous wavelet transform using MexicanHatWavelet:

Plot the coefficients:

Perform an inverse continuous wavelet transform:

Transform a sampled Sound object:

Plot a scalogram:

Scope(18)

Basic Uses(6)

Compute a continuous wavelet transform:

Show all the voices for the 8octave:

Use Normal to get all wavelet coefficients explicitly:

Also use All as an argument to get all coefficients:

Use "IndexMap" to find out what wavelet coefficients are available:

Extract specific coefficient arrays:

Extract several wavelet coefficients corresponding to the list of wavelet index specifications:

Extract all coefficients whose wavelet indexes match a pattern:

WaveletScalogram gives a time scale representation of wavelet coefficients:

More voices per octave increases the scale resolution:

Higher number of octaves gives a wider spectrum of scale range:

Time and Scale Features(4)

A single frequency shows up as a horizontal band at the equivalent scale:

Multiple frequencies show up as multiple bands at the equivalent scales:

Sinusoid with linearly increasing frequency:

Wavelet transform gives a good time localization of features:

Higher frequencies are resolved at lower octaves and lower frequencies at higher octaves:

Resolve time and frequency features of a signal:

Use GaborWavelet to perform a continuous wavelet transform:

There is an inverse relationship between scale values and frequency values:

Find pairs of {oct,voc} that resolve frequencies 20 Hz and 70 Hz:

Verify using a WaveletScalogram:

Wavelet Families(6)

Compute the wavelet transform using different wavelet families:

A narrow wavelet function will have good time and scale resolution:

A broad wavelet function will have poor time and scale resolution:

Use different families of wavelets to capture different features:

MexicanHatWavelet (default):

Sound(2)

ContinuousWaveletTransform works on Sound as input:

Speech analysis using ContinuousWaveletTransform:

The orange patches correspond to the words "You will return safely to Earth":

Extract octaves 5 and 6:

Options(9)

The settings for Padding are the same as the methods for ArrayPad, including "Periodic":

"Reversed":

"ReversedNegation":

"Reflected":

"ReflectedDifferences":

"ReversedDifferences":

"Extrapolated":

Padding has no effect on the length of wavelet coefficients:

Padding pads the input data to the next higher power of 2 to reduce boundary effects:

Boundary effects at the start:

Boundary effects at the end:

SampleRate(3)

For lists, the Automatic value of SampleRate is set to 1:

Explicitly set the sample rate:

For Sound data, the Automatic value of SampleRate is extracted from the Sound data object:

SampleRate is used for normalizing wavelet transform coefficients:

WaveletScale(1)

WaveletScale indicates the smallest resolvable scale used for the transform:

The scales used are given as with wavelet scale, octave, and voice:

WorkingPrecision(2)

By default, is used:

Use higher-precision computation:

Applications(4)

Identify Features(2)

Real wavelet functions can be used to isolate peaks or discontinuities:

Complex wavelets can be used to capture oscillatory behavior:

Amplitude of wavelet coefficients:

Phase of wavelet coefficients:

Filter Frequencies(2)

ContinuousWaveletTransform can be used to filter frequencies:

Filter the cosine with frequency :

Perform InverseContinuousWaveletTransform on a thresholded data object:

The final filtered signal:

Identify musical notes using a scalogram:

Generate a sequence of pitches corresponding to an equal-tempered scale at 300 Hz:

Compute frequencies resolved corresponding to octaves and voices:

Find pairs of {oct,voc} that resolve frequencies 300 Hz:

Properties & Relations(1)

The default value for octave is given by :

Default value of voices is 4:

Possible Issues(1)

Low-frequency data is resolved at higher octaves:

Based on the length of input data, the Automatic setting for octaves resolved 8 octaves:

Increase the number of octaves to resolve the low-frequency component:

Neat Examples(1)

Scalogram of a Zeta function:

Wolfram Research (2010), ContinuousWaveletTransform, Wolfram Language function, https://reference.wolfram.com/language/ref/ContinuousWaveletTransform.html.

Text

Wolfram Research (2010), ContinuousWaveletTransform, Wolfram Language function, https://reference.wolfram.com/language/ref/ContinuousWaveletTransform.html.

CMS

Wolfram Language. 2010. "ContinuousWaveletTransform." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ContinuousWaveletTransform.html.

APA

Wolfram Language. (2010). ContinuousWaveletTransform. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ContinuousWaveletTransform.html

BibTeX

@misc{reference.wolfram_2023_continuouswavelettransform, author="Wolfram Research", title="{ContinuousWaveletTransform}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/ContinuousWaveletTransform.html}", note=[Accessed: 30-September-2023 ]}

BibLaTeX

@online{reference.wolfram_2023_continuouswavelettransform, organization={Wolfram Research}, title={ContinuousWaveletTransform}, year={2010}, url={https://reference.wolfram.com/language/ref/ContinuousWaveletTransform.html}, note=[Accessed: 30-September-2023 ]}