Non-decimated Discrete Wavelet Transform

DESCRIPTION:
Applies the non-decimated (over-sampled) discrete wavelet transform to a time series or a vector.

USAGE:
nd.dwt(x, wavelet="s8", n.levels=6, dual=F,
       analysis.filter=NULL, synthesis.filter=NULL)

REQUIRED ARGUMENTS:
x:
a vector or time series object.

OPTIONAL ARGUMENTS:
wavelet:
a character string giving the name of the wavelet, e.g. "d4", "s8", see wavelet for all available wavelet names. For user-provided filter, input the values in analysis.filter below.
n.levels:
a non-negative integer specifying number of multi-resolution levels. If n.levels is bigger than ml, where ml is the maximum possible level, then n.levels is set to ml and a warning message is given. The max.level function is used to compute ml.
dual:
logical flag indicating if dual filter is used for analysis instead of synthesis. This argument applies only for biorthogonal wavelets. See wavelet for details.
analysis.filter:
for user-defined analysis filter, see filter argument in wave.filter for details.
synthesis.filter:
for user-defined synthesis filter, see filter argument in wave.filter for details. When analysis.filter is provided, then the default synthesis.filter is also analysis.filter.

VALUE:
an object of class nd.dwt, inheriting from the classes dwt, wpt, wp and crystal.vector. See crystal.vector.object for details.

DETAILS:
The non-decimated discrete wavelet transform is non-orthogonal variant to the classical DWT. With the non-decimated DWT, starting with n sample values, you end up with (J+1) n coefficients. Unlike the classical DWT, which has fewer coefficients at coarse scales, each scale for the non-decimated DWT has n coefficients. The non-decimated wavelet transform can be inverted using the reconstruct function. Refer to the section "Non-Decimated Wavelets" in the S+WAVELETS User's Manual for more details about the nd.dwt function.

All the default optional arguments can be reset using function wavelet.options. See wavelet.options for details.


BUGS:
Signal x is assumed to be periodic. Other boundary rules are not available for nd.dwt.

REFERENCES:
Mallat, S. and Hwang, W. L. (1992). Singularity Detection and Processing with Wavelets. IEEE Transactions on Information Theory, 38 (2), 617-643.

Shensa, M. J. (1992). The Discrete Wavelet Transform: Wedding the A Trous and Mallat Algorithms. IEEE Transactions on Signal Processing, 40 (10), 2464-2482.


SEE ALSO:
dwt , atrous , max.level , reconstruct , wavelet.options , crystal.vector.object .

EXAMPLES:
xx <- make.signal("doppler")
nd <- nd.dwt(xx, n.levels=4)
eda.plot(nd)