




免费预览已结束,剩余34页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.%设置信噪比和随机种子值snr=4;init=2055615866;%产生原始信号sref和高斯白噪声污染的信号ssref,s=wnoise(1,11,snr,init);%用db1小波对原始信号进行3层分解并提取系数c,l=wavedec(s,3,db1);a3=appcoef(c,l,db1,3);d3=detcoef(c,l,3);d2=detcoef(c,l,2);d1=detcoef(c,l,1);thr=1;%进行硬阈值处理ythard1=wthresh(d1,h,thr);ythard2=wthresh(d2,h,thr);ythard3=wthresh(d3,h,thr);c2=a3 ythard3 ythard2 ythard1;s3=waverec(c2,l,db1);%进行软阈值处理ytsoftd1=wthresh(d1,s,thr);ytsoftd2=wthresh(d2,s,thr);ytsoftd3=wthresh(d3,s,thr);c3=a3 ytsoftd3 ytsoftd2 ytsoftd1;s4=waverec(c3,l,db1);%对上述信号进行图示subplot(5,1,1);plot(sref);title(参考信号);subplot(5,1,2);plot(s);title(染噪信号);subplot(5,1,3);plot(s3);title(硬阈值处理);subplot(5,1,4);plot(s4);title(软阈值处理);%设置信噪比和随机种子值snr=4;init=2055615866;%产生原始信号sref和高斯白噪声污染的信号ssref,s=wnoise(1,11,snr,init);%用db1小波对原始信号进行3层分解并提取系数c,l=wavedec(s,3,db1);a3=appcoef(c,l,db1,3);d3=detcoef(c,l,3);d2=detcoef(c,l,2);d1=detcoef(c,l,1);thr=1;%进行硬阈值处理ythard1=wthresh(d1,h,thr);ythard2=wthresh(d2,h,thr);ythard3=wthresh(d3,h,thr);c2=a3 ythard3 ythard2 ythard1;s3=waverec(c2,l,db1);%进行软阈值处理ytsoftd1=wthresh(d1,s,thr);ytsoftd2=wthresh(d2,s,thr);ytsoftd3=wthresh(d3,s,thr);c3=a3 ytsoftd3 ytsoftd2 ytsoftd1;s4=waverec(c3,l,db1);%对上述信号进行图示subplot(5,1,1);plot(sref);title(参考信号);subplot(5,1,2);plot(s);title(染噪信号);subplot(5,1,3);plot(s3);title(硬阈值处理);subplot(5,1,4);plot(s4);title(软阈值处理);Matlab小波消噪程序(原创)Yo,FS,NBITS,OPTS=wavread(normal_s3.wav);fs=FSY=Yo;dt=1/FS;YY=Yo(1800:9500);N=length(YY);Y=YY+0.14*randn(1,N);time=(0:N-1)*dt;(N-1)*dtfY=fs*(1:N/2)/N;yYY=abs(fft(YY);yY=abs(fft(Y);c,l=wavedec(Y,4,coif4);a4=appcoef(c,l,coif4,4);a3=appcoef(c,l,coif4,3);a2=appcoef(c,l,coif4,2);a1=appcoef(c,l,coif4,1);d4=detcoef(c,l,4);d3=detcoef(c,l,3);d2=detcoef(c,l,2);d1=detcoef(c,l,1);figure(1)subplot(511);plot(a4);title(a4);subplot(512);plot(d4);title(d4);subplot(513);plot(d3);title(d3);subplot(514);plot(d2);title(d2);subplot(5,1,5);plot(d1);title(d1);SNRin=10*log(norm(YY)2/(norm(Y-YY)2) %去噪前信号的信噪比figure(2)subplot(211);plot(time,YY);axis(0 time(end) -1.5 1.5);xlabel(time/s);title(原音信号);subplot(212);plot(fY,yYY(1:floor(N/2);xlabel(f/hz);ylabel(频谱);title(原心音信号频谱图);xlim(0 500)figure(3)subplot(211);plot(time,Y);axis(0 time(end) -1.5 1.5);xlabel(time/s);title(加噪心音信号);subplot(212);plot(fY,yY(1:floor(N/2);xlabel(f/hz);ylabel(频谱);title(加噪心音信号频谱);xlim(0 500)%单级阈值去噪%thr=yuzhi(Y,4,coif4,sqtwolog,sln)dd1=yuzhifunction(d1,thr(1),soft);dd2=yuzhifunction(d2,thr(2),soft);dd3=yuzhifunction(d3,thr(3),soft);dd4=yuzhifunction(d4,thr(4),soft);cl=a4,dd4,dd3,dd2,dd1;s=waverec(cl,l,coif4);N1=length(s);times=(0:N1-1)*dt;fs0=fs*(0:N1/2-1)/N1;ys=abs(fft(s);%多级阈值去噪%thr1=yuzhi(Y,4,coif4,sqtwolog,mln)s1,cxc,clc,perf2,perf3=wdencmp(lvd,Y,coif4,4,thr1,s);N2=length(s1);times1=(0:N2-1)*dt;fs1=fs*(1:N2/2)/N2;ys1=abs(fft(s1);figure(4);subplot(321);plot(time,YY);axis(0 time(end) -1.5 1.5);xlabel(time/s);title(原音信号);subplot(322);plot(fY,yYY(1:floor(N/2);xlabel(f/hz);ylabel(频谱);title(原心音信号频谱图);xlim(0 400)subplot(323);plot(times,s);axis(0 time(end) -1.5 1.5);xlabel(time/s);title(单级阈值去噪心音信号);subplot(324);plot(fs0,ys(1:floor(N1/2);xlabel(f/hz);ylabel(频谱);title(单级阈值去噪心音信号频谱图);xlim(0 400)subplot(325);plot(times1,s1);axis(0 time(end) -1.5 1.5);xlabel(time/s);title(多级阈值去噪心音信号);subplot(326);plot(fs1,ys1(1:floor(N2/2);xlabel(f/hz);ylabel(频谱);title(多级阈值去噪心音信号频谱图);xlim(0 400)想把这个程序。改为只用软硬阈值对比的心电信号去噪分析,该怎么办? 求高手。程序见下:%信号小波分解%基于Haar小波%ecg=fopen(100.dat,r);N=1201;data=fread(ecg,N,int16);data=data/10000;save ECGdata data;fclose(ecg);x=0:0.004:4.8;figure(1);subplot(321);plot(x,data);axis(0 4.8 -4 4);title(原始心电信号);x=data;wname=Haar;level=5;c,l=wavedec(x,level,wname);a5=wrcoef(a,c,l,Haar,5);a4=wrcoef(a,c,l,Haar,4);a3=wrcoef(a,c,l,Haar,3);a2=wrcoef(a,c,l,Haar,2);a1=wrcoef(a,c,l,Haar,1);subplot(322);plot(a5);title(a5);axis(0 1201 -2 2);subplot(323);plot(a4);title(a4);axis(0 1201 -2 2);subplot(324);plot(a3);title(a3);axis(0 1201 -2 2);subplot(325);plot(a2);title(a2);axis(0 1201 -2 2);subplot(326);plot(a1);title(a1);axis(0 1201 -2 2);%基于db6小波%ecg=fopen(100.dat,r);N=1201;data=fread(ecg,N,int16);data=data/10;fclose(ecg);x=0:0.004:4.8;figure(2);subplot(321);plot(x,data);axis(0 4.8 -4000 4000);title(原始心电信号);x=data;wname=db6;level=5;c,l=wavedec(x,level,wname);a5=wrcoef(a,c,l,db6,5);a4=wrcoef(a,c,l,db6,4);a3=wrcoef(a,c,l,db6,3);a2=wrcoef(a,c,l,db6,2);a1=wrcoef(a,c,l,db6,1);subplot(322);plot(a5);title(a5);axis(0 1201 -2000 2000);subplot(323);plot(a4);title(a4);axis(0 1201 -2000 2000);subplot(324);plot(a3);title(a3);axis(0 1201 -2000 2000);subplot(325);plot(a2);title(a2);axis(0 1201 -2000 2000);subplot(326);plot(a1);title(a1);axis(0 1201 -2000 2000);%基于sym3小波%ecg=fopen(100.dat,r);N=1201;data=fread(ecg,N,int16);data=data/10;save ECGdata data;fclose(ecg);x=0:0.004:4.8;figure(3);subplot(321);plot(x,data);axis(0 4.8 -4000 4000);title(原始心电信号);x=data;wname=sym3;level=5;c,l=wavedec(x,level,wname);a5=wrcoef(a,c,l,sym3,5);a4=wrcoef(a,c,l,sym3,4);a3=wrcoef(a,c,l,sym3,3);a2=wrcoef(a,c,l,sym3,2);a1=wrcoef(a,c,l,sym3,1);subplot(322);plot(a5);title(a5);axis(0 1201 -2000 2000);subplot(323);plot(a4);title(a4);axis(0 1201 -2000 2000);subplot(324);plot(a3);title(a3);axis(0 1201 -2000 2000);subplot(325);plot(a2);title(a2);axis(0 1201 -2000 2000);subplot(326);plot(a1);title(a1);axis(0 1201 -2000 2000);%心电信号降噪%Birge-Massart策略阈值降噪%基于小波变换的心电信号的降噪ecg=fopen(100.dat,r);N=1201;data=fread(ecg,N,int16);data=data/10000;fclose(ecg);x=data;wavename=db5;level=4;c,l=wavedec(x,level,wavename);alpha=1.5;sorh=h;thr,nkeep=wdcbm(c,l,alpha);%使用硬阈值给信号降噪xc,cxc,lxc,perf0,perfl2=wdencmp(lvd,c,l,wavename,level,thr,sorh);t1=0:0.004:(length(x)-1)*0.004;figure(4);subplot(211);plot(t1,x);title(从人体采集的原始的ECG信号);subplot(212);plot(t1,xc);title(Birge-Massart策略阈值降噪后的ECG信号(wname=db5 level=4));%最优预测软阈值降噪%基于小波变换的心电信号的压缩ecg=fopen(100.dat,r);N=1201;data=fread(ecg,N,int16);data=data/10000;fclose(ecg);x=data;wavename=db3;level=4;xd,cxd,lxd=wden(x,heursure,s,mln,level,wavename);t=0:0.004:4.8;figure(5);subplot(311);plot(t,x);title(从人体采集的原始的ECG信号);subplot(312);plot(t,xd);title(heursure规则阈值降噪后的ECG信号(db3 level=4);%最小均方差软阈值降噪%基于小波变换的心电信号的压缩ecg=fopen(100.dat,r);N=1201;data=fread(ecg,N,int16);data=data/10000;fclose(ecg);x=data;wavename=db3;level=4;xd=wden(x,minimaxi,s,mln,level,wavename);t=0:0.004:4.8;figure(6);subplot(311);plot(t,x);title(从人体采集的原始的ECG信号);subplot(313);plot(t,xd);title(Minimax规则阈值降噪后的ECG信号(wname=db3 level=4);%心电信号压缩%基于小波变换的心电信号的压缩ecg=fopen(100.dat,r);N=1201;data=fread(ecg,N,int16);data=data/10000;fclose(ecg);x=data;wavename=db5;c,l=wavedec(x,4,wavename);alpha=2;sorh=h;thr,nkeep=wdcbm(c,l,alpha);%使用硬阈值压缩信号xc,cxc,lxc,perf0,perfl2=wdencmp(lvd,c,l,wavename,4,thr,sorh);t=0:0.004:4.8;figure(7);subplot(511);plot(t,x);title(原始的ECG信号);axis(0 5 -3 3);subplot(512);plot(t,xc);axis(0 5 -3 3);title(在第4层对高频系数量化压缩后的ECG信号(alpha=2 db5));c,l=wavedec(x,4,wavename);alpha=4;sorh=h;thr,nkeep=wdcbm(c,l,alpha);%使用硬阈值压缩信号xc1,cxc1,lxc1,perf01,perfl21=wdencmp(lvd,c,l,wavename,4,thr,sorh);subplot(513);plot(t,xc1);axis(0 5 -3 3);title(在第4层对高频系数量化压缩后的ECG信号alpha=4 db5);c,l=wavedec(x,2,wavename);alpha=4;sorh=h;thr,nkeep=wdcbm(c,l,alpha);%使用硬阈值压缩信号xc1,cxc1,lxc1,perf01,perfl21=wdencmp(lvd,c,l,wavename,2,thr,sorh);subplot(514);plot(t,xc1);axis(0 5 -3 3);title(在第2层对高频系数量化压缩后的ECG信号alpha=4 db5);c,l=wavedec(x,2,db3);alpha=4;sorh=h;thr,nkeep=wdcbm(c,l,alpha);%使用硬阈值压缩信号xc1,cxc1,lxc1,perf01,perfl21=wdencmp(lvd,c,l,db3,2,thr,sorh);subplot(515);plot(t,xc1);axis(0 5 -3 3);title(在第2层对高频系数量化压缩后的ECG信号alpha=4 db3);%Matlab小波去噪(默认,强制,给定三种情况)% 利用小波分析对监测采集的信号进行去噪处理,恢复原始信号%小波分析进行去噪有3中方法:%1、默认阈值去噪处理。该方法利用函数ddencmp( )生成信号的默认阈值,然后利用函数wdencmp( )进行去噪处理;%2、给定阈值去噪处理。在实际的去噪处理过程中,阈值往往可通过经验公式获得,且这种阈值比默认阈值的可信度高。在进行阈值量化处理时可利用函数wthresh( );%3、强制去噪处理。该方法是将小波分解结构中的高频系数全部置0,即滤掉所有高频部分,然后对信号进行小波重构。这种方法比较简单,且去噪后的信号比较平滑,但是容易丢失信号中的有用成分。% 利用小波分析对监测采集的水轮机信号进行去噪处理,恢复原始信号%Program Start% 载入监测所得信号load default.txt; %装载采集的信号x= default;lx=length(x);t=0:1:length(x)-1; % 绘制监测所得信号subplot(2,2,1);plot(t,x);title(原始信号);grid onset(gcf,color,w) set(gca,fontname,times New Roman)set(gca,fontsize,14.0)% 用db1小波对原始信号进行3层分解并提取小波系数c,l=wavedec(x,3,db1);%sym8ca3=appcoef(c,l,db1,3);%低频部分cd3=detcoef(c,l,3);%高频部分cd2=detcoef(c,l,2);%高频部分cd1=detcoef(c,l,1);%高频部分% 对信号进行强制去噪处理并图示cdd3=zeros(1,length(cd3);cdd2=zeros(1,length(cd2);cdd1=zeros(1,length(cd1);c1=ca3,cdd3,cdd2,cdd1;x1=waverec(c1,1,db1);subplot(2,2,2);plot(x1);title(强制去噪后信号);grid onset(gcf,color,w) set(gca,fontname,times New Roman)set(gca,fontsize,14.0)% 默认阈值对信号去噪并图示%用ddencmp( )函数获得信号的默认阈值,使用wdencmp( )函数实现去噪过程thr,sorh,keepapp=ddencmp(den,wv,x);x2=wdencmp(gbl,c,l,db1,3,thr,sorh,keepapp);subplot(2,2,3);plot(x2);title(默认阈值去噪后信号);grid onset(gcf,color,w) set(gca,fontname,times New Roman)set(gca,fontsize,14.0)% 给定的软阈值进行去噪处理并图示cd1soft=wthresh(cd1,x,1.465);%经验给出软阈值数cd2soft=wthresh(cd2,x,1.823); %经验给出软阈值数cd3soft=wthresh(cd3,x,2.768); %经验给出软阈值数c2=ca3,cd3soft,cd2soft,cd1soft;x3=waverec(c2,1,db1);subplot(2,2,4);plot(x3);title(给定软阈值去噪后信号);grid onset(gcf,color,w) set(gca,fontname,times New Roman)set(gca,fontsize,14.0)以上就是三中小波去噪的原程序。但红色标注的地方,我却运行不过去。提示分别问:1,? Error using = horzcatCAT arguments dimensions are not consistent.Error in = tt at 33c1=ca3,cdd3,cdd2,cdd1;2,? Error using = wthresh at 30Invalid argument value.Error in = tt at 54cd1soft=wthresh(cd1,x,1.465);%经验给出软阈值数请问为什么?我解决这个问题了,c1=a3 dd3 dd2 dd1c2=ca3 cd3soft cd2soft cd1soft;写一个小波去噪的matlab程序sound=wavread(000);sound=sound;subplot(4,1,1);plot(sound);title(原始信号);grid;set(gca,ytick,-1:1:1)count1=length(sound);noise=0.07*randn(1,count1);%count1=28000for i=1:count1signal(i)=sound(i)+noise(i);end;for i=1:count1y(i)=signal(i);end;subplot(4,1,2); plot(y);title(含噪信号);grid;set(gca,ytick,-1:1:1)%读出带噪语音信号,存为101.wavwavwrite(y,8000,16,c101);SNR1 = 10*log10(sum(sound.2)/sum(y-sound).2); %计算输入信噪比 title(Noise Added (SNR=,num2str(SNR1),dB); % num2str把数字转换成字符串C,L=wavedec(y,3,db3); %将信号y分解为3级ca=appcoef(C,L,db3,3); %提取一维近似系数,3表示级数,db3为字符串小波的名字cd1,cd2,cd3=detcoef(C,L,1,2,3); %3层小波分解one=mad(cd1); % mad计算样本数据平均绝对偏差two=mad(cd2); %30-38为阈值函数设置three=mad(cd3); n1=one/0.6745;n2=two/0.6745;n3=three/0.6745; men1=n1*sqrt(2*log(count1)/5; %固定阈值形式,阈值为与2*信号的长度,其中count1为信号长度men2=n2*sqrt(2*log(count1)/5;men3=n3*sqrt(2*log(count1)/5;E1=sum(abs(cd1).2)/length(cd1);E2=sum(abs(cd2).2)/length(cd2);E3=sum(abs(cd3).2)/length(cd3);E=1,E3/E1,E2/E1;Em=max(E);z=E3/E1;if (Em=1)&(E3/E10.8) f=1; cd1soft=wthresh(cd1,s,men1); %其中S表示软阈值,如果是H则表示硬阈值 cd2soft=wthresh(cd2,s,men2); cd3soft=wthresh(cd3,s,men3); c1=ca,cd3soft,cd2soft,cd1soft; else f=0; casoft=wthresh(ca,s,0.0050); cd1soft=wthresh(cd1,s,men1); cd2soft=wthresh(cd2,s,men2); cd3soft=wthresh(cd3,s,men3); c1=casoft,cd3soft,cd2soft,cd1soft; end; t=f; s3=waverec(c1,L,db3); s=s3; subplot(4,1,3);plot(s);title(消噪信号);grid;set(gca,ytick,-1:1:1)SNR2 = 10*log10(sum(sound.2)/sum(s-sound).2);wavwrite(s,8000,16,c102); 求小波去噪软阈值和硬阈值的matlab仿真程序硬阈值、软阈值这里有一段不知道有用没%设置信噪比和随机种子值snr=4;init=2055615866;%产生原始信号sref和高斯白噪声污染的信号ssref,s=wnoise(1,11,snr,init);%用db1小波对原始信号进行3层分解并提取系数c,l=wavedec(s,3,db1);a3=appcoef(c,l,db1,3);d3=detcoef(c,l,3);d2=detcoef(c,l,2);d1=detcoef(c,l,1);thr=1;%进行硬阈值处理ythard1=wthresh(d1,h,thr);ythard2=wthresh(d2,h,thr);ythard3=wthresh(d3,h,thr);c2=a3 ythard3 ythard2 ythard1;s3=waverec(c2,l,db1);%进行软阈值处理ytsoftd1=wthresh(d1,s,thr);ytsoftd2=wthresh(d2,s,thr);ytsoftd3=wthresh(d3,s,thr);c3=a3 ytsoftd3 ytsoftd2 ytsoftd1;s4=waverec(c3,l,db1);%对上述信号进行图示subplot(5,1,1);plot(sref);title(参考信号);subplot(5,1,2);plot(s);title(染噪信号);subplot(5,1,3);plot(s3);title(硬阈值处理);subplot(5,1,4);plot(s4);title(软阈值处理);求助Matlab小波语音去噪程序修改诸位我编了个小波语音去噪的程序,可是分帧清浊音判断后的效果不佳,不进行清浊音判断直接阈值效果反而好,能否修改一下,谢谢sound=wavread(c12345);count1=length(sound);noise=0.05*randn(1,count1);for i=1:count1y(i)=sound(i)+noise(i);endfigure(1)plot(sound);title(原始信号); set(gco,linewidth,1); set(gca,fontname,宋体,fontsize,10); xlabel(采样点,fontname,宋体,fontsize,10); ylabel(幅值,fontname,宋体,fontsize,10);figure(2)plot(y);title(含噪信号); set(gco,linewidth,1); set(gca,fontname,宋体,fontsize,10); xlabel(采样点,fontname,宋体,fontsize,10); ylabel(幅值,fontname,宋体,fontsize,10);%在小波基db3下进行一维离散小波变换N=250; n=fix(count1/N);t=; s = 0 0;for m=1:n xd=y(N*(m-1)+1:N+N*(m-1); C,L=wavedec(xd,4,sym4); ca=appcoef(C,L,sym4); cd1,cd2,cd3,cd4=detcoef(C,L,1,2,3,4); one=median(abs(cd1); two=median(abs(cd2); three=median(abs(cd3); four=median(abs(cd4); five=median(abs(ca); n1=one/0.6745; n2=two/0.6745; n3=three/0.6745; n4=four/0.6745; n5=five/0.6745; men1=n1*sqrt(2*log(count1)/log(1+1); men2=n2*sqrt(2*log(count1)/log(2+1); men3=n3*sqrt(2*log(count1)/log(3+1); men4=n4*sqrt(2*log(count1)/log(4+1); men5=n5*sqrt(2*log(count1)/log(4+1); E1=sum(abs(cd1).2)/length(cd1); E2=sum(abs(cd2).2)/length(cd2); E3=sum(abs(cd3).2)/length(cd3); E4=sum(abs(cd4).2)/length(cd4); E=1,E4/E1,E3/E1,E2/E1; Em=max(E); z=E4/E1;if (Em=1)&(E4/E10.9) f=1; cd1soft=wthresh(cd1,h,men1); cd2soft=wthresh(cd2,h,men2); cd3soft=wthresh(cd3,h,men3); cd4soft=wthresh(cd4,h,men4); c1=ca,cd4soft,cd3soft,cd2soft,cd1soft; else f=0; casoft=wthresh(ca,h,men5); cd1soft=wthresh(cd1,h,men1); cd2soft=wthresh(cd2,h,men2); cd3soft=wthresh(cd3,h,men3); cd4soft=wthresh(cd4,h,men4); c1=casoft,cd4soft,cd3soft,cd2soft,cd1soft; end; t=f s3=waverec(c1,L,sym4); s=s s3; figure(3) plot(s); title(去噪后信号); set(gco,linewidth,1); set(gca,fontname,宋体,fontsize,10); xlabel(采样点,fontname,宋体,fontsize,10); ylabel(幅值,fontname,宋体,fontsize,10); wavwrite(y,8000,16,c101); wavwrite(s,8000,16,c102); end;loadleleccum%将信号装入MATLAB的工作环境s=leleccumsubplot(221);plot(s);%画出原始信号波形title(原始信号);%下面利用默认阈值进行消噪处理thr,sorh,keepapp=ddencmp(den,wv,s);%获得信号的默认阈值s2=wdencmp(gbl,c,l,db1,3,thr,sorh,keepapp);subplot(223);plot(s2);title(默认阈值消噪后的信号);grid;%下面利用给定的软阈值进行消噪cd1soft=wthresh(cd1,s,t);cd2soft=wthresh(cd2,s,t);cd3soft=wthresh(cd3,s,t);c2=ca3,cd3soft,cd2soft,cd1soft;s3=waverec(c2,l,db1);%C2,L为新的分解结构subplot(224);plot(s3);title(给定软阈值消噪后的信号);grid硬阈值:Y=wthresh(X,h,T)不知对否,大家给意见给你一个小波应用软阈值和硬阈值处理,然后计算信噪比snr和均方差的mse的程序!你可以参考一下!%-小波分析心电信号-E=M(:,2);E=E;n=size(E);s=E(1:2000);%使用db小波对s进行3层分解for jj=1:8 %jj表示小波的类型 switch jj case 1 db=db1; case 2 db=db2; case 3 db=db3; case 4 db=db4; case 5 db=db5; case 6 db=db6; case 7 db=db7; case 8 db=db8; otherwise end;C L=wavedec(E,3,db);% 从c中提取尺度3下的近似小波系数cA3=detcoef(C,L,3);%从信号c中提取尺度3,2,1下的细节小波系数cD1,cD2,cD3,cD4,cD5=detcoef(C,L,1,2,3,4,5);%重构尺度5下的近似小波系数A5=wrcoef(a,C,L,db,5);% 重构尺度3,2,1下的细节小波系数. D1=wrcoef(d,C,L,db,1);D2=wrcoef(d,C,L,db,2);D3=wrcoef(d,C,L,db,3);D4=wrcoef(d,C,L,db,4);D5=wrcoef(d,C,L,db,5);%-使用阈值法去噪-%利用ddencmp得到除噪的默认参数%thr,sorh,keepapp分别表示是阈值,软阈值(或硬阈值)和允许用户保存的低频系数.%den,wv,s分别为降噪(cmp表示压缩),小波(wp小波包),和降噪信号.thr,sorh,keepapp=ddencmp(den,wv,E);%去噪clean=wdencmp(gbl,C,L,db,5,thr,sorh,keepapp);%-去噪效果衡量(SNR越大效果越好,MSE越小越好)-%选取信号的长度。N=n(2);x=E;y=clean;F=0;M=0;for ii=1:N m(ii)=(x(ii)-y(ii)*(x(ii)-y(ii); t(ii)=y(ii)*y(ii); f(ii)=t(ii)/m(ii); F=F+f(ii); M=M+m(ii);end;SNR(jj)=10*log10(F);MSE(jj)=M/N;end;%对比原始信号和除噪后的信号subplot(2,1,1);plot(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 楼梯运动考试题及答案
- 肺结核试题及答案
- 2026届贵州省贵阳市德为教育化学高二第一学期期末联考试题含答案
- 人才来源考试题及答案
- 细骨料考试题及答案
- 动词名词试题及答案
- 迎新年幼儿园活动总结
- 现金出纳年终工作总结
- 肛裂护理试题及答案
- 2026届天津大学附属中学高二化学第一学期期中学业水平测试试题含解析
- 2025年《工会法》知识竞赛试题库及答案
- 维克多高中英语3500词汇
- LY/T 2501-2015野生动物及其产品的物种鉴定规范
- GB/T 748-2005抗硫酸盐硅酸盐水泥
- GB 15763.1-2001建筑用安全玻璃防火玻璃
- 走好群众路线-做好群众工作(黄相怀)课件
- 民间文学(全套课件)
- 专升本00465心理卫生与心理辅导历年试题题库(考试必备)
- 既有重载铁路无缝线路改造及运维技术探索
- 2022年教师副高职称评答辩范文(七篇)
- 高压罗茨风机选型参数表
评论
0/150
提交评论