小波阈值去噪

article/2025/9/28 2:43:07

目录

1.概念

2.原理

3.影响降噪效果的因素

3.1小波基的选择

3.2分解层数的选择

3.3阈值的选择

3.4阈值函数的选择

4.MATLAB代码

参考文献


1.概念

小波分析即用Mallat塔式算法对信号进行降阶分解。该算法在每尺度下将信号分解成近似分量与细节分量。近似分量表示信号的高尺度,即低频信息;细节分量表示信号的低尺度,即高频信息。

对含有噪声的信号,噪声分量的主要能量集中在小波分解的细节分量中。


2.原理

小波阈值去噪的实质为抑制信号中无用部分、增强有用部分的过程。小波阈值去噪过程为:(1)分解过程,即选定一种小波对信号进行n层小波分解;(2)阈值处理过程,即对分解的各层系数进行阈值处理,获得估计小波系数;(3)重构过程,据去噪后的小波系数进行小波重构,获得去噪后的信号。

小波阈值去噪过程
小波分解重构过程

小波分解:X->ca3,cd3,cd2,cd1;小波重构:ca3,cd3,cd2,cd1->X。其中ca为低频信息、近似分量,cd为高频、细节分量。


3.影响降噪效果的因素

3.1小波基的选择

在对信号进行小波分解时需要选择合适的小波基,由于没有任何一种小波基可以对不同类型的信号达到最优的分解效果,因此,如何选择小波基成为小波分解的一个重点。针对现实中的信号,小波基的选择一般要考虑以下几个因素:支撑长度、对称性、消失矩、正则性、相似性。针对一维信号,例如语音信号,通常选择dB小波和sym小波。


3.2分解层数的选择

在对信号进行小波分解时,分解的层数取得越大,则噪声和信号表现的不同特性越明显,越有利于二者的分离,但是分解的层数越大,经过重构的信号失真也会越大,在一定程度上会对信号去噪的效果产生较差的影响。因此,如何选择分解层数以解决信噪分离效果和重构信号失真之间的矛盾呢?

小波分解的频段范围与采样频率有关。若进行N层分解,则各个频段范围为:

假设原始信号X的采样频率为1000Hz,则信号的最大频率为500,对该信号做3层小波分解,则各个频段范围如下图所示。


3.3阈值的选择

在小波域,有效信号对应的系数很大,而噪声对应的系数很小并且仍满足高斯分布。因此可以通过设定阈值将信号在小波域某段区间内的系数置零,就能最大程度的抑制噪声,同时只是稍微损伤有效信号

阈值选择规则基于模型\large y=f(t)+e\large e是高斯白噪声。

 

目前常见的阈值选择方法有:无偏风险估计阈值、极大极小阈值、固定阈值、启发式阈值。

MATLAB自带的自适应阈值选择函数,调用格式如下:

        thr=thselect(X,str);

根据字符串str定义的阈值选择方法求信号X的自适应阈值thr。

        str= 'rigrsure':无偏风险估计阈值;

        str= 'minimaxi':极大极小阈值;

        str= 'sqtwolog':固定阈值;

        str= 'heursure':启发式阈值。

一般来讲,极大极小阈值无偏风险估计阈值比较保守,当噪声在信号的高频段分布较少时,这两种阈值估计方法效果较好,可以将微弱的信号提取出来。而固定阈值和启发式阈值去噪比较彻底,在去噪时显得更为有效,但是也容易把有用的信号误认为噪声去掉。


3.4阈值函数的选择

确定了高斯白噪声在小波域的阈值门限之后,就需要有个阈值函数对含有噪声系数的小波系数进行过滤,去除高斯噪声系数,常用的阈值函数有硬阈值函数和软阈值函数。

3.4.1硬阈值函数

当小波系数的绝对值大于给定阈值时,小波系数不变;小于阈值时,小波系数置零。

3.4.2软阈值函数

当小波系数的绝对值大于给定阈值时,令小波系数减去阈值;小于阈值时,小波系数置零。

MATLAB自带的阈值处理函数,调用格式如下:

        Y=wthresh(X,SORH,thr);

返回输入向量或矩阵X经过软阈值(SORH=’s’)或硬阈值(SORH=’h’)处理后的信号Y,thr是阈值。


4.MATLAB代码

%% 基于小波变换的阈值去噪
clc;
clear;
close all;
%% 产生仿真信号
Fs=100;   %数据采样率Hz
t=(1:1/Fs:4096*1/Fs)'; %对数据进行采样,将t转置为1列
N = length(t);  %数据的采样数目
f1 =0.8; %信号的频率
f2=0.05;
x=2*sin(2*pi*f1*t+cos(2*pi*f2*t));    %产生原始信号
nt=0.9*randn(N,1);  %高斯白噪声生成
y=x+nt; %含噪信号
%% 用db4小波对含噪信号进行5层分解并提取系数
[c,l]=wavedec(y,5,'db4'); 
%取第5层低频近似系数
ca5=appcoef(c,l,'db4',5);
%取各层高频细节系数
cd5=detcoef(c,l,5);
cd4=detcoef(c,l,4);
cd3=detcoef(c,l,3);
cd2=detcoef(c,l,2);
cd1=detcoef(c,l,1);
thr=thselect(y,'sqtwolog'); % 阈值获取
%% 进行软阈值处理
ysoft5=wthresh(cd5,'s',thr);
ysoft4=wthresh(cd4,'s',thr);
ysoft3=wthresh(cd3,'s',thr);
ysoft2=wthresh(cd2,'s',thr);
ysoft1=wthresh(cd1,'s',thr);
c1=[ca5;ysoft5;ysoft4;ysoft3;ysoft2;ysoft1];
Y=waverec(c1,l,'db4');
%% 画图
% 时域波形对比图
figure;
subplot(3,1,1);plot(t,x);xlabel('t/s');ylabel('幅值');title('模拟信号x(t)');
subplot(3,1,2);plot(t,y);xlabel('t/s');ylabel('幅值');title('含噪信号y(t)');
subplot(3,1,3);plot(t,Y);xlabel('t/s');ylabel('幅值');title('去噪后信号x(t)');
% 频谱对比图
figure;
fs=5;      % 采样频率为5Hz
[f,A] = PinPu(x,fs);
subplot(3,1,1);plot(f,A);xlabel('频率/Hz');ylabel('幅值/V');
[f,A] = PinPu(y,fs);
subplot(3,1,2);plot(f,A);xlabel('频率/Hz');ylabel('幅值/V');
[f,A] = PinPu(Y,fs);
subplot(3,1,3);plot(f,A);xlabel('频率/Hz');ylabel('幅值/V');
%% 降噪指标
% 降噪前信噪比
p1=sum(abs(y).^2)/N;
p2=sum(abs(nt).^2)/N;
SNR(1)=10*log10(p1/p2);
% 降噪后信噪比
p3=sum(abs(Y).^2)/N;
p4=sum(abs(Y-x).^2)/N;
SNR(2)=10*log10(p3/p4);
% 均方根误差
RMSE=sqrt(mean((Y-x).^2));
% 相关系数
CR=corr(Y,x,'type','Pearson');

参考文献

[1]司莉,毕贵红,魏永刚等.基于RQA与SVM的声发射信号检测识别方法[J].振动与冲击,2016,35(2):98.

[2]有关小波的几个术语及常见的小波基介绍

[3]小波变换和小波阈值法去噪

[4]基于MATLAB的小波阈值去噪

 


http://chatgpt.dhexx.cn/article/qgyDY0mW.shtml

相关文章

去噪

平滑去噪(低通滤波器) 噪声的产生是因为图像中的某些像素的灰度值发生了突变,使得和周围区域不和谐。除噪其实去除高频噪声,使得图像中的噪声像素的灰度值不那么突兀。 噪声去除有基于卷积(高斯滤波,均值…

图像的去噪

一、图像噪声概要 1. 图像噪声的产生主要源于两个方面: 图像获取过程中 常见的图像传感器CCD和CMOS在采集图像过程中,由于受到工作环境或者电子电路结构的影响,会引入各种噪声,如热噪声、光子噪声、暗电流噪声等。 信号传输过程…

图像去噪方法

图像去噪是指减少数字图像中噪声的过程。现实中的数字图像在数字化和传输过程中常受到成像设备与外部环境噪声等的影响,在这种条件下得到的图像称为含噪图像或噪声图像。噪声是干扰图像的重要因素。一幅图像在实际应用中可能存在各种各样的噪声,这些噪声…

搞懂语音去噪

文章目录 1 概述2 传统语音去噪2.1 谱减法2.2 维纳滤波法 3 深度语音去噪参考资料 1 概述 语音去噪(noise reduction)又被称为语音增强(speech enhancement),主要是针对于有人声的音频进行处理,目的是去除那些背景噪声,增强音频中人声的可懂…

几种常用信号平滑去噪的方法(附Matlab代码)

几种常用信号平滑去噪的方法(附Matlab代码) 1 滑动平均法 1.0 移动平均法的方法原理1.1 matlab内自带函数实现移动平均法1.2 利用卷积函数conv()实现移动平均法1.3 利用filter滤波函数实现移动平均法1.4 移动平均的幅频响应1.5 时域和频域的转换关系 2 …

图像噪声、去噪基本方法合集(Python实现)

文章目录 前言本文主要参考冈萨雷斯的数字图像处理 (第4版),介绍图片中一些常见的噪声形式和常用的去噪方法,并且给出相应滤波方法的实现代码。 一、噪声分类1、高斯噪声2、泊松噪声3、椒盐噪声4、瑞利噪声5、爱尔兰(伽…

干货 | 6款漏扫工具来了(附工具下载链接)

渗透测试收集信息完成后,就要根据所收集的信息,扫描目标站点可能存在的漏洞了,包括我们之前提到过的如:SQL注入漏洞、跨站脚本漏洞、文件上传漏洞、文件包含漏洞及命令执行漏洞等,通过这些已知的漏洞,来寻找…

webshell扫描工具

webshell扫描工具,这是一种内部有多个漏洞,可自动进行url采集,自采集多个引擎和友情链接url,轻松日出上百。 演示地址:https://note.youdao.com/s/Xi9S4I16 目录遍历攻击又称(目录爬升,目录回溯…

网站漏洞扫描工具AWVS_v13下载和安装

Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的网络漏洞扫描工具,它能够测试你的网站安全,检测网站的安全漏洞,如sql 注入,交叉站点脚本等等。 AWVS_v13软件的下载 1、AWVS漏洞扫描工具是一款…

2022-渗透测试-推荐一款好用的网站漏洞扫描工具-WPscan

目录 WPscan简介 WPscan工具利用 查看帮助信息 更新漏洞库 扫描WordPress漏洞 扫描wordpress用户 扫描所使用的主题和漏洞 指定字典暴力破解密码 WPscan简介 WPScan是Kali Linux默认自带的一款漏洞扫描工具,它可以全面检查wp网站的漏洞,从而能够及时应对…

动手实现简易网站目录扫描器——WebScanner

效果展示 项目目录: 引言 不知是否有小伙伴在学习Web安全相关的知识,如果有的话,那应该对XSS,SQL注入,文件上传,一句话脚本等等基本功应该是再熟悉不过了。最初学习的时候是它,实战最先测试的…

网站指纹扫描工具whatweb

目录 前言whatweb简介whatweb的使用 ~~~~~~~~ 因为想要面对一个新的开始,一个人必须有梦想、有希望、有对未来的憧憬。如果没有这些,就不叫新的开始,而叫逃亡。 ​​​​ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~…

web扫描工具了解

前言:此文章用于发现web的漏洞查询,信息收集 一.whois查询(可以查到域名,注册商,联系人,更新时间,创建时间,过期时间,域名服务器,DNS) kali中带有…

目录,系统,网站漏洞扫描工具

目录扫描工具 1.yujian yujian是一款可以进行端口扫描和目录扫描的软件,图形化界面,使用也比较简单,例如,今天使用的是它的目录扫描。 yujian针对目录扫描有它自己默认的字典,通过字典对其网站目录进行扫描 这里要…

网站安全在线扫描工具

现在网络上有许多一些关于网站安全检测的工具软件。有收费的,也有免费的。在这我就列举2个免费的在线网站扫描工具。 对于站长的来说: 之前对与网站的的安全检测,我都是直接用***软件***自己网站,再从问题里面进行修复。不过现在已…

网站目录扫描工具

目录 御剑 dirbuster Webdirscan 网站后台扫描工具都是利用目录字典进行爆破扫描,字典越多,扫描到的结果也越多。常用的网站后台扫描工具御剑、dirbuster和Webdirscan,不管哪个工具,要想扫描到更多的东西,都必须要有一个强大的目录字典! 御剑 御剑也是一款好用的网站…

网站扫描(Wker_网站探测工具)

Wker_网站探测工具 对于网站的扫描,我们需要完整详细的数据,才能进行准确的分析。 对于网站的分析,我们大致需要以下一些数据。 一. 域名信息查询 whois查询(联系人,联系邮箱,DNS)SEO查询权重查…

常用Web安全扫描工具合集

初入门时,喜欢将目标站点直接丢扫描器,慢慢等扫描结果,极度依赖Web扫描器;而有一些漏洞高手,善于运用运用各种工具但并不依赖工具,经常可以找到扫描工具发现不了的漏洞。 一款好用的Web扫描器对于白帽子来说…

【网络安全干货分享】Web安全常用的扫描工具有哪些?

Web安全是网络安全的一部分,常用的扫描工具共分为两大类:系统扫描工具和应用扫描工具。那么Web安全常用的扫描工具有哪些?以下便是详细的内容介绍。 第一种:系统扫描工具  系统扫描工具主要是针对网络中系统软件的脆弱性进行信息安全评估&…

OpenCV_03 Numpy库和Mat

前言 主要学习Numpy库的相关操作和Mat的基础知识。 目录 前言一、Numpy基本操作1.创建矩阵创建数组array()创建全0/1数组zeros()/ones()创建全值数组full()单位矩阵identity()/eye() 2.检索与赋值3.获取子矩阵Region of Image(ROI) 二、Mat结构体1.Mat的实现2.Mat拷贝Mat浅拷贝…