小波分析中matlab阈值获取函数及其应用附程序代码_第1页
小波分析中matlab阈值获取函数及其应用附程序代码_第2页
小波分析中matlab阈值获取函数及其应用附程序代码_第3页
小波分析中matlab阈值获取函数及其应用附程序代码_第4页
小波分析中matlab阈值获取函数及其应用附程序代码_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-. z.1、小波分析中MATLAB阈值获取函数MATLAB中实现阈值获取的函数有ddencmp、thselect、wbmpen和wwdcbm,下面对它们的用法进展简单的说明。一、ddencmp的调用格式有以下三种:1THR,SORH,KEEPAPP,CRIT=ddencmp(IN1,IN2,*)2THR,SORH,KEEPAPP,CRIT=ddencmp(IN1,wp,*)3THR,SORH,KEEPAPP,CRIT=ddencmp(IN1,wv,*)函数ddencmp用于获取信号在消噪或压缩过程中的默认阈值。输入参数*为一维或二维信号;IN1取值为den或cmp,den表示进展去噪,cmp

2、表示进展压缩;IN2取值为wv或wp,wv表示选择小波,wp表示选择小波包。返回值THR是返回的阈值;SORH是软阈值或硬阈值选择参数;KEEPAPP表示保存低频信号;CRIT是熵名只在选择小波包时使用。例题1:clear allclcload noisbump;*=noisbump;c,l=wavedec(*,5,sym6); %对小波进展5层分解thr,sorh,keepapp=ddencmp(den,wv,*)*d=wdencmp(gbl,c,l,sym6,5,thr,sorh,keepapp);%显示降噪信号subplot(211),plot(*),title(*,fontsize,1

3、0);subplot(212),plot(*d),title(*d,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的实数,一

4、般取ALPHA=2。例题2:clear allclcload noisbump;*=noisbump;c,l=wavedec(*,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;*d1=wdencmp(gbl,*,sym6,5,thr,sorh,keepapp);%求取降噪信号err1=norm(*d1-*);subplot(311),plot(*),title

5、(*,fontsize,10);subplot(312),plot(cd1),title(cd1,fontsize,10);subplot(313),plot(*d1),title(*d1:using wbmpen,fontsize,10);err1=35.9768三、采用wdcbm提取阈值的分层去噪1THR,NKEEP=wdcbm(C,L,ALPHA);2THR,NKEEP=wdcbm(C,L,ALPHA,M);函数wdcbm是使用Birge-Massart算法获取一维小波变换的阈值。返回值THR是与尺度无关的阈值,NKEEP是系数的个数。C,L是要进展压缩或消噪的信号在j=length(L

6、)-2层的分解构造;LAPHA和M必须是大于1的实数;THR是关于j的向量,THRi)是第i层的阈值;NKEEP也是关于j的向量,NKEEP(i)是第i层的系数个数。一般压缩时ALPHA取1.5,去噪时ALPHA取3.例题3:clearallclcload noisbump;*=noisbump;c,l=wavedec(*,5,sym6); %对小波进展5层分解%采用wdcbm提取阈值的分层降噪thr2,nkeep=wdcbm(c,l,2);%提取各层阈值*d2,c*d,l*d,perf0,perfl2=wdencmp(lvd,c,l,sym6,5,thr2,s)err2=norm(*d2-*

7、);subplot(211),plot(*),title(*,fontsize,10);subplot(212),plot(*d2),title(*d2:using wdcbm分层降噪,fontsize,10);err2=50.9996四、采用强制降噪这里使用强制降噪是将小波分解构造中的高频系数全部置为0,即滤掉所有高频局部,然后对信号进展小波重构,这种方法比拟简单,且去噪后信号比拟平滑,但是容易丧失信号中的有用成分。2.信号的阈值去噪MATLAB中实现信号的阈值去噪的函数有wden、wdencmp、wthresh、wthcoef、wpthcoef以及wpdencmp。下面对它们的用法作简单的

8、介绍。函数wden的调用格式有以下两种:1*D,C*D,L*D=wden(*,TPTR,SORH,SCAL,N,wname)2*D,C*D,L*D=wden(C,L,TPTR,SORH,SCAL,N,wname)函数wden用于一维信号的自动消噪。*为原始信号,C,L为信号的小波分解,N为小波分解的层数。THR为阈值选择规则:*TPTR=rigrsure,自适应阈值选择使用Stein的无偏风险估计原理。*TPTR=heursure,使用启发式阈值选择。*TPTR=sqtwolog,阈值等于sqrt(2*log(length(*).*TPTR=minima*i,用极大极小原理选择阈值。SORH是

9、软阈值或硬阈值的选择分别对应s和h。SCAL指所使用的阈值是否需要重新调整,包含下面三种:*SCAL=one 不调整;*SCAL=sln 根据第一层的系数进展噪声层的估计来调整阈值。*SCAL=mln 根据不同的噪声估计来调整阈值。*D为消噪后的信号,C*D,L*D为消噪后信号的小波分解构造。格式1返回对信号*经过N层分解后的小波系数进展阈值处理后的消噪信号*D和信号*D的小波分解构造C*D,L*D。格式2返回参数与格式1一样,但其构造是由直接对信号的小波分解构造C,L进展阈值处理得到的。函数wdencmp的调用格式有以下三种:(1)*C,C*C,L*C,PERF0,PERFL2=wdencm

10、p(gbl,*,wname,N,THTR,SORH,KEEPAPP);(2)*C,C*C,L*C,PERF0,PERFL2=wdencmp(lvd,*,wname,N,THTR,SORH);(3)*C,C*C,L*C,PERF0,PERFL2=wdencmp(lvd,C,L,wname,N,THTR,SORH);函数wdencmp用于一维或二维信号的消噪或压缩。wname是所用的小波函数,gbl(global的缩写)表示每一层都采用同一个阈值进展处理,lvd表示每层采用不同的阈值进展处理,N表示小波分解的层数,THR为阈值向量,对于格式2和3每层都要求有一个阈值,因此阈值向量THR的长度为N,

11、SORH表示选择软阈值或硬阈值分别取值为s和h,参数KEEPAPP取值为1时,则低频系数不进展阈值量化,反之,低频系数要进展阈值量化。*C是要进展消噪或压缩的信号,C*C,L*C是*C的小波分解构造,PERF0和PERFL2是恢复或压缩L2的数百分比。如果C,L是*的小波分解构造,则PERFL2=100*(C*C向量的数/C向量的数)2;如果*是一维信号,小波wname是一个正交小波,则PERFL2=100|*C|2/|*|2。函数wthresh的调用格式如下:Y=wthresh(*,SORH,T)Y=wthresh(*,SORH,T) 返回输入向量或矩阵*经过软阈值如果SORH=s或硬阈值如

12、果SORH=h处理后的信号。T是阈值。Y=wthresh(*,s,T)返回的是Y=SIG(*)*(|*|-T)+,即把信号的绝对值与阈值进展比拟,小于或等于阈值的点变为零,大于阈值的点为该点值与阈值的差值。Y=wthresh(*,h,T)返回的是Y=*1(|*|T),即把信号的绝对值和阈值进展比拟,小于或等于阈值的点变为零,大于阈值的点保持不变。一般来说,用硬阈值处理后的信号比用软阈值处理后的信号更粗糙。函数wthcoef的调用格式下面四种:1NC=wthcoef(d,C,L,N,P)2NC=wthcoef(d,C,L,N)3NC=wthcoef(a,C,L)4NC=wthcoef(t,C,L

13、,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

14、包含细节的尺度向量,T是N相对应的阈值向量。N和T的长度必须相等。函数wpdencmp的调用格式有以下两种:1*D,TREED,PERF0,PERFL2=wpdencmp(*,SORH,N,wname,CRIT,PAR,KEEPAPP)2*D,TREED,PERF0,PERFL2=wpdencmp(TREE,SORH,CRIT,PAR,KEEPAPP)函数wpdencmp用于使用小波包变换进展信号的压缩或去噪。格式1返回输入信号*一维或二维的去噪或压缩后的信号*D。输出参数TREED是*D的最正确小波包分解树;PERFL2和PERF0是恢复和压缩L2的能量百分比。PERFL2=100*(*的小波包系数数/*的小波包系数)2;如果*是一维信号,小波wname是一个正交小波,则PERFL2=100*|*D|2/|*|2。SORH的取值为s或h,表示的是软阈值或硬阈值。输入参数N是小波包的分解层数,wname是包含小波名的字符串。函数使用由字符串CRIT定义的熵和阈值参数PAR实现最正确分解。如果KEEPAPP=1,则近似信号的小波系数不进展阈值量化;否则,进展阈值量化。格式2与格式1的输出参数一样,输入选项也一样,只是它从信号的小波包分解树TREE进展去噪或压缩。二、函数thselect的调用格式如下: THR=thselect(*,TPTR); THR=t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论