登录论坛

查看完整版本 : [MATLAB毕业设计] 帮我补充一下下面两个matlab程序使之能够连接到一起!


lhstslhsts
2009-05-25, 21:55
产生原始含噪信号程序:
t=0:0.001:2;
y=3*sin(100*pi*t)+0.1*sin(300*pi*t)+0.03*sin(500*pi*t)+0.01*sin(700*pi*t)+randn(size(t));
plot(y)

软阈值消噪程序:
[c,l]=wavedec(s,3,’db4’);
%使用小波“db4”对信号s进行3层分解,分解的系数存到数组c中,各层分解后长度存到数组l中
ca3=appcoef(c,l,’db4’,3);
%用小波“db4”分解系数[c,l]中提取第3层近似系数,为低频系数
cd1=detcoef(c,l,1);
%用小波“db4”分解系数[c,l]中提取第1层近似系数,为高频系数
cd2=detcoef(c,l,2);
%用小波“db4”分解系数[c,l]中提取第2层近似系数,为高频系数
cd2=detcoef(c,l,3);
%用小波“db4”分解系数[c,l]中提取第3层近似系数,为高频系数
sigma1=median(abs(cd1))/0.6745;
sigma2=median(abs(cd2))/0.6745;
sigma3=median(abs(cd3))/0.6745;
%计算sigma
d1=thselect(cd1,’sqtwolog’)*sigma1;
d2=thselect(cd2,’sqtwolog’)*sigma2;
d3=thselect(cd3,’sqtwolog’)*sigma3;
%应用sqtwolog规则计算各层阈值
cd1soft=wthresh(cd1,’s’,d1);
cd2soft=wthresh(cd2,’s’,d2);
cd3soft=wthresh(cd3,’s’,d3);
%各层采用软阈值消噪
c2=[ca3,cd3soft,cd2soft,cd1soft];
%重构信号

中间加一些例如定义自变量和函数调用的语句等,能使两个程序在matlab中结合到一起。