cnlt.reg {CNLTreg}R Documentation

Performs 'nondecimated' complex-valued wavelet lifting for signal denoising

Description

The transform-threshold-invert procedure for signal denoising is dependent on the trajectory (lifting order) used in the forward lifting transform. This procedure uses trajectory bootstrapping and averaging of estimates to gain denoising performance

Usage

cnlt.reg(x, f, P, returnall = FALSE, nkeep = 2, ...)

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.

P

Number of trajectories to be used by the nondecimated lifting algorithm.

returnall

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

nkeep

Number of scaling points we want at the end of the transform. The usual choice is nkeep=2.

...

Any other arguments to be passed to denoisepermC, see the function documentation for more details.

Details

Essentially, this function applies the complex wavelet lifting denoising procedure denoisepermC P times, each with a different random lifting trajectory. This results in P estimates of the (unknown) true signal. The average of these estimators is the proposed estimator.

Value

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

vec

A matrix of dimension P x (n - nkeep), each row corresponding to a different lifting trajectory.

aveghat

Estimated signal after removing the noise.

Warning

Using a large number of trajectories for long datasets could take a long time!

Author(s)

Matt Nunes

References

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

For the real-valued equivalent procedure, see also
Knight, M. I. and Nason, G. P. (2009) A 'nondecimated' wavelet transform. Stat. Comput. 19 (1), 1–16.

See Also

denoisepermCh, fwtnppermC, mthreshC, nlt

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 
     
     #decide on a number of random trajectories to be used (e.g. J=5 below), and apply
     # the nondecimated lifting transform to the noisy signal (x,f): 
## Not run: 
     est<-cnlt.reg(x,f,P=50,LocalPred=AdaptPred,neighbours=1,returnall=FALSE) 

## End(Not run)

[Package CNLTreg version 0.1-2 Index]