一维小波降噪的综合应用实例
2016-02-24 14:51
344 查看
%当前延拓模式是补零 %设置信噪比和随机数种子 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'); 。
%产生原始信号,并叠加标准高斯白噪声 [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'); 。
相关文章推荐
- 使用librtmp进行H264与AAC直播
- Struts2 动态结果集
- python 双向链表
- React Native-13.React Native 常用API及实践 AppRegistry
- 数据结构与算法是程序的灵魂
- 我们团队中使用到的管理工具
- UML精粹2 - 开发过程
- Model View Controller(MVC) in PHP
- openstack overcommit
- ios逆向教程使用的工具
- 【hud2222】Keywords Search AC自动机
- Servlet开发整理
- Volley
- 网络学习笔记1
- POJ 3122 Pie 二分查找 +高精度
- android静默更新
- 图像压缩
- table './pacific/custom_form' is marked as crashed and should be repaired
- js 创建<a>标签 并触发
- 使用UGUI制作血条中Slider的value控制