预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

matlab小波去噪详解超全超全有程序matlab小波去噪详解超全超全有程序matlab小波去噪详解超全超全有程序小波去噪[xd,cxd,lxd]=wden(x,tptr,sorh,scal,n,’wname')式中:输入参数x为需要去噪的信号;1。tptr:阈值选择标准.1)无偏似然估计(rigrsure)原则。它是一种基于史坦无偏似然估计(二次方程)原理的自适应阈值选择。对于一个给定的阈值t,得到它的似然估计,再将似然t最小化,就得到了所选的阈值,它是一种软件阈值估计器。2)固定阈值(sqtwolog)原则。固定阈值thr2的计算公式为:thr2log(n)2=(6)式中,n为信号x(k)的长度。3)启发式阈值(heursure)原则.它是rigrsure原则和sqtwolog原则的折中.如果信噪比很小,按rigrsure原则处理的信号噪声较大,这时采用sqtwolog原则。4)极值阈值(minimaxi)原则。它采用极大极小原理选择阈值,产生一个最小均方误差的极值,而不是没有误差。sorh:阈值函数选择方式,即软阈值(s)或硬阈值(h).3。scal:阈值处理随噪声水平的变化,scal=one表示不随噪声水平变化,scal=sln表示根据第一层小波分解的噪声水平估计进行调整,scal=mln表示根据每一层小波分解的噪声水平估计进行调整.4。n和wname表示利用名为wname的小波对信号进行n层分解。输出去噪后的数据xd及xd的附加小波分解结构[cxd,lxd].常见的几种小波:haar,db,sym,coif,biorhaardbdb1db2db3db4db5db6db7db8db9db10symsym2sym3sym4sym5sym6sym7sym8coifcoif1coif2coif3coif4coif5coif6coif7coif8coif9coif10biorbior1.1bior1.3bior1.5bior2。2bior2.4bior2。6bior2。8bior3。5bior3。7bior3.9bior4.4用MATLAB对一语音信号进行小波分解,分别用强阈值,软阈值,默认阈植进行消噪处理。复制内容到剪贴板代码:%装载采集的信号leleccum.matloadleleccum;%=============================%将信号中第2000到第3450个采样点赋给sindx=2000:3450;s=leleccum(indx);%=============================%画出原始信号subplot(2,2,1);plot(s);title('原始信号');%=============================%用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);%=============================%对信号进行强制性消噪处理并图示结果dd3=zeros(1,length(d3));dd2=zeros(1,length(d2));dd1=zeros(1,length(d1));c1=[a3dd3dd2dd1];s1=waverec(c1,l,’db1');subplot(2,2,2);plot(s1);grid;title('强制消噪后的信号');%=============================%用默认阈值对信号进行消噪处理并图示结果%用ddencmp函数获得信号的默认阈值[thr,sorh,keepapp]=ddencmp(’den',’wv',s);s2=wdencmp('gbl’,c,l,’db1’,3,thr,sorh,keepapp);subplot(2,2,3);plot(s2);grid;title(’默认阈值消噪后的信号');%=============================%用给定的软阈值进行消噪处理sosoftd2=wthresh(d2,'s',1.823);softd3=wthresh(d3,'s',2。768);c2=[a3softd3softd2softd1];s3=waverec(c2,l,'db1');subplot(2,2,4);plot(s3);grid;title(’给定软阈值消噪后的信号');ftd1=wthresh(d1,’s',1.465);