Question

I was reading a report today which looked at measuring heat storage of a lake from temperature measurements where to reduce the the impacts of temperature fluctuations that can confound estimates of short-term changes in heat storage, a wavelet de-noising routine was used (daubechies 4 wavelet, single rescaling, min/max thresholds used on the wden function in the wavelet toolbox) where 2 levels of wavelet filtering was applied. This technique results in smoother temporal variations in water temperature, while preserving patterns of diurnal heat gain and loss.

From this description, consider that my temperature measurements are similar to

load sumsin; 
s = sumsin; 
plot(s);

How would I apply the techniques described using the wden functions in matlab.

Apologies for the vagueness of this post, but seeing as I am clueless on how to complete this task I would be very greatfull for some advice.

Was it helpful?

Solution

I assume you're talking about de-noising by thresholding the detail coefficients of the wavelet transform. wden does do this. You've not specified however whether it is hard or soft thresholding.

For not wanting to reproduce matlab's help here,

help wden

Will give you what you need on how to use the function. Given the information you've provided, and the assumption that soft thresholding is appropriate; (as it is with most methods except Donoho's Visushrink, referred to by wden as 'sqtwolog')

[s_denoised, ~, ~] = wden(s, 'minimaxi', 's', 'sln', 2, 'db4');

Should give you what you want. This does also assume you're not interested in the decomposed wavelet tree

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top