The maximal overlap discrete wavelet transform (MODWT).

USAGE:

wavMODWT( x, wavelet = ``s8", n.levels = 3 )

DESCRIPTION:

Let j, t be the decomposition level, and time index, respectively, and s(0,t) = X(t) for t = 0,...,N-1 where X(t) is a real-valued uniformly-sampled time series. The jth level MODWT wavelet coefficients d(j,t) and scaling coefficients s(j,t) are defined as

d(j,t) = sum( h(l) s(j-1, t - 2^(j-1) l mod N ) ),

and

s(j,t) = sum( g(l) s(j-1, t - 2^(j-1) l mod N ) ).

The variable L is the length of both the scaling filter (g) and wavelet filter (h). The d(j,t) and s(j,t) are the wavelet and scaling coefficients, respectively, at decomposition level j and time index t. The MODWT is a collection of all wavelet coefficients and the scaling coefficients at the last level: d(1),d(2),...,d(J),s(J) where d(j) and s(j) denote a collection of wavelet and scaling coefficients, respectively, at level j.

REQUIRED ARGUMENTS:

x
A vector containing a uniformly-sampled real-valued time series.

OPTIONAL ARGUMENTS:

wavelet
A character string denoting the filter type. See wavDaubechies for details. Default: ``s8".
n.levels
The number of decomposition levels. Default: the maximum level at which there exists at least one interior wavelet coefficient.

VALUE:

result
An object of class WaveletTransform.

DETAILS:

The MODWT is a non-decimated form of the discrete wavelet transform (DWT) having many advantages over the DWT including the ability to handle arbitrary length sequences and shift invariance (while the wavDWT function can handle arbitrary length sequences, it does so by means of an ad hoc storage sytem for odd length scaling coefficient crystals. The MODWT needs no such scheme and is more robust in this respect). The cost of the MODWT is in its redundancy. For an N point input sequence, there are N wavelet coefficients per scale. However, the number of multiplication operations is O(N log2(N)) which is the same as the fast Fourier transform, and is acceptably fast for most situations.

REFERENCES:

(1) D. B. Percival and A. T. Walden, ``Wavelet Methods for Time Series Analysis'', Cambridge University Press, 2000.

SEE ALSO:

, , , , , , , , .

EXAMPLES:

    ## calculate the MODWT of an electrocardiogram
    ## sequence out to 4 levels
    result <- wavMODWT( ecg, wavelet = "s8", n.levels = 4 )

    ## plot the transform
    plot( result )

    ## summarize the transform
    summary( result )