convdown(x, filter, boundary, convfast=F)
"periodic".
See details below.
n=length(x) is even, then the filtered vector is of length
n/2.
If
n is odd, then when
filter is a low-pass filter
(
is.low.pass(filter)==TRUE), the filtered vector is of length
ceiling(n/2)
and when
filter is a high-pass filter
(
is.high.pass(filter)==TRUE), the filtered vector is of length
floor(n/2).
When
boundary="reflection", and both
n and
m=length(filter) are odd,
then if
is.dual(filter)==FALSE and
is.low.pass(filter)==TRUE, or
is.dual(filter)==TRUE
and
is.high.pass(filter)==TRUE, the filtered vector
is of length
ceiling(n/2); otherwise the filtered vector is of length
floor(n/2)
.
Available boundary rules:
xis assumed to be periodic. Sample size must be even.
x is extended using a polynomial (of degree
pdeg) extrapolation.
The default
pdeg is given by
wavelet.options(). To use
different
pdeg, reset
pdeg in
wavelet.options() (e.g.
wavelet.options(pdeg=1))
or set
pdeg as an attribute of
boundary. polynomial with
pdeg=0. polynomial with
pdeg=1. polynomial with
pdeg=2. x is padded using zeros. x is reflected (and then periodically extended). Symmetric/antisymmetric filter
is needed. "s4", "s6", "s8", "s10", "s12", "s14", or
"s16" filters only. x is padded using a polynomial (of degree
pdeg) extrapolation;
a fraction (specified by
pfrac) of data can be used to fit two polynomial regression
models, one for each end.
The filtered vector has attributes
left.pad and
right.pad to store
extra coefficients (of maginitude
O(length(filter)))
so that all coefficients (infinite number of them!) can be recovered based on
the polynomial extension model.