1、小波去噪xd,cxd,lxd=wden(x,tptr,sorh,scal,n,wname) 式中:输入参数 x 为需要去噪的信号;1.tptr :阈值选择标准.1)无偏似然估计(rigrsure)原则。它是一种基于史坦无偏似然估计(二次方程)原理的自适应阈值选择。对于一个给定的阈值 t,得到它的似然估计,再将似然 t 最小化,就得到了所选的阈值,它是一种软件阈值估计器。2)固定阈值(sqtwolog)原则。固定阈值thr2 的计算公式为: thr 2log(n) 2 = (6)式中, n 为信号x( k)的长度。3)启发式阈值(heursure) 原则。它是rigrsure原则和sqtwolo
2、g 原则的折中。如果信噪比很小,按rigrsure 原则处理的信号噪声较大,这时采用sqtwolog原则。4)极值阈值(minimaxi)原则。它采用极大极小原理选择阈值,产生一个最小均方误差的极值,而不是没有误差。2.sorh :阈值函数选择方式,即软阈值(s) 或硬阈值(h).3.scal :阈值处理随噪声水平的变化,scal=one 表示不随噪声水平变化,scal=sln 表示根据第一层小波分解的噪声水平估计进行调整,scal=mln 表示根据每一层小波分解的噪声水平估计进行调整.4.n 和wname 表示利用名为wname 的小波对信号进行n 层分解。输出去噪后的数据xd 及xd 的附
3、加小波分解结构cxd,lxd.常见的几种小波:haar,db,sym,coif,biorhaardb db1 db2 db3 db4 db5 db6 db7 db8 db9 db10sym sym2 sym3 sym4 sym5 sym6 sym7 sym8coif coif1 coif2 coif3 coif4 coif5 coif6 coif7 coif8 coif9 coif10bior bior1.1 bior1.3 bior1.5 bior2.2 bior2.4 bior2.6 bior2.8 bior3.5 bior3.7 bior3.9 bior4.4用 MATLAB 对一语音信
4、号进行小波分解,分别用强阈值,软阈值,默认阈植进行消噪处理。复制内容到剪贴板代码:%装载采集的信号 leleccum.matload leleccum;%=%将信号中第 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
5、(c,l,1);%=%对信号进行强制性消噪处理并图示结果dd3=zeros(1,length(d3);dd2=zeros(1,length(d2);dd1=zeros(1,length(d1);c1=a3 dd3 dd2 dd1;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=a3 softd3 softd2 softd1;s3=waverec(c2,l,db1);subplot(2,2,4);plot(s3);grid;title(给定软阈值消噪后的信号);ftd1=wthresh(d1,s,1.465);