% The current extension mode is zero-padding (see dwtmode)
% Set signal to noise ratio and set rand seed
snr = 3; init = 2055615866;
% Generate original signal and a noisy version adding
% a standard Gaussian white noise
[xref,x] = wnoise(3,11,snr,init);
% De-noise noisy signal using soft heuristic SURE thresholding
% and scaled noise option, on detail coefficients obtained
% from the decomposition of x, at level 5 by sym8 wavelet
lev = 5;
xd = wden(x,'heursure','s','one',lev,'sym8');
% Plot signals
subplot(611), plot(xref), axis([1 2048 -10 10]);
title('Original signal');
subplot(612), plot(x), axis([1 2048 -10 10]);
title(['Noisy signal - Signal to noise ratio = ',
num2str(fix(snr))]);
subplot(613), plot(xd), axis([1 2048 -10 10]);
title('De-noised signal - heuristic SURE');
% De-noise noisy signal using soft SURE thresholding
xd = wden(x,'heursure','s','one',lev,'sym8');
% Plot signal
subplot(614), plot(xd), axis([1 2048 -10 10]);
title('De-noised signal - SURE');
% De-noise noisy signal using fixed form threshold with
% a single level estimation of noise standard deviation
xd = wden(x,'sqtwolog','s','sln',lev,'sym8');
% Plot signal
subplot(615), plot(xd), axis([1 2048 -10 10]);
title('De-noised signal - Fixed form threshold');
% De-noise noisy signal using minimax threshold with
% a multiple level estimation of noise standard deviation
xd = wden(x,'minimaxi','s','sln',lev,'sym8');
% Plot signal
subplot(616), plot(xd), axis([1 2048 -10 10]);
title('De-noised signal - Minimax');
% If many trials are necessary, it is better to perform
% decomposition once and threshold it many times:
% decomposition
[c,l] = wavedec(x,lev,'sym8');
% threshold the decomposition structure [c,l]
xd = wden(c,l,'minimaxi','s','sln',lev,'sym8');
% Editing some graphical properties,
% the following figure is generated不使用Matlab的自动降噪函数wden时的全局门限处理,性能更稳定,而且整体看来最好。由rigrsure和heursure准则,得到的阈值,更宜用于软门限处理。
由sqtwolog和minimaxi准则,尤其是前者,得到的阈值,不宜用于软门限处理。
可以抛弃minimaxi。在wden的分尺度处理中,涉及的系数序列越短时,使用rigrsure越危险。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)