Basis Pursuit Wavelet Denoising and Compression (solved by Interior Point)

DESCRIPTION:

Signal denoising or compression by L1 penalized least squares.

USAGE:

bp.by.ip(s, lambda, ..., analysis.name="nd.dwt", x="mof", 
         perturbation=0, max.iter=20, opt.tol=0.01, fea.tol=0.01, 
         cg.tol=0.01, cg.max.iter=length(s), verbose=T) 

REQUIRED ARGUMENTS:

s
numeric vector. Complex signals not allowed.
lambda
non-negative real number proportional to the amount of denoising to perform. Meta parameter penalizing the residual sum of squares by the L1 norm of the wavelet coefficients. For compression, lambda=0.

OPTIONAL ARGUMENTS:

...
additional argument such as wavelet or n.levels used by analysis.
analysis.name
character string indicating which wavelet transform to use, such as dwt, nd.dwt, wp.table, cp.table and their 2-D versions.
x
object of type obtained from analysis or a character string: "mof" (method of frame estimate) is available. Initial guess of the wavelet coefficients for the iterative interior point algorithm.
perturbation
perturbation parameter defined in Chen, Donoho and Saunders (1996).
max.iter
real number giving the upper bound on the number of interior point iterations to perform.
opt.tol
convergence threshold for the duality gap. Also perturbation paremeter delta for the compression case (lambda=0) defined in Chen, Donoho and Saunders (1996).
fea.tol
primal and dual feasibility convergence threshold.
cg.tol
convergence treshold for the conjugate gradient solver.
cg.max.iter
real number giving the upper bound on the number of iterations to perform by the conjugate gradient solver.
verbose
logical flag indicating whether or not information should be printed on the screen at each interior point interation.

VALUE:

coef.hat
estimated wavelet coefficients. Minimizes the basis pursuit objective function (possibly perturbed if perturbation is non-zero).
s.hat
real vector of estimated signal.
iter.history
real array of saved iteration information.
converged
logical flag indicating whether or not the algorithm converged before stopping the iterations.

DETAILS:

see Chen, Donoho and Saunders (1996).

REFERENCES:

Chen S., Donoho, D.L., and Saunders, M. (1996). Atomic decomposition by basis pursuit. Technical report, Department of Statistics, Stanford University.

SEE ALSO:

, , .

EXAMPLES:

par(mfrow=c(1,2)) 
xx <- as.vector(make.signal("blocks", n=512, snr=7)) 
plot(xx, type="l", xlab="smoothed blocks", ylab="") 
bp.hat <- bp.by.ip(xx, lambda=sqrt(2*log(512)), analysis.name = "wp.table", 
                   x = "mof", perturbation=0, 
                   max.iter = 20, opt.tol = 0.05,  
                   fea.tol = 0.05, cg.tol = 0.01, 
                   cg.max.iter = length(xx), 
                   n.levels=4, wavelet="s8") 
plot(bp.hat$s.hat, type="l", xlab="smoothed blocks", ylab="", ylim=range(xx)) 
par(mfrow=c(1,1)) 
plot(bp.hat$coef.hat)