denoisepermC {CNLTreg}R Documentation

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

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. 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

denoisepermC(x, f, returnall = FALSE, sdtype = "adlift", 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.

sdtype

Options are either "adlift" or "complex", indicating whether the noise variance is estimated with the average of the mean absolute deviations of both real and imaginary components of the finest wavelet coefficients, or just the real component, as in denoise.

verbose

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

...

Any other arguments to be passed to fwtnppermC, see documentation for this function for more details.

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. Those normalized details falling into the finest artificial level will be used for estimating the standard deviation of the noise that contaminated the signal. The variable sdtype is used for this estimate, see Appendix B of Hamilton et al. (2018) for more details. Using this estimate, 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.

indsd

Vector giving the standard deviations of the detail and scaling coefficients.

al

List giving the split of points between the artificial levels.

sd

Estimated 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.

See Also

denoisepermCh, fwtnppermC, mthreshC, cnlt.reg

Examples

    library(adlift)

    # construct an (irregular) observation grid
     x<-runif(256)

     #construct the true, normally unknown, signal
     g<-make.signal2("blocks",x=x)

     #generate noise with mean 0 and signal-to-noise ratio 5
     noise<-rnorm(256,mean=0,sd=sqrt(var(g))/5)

     #generate a noisy version of g
     f<-g+noise

     # perform the complex-valued denoising procedure to the noisy signal (x,f):
     est<-denoisepermC(x,f,LocalPred=AdaptPred,neigh=1,returnall=FALSE)


[Package CNLTreg version 0.1-2 Index]