function Ys=denoising(s,tt)
col=size(s);
col=col(1,2);
for i=1:col
[c(:,i),l(:,i)]=wavedec(s(:,i),tt,'db4');
Cs(:,i)=c(:,i);
A(:,i)=appcoef(c(:,i),l(:,i),'db4',tt);
la=length(appcoef(c(:,i),l(:,i),'db4',tt));
qq=0;
for j=tt:-1:1
dd=detcoef(c(:,i),l(:,i),j);
t(j,i)=length(dd); %计算各阶小波系数的长度
q=1+qq;qq=qq+t(j,i);
D(q:qq,i)=dd;
end;
N=length(c(:,i));
%以下的阈值计算需要针对不同的信号特征随时调整
g(i)=std(abs(D(q:qq,i)),1);
u(1,i)=g(i)*(2*log2(N-la))^0.5;
DD(:,i)=wthresh(D(:,i),'s',u(1,i));
%信号重建
Cs(la+1:N,i)=DD(:,i);
Ys(:,i)=waverec(Cs(:,i),l(:,i),'db4');
end