1 %> @brief Wavelet De-noising
block
3 %> Wavelet de-noising uses the following techniques:
4 %> @arg Symmetric signal extension
5 %> @arg Stationary Wavelet Transform (SWT)
6 %> @arg Hard Thresholding
9 %> signal extension -> SWT decomposition -> thresholding -> SWT reconstruction
11 %> The functions used are present in the Wavelet toolbox
13 %> Probably the hard part of
using this is to figure out the number of levels and the thresholds
for each level. For a Raman spectrum, it has been found that 6 levels and the [0, 0, 0, 100, 1000, 1000] thresholds worked fine
using a
'haar' wavelet.
15 %> You can use the
'interactive_wden' tool to help finding these values.
17 %> Alternatively you can use the
'Signal extension' followed by the
'SWT de-noising 1D' tool provided with the Wavelet Toolbox (accessed by typing
'wavemenu') to process one spetrum and
get these parameters.
19 %> See also MATLAB Wavelet Toolbox User
's guide
21 %> @image html "Screenshot-Stationary Wavelet Transform Denoising 1-D-1.png"
22 %> <center>Figure 1 - Finding thresholds using the utility from the MATLAB Wavelet Toolbox</center>
24 classdef pre_wden < pre
30 %> = [0 0 0 20 20 100] - given in the coarsest-to-finest order
31 thresholds = [0 0 0 20 20 100];
36 function o = pre_wden(o)
37 o.classtitle = 'Wavelet De-noising
';
42 methods(Access=protected)
44 %> Applies block to dataset
45 function data = do_use(o, data)
46 data.X = wden(data.X, o.no_levels, o.thresholds, o.waveletname);