MATLAB中实现了信号的阈值去噪,主要包括阈值去噪和阈值获取两方面。

1.阈值获取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是熵名(只在选择小波包时使用)。

函数thselect的调用格式如下:THR=thselect(X,TPTR);THR=thselect(X,TPTR)根据字符串TPTR定义的阈值选择规则来选择信号X的自适应阈值。自适应阈值的选择规则包括以下四种:*TPTR='rigrsure',自适应阈值选择使用Stein的无偏风险估计原理。*TPTR='heursure',使用启发式阈值选择。*TPTR='sqtwolog',阈值等于sqrt(2*log(length(X))).*TPTR='minimaxi',用极大极小原理选择阈值。阈值选择规则基于模型

y = f(t) + e,e是高斯白噪声N(0,1)。

函数wbmpen的调用格式如下:THR=wbmpen(C,L,SIGMA,ALPHA);THR=wbmpen(C,L,SIGMA,ALPHA)返回去噪的全局阈值THR。THR通过给定的一种小波系数选择规则计算得到,小波系数选择规则使用Birge-Massart的处罚算法。{C,L]是进行去噪的信号或图像的小波分解结构;SIGMA是零均值的高斯白噪声的标准偏差;ALPHA是用于处罚的调整参数,它必须是一个大于1的实数,一般取ALPHA=2。设t*使crit(t)=-sum(c(k)^2,k<=t)

+ 2 * SIGMA^2 *

t*(ALPHA+log(n/t))的最小值,其中c(k)是按绝对值从大到小排列的小波包系数,n是系数的个数,则THR=|c(t*)|。wbmpen(C,L,SIGMA,ALPHA,ARG)计算阈值并画出三条曲线。2

* SIGMA^2 * t*(ALPHA+log(n/t))sum(c(k)^2,

k<=t)crit(t)

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.

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)相同,但其结构是由直接对信号的小波分解结构[C,L]进行阈值处理得到的。

函数wdencmp的调用格式有以下三种:(1)[XC,CXC,LXC,PERF0,PERFL2]=wdencmp('gbl',X,'wname',N,THTR,SORH,KEEPAPP);(2)[XC,CXC,LXC,PERF0,PERFL2]=wdencmp('lvd',X,'wname',N,THTR,SORH);(3)[XC,CXC,LXC,PERF0,PERFL2]=wdencmp('lvd',C,L,'wname',N,THTR,SORH);函数wdencmp用于一维或二维信号的消噪或压缩。wname是所用的小波函数,gbl(global的缩写)表示每一层都采用同一个阈值进行处理,lvd表示每层采用不同的阈值进行处理,N表示小波分解的层数,THR为阈值向量,对于格式(2)和(3)每层都要求有一个阈值,因此阈值向量THR的长度为N,SORH表示选择软阈值或硬阈值(分别取值为's'和'h'),参数KEEPAPP取值为1时,则低频系数不进行阈值量化,反之,低频系数要进行阈值量化。XC是要进行消噪或压缩的信号,[CXC,LXC]是XC的小波分解结构,PERF0和PERFL2是恢复或压缩L^2的范数百分比。如果[C,L]是X的小波分解结构,则PERFL2=100*(CXC向量的范数/C向量的范数)^2;如果X是一维信号,小波wname是一个正交小波,则PERFL2=100||XC||^2/||X||^2。

函数wthresh的调用格式如下:Y=wthresh(X,SORH,T)Y=wthresh(X,SORH,T)

返回输入向量或矩阵X经过软阈值(如果SORH='s')或硬阈值(如果SORH='h')处理后的信号。T是阈值。Y=wthresh(X,'s',T)返回的是Y=SIG(X)*(|X|-T)+,即把信号的绝对值与阈值进行比较,小于或等于阈值的点变为零,大于阈值的点为该点值与阈值的差值。Y=wthresh(X,'h',T)返回的是Y=X*1(|X|>T),即把信号的绝对值和阈值进行比较,小于或等于阈值的点变为零,大于阈值的点保持不变。一般来说,用硬阈值处理后的信号比用软阈值处理后的信号更粗糙。

函数wthcoef的调用格式下面四种:(1)NC=wthcoef('d',C,L,N,P)(2)NC=wthcoef('d',C,L,N)(3)NC=wthcoef('a',C,L)(4)NC=wthcoef('t',C,L,N,T,SORH)函数wthcoef用于一维信号小波系数的阈值处理。格式(1)返回小波分解结构[C,L]经向量N和P定义的压缩率处理后的新的小波分解向量NC,[NC,L]构成一个新的小波分解结构。N包含被压缩的细节向量,P是把较小系数置0的百分比信息的向量。N和P的长度必须相同,向量N必须满足1<=N(i)<=length(L)-2。格式(2)返回小波分解结构[C,L]经过向量N中指定的细节系数置0后的小波分解向量NC。格式(3)返回小波分解结构[C,L]经过近似系数置0后的小波分解向量NC。格式(4)返回小波分解结构[C,L]经过将向量N作阈值处理后的小波分解向量NC。如果SORH=’s‘,则为软阈值;如果SORH='h'则为硬阈值。N包含细节的尺度向量,T是N相对应的阈值向量。N和T的长度必须相等。

函数wpdencmp的调用格式有以下两种:(1)[XD,TREED,PERF0,PERFL2]=wpdencmp(X,SORH,N,'wname',CRIT,PAR,KEEPAPP)(2)[XD,TREED,PERF0,PERFL2]=wpdencmp(TREE,SORH,CRIT,PAR,KEEPAPP)函数wpdencmp用于使用小波包变换进行信号的压缩或去噪。格式(1)返回输入信号X(一维或二维)的去噪或压缩后的信号XD。输出参数TREED是XD的最佳小波包分解树;PERFL2和PERF0是恢复和压缩L2的能量百分比。PERFL2=100*(X的小波包系数范数/X的小波包系数)^2;如果X是一维信号,小波wname是一个正交小波,则PERFL2=100*||XD||^2/||X||^2。SORH的取值为's'或'h',表示的是软阈值或硬阈值。输入参数N是小波包的分解层数,wname是包含小波名的字符串。函数使用由字符串CRIT定义的熵和阈值参数PAR实现最佳分解。如果KEEPAPP=1,则近似信号的小波系数不进行阈值量化;否则,进行阈值量化。格式(2)与格式(1)的输出参数相同,输入选项也相同,只是它从信号的小波包分解树TREE进行去噪或压缩。

小波阈值去噪c语言程序,小波阈值去噪MATLAB程序相关推荐

  1. c语言小游戏出拳,C语言--拳击小游戏

    原标题:C语言--拳击小游戏 #include //标准输入输出头文件 #include //通用工具库头文件 #include //时间头文件 int main() { //游戏规则:回合制(我方先 ...

  2. 一般单纯形法的matlab程序,实验报告(单纯形法的matlab程序)

    <实验报告(单纯形法的matlab程序)>由会员分享,可在线阅读,更多相关<实验报告(单纯形法的matlab程序)(5页珍藏版)>请在人人文库网上搜索. 1.实验一:线性规划单 ...

  3. matlab 高斯消去法程序,高斯消去法解线性方程的Matlab程序

    1151091杨晨辉 高斯消去法解线性方程的Matlab程序 方法一: function x = gauss(A,b) n = length(b); for k = 1 : n-1 if A(k,k) ...

  4. 自相关法基音提取的matlab程序,自相关函数法基音检测matlab程序

    自相关函数法基音检测matlab程序 AudioFilename = 'shiyan1.wav'; FrameShift = 0.012; %(s) FrameLength = 0.024; %(s) ...

  5. 盲源分离matlab程序,Ica盲源分离Matlab程序

    <Ica盲源分离Matlab程序>由会员分享,可在线阅读,更多相关<Ica盲源分离Matlab程序(3页珍藏版)>请在人人文库网上搜索. 1.Ica盲源分离Matlab程序cl ...

  6. 盲源分离matlab程序,ica盲源分离matlab程序.docx

    ica盲源分离matlab程序.docx Ica 盲源分离 Matlab 程序 close all; clear all; i4=imread( 1.jpg ); i5=imread( 2.jpg ) ...

  7. 摆动凸轮matlab程序,滚子摆动从动件凸轮设计matlab程序.doc

    滚子摆动从动件凸轮设计matlab程序 disp ' ******** 滚子摆动从动件凸轮设计 ********' disp '已知条件:' disp ' 凸轮作顺时针方向转动,从动件做摆动' dis ...

  8. 粗糙集matlab程序,粗糙集属性约简matlab程序

    <粗糙集属性约简matlab程序>由会员分享,可在线阅读,更多相关<粗糙集属性约简matlab程序(4页珍藏版)>请在人人文库网上搜索. 1.粗糙集-属性约简-matlab程序 ...

  9. matlab程序 地震 相干噪声_SAR滤波MATLAB程序

    SAR滤波MATLAB程序 所属分类:图形图像处理 开发工具:matlab 文件大小:1613KB 下载次数:28 上传日期:2018-03-20 17:21:52 上 传 者:pumpking 说明 ...

  10. 对流matlab程序,方腔内自然对流MATLAB程序数值传热学.pdf

    方腔内自然对流MATLAB程序数值传热学 自然对流传热 问题描述: 一个二维矩形腔体,高H 1 ,宽L 1 ,物理模型如图1. 绝热壁面 热 冷 壁 壁 面 面 T=100 T=0 绝热壁面 图1 物 ...

最新文章

  1. 你可能不知道的Shell
  2. 基于opencV的动态背景下运动目标检测及跟踪(修改版)
  3. 正式进驻1410实验室!
  4. 10W字!推荐一个牛逼的人工智能笔记教程!全部整理好了(附下载)!
  5. BurpSuite插件 -- FastjsonScan(反序列化检测)
  6. Hibernate 一对一关联查询
  7. C++之初始化列表的一个笔记
  8. 【实用】Pyinstaller UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xce in position解决方案
  9. 中国互联网的第二次“千团大战”已经开始了
  10. 考完试 记录一下复习资料 人工智能原理知识点整理
  11. paip.若只如初见——WEB或BS开发必备基础知识
  12. 基于Android的虚拟校园移动学习系统
  13. md5加密工具类(16位,32位,64位)
  14. 语音信号处理1 ----- 基础知识
  15. 14届数独-真题标准数独-Day 2-20220117
  16. 阿里文学 php,唐家三少质问阿里文学:骂我可以忍为何辱我亡妻
  17. (2021)建筑能耗模拟的灰箱建模与应用——综述
  18. 【CTR预估】criteo数据集预处理shell命令
  19. 基于Unity的2D像素风闯关游戏Demo——SunnyLand
  20. 最好的编程语言是怎样的?

热门文章

  1. 数据与广告系列三:合约广告与与衍生的第三方广告数据监控
  2. 编译原理-18-语法分析实验代码示例
  3. dell主板40针开机针脚_主板开机针脚 ,该怎么插啊 分别有POWER SW, H.D.D LED, RESET SW, P...
  4. 网络故障排除的4款软件
  5. S3C2440 GPIO控制器
  6. 学习dicom没什么窍门
  7. 蓝桥杯 算法训练 寂寞的数(c语言版详细注释)
  8. 人工智能在金融行业的应用
  9. Spring Security 配置
  10. 白光LED焊接技术要求