版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、改进阈值函数进行语音信号消噪,但是在程序运行过程中频频报错。本人经验不足调试不出,希望求得各位指导 改进函数表达式附图 clear all; clc; close all;祠音信号采样频率为 8000fs=8000;xx=wavread('lw1.wav');x1=xx(:,1);% 取单声道t=(0:le ngth(x1)-1)/8000;%寸信号做2048点FFT变换y1=fft(x1,2048);f=fs*(0:1023)/2048;% 做原始语音信号的时域图形%加10db的高斯白噪声 求得信噪比均方误差figure(1)plot(t,x1)y=awg n( x1'
2、;,10,'measured');sn r,mse=s nrmse(x1,y')% 做加噪语音信号的时域图形 多尺度一维分解3层分解并提取系数figure(2)plot(t,y)c,l=wavedec(y,3,'db1');%用 db1小波对信号进行a3=appcoef(c,l,'db1',3);%a2=appcoef(c,l,'db1',2);%a1=appcoef(c,l,'db1',1);d3=detcoef(c,l,3);d2=detcoef(c,l,2);d1=detcoef(c,l,1);thr
3、仁thselect(d1,'rigrsure');%阈值获取,使用 Stein的无偏风险估计原理thr2=thselect(d2,'rigrsure');thr3=thselect(d3,'rigrsure');%利用改进阈值函数进行去噪处理gd 仁 Garrote_gg(d1,thr1);gd2=Garrote_gg(d2,thr2);gd3=Garrote_gg(d3,thr3);c1=a3 gd3 gd2 gd1;y1=waverec(c2,l,'db1');%多尺度重构sn r,mse=s nrmse(x1,y1'
4、)%求得信噪比均方误差figure(3);plot(t,y1);为信号分解后的小波系数,b为获得的阈值function gd=Garrote_gg(a,b)%a m=0.2*(a*a)-(b*b);if (abs(a)>=b)gd=sig n( a)*(abs(a)-b/exp(m); else (abs(a)<b)gd=0;end function sn r,mse=s nrmse(l,l n)%计算信噪比函数% I :原始信号% In:去噪后信号snr=0;Ps=sum(sum(l-mea n( mea n(l)92);%sig nal powerPn=sum(sum(l-l
5、n)42);%no ise powersn r=10*log10(Ps/P n);mse=P n/len gth(l);QC截图 20130516175535.png (11.18 KB, 下载次数:0)改进函数表达式IIWx Jsign(W) (|W| _ 丽為盯 |W| > TA ( 0|W| < T呗为阈值处理后的小波系数;w信号分解后的小波系数;T为获得的阈值;M值已在函数中赋值为02本帖最后由 罗志雄 于2013-5-16 21:58 编辑function sn r,mse=s nrmse(l,l n)%计算信噪比函数%l :原始信号% ln:去噪后信号snr=0;Ps=
6、sum(sum(l-mea n( mea n(l)92);%sig nal power Pn=sum(sum(l-l n)42);%no ise powersn r=10*log10(Ps/P n);mse=P n/len gth(l);修改后程序清单如下:clear all; clc; close all;fs=8000;祠音信号米样频率为 8000xx=wavread('lw1.wav');x1=xx(:,1);%取单声道x1=x1-mea n( x1);t=(0:le ngth(x1)-1)/8000;y1=fft(x1,2048);%寸信号做2048点FFT变换f=fs
7、*(0:1023)/2048;figure(1)plot(t,x1)% 做原始语音信号的时域图形y=awg n( x1',10,'measured');%加10db的高斯白噪声sn r,mse=s nrmsel(x1',y)%求得信噪比均方误差sn r1=SNR si nglech(x1',y)figure(2)plot(t,y)% 做加噪语音信号的时域图形c,l=wavedec(y,3,'db1');%多尺度一维分解%用 db1小波对信号进行3层分解并提取系数a3=appcoef(c,l,'db1',3);%a2=app
8、coef(c,l,'db1',2);%a1=appcoef(c,l,'db1',1);d3=detcoef(c,l,3);d2=detcoef(c,l,2);d1=detcoef(c,l,1);thr1=thselect(d1,'rigrsure');%阈值获取,使用 Stein的无偏风险估计原理thr2=thselect(d2,'rigrsure');thr3=thselect(d3,'rigrsure');%利用改进阈值函数进行去噪处理gd 仁 Garrote gg(d1,thr1);gd2=Garrote_g
9、g(d2,thr2);gd3=Garrote gg(d3,thr3);c1=a3 gd3 gd2 gd1;function gd=Garrote_gg(a,b)%a为信号分解后的小波系数,b为获得的阈值m=0.2*(a.*a)-(b*b);if (abs(a)>=b)gd=sig n( a)*(abs(a)_b/exp(m);elsegd=zeros(size(a);多尺度重构endy1=waverec(c1,l,'db1');%sn r,mse=s nrmsel(x1',y1) %求得信噪比均方误差figure(3); plot(t,y1);小波去噪软阈值和硬阈
10、值的matlab仿真程序硬阈值、软阈值这里有一段不知道有用没 %设置信噪比和随机种子值 snr=4;in it=2055615866;%产生原始信号sref和高斯白噪声污染的信号ssref,s=w no ise(1,11,s nr,i nit);%用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;%进行硬阈值处理ythard 1= wthresh(
11、d1,'h',thr); ythard2=wthresh(d2,'h',thr); ythard3=wthresh(d3,'h',thr); c2=a3 ythard3 ythard2 ythard1; s3=waverec(c2,l,'db1');%进行软阈值处理ytsoftd仁 wthresh(d1,'s',thr); ytsoftd2=wthresh(d2,'s',thr); ytsoftd3=wthresh(d3,'s',thr); c3=a3 ytsoftd3 ytsoft
12、d2 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小波除噪,为何硬阈值和软阈值除躁信噪比一样了?matlab小波除噪,为何硬阈值和软阈值除躁信噪
13、比一样了? load leleccum;in dex=1:1024;f1=leleccu m(in dex); %产生含噪信号in it=2055615866;randn ('seed',i nit); f2=f1+18*ra ndn (size(x);sn r=SNR_si nglech(f1,f2) % subplot(2,2,1);plot(f1);title(' subplot(2,2,2);plot(f2);title('%用 db5小波对原始信号进行c,l=wavedec(f2,3,'db6'); a3=appcoef(c,l,
14、9;db6',3); d3=detcoef(c,l,3);d2=detcoef(c,l,2);d1=detcoef(c,l,1);sigma=w no isest(c,l,1); thr=wbmpe n( c,l,sigma,2);%进行硬阈值处理ythard 1= wthresh(d1,'h',thr); ythard2=wthresh(d2,'h',thr); ythard3=wthresh(d3,'h',thr); c2=a3 ythard3 ythard2 ythardl; f3=waverec(c2,l,'db6'
15、;);%进行软阈值处理ytsoftd仁 wthresh(d1,'s',thr); ytsoftd2=wthresh(d2,'s',thr); ytsoftd3=wthresh(d3,'s',thr); c3=a3 ytsoftd3 ytsoftd2 ytsoftdl; f4=waverec(c3,l,'db6');%对上述信号进行图示subplot(2,2,3);plot(f3);title(' subplot(2,2,4);plot(f4);title(' sn r=SNR_si nglech(f1,f3) sn
16、 r=SNR_si nglech(f1,f4)信噪比含噪信号');%axis(1,1024,-1,1);含噪信号');%axis(1,1024,-1,1);3层分解并提取系数硬阈值处理');%axis(1,1024,-1,1);软阈值处理');%axis(1,1024,-1,1);信噪比函数 SNR_singlech(l,ln) function sn r=SNR_s in glech(l,l n)%计算信噪比函数% I : riginal signal% ln:no isy sig nal(ie. origi nal sig nal + no ise sig
17、nal)snr=O;Ps=sum(sum(l-mea n( mea n(l)92);%sig nal power Pn=sum(sum(l-l n)42);%no ise powersn r=10*log10(Ps/P n);小波去噪程序Matlab小波去噪(默认,强制,给定三种情况)%利用小波分析对监测采集的信号进行去噪处理,恢复原始信号%、波分析进行去噪有 3中方法:%1默认阈值去噪处理。该方法利用函数ddencmp()生成信号的默认阈值,然后利用函数wdencmp()进行去噪%2给定阈值去噪处理。在实际的去噪处理过程中,阈值往往可通过经验公式获得,且这种阈值比默认阈值的可 进行阈值量化处
18、理时可利用函数wthresh();%3强制去噪处理。该方法是将小波分解结构中的高频系数全部置0,即滤掉所有高频部分,然后对信号进行小种方法比较简单,且去噪后的信号比较平滑,但是容易丢失信号中的有用成分。%利用小波分析对监测采集的水轮机信号进行去噪处理,恢复原始信号%Program Start%载入监测所得信号load default.txt;%装载采集的信号x= default;lx=le ngth(x);t=0:1:le ngth(x)-1'%绘制监测所得信号subplot(2,2,1);plot(t,x);title(' 原始信号');grid onset(gcf,
19、'color','w')set(gca,'fo ntn ame','times New Roma n')set(gca,'fo ntsize',14.0)%用db1小波对原始信号进行 3层分解并提取小波系数c,l=wavedec(x,3,'db1');%sym8 ca3=appcoef(c,l,'db1',3);%低频部分cd3=detcoef(c,l,3);% 高频部分 cd2=detcoef(c,l,2);% 高频部分 cd1=detcoef(c,l,1);% 高频部分%对信号进
20、行强制去噪处理并图示cdd3=zeros(1,le ngth(cd3);cdd2=zeros(1,le ngth(cd2);cdd1=zeros(1,le ngth(cd1);c1=ca3,cdd3,cdd2,cdd1;x1=waverec(c1,1,'db1');subplot(2,2,2);plot(xl);title('强制去噪后信号');grid onset(gcf,'color','w')set(gca,'fo ntn ame','times New Roma n')set(gca,
21、9;fo ntsize',14.O)%默认阈值对信号去噪并图示%用 ddencmp()函数获得信号的默认阈值,使用wdencmp()函数实现去噪过程thr,sorh,keepapp=dde ncmp('de n','wv',x);x2=wde ncmp('gbl',c,l,'db1',3,thr,sorh,keepapp);subplot(2,2,3);plot(x2);title('默认阈值去噪后信号);grid onset(gcf,'color','w')set(gca,'
22、;fo ntn ame','times New Roma n')set(gca,'fo ntsize',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')
23、;subplot(2,2,4);plot(x3);title('给定软阈值去噪后信号');grid onset(gcf,'color','w')set(gca,'fo ntn ame','times New Roma n')set(gca,'fo ntsize',14.0)以上就是三种小波去噪的原程序。但红色标注的地方,我却运行不过去。提示分别问:1, ? Error using => horzcatCAT argume nts dime nsions are not con siste nt
24、.Error in => tt at 33c1=ca3,cdd3,cdd2,cdd1;2, ? Error using => wthresh at 30In valid argume nt value.Error in => tt at 54cd1soft=wthresh(cd1,'x',1.465);%经验给出软阈值数请问为什么? ?时间域关于小波新阈值去噪改进方法里,matlab程序编写的讨论新阈值能有效地克服软阈值去噪方法中由于估计值与真实值之间的恒定偏差而 带来的去噪误差,也能有效地抑制硬阈值去噪方法中易产生的信号振荡现象。 但不懂它程序的编写。请教高
25、手帮忙解决一下!谢谢了!function y = wthresh(x,sorh,t)%WTHRESH Perform soft or hard thresholdi ng.% Y = WTHRESH(X,SORH,T) returns soft (if SORH = 's')% or hard (if SORH = 'h') T-thresholdi ngof the in put% vector or matrix X. T is the threshold value.% Y = WTHRESH(X,'s',T) returns Y = SI
26、GN(X).(|X|-T)+, soft% thresholding is shrinkage.% Y = WTHRESH(X,'h',T) returns Y = X.1_(|X|>T), hard% thresholding is cruder.% See also WDEN, WDENCMP, WPDENCMP.% M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 12-Mar-96.% Last Revisi on: 24-Jul-2007.% Copyright 1995-2007 The MathWorks, Inc
27、.%$Revisi on: 1.11.4.3 $ switch sorhcase 's'tmp = (abs(x)-t);tmp = (tmp+abs(tmp)/2;y = sig n( x).*tmp;case 'h'y = x.*(abs(x)>t);otherwiseerror('Wavelet:Fu nctio nArgVal:l nvalid_ArgVal', .'In valid argume nt value.')end这是传统的阈值去噪法,只要你有新的算法,直接改就行了,但是我对该法有些疑惑, 珍法算出了每个
28、尺度(假设J=3)的阈值,那么还用wthresh ( x,sorh,thrthr=thr1,thr2,thr3 呢?wthresh ( x,sorh,thr )去噪时,thr 是不是应该求助高手:Matlab小波去噪中遇见的问题小波程序如下:fun ctio n y=f1(x);X=xlsread('shoulia n.xls'); %读入表格数据x=X(:,1); % 将表格数据的第一列赋值给 x轴 y=X(:,2); % 将表格数据的第二列赋值给 y轴subplot(2,2,1);plot(x,y,'-m*') % 画出图形 hold on;title(
29、39;原始图形');grid;%画出网格%用db4小波对原始信号进行 c,l=wavedec(y,3,'db4'); % ca3=appcoef(c,l,'db4',3); % cd3=detcoef(c,l,3);cd2=detcoef(c,l,2);3层分解并提取系数 对y进行3层分解 提取系数还没有写好:要增加高频系数图cd1= detcoef(c,l,1);%对信号进行强制性去噪处理并图示结果cdd3=zeros(1,le ngth(cd3); cdd2=zeros(1,le ngth(cd2); cdd1=zeros(1,le ngth(cdl
30、); c1=ca3' cdd3 cdd2 cddl; s1=waverec(c1,l,'db4');subplot(2,2,2);plot(x,s1,'-m*');hold on;title('强制去噪后的信号');grid;%用默认阈值对信号进行去噪处理并图示结果%用 ddencmp()函数获得信号的默认阈值,使用wdencmp()命令函数实现去噪过程thr,sorh,keepapp=dde ncmp('de n','wv',y);s2=wde ncmp('gbl',c,l,'db
31、4',3,thr,sorh,keepapp);subplot(2,2,3);plot(x,s2,'-m*');hold on;title('默认阈值去噪后的信号');grid;%用给定的软阈值进行去噪处理cdd1soft=wthresh(cd1,'s',1.465);cdd2soft=wthresh(cd2,'s',1.823);cdd3soft=wthresh(cd3,'s',2.768);c2=ca3 cdd3soft cdd2soft cdd1soft;s3=waverec(c2,l,'db4
32、');subplot(2,2,4);plot(x,s3,'-m*');title('给定软阈值去噪后的信号');gridclear;错误显示:? Error using => horzcatAll matrices on a row in the bracketed expression must have thesame nu mber of rows.Error in => xnn at 41c2=ca3 cdd3soft cdd2soft cdd1soft;i以至于最后一个图形没法显示同时处理后的图形数据怎么调出来,以及第一个数据应该是
33、【0, 0】 但是处理后的不是。请问是我选择的分解请问如何修改原贻图形D 20406080强制去噪后的信号6420默认阈值去噪后的信号MatlabtfifciLoveMatlab.cai需要说明的是:收敛表格的两组数据为:00.0020.4940.9451.0361.0371.48101.49111.86141.96191.78262.75282.78312.71342.54392.85472.71492.71545.43615.47685.47755.20请教程序问题,心电信号去噪的matlab程序想把这个程序。改为只用软硬阈值对比的心电信号去噪分析,该怎么办?求高手。程序见下:%(信%波分
34、解%基)于%Haar 小波 %ecg=fope n( '100.dat',丫');N=1201;data=fread(ecg,N,'i nt16');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;wn ame='Haar'level=5;c,l=wavedec(x,level,w name);a5=
35、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);t
36、itle('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);%6 小波 %ecg=fope n( '100.dat',丫');N=1201;data=fread(ecg,N,'i nt16
37、9;);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;wn ame='db6'level=5;c,l=wavedec(x,level,w name);a5=wrcoef('a',c,l,'db6',5);a4=wrcoef('a',c,l,'db6',4);a3=wrcoef('a',c,
38、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 200
39、0);subplot(325);plot(a2);title('a2');axis(0 1201 -2000 2000);subplot(326);plot(a1);title('a1');axis(0 1201 -2000 2000);%基于%小波 %ecg=fope n( '100.dat',丫');N=1201;data=fread(ecg,N,'i nt16');data=data/10;save ECGdata data;fclose(ecg);x=0:0.004:4.8;figure(3);subplot(32
40、1);plot(x,data);axis(0 4.8 -4000 4000);title(' 原始心电信号');x=data;wn ame='sym3'level=5;c,l=wavedec(x,level,w name);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'
41、,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
42、-2000 2000);subplot(326);plot(a1);title('a1');axis(0 1201 -2000 2000);%心电信号噪%Birge-M策略阈值降噪%基于小波变换的心电信号的降噪ecg=fope n( '100.dat',丫');N=1201;data=fread(ecg,N,'i nt16');data=data/10000;fclose(ecg);x=data;wave name='db5'level=4;c,l=wavedec(x,level,wave name);alpha=1.5;
43、sorh='h'thr, nkeep=wdcbm(c,l,alpha);%使用硬阈值给信号降噪xc,cxc,lxc,perf0,perfl2=wde ncmp('lvd',c,l,wave name,level,thr,sorh);t1=0:0.004:(le ngth(x)-1)*0.004;figure (4);subplot(211);plot(t1,x);title('从人体采集的原始的ECG言号');subplot(212);plot(t1,xc);title('Birge-Massart策略阈值降噪后的ECG言号(wname=
44、db5 level=4 )');%最优%测软阈值降噪%基于小波变换的心电信号的压缩ecg=fope n( '100.dat','r');N=1201;data=fread(ecg,N,'i nt16');data=data/10000;fclose(ecg);x=data;wave name='db3'level=4;xd,cxd,lxd=wde n(x,'heursure','s','ml n',level,wave name);t=0:0.004:4.8;figure(5
45、);subplot(311);plot(t,x);title('从人体采集的原始的ECG言号');subplot(312);plot(t,xd);title('heursure规则阈值降噪后的ECG言号(db3 level=4)');%最小均方差软阈值降噪何于小波变换的心电信号的压缩ecg=fope n( '100.dat',丫');N=1201;data=fread(ecg,N,'i nt16');data=data/10000;fclose(ecg);x=data;wave name='db3'leve
46、l=4;xd=wde n(x,'mi ni maxi','s','ml n',level,wave name);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=fope n( '1OO.dat',丫');
47、N=1201;data=fread(ecg,N,'i nt16');data=data/10000;fclose(ecg);x=data;wave name='db5'c,l=wavedec(x,4,wave name);alpha=2;sorh='h'thr, nkeep=wdcbm(c,l,alpha);%使用硬阈值压缩信号xc,cxc,lxc,perf0,perfl2=wde ncmp('lvd',c,l,wave name,4,thr,sorh);t=0:0.004:4.8;figure(7);subplot(511);p
48、lot(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,wave name);alpha=4;sorh='h'thr, nkeep=wdcbm(c,l,alpha);%使用硬阈值压缩信号xc1,cxc1,lxc1,perf01,perfl21=wde ncmp('lvd',c,l,wave name,4,
49、thr,sorh); subplot(513);plot(t,xc1);axis(0 5 -3 3);title(' 在第4层对高频系数量化压缩后的ECG言号alpha=4 db5');c,l=wavedec(x,2,wave name);alpha=4;sorh='h'thr, nkeep=wdcbm(c,l,alpha);%使用硬阈值压缩信号xc1,cxc1,lxc1,perf01,perfl21=wde ncmp('lvd',c,l,wave name,2,thr,sorh); subplot(514);plot(t,xc1);axis(0
50、 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=wde ncmp('lvd',c,l,'db3',2,thr,sorh);subplot(515);plot(t,xc1);axis(0 5 -3 3);title(' 在第2层对高频系数量化压缩
51、后的ECG言号alpha=4 db3');%求助解决信号降噪问题求高手帮忙,我的一个实验数据要进行信号降噪,需要用到Birge-Massar阈值降噪,pen alty阈值降噪和缺省的3种降噪方法,并通过比较得出最好的处理方法。如果有那位好心高手帮忙,小弟感激不尽啊!请帮忙的高手帮 按LZ的要求程序和得图如下xx=load('实验数据.txt');x=xx(:,1):y=xx(:,2):x=x(e nd:-1:1);y=y(e nd:-1:1);%用sym6小波对信号做5层分解 wn ame ='sym6: lev=5;c,l = wavedec(y,lev,w
52、name);%通过第1层的细节系数估算信号的噪声强度 sigma = wno isest(c,l,1);%使用penalty策略确定降噪的阈值alpha=2;thr1 = wbmpe n( c,l,sigma,alpha);%使用Birge-Massart 策略确定降噪的阈值thr2 ,n keep = wdcbm(c,l,alpha);xd1 = wde ncmp('gbl',c,l,w name,lev,thr1,'s',1);%用缺省的阈值确定的时候使用硬阈值时系数进行处理xd2,cxd,lxd,perf0,perf2= wde ncmp('lvd
53、',c,l,w name,lev,thr2,'h');%求得缺省的阈值 thr,sorh,keepapp = dde ncmp('de n','wv',x);%重建降噪信号figuresubplot(411); plot(y); title('subplot(412); plot(xd1); title('subplot(413); plot(xd2); title('subplot(414); plot(xd2); title('xd3 = wde ncmp('gbl',c,l,w nam
54、e,lev,thr,'s',1);原始信号','fontsize',10);使用penalty阈值降噪后信号','fontsize',10);使用 Birge-Massart阈值降噪后信号','fontsize',10);使用缺省阈值降噪后信号','fon tsize',10);eb1a.jpg (41.07 KB,下载次数:4)原始信号300250100Mat lab论纭0200400600800200小波去噪:为什么阈值去噪后总把有用信息也给滤出了wave name='E
55、 nglish.wav'% 声源layer=3;%分解尺度wavelets='db3'%小波选择SNR_ noise=10;%添加噪音的信噪比TPTR='rigrsure'%阈值选取原则sorh='s'%软阈值或硬阈值scal='ml n'%阈值每层调整%导入声源并添加白噪声s=wavread(wave name):y=awg n(s(1,:),SNR_ noise,'measured');%声源为双声道只提取一个声道分析subplot(211),plot(s(1,:);title('Origi n
56、al Sou nd Wave');subplot(212),plot(y);title('Sou nd Wave with White-Noise');%对含噪声源进行离散小波分解,并提取高低频系数C,L=wavedec(y,layer,wavelets);A=appcoef(C,L,wavelets,layer);D=detcoef(C,L,wavelets,layer);%各层阈值选择for n=1:layerthre( n)=thselect(D n,TPTR);end%对各系数进行阈值去噪for n=1:layerD_rec n=wthresh(D n,sorh
57、,thre( n);endfigure;k=0;for n=1:layersubplot(layer,2,k+1),plot(D n);title('Detail.cfs level before thresh in g', nu m2str( n)subplot(layer,2,k+2),plot(D_rec n);title('Detail.cfs level after threshi ng',n um2str( n)k=k+2;end%重构信号6= A;for n=1:layerC1=C1,D n;endy_rec=waverec(C1,L,wavele
58、ts);figure;subplot(311),plot(s(1,:);title('Origi nal Sou nd Wave');subplot(312),plot(y);title('Sou nd Wave with White-Noise');subplot(313),plot(y_rec);title('De-Noised Sou nd Wave');为什么用thselect函数选取的阈值进行滤噪后高频系数全为零了我只是想把高频中的噪声信号滤出,高手执本帖最后由cwjy 于2010-5-2 07:52 编辑1.jpg (117.12 KB,下载次数:0)Original Sound
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年食品加工生产线升级项目评估报告
- 2025年渔业年度工作总结
- 市政污水管维修调排水方案及流程
- 地下连续墙施工质量控制要点
- 2025年抗肿瘤药物临床合理使用考试试题及答案
- 财务部年度工作总结报告范文
- 2025年工程质量监管年度工作总结
- 2025年节后复工复产通信施工安全知识培训考试题及答案
- 人造草坪技术交底
- 建设工程施工合同纠纷要素式起诉状模板贴合实际案例
- 口述史研究活动方案
- 高压燃气管道施工方案
- 房屋租赁合同txt
- 加工中心点检表
- 水库清淤工程可行性研究报告
- THBFIA 0004-2020 红枣制品标准
- GB/T 25630-2010透平压缩机性能试验规程
- GB/T 19610-2004卷烟通风的测定定义和测量原理
- 精排版《化工原理》讲稿(全)
- 市场营销学-第12章-服务市场营销课件
- 小微型客车租赁经营备案表
评论
0/150
提交评论