denoising_2d.m

来自「利用2D小波变换实现信号的噪声压制(根据数据信号在二维小波域的特征」· M 代码 · 共 39 行

M
39
字号
%此函数文件即是最终成型的2维去除噪声的程序,其他的是在此基础上的改进型
function Ys=denoising_2D(s,tt,r)
 %S为输入信号,tt为分解层数,r为协调系数(0~1之间)
     [c,l]=wavedec2(s,tt,'sym4');
      cs=c;
     A=appcoef2(c,l,'sym4',tt);
     sA=size(A);
     rA=sA(1,1);%计算的A行数
     cA=sA(1,2);%计算的A列数
     newA=zhuan(A,rA,cA);
        tA=rA*cA;
    for i=tt:-1:1
        HL=detcoef2('h',c,l,i); 
        LH=detcoef2('v',c,l,i);
        HH=detcoef2('d',c,l,i);
         sD=size(LH);
         rD=sD(1,1);%计算的D行数
         cD=sD(1,2);%计算的D列数
         tD=rD*cD;
         nLH=zhuan(LH,rD,cD);%huan
         nLH=nLH*r;
         t1=tA+tD+1; t2=tA+tD*2;
         t11=tA+1; t21=tA+tD;
         t12=tA+tD*2+1; t22=tA+tD*3;
         cs(t1:t2)=nLH;
         cs(t11:t21)=0;
         cs(t12:t22)=0;
         tA=tA+tD*3;
   end            
 Ys=waverec2(cs,l,'sym4');
 
  
 %sub Function 2
 function news=zhuan(s,a,b)
c=0;
for i=1:b
    r=1+c;c=a*i;
    news(r:c)=s(:,i);
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?