我是大四的学生,最近在做毕业设计,是关于虚拟特征信号提取仪的,其中一个部分是用matlab生成含脉冲信号和特征方波信号的受污染正弦波信号. 我查了教程,用上面的程序写的在matlab中运行会出错,提示小波阈值处理的函数wpthcoef没定义,但是matlab中是有wpthcoef函数的.
下面是我的程序,希望各位高手帮帮忙,看下是出了什么问题~~不胜感激~~~~!!!
function [initS,Apps,Pulse,Square]=WeakSigAbs(DecOrder1,DecOrder2) %生成含噪声的正弦波、方波和脉冲信号的叠加信号,其中脉冲信号淹没在噪声之中,相对于正弦波来说,方波为特征信号。 for i=1:2048 sig(i)=0.1*square(2*pi*i/100)+sin(2*pi*i/500); %生成正弦波和方波叠加信号sig end for i=1:2048 initS(i)=sig(i)+0.5*rand-0.25; %给信号sig加噪声,生成含噪inits end initS(1002)=initS(1002)+0.5; %在信号initS中部加一个脉冲信号 initS(1003)=initS(1003)+0.5; initS(1004)=initS(1004)+0.5; [THR1,SORH1,KEEPAPP1,CRIT1]=ddencmp('den','wp',initS); %求小波包消噪的参数 [T,D]=wpdec(initS,DecOrder1,'db4'); %小波包分解 DD=wpthcoef(D,T,KEEPAPP1,SORH1,THR1); %分解系数阈值处理 AppS=wprec(T,DD); %低频信号重构 for i=1:length(initS) Pulse(i)=initS(i)-Apps(i); %求滤波后的高频信号 end Square=wden(Pulse,'rigsure','h','one',DecOrder2,'haar');
|