denosing.m
来自「这是一个小波阈值去噪的程序。优点:可以根据数据信号(2D)的特征确定全局阈值大小」· M 代码 · 共 26 行
M
26 行
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
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?