ContinuousWaveletData

ContinuousWaveletData[{{oct1,voc1}->coef1,},wave]

yields a continuous wavelet data object with wavelet coefficients coefi corresponding to octave and voice {octi,voci} and wavelet wave.

Details and Options

  • ContinuousWaveletData[{{oct1,voc1}->coef1,},] is always converted to an optimized standard form with structure ContinuousWaveletData[coefs,octvocs,].
  • The coefficients coefi can be vectors, Sound[], or SampledSoundList[] objects.
  • The options used by ContinuousWaveletTransform can also be used as options to ContinuousWaveletData.
  • In standard output format, only the number of octaves, voices, and dimensions of the original data are printed.
  • Normal[ContinuousWaveletData[]] gives a list of rules {{oct1,voc1}->coef1,{oct2,voc2}->coef2,} which gives the correspondence between each octave and voice {octi,voci} and the corresponding coefficient array coefi.
  • ContinuousWaveletData represents a continuous wavelet transform w(u,s)=1/(sqrt(s))sum_(k=1)^nx_k TemplateBox[{psi}, Conjugate]((Delta (k-u))/s) at multiple scales .
  • Each scale is specified by an octave number and voice number and is given by .
  • The scale {oct,voc} can be used to extract wavelet coefficients from a ContinuousWaveletData object cwd. The following specifications can be given:
  • cwd[{oct,voc}]extract coefficients corresponding to {oct,voc}
    cwd[{{oct1,voc1},{oct2,voc2},}]extract several wavelet coefficient arrays
    cwd[ovpatt]extract all coefficients whose scale matches ovpatt
    cwd[All]extract all coefficients
  • By default, coefficients are returned as a list of rules {{oct1,voc1}->coef1,{oct2,voc2}->coef2,}.
  • cwd[,{form1,form2,}] can be used to control the output form. Possible formi include:
  • "Rules"rules {{oct1,voc1}->}
    "Values"coefficients only
    "Inverse"inverse transform individual coefficients
    "ListPlot"simple list plots for 1D coefficients
    "Sound"sound objects for sound coefficients
    "SampledSoundList"sampled sound objects for sound coefficients
  • Properties of a wavelet representation are obtained from ContinuousWaveletData[]["prop"].
  • ContinuousWaveletData[]["Properties"] gives a list of properties available for the ContinuousWaveletData object.
  • Properties related to transform coefficients include:
  • "Octaves"the number of octaves used
    "Voices"the number of voices per octave used
    "Scales"wavelet scales used
    "Wavelet"wavelet family used
    "WaveletScale"smallest resolvable scale
    "WaveletIndex"list of all wavelet indices {octi,voci}
    "LogScalogramFunction"gives the function
    "LinearScalogramFunction"gives the function
  • Properties related to input data include:
  • "DataDimensions"dimensions of original data
    "DataChannels"the number of channels of data
    "DataMean"the mean of original data
    "DataWrapper"wrapper function applied to data after reconstruction
    "SampleRate"sample rate used for input data

Examples

open allclose all

Basic Examples  (2)

Get a ContinuousWaveletData object:

The ContinuousWaveletData represents arrays of coefficients at different scales {oct,voc}:

Extract properties including numerical scale corresponding to each {oct,voc}:

Compute the inverse wavelet transform of arbitrary continuous wavelet transform coefficients:

Scope  (12)

Basic Uses  (10)

Get a ContinuousWaveletData object from ContinuousWaveletTransform:

Show the list of computed scales {oct,voc}:

Get the coefficient arrays as a list of rules:

InverseContinuousWaveletTransform operates on ContinuousWaveletData:

With enough octaves and voices, the inverse transform gives an accurate reconstruction:

Extract coefficients corresponding to specific octaves and voices:

Extract a single coefficient array:

Extract all coefficients in the first octave using the pattern {1,_}:

Specify a list including both specific {oct,voc} and patterns:

Get coefficient arrays in different forms:

Get as a list of rules (default):

Get values only:

Get coefficients as small list plots:

Get an inverse transform of each coefficient array:

Combine forms:

Get sound wavelet coefficients as Sound objects:

Extract properties of the wavelet transform data:

Number of octaves and voices, and wavelet used:

All available properties:

Use ContinuousWaveletData in other wavelet functions:

Inverse transform:

Scalogram:

Transform ContinuousWaveletData:

Apply an arbitrary function to each coefficient:

Set all coefficients matching a specified {oct,voc} to zero:

Compare scalograms:

Construct a ContinuousWaveletData object from a list of rules giving coefficient arrays:

The result represents a range of octaves and voices including the specified coefficients:

The other coefficients are assumed to be zero:

Construct a ContinuousWaveletData object using a specified wavelet:

The specified wavelet is used in the inverse transform:

Properties  (2)

Get properties of the continuous wavelet transform:

Wavelet and wavelet scale used:

Properties of transform coefficients, including number of octaves and voices:

List of all available {oct,voc}:

Numerical scales corresponding to each {oct,voc}:

Properties related to input data:

Data dimensions, number of audio channels, and sample rate:

Wrapper function that is automatically applied to the result of an inverse transform:

Options  (5)

SampleRate  (1)

For Sound input, SampleRate is automatically computed:

By default, SampleRate is extracted from the first coefficient rule:

Specify SampleRate explicitly:

WaveletScale  (2)

By default, WaveletScale is automatically computed:

Set ContinuousWaveletData:

Explicitly set WaveletScale:

WorkingPrecision  (2)

By default, WorkingPrecision->MachinePrecision is used:

Use higher-precision computation:

With numbers close to zero, accuracy is the better indicator of the number of correct digits:

Properties & Relations  (5)

The length of each wavelet coefficient array equals the length of the data:

ContinuousWaveletData represents continuous transform coefficients at a set of scales:

DiscreteWaveletData represents a tree of discrete transform coefficients:

Reconstruct a ContinuousWaveletData from its coefficients and properties:

Specify the coefficients and the wavelet used:

The data dimensions are determined from the coefficients:

Compare inverse transforms:

Equivalent ways to get all coefficients as a list of rules:

Use Normal:

Explicitly extract All coefficients:

Specify the pattern Blank[] (_), which matches any octave and voice:

Equivalent ways to get only coefficient lists:

Apply Last to each rule returned by cwd[{oct,voc}]:

Use Part:

Explicitly get only coefficient values:

Introduced in 2010
 (8.0)