基于小波变换的去噪,带GUI界面,可以设置小波变换层数

简介: 基于小波变换的去噪,带GUI界面,可以设置小波变换层数

1.算法描述

   近年来,小波理论得到了非常迅速的发展,而且由于其具备良好的时频特性,因而实际应用也非常广泛。在去噪领域中,小波理论也同样受到了许多学者的重视,他们应用小波进行去噪并获得了非常好的效果。

具体来说小波去噪方法的成功主要得益于小波变换具有如下特点:

(1)低熵性,小波系数的稀疏分布,使得图象变换后的熵降低;

(2)多分辨率,由于采用了多分辨率的方法,所以可以非常好地刻画信号的非平稳特征,如边缘、尖峰、断点等;

(3)去相关性,因为小波变换可以对信号进行去相关,且噪声在变换后有白化趋势,所以小波域比时域更利于去噪;

(4)选基灵活性,由于小波变换可以灵活选择变换基,从而对不同应用场合,对不同的研究对象,可以选用不同的小波母函数,以获得最佳的效果。

   小波去噪方法包括三个基本的步骤:对含噪声信号进行小波变换;对变换得到的小波系数进行某种处理,以去除其中包含的噪声;对处理后的小波系数进行小波逆变换,得到去噪后的信号。小波去噪方法的不同之处集中在第一步。

    相比以往的其他去噪方法,小波变换在低信噪比情况下的去噪效果较好,去噪后的信号识别率较高,同时小波去噪方法对时变信号和突变信号的去噪效果尤其明显。

image.png

    利用小波分析对监测采集的信号进行去噪处理,可以恢复原始信号。利用小波分析进行去噪,包括以下3种方法:

   默认阈值去噪处理:该方法利用函数ddencmp() 生成信号的默认阈值,然后利用函数wdencmp() 进行去噪处理;
   给定阈值去噪处理:在实际的去噪处理过程中,阈值往往可通过经验公式获得,且这种阈值比默认阈值的可信度高。在进行阈值量化处理时可利用函数wthresh();
   强制去噪处理:该方法是将小波分解结构中的高频系数全部置0,即滤掉所有高频部分,然后对信号进行小波重构。这种方法比较简单,且去噪后的信号比较平滑,但是容易丢失信号中的有用成分。

2.仿真效果预览
matlab2022a仿真结果如下:

image.png

3.MATLAB核心程序

[h0,h1,g0,g1]=filtercoefficience;
Xh=Xk0';D=0;
for lstep=1:step
    N=length(Xh);
    Yk=fft(Xh,N);
    H0k=fft(h0,N);
    H1k=fft(h1,N);
    Xh=drawwing(ifft(Yk(1:N).*conj(H0k(1:N))));
    Xh=real(Xh);D=real(D);
    d=drawwing(ifft(Yk(1:N).*conj(H1k(1:N))));
   thrd= ddencmp('den','wv',d);%用默阈值进行消噪处理
    Td=abs(d)>thrd;
    d=Td.*d;
    D=[d,D];
end
 
%采用二项式正交小波滤波器
h0=[0.48296 0.83652 0.22414 -0.12941];%选用N为3的最小相位
N=length(h0);
for k=0:(N-1)
    h1(k+1)=-(-1)^k*h0(N-k);
    g0(k+1)=h0(N-k);
end
for t=0:(N-1)
    g1(t+1)=h1(N-t);
end
A99
相关文章
|
7月前
|
算法
【MATLAB】语音信号识别与处理:卷积滑动平均滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:卷积滑动平均滤波算法去噪及谱相减算法呈现频谱
133 0
|
7月前
|
算法
【MATLAB】语音信号识别与处理:一维信号NLM非局部均值滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:一维信号NLM非局部均值滤波算法去噪及谱相减算法呈现频谱
158 1
|
机器学习/深度学习 传感器 算法
数字图像处理实验(五)|图像复原{逆滤波和伪逆滤波、维纳滤波deconvwnr、大气湍流扰动模型、运动模糊处理fspecial}(附matlab实验代码和截图)
数字图像处理实验(五)|图像复原{逆滤波和伪逆滤波、维纳滤波deconvwnr、大气湍流扰动模型、运动模糊处理fspecial}(附matlab实验代码和截图)
1120 0
数字图像处理实验(五)|图像复原{逆滤波和伪逆滤波、维纳滤波deconvwnr、大气湍流扰动模型、运动模糊处理fspecial}(附matlab实验代码和截图)
|
7月前
|
算法 计算机视觉
【MATLAB】 辛几何模态分解信号分解+FFT傅里叶频谱变换组合算法
【MATLAB】 辛几何模态分解信号分解+FFT傅里叶频谱变换组合算法
204 0
|
机器学习/深度学习 传感器 算法
【红外与可见光图像融合】离散平稳小波变换域中基于离散余弦变换和局部空间频率的红外与视觉图像融合方法(Matlab代码实现)
【红外与可见光图像融合】离散平稳小波变换域中基于离散余弦变换和局部空间频率的红外与视觉图像融合方法(Matlab代码实现)
|
机器学习/深度学习 传感器 编解码
【图像重建】基于小波变换图像分解重建(PSNR对比)附matlab代码
【图像重建】基于小波变换图像分解重建(PSNR对比)附matlab代码
|
算法 数据可视化
【小波尺度谱】从分段离散小波变换计算小波尺度谱研究(Matlab代码实现)
【小波尺度谱】从分段离散小波变换计算小波尺度谱研究(Matlab代码实现)
105 0
|
编解码 算法 Java
基于Gabor-小波滤波深度图表面法线的特征提取算法【通过正常Gabor-小波的直方图进行2D或3D特征提取】研究(Matlab代码实现)
基于Gabor-小波滤波深度图表面法线的特征提取算法【通过正常Gabor-小波的直方图进行2D或3D特征提取】研究(Matlab代码实现)
114 0
|
资源调度 算法 计算机视觉
【状态估计】粒子滤波器、Σ点滤波器和扩展/线性卡尔曼滤波器研究(Matlab代码实现)
【状态估计】粒子滤波器、Σ点滤波器和扩展/线性卡尔曼滤波器研究(Matlab代码实现)
|
算法 定位技术 vr&ar
【状态估计】变分贝叶斯近似的递归噪声自适应卡尔曼滤波(Matlab代码实现)
【状态估计】变分贝叶斯近似的递归噪声自适应卡尔曼滤波(Matlab代码实现)
122 0