小波分析中MATLAB阈值获取函数及其应用附程序代码

1、小波分析中MATLAB阈值获取函数 MATLAB中实现阈值获取的函数有ddencmp、thselect、wbmpen和wwdcbm,下面对它们的用法进行简单的说明。 一、ddencmp的调用格式有以下三种: (1)[THR,SORH,KEEPAPP,CRIT]=ddencmp(IN1,IN2,X) (2)[THR,SORH,KEEPAPP,CRIT]=ddencmp(IN1, wp ,X) (3)[THR,SORH,KEEPAPP,CRIT]=ddencmp(IN1, wv ,X) 函数ddencmp用于获取信号在消噪或压缩过程中的默认阈值。输入参数X为一维或二维信号;IN1取值为 den 或 cmp , den 表示进行去噪, cmp 表示进行压缩;IN2取值为 wv 或 wp ,wv表示选择小波,wp表示选择小波包。返回值THR是返回的阈值;SORH是软阈值或硬阈值选择参数;KEEPAPP表示保存低频信号;CRIT是熵名(只在选择小波包时使用)。 例题1: clear all clc load noisbump; x=noisbump; [c,l]=wavedec(x,5, sym6 ); %对小波进行5层分解 [thr,sorh,keepapp]=ddencmp( den , wv ,x) xd=wdencmp( gbl ,c,l, sym6 ,5,thr,sorh,keepapp);%显示降噪信号 subplot(211),plot(x),title( x , fontsize ,10); subplot(212),plot(xd),title( xd , fontsize ,10); thr =3.7856;sorh =s;keepapp=1. Err=39.3060 二、函数wbmpen的调用格式如下: THR=wbmpen(C,L,SIGMA,ALPHA); THR=wbmpen(C,L,SIGMA,ALPHA)返回去噪的全局阈值THR。THR通过给定的一种小波系数选择规则计算得到,小波系数选择规则使用Birge-Massart的处罚算法。{C,L]是进行去噪的信号或图像的小波分解结构;SIGMA是零均值的高斯白噪声的标准偏差;ALPHA是用于处罚的调整参数,它必须是一个大于1的实数,一般取ALPHA=2。 例题2: clear all clc load noisbump; x=noisbump; [c,l]=wavedec(x,5, sym6 ); %对小波进行5层分解 cd1=detcoef(c,l,1); sigma=median(abs(cd1))/0.6745;%以第一层求高斯包噪声的标准偏差; alpha=2; thr=wbmpen(c,l,sigma,alpha);%求取阈值 keepapp=1; sorh= s ; xd1=wdencmp( gbl ,x, sym6 ,5,thr,sorh,keepapp);%求取降噪信号 err1=norm(xd1-x); subplot(311),plot(x),title( x , fontsize ,10); subplot(312),plot(cd1),title( cd1 , fontsize ,10); subplot(313),plot(xd1),title( xd1:using wbmpen , fontsize ,10); err1= 35.9768 三、采用wdcbm提取阈值的分层去噪 (1)[THR,NKEEP]=wdcbm(C,L,ALPHA); (2)[THR,NKEEP]=wdcbm(C,L,ALPHA,M); 函数wdcbm是使用Birge-Massart算法获取一维小波变换的阈值。返回值THR是与尺度无关的阈值,NKEEP是系数的个数。[C,L]是要进行压缩或消噪的信号在j=length(L)-2层的分解结构;LAPHA和M必须是大于1的实数;THR是关于j的向量,THR(i)是第i层的阈值;NKEEP也是关于j的向量,NKEEP(i)是第i层的系数个数。一般压缩时ALPHA取1.5,去噪时ALPHA取3. 例题3: clear all clc load noisbump; x=noisbump; [c,l]=wavedec(x,5, sym6 ); %对小波进行5层分解 %%采用wdcbm提取阈值的分层降噪 [thr2,nkeep]=wdcbm(c,l,2);%提取各层阈值 [xd2,cxd,lxd,perf0,perfl2]=wdencmp( lvd ,c,l, sym6 ,5,thr2, s ) err2=norm(xd2-x); subplot(211),plot(x),title( x , fontsize ,10); subplot(212),plot(xd2),title( xd2:using wdcbm分层降噪 , fontsize ,10); err2= 50.9996 四、采用强制降噪 这里使用强制降噪是将小波分解结构中的高频系数全部置为0,即滤掉所有高频部分,然后对信号进行小波重构,这种方法比较简单,且去噪后信号比较平滑,但是容易丢失信号中的有用成分。 2.信号的阈值去噪 MATLAB中实现信号的阈值去噪的函数有wden、wdencmp、wthresh、wthcoef、wpthcoef以及wpdencmp。下面对它们的用法作简单的介绍。 函数wden的调用格式有以下两种: (1)[XD,CXD,LXD]=wden(X,TPTR,SORH,SCAL,N, wname ) (2)[XD,CXD,LXD]=wden(C,L,TPTR,SORH,SCAL,N, wname ) 函数wden用于一维信号的自动消噪。X为原始信号,[C,L]为信号的小波分解,N为小波分解的层数。 THR为阈值选择规则: *TPTR= rigrsure ,自适应阈值选择使用Stein的无偏风险估计原理。 *TPTR= heursure ,使用启发式阈值选择。 *TPTR= sqtwolog ,阈值等于sqrt(2*log(length(X))). *TPTR= minimaxi ,用极大极小原理选择阈值。 SORH是软阈值或硬阈值的选择(分别对应 s 和 h )。 SCAL指所使用的阈值是否需要重新调整,包含下面三种: *SCAL= one 不调整; *SCAL= sln 根据第一层的系数进行噪声层的估计来调整阈值。 *SCAL= mln 根据不同的噪声估计来调整阈值。 XD为消噪后的信号,[CXD,LXD]为消噪后信号的小波分解结构。格式(1)返回对信号X经过N层分解后的小波系数进行阈值处理后的消噪信号XD和信号XD的小波分解结构[CXD,LXD]。格式(2)返回参数与格式(1)相同,但其结构是由直接对信号的小波

matalb中的wden函数_小波分析中MATLAB阈值获取函数及其应用附程序代码相关推荐

  1. matlab求阈值的函数,小波分析中matlab阈值获取函数及其应用附程序代码.doc

    小波分析中matlab阈值获取函数及其应用附程序代码.doc 1.小波分析中MATLAB阈值获取函数MATLAB中实现阈值获取的函数有DDENCMP.THSELECT.WBMPEN和WWDCBM,下面 ...

  2. MATLAB阈值获取函数*

    MATLAB阈值获取函数 转载:http://wfqsyyy.blog.163.com/blog/static/183488425201192543616642/ MATLAB中实现阈值获取的函数有d ...

  3. matlab中select,[转载]MATLAB阈值获取函数ddencmp、thselect、wbmpen和w

    crit(t) wdcbm的调用格式有以下两种: (1)[THR,NKEEP]=wdcbm(C,L,ALPHA); (2)[THR,NKEEP]=wdcbm(C,L,ALPHA,M); 函数wdcbm ...

  4. matlab seed函数_如何用matlab生成随机数函数_matlab随机数生成函数

    如何用matlab生成随机数函数 1. MATLAB 函数 rand 产生在区间 (0, 1)的均匀随机数,它是平均分布在 (0,1)之间.一个称为seed的值则是用来控制产生随机数的次数.均匀随机数 ...

  5. 数据库创建函数_达梦数据库创建UUID函数

    数据库创建函数_达梦数据库创建UUID函数 接触达梦数据库有一段时间了,整理了一些资料,今天分享一下达梦数据UUID自定义函数 UUID函数定义 很多数据库都有提供UUID函数,可是接触达梦数据库后, ...

  6. 可以在一个函数中定义另一个函数_第5周 定义一个函数

    亲爱的观众老爷们,早上好! 编程大师Martin Fowler先生曾经说过:"代码有很多种坏味道,重复是最坏的一种!",要写出高质量的代码首先要解决的就是重复代码的问题. 那么有什 ...

  7. 中的count函数_关于计数的5个函数都不掌握,那就真的Out了!

    提起计数,大家肯定会想到Count函数,但如果要附加条件完成计数任务,那还用Count函数吗?答案是No,Why?请看下文. 一.Count函数:统计数字单元格的个数. 方法: 在目标单元格中输入公式 ...

  8. matlab中blur函数_游戏中的PostProcessing(后处理)

    PostProcessing是现代游戏中必不可少的技术之一,本文简单来总结下PostProcessing的实现原理和应用.因为详细写起来需要很大篇幅且很费时间,这里只简单介绍下原理. 1.基础部分 P ...

  9. vs 服务容器中已存在服务_容器中某Go服务GC停顿经常超过100ms排查

    GC停顿经常超过100ms 现象有同事反馈说,最近开始试用公司的Kubernetes,部署在Docker里的Go进程有问题,接口耗时很长,而且还有超时.逻辑很简单,只是调用了KV存储,KV存储一般响应 ...

最新文章

  1. 笔记整理-信息系统开发基础-软件测试-灰度测试
  2. Python打断点(亲测)
  3. 真格量化-主力跟买策略
  4. python assert函数
  5. linux每个版本发布时间,Ubuntu 21.04各版本的发布时间公布和计划功能介绍
  6. 服务器 centos 系统漏洞快速修复简易方法
  7. Sharding-JDBC读写分离_MySql主从配置(2)_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记016
  8. T-SQL AVG Functions
  9. dbeaver一款全能的数据库连接工具dbeaver
  10. 国家软考--高级系统分析师证书
  11. 面向自动驾驶的高精度地图框架解析和实战
  12. C、C++编程学习资料收藏
  13. 哲学家进餐问题的模拟【操作系统】
  14. 轻量化AlphaPose
  15. tradingView警报设置
  16. 苹果在印度市场表现不佳 落后诺基亚三星RIM
  17. 【线性代数】正交向量与正交子空间
  18. html修改文字颜色代码
  19. finalcut内存不足_final cut pro 内存不足可以更改缓存空间吗 final cut pr
  20. 解决./XXX: symbol lookup error: /home/root/shenyl/lib/libxxx.so: undefined symbol: _ZN3VRC18AppP

热门文章

  1. 用java实现,office文件转成pdf文件
  2. 怎么看github项目有多大
  3. linux文件夹打开闪退,win10系统内置的Linux Bash启动闪退的解决方法
  4. VR廉政教育三维H5交互沉浸式展厅可以用来做什么?
  5. os.listdir如何排序
  6. QT对话框延迟关闭销毁
  7. Altium 倒入Logo的最新方法
  8. 浅析对数字经济的见解
  9. 更新啦!第 59 期《HelloGitHub》开源月刊
  10. 【爬虫基础】requests库