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

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 8^(th) octave:

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):

DGaussianWavelet:

GaborWavelet:

MorletWavelet:

PaulWavelet:

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)

Padding  (3)

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, WorkingPrecision->MachinePrecision 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 TemplateBox[{{InterpretationBox[{log, _, DocumentationBuild`Utils`Private`Parenth[2]}, Log2, AutoDelete -> True], (, {n, /, 2}, )}}, Floor]:

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:

Introduced in 2010
 (8.0)