版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Matlab小波工具箱的使用1(2011111020:12:39)转载标签:分类:学科知识小波分析连续小波变换尺度系数信号最近想尝试一下小波的用法,就这matlab的帮助尝试了一下它的例子,顺便翻译了一下帮助的内容,发现matlab帮助做的确实不错,浅显易懂!现把翻译的文档写出来吧,想学习的共同学习吧!小波工具箱简介小波工具箱简介小波工具箱包含了图像化的工具和命令行函数,它可以实现如下功能:l测试、探索小波和小波包的特性l测试信号的统计特性和信号的组分l对一维信号执行连续小波变换l对一维、二维信号执行离散小波分析和综合l对一维、二维信号执行小波包分解(参见帮助UsingWaveletPacke
2、ts)l对信号或图像进行压缩、去噪另外,工具箱使用户更方便的展示数据。用户可以做如下选择:l显示哪个信号l放大感兴趣的区域l配色设计来显示小波系数细节工具箱可以方便的导入、导出信息到磁盘或matlab工作空间。具体详见FileMenuOptions一维连续小波分析一维连续小波分析这一部分来测试连续小波分析的特性。连续小波分析只需要一个小波函数cwt。在这一部分将学到如下内容:l加载信号l对信号执行连续小波变换l绘制小波系数l绘制指定尺度的小波系数l绘制整个尺度小波系数中的最大值l选择显示方式l在尺度和伪频率之间切换l细节放大l在普通或绝对模式下显示系数l选择执行小波分析的尺度使用命令行执行连续
3、小波分析这个例子是一个包含噪声的正弦波1.加载信号loadnoissin可以使用whos显示信号信息whosNameSizeBytesClassnoissin1x10008000double2.执行连续小波变换c=cwt(noissin,1:48,db4);函数cwt的参数分别为分析的信号、分析的尺度和使用的小波。返回值c包含了在各尺度下的小波系数。对于这里,c是一个48x1000的矩阵,每一行与一个尺度相关。3.绘制小波系数cwt函数可以接受第四个参数,来指定函数在执行结束后是否绘制连续小波变换系数的绝对值。另外还可以接受更多的参数来定义显示的不同特性,详见cwt函数。如下面的语句绘制系数结
4、果c=cwt(noissin,1:48,db4,plot);4.选择分析的尺度cwt函数的第二个参数可以设定任意小波分析的尺度,只要这些尺度满足如下要求l所有尺幅必须为正实数l尺度的增量必须为正l最高的尺度不能超过由信号决定的一个最大值如下面的代码可以执行从2开始的偶数尺度计算c=cwt(noissin,2:2:128,db4,plot);显示结果如下ratfflloiknratfflloikn6307418529630763074185296307这幅图像很明确的表示出了信号的周期性。使用图形接口做连续小波分析1.开启一维连续小波工具,只需输入如下命令wavemenu出现如下小波工具箱主菜单
5、选择ContinuousWavelet1-D菜单项,出现如下一维信号分析连续小波分析工具2.加载信号选择菜单File-LoadSignal,在LoadSignal对话框里选择noissin.mat文件, 它在matlab安装目录的toolbox/wavelet/wavedemo文件夹下,点击OK加载信号。91讯Tac-lhaxa-r九怙门0 個SWTOfififlisifigWDen&rb1Eslimlion1-DRe-gfeslonEstmaton1-DCiHilkcienlsSfll:acfi&n1-GFractignalBruwTMan-Gen&jabon1-DCntiidouWar.e
6、lel1-DTwikDimefi-sionalWslet2-DrweCmpre&sjDn2-WletPacket2-DSWTOEHWising2-0InageFussenV/avetDesignMumsignaiAnziiis1-DMulUscalfPrineCwp.AnalisImgeErtflnsionAra阳leiDisplaySpecializedTools2-DOneDmensioiwaWawfii-et冬DWletPad.etDCmpl:Ccn&inMJous1-DThFee-EhmnslonailWafiletCLoadSignal菜单功能,选择此信号文件即可导入信号。文件中第一
7、个一维变量被认为是信号,变量在文件中顺序是按字母排序的。保存小波系数小波分析完成后,点击File-Save-Coefficients,可以将分析结果保存到mat文件。保存后,可以使用load函数加载数据,会看到保存的变量有小波系数coeff、尺度scales、小波的名字wname。一维复信号连续小波分析一维复信号连续小波分析对于复信号连续小波分析,小波工具箱中对应的函数是cwt。使用命令行分析复信号这个例子是一个带尖头的信号,如下1.加载信号loadcuspamax文件中包含两个变量,caption和cuspamax,前者是此信号的定义,如下caption=x=linspace(0,l,102
8、4);y=exp(-128*(x-0.3).人2)-3*(abs(x-0.7)40.4);2.执行连续小波变换c=cwt(cuspamax,1:2:64,cgau4);3.绘制结果c=cwt(cuspamax,1:2:64,cgau4,plot);结果显示了四副图形,分别为系数的实部、虚部、模、相角。使用图形接口分析复信号与实信号不同的是,选择ComplexContinuousWavelet1-D,得到的结果如下(ifne(orspce)biJtqduliis对伫a&fora=135792004006C0m1000ti化(orbAngleofCabfora=1367raJrauw2004006
9、00即0训初具体操作过程与实信号的相似,如下Matlab小波工具箱的使用2(2011111109:32:57)转载标签:分类:学科知识信号阈值分解系数小波分析一维离散小波分析一维离散小波分析工具箱提供了如下函数做一维信号分析:FunctionNamePurpose分解函数dwt一层分解wavedec分解wmaxlev最大小波分解层数重构函数idwt一层重构waverec全重构wrcoef有选择性重构upcoef单一重构分解结构工具detcoef细节系数抽取appcoef近似系数抽取upwlev分解结构重排去噪和压缩ddencmp使用默认进行去噪和压缩wbmpen使用处罚门槛进行一维或二维去噪w
10、dcbm使用处罚门槛进行一维(使用BirgQ-Massart 方法)wdencmp小波去噪和压缩wden自适应小波去噪wthrmngr门槛设置管理在这一部分,可以学到l加载信号l执行一层小波分解l从系数重建近似和细节l显示近似和细节l通过逆小波变换重建信号l执行多层小波分解l抽取近似系数和细节系数l重构第三层近似l重构第1、2、3层细节l显示多层分解的结果l从第三层分解重构原始信号l从信号中去除噪声l改善分析l压缩信号l显示信号的统计信息和直方图一维分析-使用命令行这个例子包含一个真实世界的信号-测量3天的电功耗。这个信号很典型,因为它包含一个明显的测量噪声,而小波分析可以有效的移除噪声。1.
11、加载信号loadleleccum截取信号s=leleccum(1:3920);l_s=length(s);2.对信号执行一层小波分解使用dbl小波执行一层小波分解,执行下面的语句产生近似系数cAl、细节系数cDlcA1,cD1=dwt(s,db1);3.从系数中构建近似和细节从系数cAl和cDl中构建一层近似A1和细节D1,执行以下代码A1=upcoef(a,cA1,db1,1,l_s);D1=upcoef(d,cD1,db1,1,l_s);或A1=idwt(cA1,db1,l_s);D1=idwt(,cD1,db1,l_s);4.显示近似和细节subplot(1,2,1);plot(A1);
12、title(ApproximationA1)5.使用逆小波变换恢复信号A0=idwt(cA1,cD1,db1,l_s);err=max(abs(s-A0)err=2.2737e-0136.执行多层小波分解执行3层信号分解C,L=wavedec(s,3,db1);函数返回3层分解的各组分系数C(连接在一个向量里),向量L里返回的是各组分的长度。 分解的结构如下7.抽取近似系数和细节系数从C中抽取3层近似系数cA3=appcoef(C,L,db1,3);从C中抽取3、2、1层细节系数cD3=detcoef(C,L,3);cD2=detcoef(C,L,2);cD1=detcoef(C,L,1);或
13、者cD1,cD2,cD3=detcoef(C,L,1,2,3);结果显示如下,从上到下依次为原始信号、3层近似系数和31层细节系数1.重建3层近似和1、2、3层细节从C中重建3层近似A3=wrcoef(a,C,L,db1,3);从C中重建1、2、3层细节D1=wrcoef(d,C,L,db1,1);D2=wrcoef(d,C,L,db1,2);D3=wrcoef(d,C,L,db1,3);2.显示多层分解的结果显示3层分解的结果-5010500100015002000350040001000忖与帕注ardcoeificnls.2000250030001000subplot(2,2,1);plo
14、t(A3);title(ApproximationA3)subplot(2,2,2);plot(D1);title(DetailD1)subplot(2,2,3);plot(D2);title(DetailD2)subplot(2,2,4);plot(D3);title(DetailD3)10.从3层分解中重建原始信号A0=waverec(C,L,db1);err=max(abs(s-A0)err=4.5475e-01311.粗糙的去噪信号使用小波从信号中移除噪声需要辨识哪个或哪些组分包含噪声, 然后重建没有这些组分的信号。在这个例子中,我们注意到连续的近似随着越来越多的高频信息从信号中滤除,
15、噪声变得越来越少。3层近似与原始信号对比会发现变得很干净。对比近似和原始信号,如下subplot(2,1,1);plot(s);title(Original);axisoffsubplot(2,1,2);plot(A3);title(Level3Approximation);axisoff6005004002001QQ40202020201000200030004000ApproximjtiionA3DetailDi1000200030004000Detail02DetailD31000200030004000100020003m4000当然,摒弃所有高频信息,我们会失去原始信号中的很多最尖锐
16、的特征。最佳的去噪需要通过一种更精细的叫阈值方法,它只丢弃部分超过一定范围的细节。12.通过阈值去除噪声先来看3层分析的细节subplot(3,1,1);plot(D1);title(DetailLevel1);axisoffsubplot(3,1,2);plot(D2);title(DetailLevel2);axisoffsubplot(3,1,3);plot(D3);title(DetailLevel3);axisoff从图中可以看到, 大多数噪声发生在信号的后面部分, 表现在细节上就是出现大波动的地方。如果我们通过设定最大值来限定细节强度,会怎么样呢?这会有降低噪声效果,同时保留不影响
17、的必要细节。这是一种很好的方法。注意到cD1,cD2,cD3是向量,那么我们就可以通过直接操纵这些向量来达到目的,即设置这些向量小于其峰值或平均值的一部分,然后就可以由这些设定了阈值的系数重建新的细节信号D1、D2、D3。实际去噪过程中,可以使用ddencmp函数来计算默认的阈值参数,然后用wdencmp函数来执行实际的去噪过程,代码如下thr,sorh,keepapp=ddencmp(den,wv,s);clean=wdencmp(gbl,C,L,db1,3,thr,sorh,keepapp);注意wdencmp使用了第6步中小波分解的结果C、L,另外指定了dbl小波来做分析,指定全局阈值选
18、项gbl.详细参见ddencmp函数和wdencmp函数。显示原始信号和去噪信号如下subplot(2,l,l);plot(s(2000:3920);title(Original)subplot(2,l,2);plot(clean(2000:3920);title(denoised)4川 I|【|州Hi卅牌*躺啊IDetailLevel1DetailLevel2DetailLeel3MM*呻#彳1r 柯这里我们只绘制了原始信号中包含噪声的部分,特别注意我们是如何在移除了噪声的情况下仍保持原有的尖锐细节的,这也是小波分析强大的地方。使用命令行函数去除噪声是很笨拙的,而图形工具提供了一种更方便使用
19、的自动化阈值去噪方式。关于去噪过程的更多信息可以在下面的部分找到:*Removenoisefromasignal从一个信号中去除噪声*De-NoisingintheWaveletToolboxUsersGuide小波工具箱中的除噪*One-DimensionalVarianceAdaptiveThresholdingofWaveletCoefficients一维小波系数自适应阈值*One-DimensionalVarianceAdaptiveThresholdingofWaveletCoeffiientsintheWaveletToolboxUsersGuide使用图形接口做一维分析1.开启一
20、维小波分析工具Wavemenu-Wavelet1-D2.加载信号3.执行一层小波分解使用db1小波执行一层分解5004002001Q0denoised200JOOEOO8DO10D01200U0D16001300200020040000001C00120014001600130020005.执行多层小波分解使用db1小波执行3层分解。选择不同的显示方式:在Displaymode下拉菜单下可以选择不同的显示方式,默认的显示方式为FullDecompositionMode,其他的显示方式及其意义如下SeparateMode:在不同的列中显示细节和近似;SuperimposeMode: 在一张图上以
21、不同的颜色显示细节、 近似;TreeMode:显示分解树、原始信号和选择的成分,在分解树上选择你想显示的成分;ShowandScrollMode:显示3个窗口,第一个显示原始信号和选择的近似信号,第二个显示选择的细节,第三个显示小波系数;ShowandScrollMode(StemCfs):和ShowandScrollMode很接近,除了第三个窗口中以杆状图替代颜色条显示小波系数。对于每个分析任务,可以改变默认的显示方式,只要在View-DefaultDisplayMode子菜单下选择理想的方式即可;不同的显示方式会有额外的显示选项,在MoreDisplayOptions中做选择,这些选项可以
22、控制不同成分的显示、选择是否显示原始信号与细节、近似对比。6.从信号中移除噪声图形接口提供了以预定义的阈值策略除噪的选项,这使得从信号中除噪非常容易,只需点击De-noise按钮就可以弹出除噪工具。点击Close可以关闭除噪窗口,由于不能同时打开除噪和压缩窗口,所以需要关闭除噪窗口再进行信号压缩。关闭时会提示UpdateSynthesizedSignal提示对话框,点击No,如果点击Yes,合成的信号会加载到主窗口。7.改善分析图像工具可以在任何时候轻易的改善分析, 只需要改变分析的方法就可以了, 如使用db3做5层小波分析。8.压缩信号图形接口提供了自动化或人工阈值的做压缩的功能。默认使用的
23、是全阈值方法,当然也可以使用人工阈值的方法,选择ByLevelthresholding选项即可,下面的滑动条提供了各级阈值独立调整的功能, 相应的调整可以在左边的窗口中看到, 在图形窗口中也可以直接拖动来改变阈值。完成选择后,点击压缩按钮可以完成压缩。从压缩的结果可以看到,压缩过程去除了大多数噪声,但保存了信号99.74%的能量。自动化阈值是非常有效的,它使除3.2%的小波系数都归零化了。9.显示残差点击Residuals按钮可以查看压缩的残差。显示的统计数据包括测量的趋势(平均值、众数、中值)和散布情况(极差、标准差)。另外,工具还提供了概率分布直方图和累计直方图以及时间序列图,如自相关函数
24、、频谱。这些都是和去噪工具是一样的。10.显示统计分布可以显示一系列有关信号及其组分的统计数据。点击Statistics按钮可以查看统计数据信息,点击Histograms可以查看直方图。从图形接口中导入导出信息保存信息l保存合成的信号如加载如下信号FileExampleAnalysisBasicSignalswithdb3atlevel5Sumofsines做除噪或压缩处理后,保存合成信号FileSaveSynthesizedSignal,保存后加载文件,会得到如下变量:如果使用除全阈值外的方法时,得到的变量结构如下Synthsig是合成的信号,除噪或压缩的小波方法保存在wname中,相互依赖
25、的各级阈值保存在thrParams中,小波分解的等级数和cell的长度相等,thrParamsi,i从1到5分别保存了阈值间距上下限的值和阈值(间距阈值是允许的,在自适应阈值方法中会用到,参见One-DimensionalVarianceAdaptiveThresholdingofWaveletCoefficients) 如果使用的全阈值方法, 保存的数据结构如下alTHR保存的是全阈值的值。l保存离散小波变换的系数一个例子的文件内容如下Coefs包含了离散小波变换的系数,longs包含了各组分的长度,thrParams为空, 因为合成信号不存在,wname是小波的名字。l保存分解结果(即保存
26、小波分析的全体数据)小波工具将保存为.wal文件,加载方式为loadwdecexld.walmat文件内容为加载信息加载信息加载的文件只要和保存的相应文件中的变量一样即可。Matlab小波工具箱的使用3(2011-11-1109:35:01)转载标签:分类:学科知识平稳小波分解去噪一维离散平稳小波分析一维离散平稳小波分析离散平稳小波分析所用到的函数有swt小波分解和iswt小波重构。在这一部分可以学到如下内容:l加载信号l执行平稳小波分解l从小波系数中构造近似和细节l显示第一层的近似和细节l平稳小波逆变换恢复原始信号l执行多层平稳小波分解l重构第3层近似l重构l、2、3层细节l重构l、2层近似
27、l显示分解的结果l从3层分解中重构原始信号l除噪使用命令行实现一维分析1.加载信号(一个噪声污染的多普勒效应信号)2.设置变量s=noisdopp;对于SWT变换,如果需要在第k层分解信号,那么原始信号需要能够平分成2吐份。所以如果原始信号的长度不满足要求,需要使用SignalExtensionGUI工具或使用wextend函数来扩展它。3.执行一层平稳小波分解swa,swd=swt(s,1,db1);函数执行将产生1层近似和细节的系数,两者和信号的长度是相等的,这也是平稳小波和普通小波不同的地方,从而使它在某些领域有好的效果。4.显示近似、细节小波系数显示一层近似和细节的系数subplot(
28、1,2,1),plot(swa);title(Approximationcfs)subplot(1,2,2),plot(swd);title(Detailcfs)5.使用平稳小波逆变换恢复原始信号A0=iswt(swa,swd,db1);重构的误差为err=norm(s-A0)err=2.1450e-0146.从系数中构建近似和细节构建一层近似和细节,输入如下代码nulcfs=zeros(size(swa);A1=iswt(swa,nulcfs,db1);D1=iswt(nulcfs,swd,db1);显示结果如下subplot(1,2,1),plot(A1);title(Approximat
29、ionA1);subplot(1,2,2),plot(D1);title(DetailD1);321015ApprowmationcfsDetailcfe5M10001540100015007.执行多层平稳小波分解使用db1小波做3层小波分解swa,swd=swt(s,3,db1);产生的近似系数在swa中,细节系数在swd中,而且它们有相同的长度。8.显示近似和细节的系数kp=0;fori=1:3subplot(3,2,kp+1),plot(swa(i,:);title(Approx.cfslevel,num2str(i)subplot(3,2,kp+2),plot(swd(i,:);tit
30、le(Detailcfslevel,num2str(i)kp=kp+2;endAppromma!onA1a8DetailDi5MtOOO15006M100015008=0&t=wT;elsewt=sin(t*pi/wT).人2;wt(twT)=0;endindex=7;handle.data(index).x=t;handle.data(index).y=wt;handle.data(index).type=plot;handle.data(index).ylim=-A*0.2A*1.2;handle.data(index).title=窗函数w(t);%窗函数的频谱f=handle.fxra
31、nge(1):fs:handle.fxrange(2);ifwindowflag=1wf=sinc(wT*f)*wT;%矩形窗elsewf=wT/2*sinc(wT*f)+wT/4*sinc(wT*f-1)+wT/4*sinc(wT*f-1);%汉宁窗endindex=8;handle.data(index).x=f;handle.data(index).y=abs(wf);handle.data(index).type=plot;handle.data(index).ylim=-A*0.2A*wT*1.2;handle.data(index).title=窗函数频谱lw(f)l;%采样余弦信
32、号加窗t=0:Ts:wT-Ts/100;ifwindowflag=1xpwt=A.*cos(2*pi*f0*t);elsexpwt=sin(t*pi/wT).人2*A.*cos(2*pi*fO*t);endindex=9;handle.data(index).x=t;handle.data(index).y=xpwt;handle.data(index).type=stem;handle.data(index).ylim=-AA*1.2;handle.data(index).title=信号加窗x(t)xp(t)xw(t);%加窗后的频谱f=handle.fxrange(1):fs:handl
33、e.fxrange(2);xpwf=conv(xpf,wf,same);index=10;handle.data(index).x=f;handle.data(index).y=abs(xpwf);handle.data(index).type=plot;handle.data(index).ylim=-A*0.2A*wT*1.2;handle.data(index).title=加窗后频谱lx(f)*p(f)*w(f)l;%频域采样的时域信号t=handle.txrange(1):ts:handle.txrange(2);pft=mod(t,wT)=0;index=11;handle.data(index).x=t;handle.data(index).y=pft;handle.data(index).type=stem;handle.data(index).ylim=-A*0.2A*1.2;handle.data(index).title=周期延拓pf(t);%频域采样信号sampletemp=round(handle.fxrange(1)/fs):round(handle.fxrange(2)/fs);f=sampletemp*fs;pff=mod(sampletemp,round(1/wT/fs)=0;index=12;handle.data(i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 项目外包转人力外包合同
- 2026青海副高(妇产科护理)考试真题卷(含答案)
- 化工医药专业知识试题及答案
- 住院患者静脉血栓血栓(VTE)防治健康宣教知晓率调查问卷
- 农贸市场管理外包合同
- 个人软件开发外包合同
- 2026年妇产科专业主治医师中级职称考试考试题(含答案)
- 防水工程施工技术交底保证措施
- 长白山森林消防安全宣传
- 劳动合同欺诈转外包合同
- 2026年玉溪市中医医院公开招聘编外工作人员(17人)笔试备考试题及答案解析
- 政治+答案【一六八最后一卷】安徽合肥市第一六八中学等校2026届高三年级最后一卷(5.14-5.15)
- 山东省东营市2026年中考三模物理试题(含答案解析)
- 2026年医保办新员工岗前培训记录
- 2026年全国交管12123驾驶证学法减分(学法免分)考试题库及答案
- 2026四川达州市面向高校毕业生招聘园区产业发展服务专员37人考试模拟试题及答案解析
- 2026年中考物理模拟试卷及答案(湖南卷)
- 摩根士丹利 -半导体:中国AI加速器-谁有望胜出 China's AI Accelerators – Who's Poised to Win
- 2025年广东韶关市八年级地理生物会考题库及答案
- 2026年高级经济实务《人力资源》全真模拟卷
- 市政设施损坏快速维修与抢修方案
评论
0/150
提交评论