一维小波降噪的综合应用实例

来源:互联网 发布:java 类 编辑:程序博客网 时间:2024/05/16 06:24
%当前延拓模式是补零 %设置信噪比和随机数种子 snr=3;init=2055615866;
%产生原始信号,并叠加标准高斯白噪声 [xref,x]=wnoise(3,11,snr,init);
%对x使用sym8小波进行5层分解,得到高频系数。使用SURE阀值、软阀值进行降噪 lev=5;
xd=wden(x,'heursure','s','one',lev,'sym8'); figure(1);
set(gcf,'color','w'); %画出原始信号
subplot(311),plot(xref),axis([1 2048 -10 10]); title('原始信号');
subplot(312),plot(x), axis([1 2048 -10 10]); title(['降噪信号-信噪比为',num2str(fix(snr))]); subplot(313),plot(xd), axis([1 2048 -10 10]); title('降噪信号-heuristic SURE'); % 使用软SURE阀值降噪
xd=wden(x,'heursure','s','one',lev,'sym8'); %画出信号 figure(2);
set(gcf,'color','w');
subplot(311),plot(xd), axis([1 2048 -10 10]); title('降噪信号-SURE');
% 对噪声标准差进行单层估计,使用fixed form 阀值降噪 xd=wden(x,'sqtwolog','s','sln',lev,'sym8'); % 画出信号
subplot(312),plot(xd), axis([1 2048 -10 10]); title('降噪信号-Fixed form 阀值');
% 对噪声标准差进行单层估计,使用minimax 阀值降噪 xd=wden(x,'minimaxi','s','sln',lev,'sym8'); % 画出信号
subplot(313),plot(xd), axis([1 2048 -10 10]); title('De-noised signal-Minimax');
% 如果需要多次尝试,最后是执行一次分解,多次设置阀值 % 分解
[c,l]=wavedec(x,lev,'sym8');
% 使用小波分解结构[c,l]设置阀值

xd=wden(c,l,' minimaxi','s','sln',lev,'sym8');  。




0 0
原创粉丝点击