热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

几种小波阈值去噪程序

几种小波阈值去噪程序原帖:http:wenku.baidu.comviewffb671fa770bf78a65295496.html例1:loadlel

                                   几种小波阈值去噪程序

原帖:http://wenku.baidu.com/view/ffb671fa770bf78a65295496.html

例1:

load leleccum;

index = 1:1024;

x = leleccum(index);

%产生噪声信号

init = 2055615866;

randn('seed',init);

nx = x + 18*randn(size(x));

%获取消噪的阈值

[thr,sorh,keepapp] = ddencmp('den','wv',nx);

%对信号进行消噪

xd = wdencmp('gbl',nx,'db4',2,thr,sorh,keepapp);

subplot(221);

plot(x);

title('原始信号');

subplot(222);

plot(nx);

title('含噪信号');

subplot(223);

plot(xd);

title('消噪后的信号');

例2:

本例中,首先使用函数wnoisest获取噪声方差,然后使用函数wbmpen获取小波去噪阈值,最后使用wdencmp实现信号消噪。

load leleccum;

indx = 1:1024;

x = leleccum(indx);

%产生含噪信号

init = 2055615886;

randn('seed',init);

nx = x + 18*randn(size(x));

%使用小波函数'db6'对信号进行3层分解

[c,l] = wavedec(nx,3,'db6');

%估计尺度1的噪声标准差

sigma = wnoisest(c,l,1);

alpha = 2;

%获取消噪过程中的阈值

thr = wbmpen(c,l,sigma,alpha);

keepapp = 1;

%对信号进行消噪

xd = wdencmp('gbl',c,l,'db6',3,thr,'s',keepapp);

subplot(221);

plot(x);

title('原始信号');

subplot(222);

plot(nx);

title('含噪信号');

subplot(223);

plot(xd);

title('消噪后的信号');

 

例3:

本例中,对小波分解系数使用函数wthcoef进行阈值处理,然后利用阈值处理后的小波系数进行重构达到去噪目的。

load leleccum;

indx = 1:1024;

x = leleccum(indx);

%产生含噪信号

init = 2055615866;

randn('seed',init);

nx = x + 18*randn(size(x));

%使用小波函数'db5'对信号进行3层分解

[c,l] = wavedec(nx,3,'db5');

%设置尺度向量

n = [1,2,3];

%设置阈值向量

p = [100,90,80];

%对高频系数进行阈值处理

nc = wthcoef('d',c,l,n,p);

%对修正后的小波分解结构进行重构

rx = waverec(nc,l,'db5');

subplot(221);

plot(x);

title('原始信号');

subplot(222);

plot(nx);

title('含噪信号');

subplot(223);

plot(rx);

title('消噪后的信号');

 

例4:

本例中,使用一维信号的自动消噪函数wden对信号进行消噪。

load leleccum;

indx = 1:1024;

x = leleccum(indx);

%产生含噪信号

init = 2055615866;

randn('seed',init);

nx = x + 18*randn(size(x));

%将信号nx使用小波函数'sym5'分解到第5层

%使用mimimaxi阈值选择系数进行处理,消除噪声信号

lev = 5;

xd = wden(nx,'minimaxi','s','mln',lev,'sym5');

subplot(221);

plot(x);

title('原始信号');

subplot(222);

plot(nx);

title('含噪信号');

subplot(223);

plot(xd);

title('消噪后的信号');

 

原帖:http://blog.chinaaet.com/detail/3450.html 

x=[-1.58 0.42 0.46 0.78 -0.49 0.59 -1.3 -1.42 -0.16 -1.47 -1.350.36 -0.44 -0.14 1 -0.5 -0.2 -0.06 -0.6 0.42 -1.52 0.51 0.76 -1.50.16 -1.29 -0.65 -1.48 0.6 -1.65 -0.55];
lev=5;
wname='db3';
[c,l]=wavedec(x,lev,wname);
sigma=wnoisest(c,l,1);
alpha=2;
thr1=wbmpen(c,l,sigma,alpha)
[thr2,nkeep]=wdcbm(c,l,alpha)
xd1=wdencmp('gbl',c,l,wname,lev,thr1,'s',1);
[xd2,cxd,lxd,perf0,perfl2]=wdencmp('lvd',c,l,wname,lev,thr2,'h');
[thr,sorh,keepapp]=ddencmp('den','wv',x)
xd3=wdencmp('gbl',c,l,wname,lev,thr,'s',1);
subplot(411);plot(x);title('原始信号','fontsize',12);
subplot(412);plot(xd1);title('使用penalty阈值降噪后信号','fontsize',12);
subplot(413);plot(xd2);title('使用Birge-Massart阈值降噪后信号','fontsize',12);
subplot(414);plot(xd3);title('使用缺省阈值降噪后信号','fontsize',12);

其他相关帖子:

http://www.docin.com/p-17095216.html

http://blog.sina.com.cn/s/blog_5649784301000e20.html

http://blog.chinaaet.com/lxg1123

http://musicupsandra.blog.163.com/blog/static/101639102201081710617825/





推荐阅读
  • 本文介绍如何在 Android 中通过代码模拟用户的点击和滑动操作,包括参数说明、事件生成及处理逻辑。详细解析了视图(View)对象、坐标偏移量以及不同类型的滑动方式。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • 探讨如何高效使用FastJSON进行JSON数据解析,特别是从复杂嵌套结构中提取特定字段值的方法。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • Android 渐变圆环加载控件实现
    本文介绍了如何在 Android 中创建一个自定义的渐变圆环加载控件,该控件已在多个知名应用中使用。我们将详细探讨其工作原理和实现方法。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
author-avatar
春天故事围脖_381_478
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有