Multisignal 1-D denoising using wavelets
[XD,DECDEN,THRESH] = mswden('den',...)
[XD,THRESH] = mswden('densig',...)
[DECDEN,THRESH] = mswden('dendec',...)
THRESH = mswden('thr',...)
[...] = mswden(OPTION,DIRDEC,X,WNAME,LEV,METH,PARAM)
[...] = mswden(...,S_OR_H)
[...] = mswden(...,S_OR_H,KEEPAPP)
[...] = mswden(...,S_OR_H,KEEPAPP,IDXSIG)
mswden computes thresholds
and, depending on the selected option, performs denoising of 1-D signals
[XD,DECDEN,THRESH] = mswden('den',...) returns
a denoised version
XD of the original multisignal
X, whose wavelet decomposition structure
DEC. The output
XD is obtained
by thresholding the wavelet coefficients,
the wavelet decomposition associated to
is the matrix of threshold values. The input
the name of the denoising method and
PARAM is the
associated parameter, if required.
Valid denoising methods
METH and associated
Principle of Stein's Unbiased Risk
Heuristic variant of the first option
Minimax thresholding (see
For these methods
PARAM defines the multiplicative
Rescaling using a single estimation of level noise based on first level coefficients
Rescaling using a level dependent estimation of level noise
PARAM is a sparsity parameter, and it should
be such that:
penal method, no control
PARAM is an
PARAM(i,j) is the threshold for
the detail coefficients of level
j for the ith
PARAM(i,NbLEV+1) is the threshold
for the approximation coefficients for the
NbSIG is the number of signals and
number of levels of decomposition.
Instead of the
you can use
select output arguments:
[XD,THRESH] = mswden('densig',...) or
THRESH = mswden('thr',...) returns the
computed thresholds, but denoising is not performed.
The decomposition structure input argument
be replaced by four arguments:
[...] = mswden(OPTION,DIRDEC,X,WNAME,LEV,METH,PARAM) before
performing a denoising or computing thresholds, the multisignal matrix
decomposed at level
LEV using the wavelet
in the direction
You can use three more optional inputs:
[...] = mswden(...,S_OR_H) or
= mswden(...,S_OR_H,KEEPAPP) or
S_OR_H ('s' or 'h') stands for
soft or hard thresholding (see
KEEPAPP (true or false) indicates
whether to keep approximation coefficients (
or not (
IDXSIG is a vector that contains
the indices of the initial signals, or the string
The defaults are, respectively,
% Load original 1D-multisignal. load thinker % Perform a decomposition at level 2 using the wavelet db2. dec = mdwtdec('r',X,2,'db2'); % Denoise signals using the universal method % of thresholding (sqtwolog) and the 'sln' % threshold rescaling (with a single estimation % of level noise, based on first level coefficients). [XD,decDEN,THRESH] = mswden('den',dec,'sqtwolog','sln'); % Plot the original signals 1 and 31, and the % corresponding denoised signals. figure; plot(X([1 31],:)','r--','linewidth',2); hold on plot(XD([1 31],:)','b','linewidth',2); grid; set(gca,'Xlim',[1,96]) title('X dashed line and XD solid line')
Birgé, L.; P. Massart (1997), "From model selection to adaptive estimation," in D. Pollard (ed), Festchrift for L. Le Cam, Springer, pp. 55–88.
DeVore, R.A.; B. Jawerth, B.J. Lucier (1992), "Image compression through wavelet transform coding," IEEE Trans. on Inf. Theory, vol. 38, No 2, pp. 719–746.
Donoho, D.L. (1993), "Progress in wavelet analysis and WVD: a ten minute tour," in Progress in wavelet analysis and applications, Y. Meyer, S. Roques, pp. 109–128. Frontières Ed.
Donoho, D.L.; I.M. Johnstone(1994), "Ideal spatial adaptation by wavelet shrinkage," Biometrika, vol. 81, pp. 425–455.
Donoho, D.L.; I.M. Johnstone, G. Kerkyacharian, D. Picard (1995), "Wavelet shrinkage: asymptopia," Jour. Roy. Stat. Soc.,series B, vol. 57 no. 2, pp. 301–369.
Donoho, D.L.; I.M. Johnstone, "Ideal de-noising in an orthonormal basis chosen from a library of bases," C.R.A.S. Paris, t. 319, Ser. I, pp. 1317–1322.
Donoho, D.L. (1995), "De-noising by soft-thresholding," IEEE Trans. on Inf. Theory, 41, 3, pp. 613–627.