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

`[XD,DECDEN,THRESH] = mswden('den',...)`

returns
a denoised version `XD`

of the original multisignal
matrix `X`

, whose wavelet decomposition structure
is `DEC`

. The output `XD`

is obtained
by thresholding the wavelet coefficients, `DECDEN`

is
the wavelet decomposition associated to `XD`

(see `mdwtdec`

), and `THRESH`

is the matrix of threshold values. The input `METH`

is
the name of the denoising method and `PARAM`

is the
associated parameter, if required.

Valid denoising methods `METH`

and associated
parameters `PARAM`

are:

`'rigrsure'` | Principle of Stein's Unbiased Risk |

`'heursure'` | Heuristic variant of the first option |

`'sqtwolog'` | Universal threshold |

`'minimaxi'` | Minimax thresholding (see |

For these methods `PARAM`

defines the multiplicative
threshold rescaling:

`'one'` | No rescaling |

`'sln'` | Rescaling using a single estimation of level noise based on first level coefficients |

`'mln'` | Rescaling using a level dependent estimation of level noise |

`'penal'` | Penal |

`'penalhi'` | Penal high, |

`'penalme'` | Penal medium, |

`'penallo'` | Penal low, |

`PARAM`

is a sparsity parameter, and it should
be such that: `1`

≤ `PARAM`

≤
`10`

. For `penal`

method, no control
is done.

`'man_thr'` | Manual method |

`PARAM`

is an `NbSIG`

-by-`NbLEV`

matrix
or `NbSIG`

-by-(`NbLEV+1`

) matrix
such that:

`PARAM(i,j)`

is the threshold for the detail coefficients of level`j`

for the ith signal (`1`

≤`j`

≤`NbLEV`

).`PARAM(i,NbLEV+1)`

is the threshold for the approximation coefficients for the`i`

th signal (if`KEEPAPP`

is`0`

).

where `NbSIG`

is the number of signals and `NbLEV`

the
number of levels of decomposition.

Instead of the `'den'`

input `OPTION`

,
you can use `'densig'`

, `'dendec'`

or `'thr'`

`OPTION`

to
select output arguments:

`[XD,THRESH] = mswden('densig',...)`

or ```
[DECDEN,THRESH]
= mswden('dendec',...)
```

`THRESH = mswden('thr',...)`

returns the
computed thresholds, but denoising is not performed.

The decomposition structure input argument `DEC`

can
be replaced by four arguments: `DIRDEC`

, `X`

, `WNAME`

and `LEV`

.

`[...] = mswden(OPTION,DIRDEC,X,WNAME,LEV,METH,PARAM)`

before
performing a denoising or computing thresholds, the multisignal matrix `X`

is
decomposed at level `LEV`

using the wavelet `WNAME`

,
in the direction `DIRDEC`

.

You can use three more optional inputs:

`[...] = mswden(...,S_OR_H)`

or ```
[...]
= mswden(...,S_OR_H,KEEPAPP)
```

or ```
[...]
= mswden(...,S_OR_H,KEEPAPP,IDXSIG)
```

`S_OR_H ('s' or 'h')`

stands for soft or hard thresholding (see`mswthresh`

for more details).`KEEPAPP (true or false)`

indicates whether to keep approximation coefficients (`true`

) or not (`false`

).`IDXSIG`

is a vector that contains the indices of the initial signals, or the string`'all'`

.

The defaults are, respectively, `'h'`

, `false`

and `'all'`

.

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

Was this topic helpful?