基于小波空域相关法去噪MATLAB源程序.docVIP

基于小波空域相关法去噪MATLAB源程序.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于小波空域相关法去噪MATLAB源程序

close all; clc; clear; snr=5; init=2055615866; [xref,x]=wnoise(1,10,snr,init); signal=x; points=1024;??level=5;??wf=bior 1.5; %sym8,bior 1.5 [Lo_D,Hi_D,Lo_R,Hi_R]=wfilters(wf); [swa,swd] = swt(signal,level,Lo_D,Hi_D);%swd是细节系数,swa是近似系数 Swd_n=swd; swd_org=swd; mask_n=zeros(size(Swd_n)); %先把系数处理矩阵设置为全0。 for j=1:(level-1) ? ? %在1:(level-1)分解层次上对高频系数处理,最后一层无法求相关系数,所以不作处理。 ? ? Noise_d1=swd_org(j,:); ? ? Noise_d1=Noise_d1(1:80); ? ? Noise_var=var(Noise_d1); %以信号的前80个只含有噪声的点估计噪声在各层的方差。 ? ? Pw_var=var(swd_org(j,:)); ? ? Corr=swd_org(j,:).*swd_org(j+1,:); %定义相关系数为相邻两层的乘积。 ? ?? ? ? ? cc=1.7; %_______用以设定停止迭代的 噪声能量阈值,需要根据情况调节。________% ? ? while Pw_varcc*Noise_var ? ? Pw=sum(abs(swd(j,:)).^2); %计算小波能量 ? ? Pcorr=sum(abs(Corr).^2); %计算相关系数能量 ? ? Corr_new=Corr.*((Pw/Pcorr)^0.5); %归一化 ? ??? ? ? corr_mod=abs(Corr_new); ? ? w_mod=abs(swd(j,:)); ? ? swd_n=swd(j,:).*(corr_modw_mod);%(corr_modw_mod)返回0或者1 ? ? swd_n1=(swd_n~=0); ? ? mask_n(j,:)=mask_n(j,:)+swd_n1;??%将选出的点赋给系数处理矩阵相应位置。 ? ? swd_n0=ones(size(swd_n1)); ? ? swd_n0=swd_n0-swd_n1; ? ? ? ? swd(j,:)=swd(j,:).*swd_n0; %将高频系数选出大值后的地方置0。 ? ? Pw_var=var(swd(j,:)); ? ? Corr_new=Corr_new.*swd_n0; %将相关系数选出大值后的地方置0。 ? ? Corr=Corr_new; ? ? end end?? ? ? mask_max=ones(1,length(mask_n)); mask_n=[mask_n((1:(level-1)),:);mask_max]; %最后一层系数处理矩阵全置1。 Swd_reg=swd_org.*mask_n; signal_n=iswt(swa,Swd_reg,wf); % S_mix=wden(signal_n,sqtwolog,s,sln,5,sym8); %rigrsure;heursure;sqtwolog;minimaxi xcrr=signal_n-xref; %求滤波误差信号。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%画图: figure; %空域法处理后的高频系数。 subplot(level+1,1,1); plot(real(signal)); grid on;axis tight; title(空域法处理后的高频系数); for i=1:level ? ? subplot(level+1,1,i+1); ? ? plot(Swd_reg(i,:)); axis tight;grid on; ylabel(strcat(j=? ?,num2str(i))); end figure; %高频系数处理前后的比较。 for i=1:level ? ? subplot(level,2,2*(i)-1); ? ? plot(swd_org(i,:)); axis tight;grid on; ? ? ylabel(strcat(d? ?,num2str(i))); ? ? subplot(level,2,2*(i)); ? ? plot(Swd_reg(i,:)); axis tight;grid on; ?

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档