accessC.mwd(mwd, level=mwd$nlevels)
mwd$filter$npsi
rows containing the extracted data of all the
coefficients at that level.
For decomposition, the top level contains the original data, and
subsequent lower levels contain the successively smoothed data.
So if there are mwd$filter$npsi*2^m
original data points (mwd$filter$npsi
is the
multiplicity of wavelets), there will be m+1
levels
indexed 0,1,...,m. So
accessC.mwd(mwd, level=m)
pulls out the original data, as does
accessC.mwd(mwd)
To get hold of lower levels just specify the level that you're interested in, e.g.
accessC.mwd(mwd, level=2)
Gets hold of the second level.
The need for this function is a consequence of the pyramidal structure
of Mallat's algorithm
and the memory efficiency gain achieved by
storing the pyramid as a linear matrix of coefficients.
AccessC obtains information about
where the smoothed data appears from the fl.dbase component of
mwd, in particular the array fl.dbase$first.last.c
which
gives a complete specification of index numbers and offsets for
mwd$C
.
Note also that this function only gets information from mwd class objects. To put coefficients into mwd structures you have to use the putC.mwd function.
See Downie and Silverman, 1998.
# # Get the 3rd level of smoothed data from a decomposition # accessC.mwd(mwd(data), level=3)