⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 probability.m

📁 根据数学概率知识提出的“概率”阈值去噪算法
💻 M
字号:
function Ys=probability(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);
    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;            %这里的噪声服从正态分布,且方差为零,其...
                                   %概率分布函数为F(X)=1-exp(-x^2/g^2),g 为标准差。当x等于2 ...
                                   %倍的方差g 时,0.9817%的噪声可以去除。
     for j=1:tt
        u(j,i)=u(1,i)/2^((j-1)/2); 
     end
      co=0;
     for j=tt:-1:1
          ln=1+co;co=co+t(j,i);
          DD(ln:co,i)=wthresh(D(ln:co,i),'s',u(j,i));
    end
     Cs(la+1:N,i)=DD(:,i);
    Ys(:,i)=waverec(Cs(:,i),l(:,i),'db4');
end

⌨️ 快捷键说明

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