denoisepermCh {CNLTreg}R Documentation

Denoises a signal using the complex-valued lifting transform and multivariate soft thresholding and heteroscedastic variance computation

Description

Denoises an input signal contaminated by noise. First the signal is decomposed using the complex-valued lifting scheme (see fwtnppermC) using an order of point removal. A sliding window approach is then used on these wavelet coefficients to estimate a local noise variance. The resulting complex-valued wavelet coefficients are then thresholded using a soft thresholding rule on the details' magnitude. The transform is inverted and an estimate of the noisy signal is obtained.

Usage

denoisepermCh(x, f, returnall = FALSE, verbose = FALSE, ...)

Arguments

x

Vector of any length (not necessarily equally spaced) that gives the grid on which the signal is observed.

f

Vector of the same length as x that gives the signal values corresponding to the x-locations.

returnall

Indicates whether the function returns useful variables or just the denoised datapoints.

verbose

Indicates whether useful messages should be printed to the console during the procedure.

...

Any other arguments to be passed to fwtnpperm and fwtnppermC.

Details

After the complex lifting transform is applied, the wavelet coeficients are divided into artificial levels. The details from the lifting scheme have different variances, and will therefore be normalized to have the same variance as the noise, by using the lifting matrix. A sliding window is used to compute a local 'heteroscedastic' noise variance by taking the MAD of those normalized details falling into the window, see Nunes et al. (2006) for more details. Given the noise estimates for each observation, the normalized details can then be thresholded and un-normalized. The transform is then inverted to give an estimate of the signal.

Value

If returnall=FALSE, the estimate of the function after denoising. If returnall=TRUE, a list with components:

fhat

Estimated signal after removing the noise.

w

This is the matrix associated to the modified lifting transform.

al

List giving the split of points between the artificial levels.

sd

Estimated heteroscedastic standard deviation of the noise.

Author(s)

Matt Nunes, Marina Knight

References

Hamilton, J., Nunes, M. A, Knight, M. I. and Fryzlewicz, P. (2018) Complex-valued wavelet lifting and applications. Technometrics, 60 (1), 48-60, DOI 10.1080/00401706.2017.1281846.

Nunes, M. A., Knight, M. I and Nason, G. P. (2006) Adaptive lifting for nonparametric regression. Stat. Comput. 16 (2), 143–159.

Knight, M. I. and Nason, G. P. (2009) A 'nondecimated' wavelet transform. Stat. Comput. 19 (1), 1–16.

See Also

denoisepermC, fwtnppermC, fwtnpperm, heterovar, mthreshC

Examples


library(MASS)	# where the motorcyle data lives

mcycleu<-mcycle[which(duplicated(mcycle$times)=='FALSE'),]
time<-mcycleu[,1]
accel<-mcycleu[,2]

set.seed(200)
est1<-denoisepermCh(time,accel)


[Package CNLTreg version 0.1-2 Index]