基于小波空域相关法去噪MATLAB源程序_第1页
基于小波空域相关法去噪MATLAB源程序_第2页
基于小波空域相关法去噪MATLAB源程序_第3页
全文预览已结束

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上close all;clc;clear;snr=5;init=;xref,x=wnoise(1,10,snr,init);signal=x;points=1024;  level=5;  wf='bior 1.5' %sym8,bior 1.5Lo_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);

2、 %先把系数处理矩阵设置为全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,

3、:).*swd_org(j+1,:); %定义相关系数为相邻两层的乘积。          cc=1.7; %_用以设定停止迭代的 噪声能量阈值,需要根据情况调节。_%    while Pw_var>cc*Noise_var    Pw=sum(abs(swd(j,:).2); %计算小波能量    Pcorr=sum(abs(Corr).2); %计算相关系数能量    Corr_new=Corr.*(Pw/Pcorr)0.5); %归一化

4、60;        corr_mod=abs(Corr_new);    w_mod=abs(swd(j,:);    swd_n=swd(j,:).*(corr_mod>w_mod);%(corr_mod>w_mod)返回0或者1    swd_n1=(swd_n=0);    mask_n(j,:)=mask_n(j,:)+swd_n1;  %将选出的点赋给系数处理矩阵相应位置。    swd_n0=ones

5、(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;    endend      mask_max=ones

6、(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;minimaxixcrr=signal_n-xref; %求滤波误差信号。%画图:figure; %空域法处理后的高频系

7、数。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);endfigure; %高频系数处理前后的比较。for i=1:level    subpl

8、ot(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;    ylabel(strcat('j=   ',num2str(i);endfigure; %信号滤波前后比较。subplot(3,1,1);plot(signal); axis tight;grid on;axis(0 1000 -5 22);title('原始信号');subplot(3,1,2);plot(signal_n); axis tight;grid on;axis(0 1

温馨提示

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

评论

0/150

提交评论