Create Wavelet Filter

DESCRIPTION:

Create a wavelet filter.

USAGE:

wave.filter(wavelet, filter=NULL, high.pass=F, dual.filter=F, 
            even.filter=F, filter.seq=NULL, start=0) 
is.dual(x) 
is.high.pass(x) 
is.low.pass(x) 
is.orthogonal(x) 
is.symmetric(x) 
is.antisymmetric(x) 

REQUIRED ARGUMENTS:

wavelet
a character string giving the wavelet name, e.g. "d4". See wavelet.packet for a list of all available wavelet names. For user-defined filter, input the values the filter argument (see below).
x
a numeric vector of filter coefficients.

OPTIONAL ARGUMENTS:

filter
a numeric vector or a list of vectors. If filter is a vector or a list of length 1, it is assumed to be the low-pass filter (therefore the sum of the filter coefficients must be nonzero) and the high-pass filter will be computed by the usual quadrature mirror. If filter is a list of length 2 or more, filter[[1]] will be assumed to be the low-pass filter and filter[[2]] will be assumed to be the high-pass filter.
high.pass
logical flag indicating if high-pass filter is requested. This argument will be ignored if filter.seq is supplied.
dual.filter
logical flag indicating if dual filter is requested.
even.filter
logical flag indicating if pad a zero to make the originally odd length filter become even length.
filter.seq
a character string of Ls and Hs. If present, cascade filter is computed.
start
filter start, for user defined filters only.

VALUE:

an object of class wave.filter, see wave.filter.object for details. is.dual returns TRUE if x is a dual filter, and FALSE otherwise. is.high.pass returns TRUE if x is a high-pass filter, and FALSE otherwise. is.low.pass returns TRUE if x is a low-pass filter, and FALSE otherwise. is.orthogonal returns TRUE if x is an orthogonal filter, and FALSE otherwise. is.symmetric returns TRUE if x is a symmetric vector, and FALSE otherwise. is.antisymmetric returns TRUE if x is a anti-symmetric vector, and FALSE otherwise.

DETAILS:

For more details, refer to the chapter "Algorithms and Filters" of the S+WAVELETS User's Manual.

REFERENCES:

Daubechies, I. (1992). Ten Lectures on Wavelets. SIAM, Philadelphia.

SEE ALSO:

, , .

EXAMPLES:

wf <- wave.filter("s8") 
par(mfrow=c(2,2)) 
plot(wf)                      # plot the 8 taps of low-pass S8 
transfer.plot(wf)             # plot the amplitude of the transfer function 
transfer.plot(wf, phase=T)    # plot the phase of the transfer function 
plot(wavelet("s8"))           # plot the scaling function of S8