几种小波去噪函数的比较_第1页
几种小波去噪函数的比较_第2页
几种小波去噪函数的比较_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、几种小波去噪函数的比较实例1%应用db5作为小波函数进行3层分解%利用无偏似然估计阈值%对 from mit-bih-db的单导联数据进行去噪处理clear;clcload('d:/matlab/work/');e=m(:,2);e=e'n=size(e);s=e(1:2000);%小波分解c l=wavedec(e,3,'db5');% 从c中提取尺度3下的近似小波系数ca3=appcoef(c,l,'db5',3);%从信号c中提取尺度1,2,3下的细节小波系数cd1=detcoef(c,l,1);cd2=detcoef(c,l,2)

2、;cd3=detcoef(c,l,3);%使用stein的无偏似然估计原理进行选择各层的阈值%cd1,cd2,cd3为各层小波系数, %'rigrsure为无偏似然估计阈值类型thr1=thselect(cd1,'rigrsure');thr2=thselect(cd2,'rigrsure');thr3=thselect(cd3,'rigrsure');%各层的阈值tr=thr1,thr2,thr3;%'s'为软阈值;'h'硬阈值。sorh='s'%-去噪-%xc为去噪后信号%cxc,lxc

3、为的小波分解结构%perf0和perf2是恢复和压缩的范数百分比。%'lvd'为允许设置各层的阈值,%'gbl'为固定阈值。%3为阈值的长度xc,cxc,lxc,perf0,perf2=wdencmp('lvd',e, .'db5',3,tr,sorh);%-去噪效果衡量(snr越大效果越好,%rmse越小越好)%选取信号的长度。n=n(2);x=e;y=xc;f=0;m=0;for ii=1:n m(ii)=(x(ii)-y(ii)2; t(ii)=y(ii)2; f(ii)=t(ii)/m(ii); f=f+f(ii); m=

4、m+m(ii);end;snr=10*log10(f);mse=m/n;sm=snr/mse;%对比原始信号和除噪后的信号subplot(2,1,1);plot(s(1:1000);title('原始信号')subplot(2,1,2);plot(xc(1:1000);title('除噪后的信号')snr,mse实例2小波去噪的m文件局部放电试验所采集的信号中往往混有白噪声、周期干扰信号去除。此处采用常用db系列小波中的db6小波进行9尺度的多分辨分解后,根据白噪声能量特性,估算各尺度的阈值大小,采用硬值进行处理,后进行重构。matlab程序如下:functio

5、n sd=xiao_denoise(mix_signal)%此函数用于去除白躁信号周期性干扰信号%输入参数mix_signal为采集到的信号波形s= 1 p=;w_dept=9;w_name='db6'coef=cell(1,w_dept);thr=zeros(1,w_dept+1);c,l=wavedec(mix_signal,w_dept,w_name); %对混合信号s进行db6的9尺度一维分解coef(1)=appcoef(c,l,w_name,w_dept);%计算尺度为9的一维分解低频系数 cs=cs,coef_softj;thr(1)=median(abs(coe

6、f1)/p*sqrt(2*log(length(coef1);%计算1尺度上的阈值coef_soft(1)=wthresh(coef1,'h',thr(1);%对小波系数进行阈值为thr(1)的硬阈值处理cs=coef_soft1;for j=2:w_dept+1 coef(j)=detcoef(c,l,w_dept-j+2);%计算尺度为9到2的各尺度高频小波系数 coef1(j)=detcoef(c,l,w_dept-j+2); thr(j)=median(abs(coefj)/p*sqrt(2*log(length(coefj);%计算9到2各尺度上的阈值 coef_so

7、ft(j)=wthresh(coefj,'h',thr(j);%对小波系数进行阈值为thr(j)的硬阈值处理 cs=cs,coef_softj;endsd=waverec(cs,l,w_name); %根据小波系数cs,l对信号进行重构subplot(2,1,1);plot(s);title(原始信号);subplot(2,1,2);plot(sd);title(重构信号)实例验证为了验证去噪的有效性,先仿真产生一个局放脉冲然后叠加倍白噪声和周期干扰,利用前面的程序去造,结果如图1,从图上可以看到去噪后信号与原始信号幅值、相位都基本没有变化程序如下:fc=40e4; %振荡频率

8、t4=; %脉冲起始时间tn=1e-3; %总时间x=0:step:tn;x4=t4:step:tn;%s4=(exp(t4-x4)*13/t)-exp(t4-x4)*22/t).*sin(2*pi*fc*x4);s4=(exp(t4-x4)/tr)-exp(t4-x4)/td).*sin(2*pi*fc*x4);s4=zeros(1,t4/step),s4;p=tn/step;n=*randn(1,p); %产生白噪信号n=n,0;s5=*sin(2*pi*x); %产生周期性干扰信号s6=s4+n+s5; sd=liu_denoise(s6);subplot(311);plot(x,s4);title('单个局放脉

温馨提示

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

最新文档

评论

0/150

提交评论