【数字信号去噪】小波阙值数字信号去噪和求信噪比【含Matlab源码 2191期】

news2025/4/7 0:47:51

⛄一、小波阈值法去噪概述

电能质量扰动信号的噪声大多以高斯白噪声的形式存在,利用小波变换对信号进行多分辨率分解,由于小波变换具有去除数据相关性的特点,故可以将有用信号与噪声的能量分离开来。信号中有效的信息主要集中在较大的小波系数上,而噪声大多分布在较小的系数中,因此通过设置阈值可以将低于该阈值的系数当做噪声去除从而达到滤波的目的。

假设一个线性非平稳并含噪的一维信号表达式如下:
在这里插入图片描述
其中,f(t)为原始信号,ε(t)为高斯白噪声,x(t)为含噪信号。接着根据该信号的特点,采用合适的小波基和分解层数,对x(t)进行一维离散小波变换:
在这里插入图片描述
其中,ψ(t)为离散小波尺度函数。式(2)对应的小波系数表达式为:
在这里插入图片描述
其中,dj,k为含噪信号x(t)经过小波变换多尺度分解后的各层小波细节系数,uj,k与ej,k分别为原始信号f(t)和噪声信号ε(t)经过小波变换多尺度分解后的细节系数。基于小波阈值去噪的流程图如图1所示。
在这里插入图片描述
图1 小波去噪流程
小波阈值去噪的具体步骤如下:

(1)多尺度分解:根据含噪信号的特点选择适合的小波基和分解层数,经过离散小波变换得到各层的小波细节系数dj,k;

(2)阈值去噪:通过确定阈值λ和阈值函数对小波细节系数dj,k进行处理,得到处理后的各层小波细节系数d’j,k;

(3)小波重构:依据得到的小波细节系数d’j,k和近似系数对电能质量扰动信号进行重构,得到去噪后的扰动信号x’(t)。

这些步骤中,阈值和阈值函数的选择是小波阈值去噪的关键,直接影响着重构信号的质量。如果选择的阈值过大,则会导致有用的信号被当做噪声滤除;阈值过小,则导致噪声的滤除不够彻底。传统的硬、软阈值函数如下所示:
在这里插入图片描述
软阈值函数的定义:
在这里插入图片描述
式中sign(dj,k)为符号函数,,N为信号长度;σ=Mmid/0.6745,Mmid是最低层小波系数的中位数。根据硬、软阈值函数可以看出,对含噪信号进行小波多尺度分解后,将每一层的细节系数与阈值相比较,保留大于阈值的系数,将小于阈值的系数置零,由此得到去除噪声后的细节系数。但是,硬阈值函数在信号长度内不是连续的,在λ处存在间断点,使得重构的信号不够平滑,重构信号后会产生“吉布斯”现象。软阈值函数虽然保证了连续性的问题,但是其噪声估计值与真实值存在着固定的偏差,不仅容易造成噪声去除不够彻底,还可能会丢失部分有用的信息。

2 小波阈值去噪的改进方法
通过上一节对硬、软阈值的分析可知,传统小波阈值去噪方法对于各层的小波系数阈值的设置是恒定不变的,但是噪声在各层小波系数中都是不太相同的,因此采用固定的阈值其自适应性较差,去噪效果不太理想。为了解决上述的这些问题,提出了一种改进的小波阈值去噪算法,它会根据噪声的分布情况自适应的修正阈值,并且其阈值函数通过可变参数可以实现多种不同的软硬特征,使其更加适用于多种不同类型的电能质量扰动信号。

2.1 阈值的修正
阈值作为区分有效信息与噪声的边界,它的选择直接影响着去噪效果。传统的通用阈值对每个尺度的小波细节系数都做了同样的处理,但是噪声的分布具有随机性,用一个固定的阈值进行处理会使得有些尺度上的有用信息丢失,而有些尺度上的噪声滤除的不够干净,这样就无法达到较好的去噪效果。考虑到噪声的小波细节系数随尺度的增加而减小,而信号的小波细节系数随尺度的增加而增大。因此为了使阈值的取值更加符合噪声的变化规律,本章结合了文献[7]中的峰和比(peak-to-sum ratio,PSR),提出了基于PSR的修正因子,对通用阈值进行修正,第j层小波细节系数的峰和比公式如下:
在这里插入图片描述
式中,dj,k是小波细节系数。在小波的多尺度分解中,信号的有用信息主要集中在较大的小波细节系数上,而噪声成分则分散在各层的小波细节系数中。因此,当Sj值较大时,意味着这一尺度存在着较大的系数,说明了该层包含的有用信息较多;而Sj值较小时,则意味者这一尺度存在着较小的系数,说明了该层包含的噪声较多。基于这一特点,则引入修正因子Fj为:
在这里插入图片描述
式中,Lj为第j层小波细节系数的长度。将Fj与ln(j+1)相结合来对阈值进行自适应调节。经过修正后的阈值为:
在这里插入图片描述
由式(8)可知,ln(j+1)随着j的增加逐渐增大,相应的阈值就逐渐减小,这符合噪声分布的一般规律。

2.2 改进阈值函数
为了克服传统硬阈值函数在阈值处不连续和软阈值函数会造成部分高频信息丢失的问题,提出了一种新的阈值函数如下所示:
在这里插入图片描述
式中sign函数为符号函数。该阈值函数在(-!,+!)内连续,证明如下:
在这里插入图片描述
该函数在λj处连续,同理可得函数在-λj处也是连续的。证明其确实克服了硬阈值函数在阈值处不连续的问题。并且该阈值函数在dj,k→±!时等效于硬阈值函数。证明如下:
在这里插入图片描述
由上式可以看出,随着小波细节系数dj,k的增加,新阈值函数曲线逐渐向硬阈值函数逼近,克服了软阈值函数所存在的恒定偏差的问题。新阈值函数的示意图如图2所示。
在这里插入图片描述
图2 新阈值函数曲线图
2.3 小波基与分解层数
应用小波变换对电能质量扰动信号进行去噪、突变点定位和特征提取时,小波基的选择至关重要,只有选择了合适的小波基,才能准确的对电能质量扰动进行分析。因此,在实际应用中,需要根据所选信号的特征来选择合适的小波基。

小波变换的实质是用一系列的小波函数去逼近原始信号的过程,对于同一个信号,选取不同的小波基,其小波变换后的结果也是不同的。对电能质量信号进行小波变换分析,根据其波形的特点,需要采用时域和频域同时具有良好的局部性,且对不规则的部分比较敏感的小波。通常利用传统的软、硬阈值函数来考察小波变换对信号去噪效果的影响。为了验证去噪效果,通常采用信噪比(Signal Noise Ratio,SNR)和均方根误差(Root Mean Square Error,RMSE)作为评价标准。其定义表达式如下所示:
在这里插入图片描述
当信噪比(SNR)越高,均方根误差(RMSE)越低时,就证明了该信号的去噪效果越好。这里选择电压中断扰动信号作为原始数据,通过将不同类型的小波基函数与软、硬阈值函数相结合来进行小波阈值去噪。

⛄二、部分源代码

%% 小波多种方法去噪和信噪比
clear
close all
clc

%% 产生一个长为2^10点,包含高斯白噪声的正弦信号,信噪比0.1。

sqrt_snr=2;

figure
subplot(211)
plot(x)
title(‘原始信号’)
subplot(212)
plot(xn)
title(‘去噪信号’)
set(gcf,‘Color’,[1 1 1])

lev=5;
%% 用全局默认阈值进行去噪处理
[thr,sorh,keepapp]=ddencmp(‘den’,‘wv’,x); % 获取全局默认阈值
xd=wdencmp(‘gbl’,x,‘dmey’,lev,thr,sorh,keepapp); %利用全局默认阈值对信号去噪

⛄三、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]郑炜.基于改进小波阈值的电能质量扰动信号去噪算法[J].电气开关. 2021,59(01)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/40362.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[阶段4 企业开发进阶] 2. Redis--实战篇

文章目录实战篇1 短信登录1.1 导入项目导入SQL有关当前模型导入后端项目导入前端工程运行前端项目1.2 基于Session实现登录流程1.3 实现发送短信验证码功能1.4 实现登录校验拦截器1.5 隐藏用户敏感信息1.6 session共享问题实战篇 1 短信登录 1.1 导入项目 导入SQL 有关当前模…

多监控系统产生的告警如何高效管理 - 运维事件中心

随着互联网服务深入千行百业,数字化成为企业和机构为用户提供服务的重要形式。在企业的IT基础架构趋于复杂化的过程中,运维管理工作的技术性也有了更高的要求。如果针对相关的故障,企业无法做到及时的发现和响应,将会延长上层业务…

ElasticSearch中基础API操作

1:首先我们需要连接ElasticSearch客户端,需要一个连接操作: RestHighLevelClient package com.atguigu.es.test;import org.apache.http.HttpHost; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestHighLevelClient;…

分布式全局唯一ID生成方案(附源码)

1、概述 ID,全称Identifier,中文翻译为标识符,是用来唯一标识对象或记录的符号。比如我们每个人都有自己的身份证号,这个就是我们的标识符,有了这个唯一标识,就能快速识别出每一个人。 在计算机世界里&…

客快物流大数据项目(八十八):ClickHouse快速入门

文章目录 ClickHouse快速入门 一、​​​​​​​​​​​​​​安装ClickHouse(单机) 1、安装yum-utils工具包 2、添加ClickHouse的yum源 3、安装ClickHouse的服务端和客户端 4、关于安装的说明 5、查看ClickHouse的版本信息 二、在命令行中操作…

【深度思考】5年开发经验,不知道git rebase,是否应该被嘲笑?

最近逛脉脉,发现了一个热度挺高的帖子,一位同学发帖说:同事5年经验,竟然不知道git rebase,真牛批 ☆ 今天咱们不讨论git rebase是干什么用的,因为讨论半天可能三两句话就说出来了,实在没有意思&…

Linux的进程互调技术(多语言互调)

Linux的进程互调技术(多语言互调) 文章目录Linux的进程互调技术(多语言互调)1.函数与进程之间的相似性2.多语言程序互调技术1.函数与进程之间的相似性 如果你学过C语言,你应该有以下认识: 一个C程序由很多函数组成,一个函数可以调用另一个函数…

STC 51单片机42——汇编 定时器 舵机

ORG 0000H HighH EQU 30H; 定义变量,高电平高八位 TimerH EQU 31H; 定义变量,高电平高八位定时值 TimerL EQU 32H; 定义变量,高电平低八位定时值 Right BIT P2.0 ; 右转 Left BIT P2.1 ; 左转 N…

IDEA搭建SSM框架【配置类、新手向】

以下操作基于2020.3企业版 1.创建Java Enterprise项目 直接默认即可 输入项目相关信息 点击完成后,得到以下目录结构 2.搭建项目目录结构 java目录下 controller:实现控制转发,基本参数校验,不复杂的简单业务处理 config&#x…

SpringBoot实现多数据源(一)【普通版切换】

在实际开发中,经常可能遇到在一个应用中可能需要访问多个数据库的情况。以下是两种典型场景 业务复杂(数据量大) 数据分布在不同的数据库中,数据库拆了,应用没拆。一个公司多个子项目,各用各的数据库&#…

Springboot——拦截器

目录 一、拦截器概念 二、拦截器的使用 2.1 拦截器的创建(preHandle实用性最强) 2.2 将拦截器添加到容器当中 三、拦截器参数 3.1 获取请求头 request.getHeader 3.2 Object handler 是什么参数 3.3 ModelAndView modelAndView 3.4 Exception ex 3.…

多重定义的全局符号,链接器会如何链接的情况

多重定义的全局符号,链接器会如何链接的情况实例1:1.规则12.规则13.规则24.规则3实例2总结以下只针对于gcc编译器,而且不同环境,不同编译器的情况可能不同。 假如说有多重定义的全局符号,链接器会如何链接呐&#xff…

[论文评析]AdaptivePose: Human Parts as Adaptive Points,AAAI 2022

AdaptivePose: Human Parts as Adaptive Points文章信息背景AdaptivePose身体表示方法Body RepresentationAdaptivePosePart Perception ModuleEnhanced Center-aware BranchTwo-hop Regression BranchLoss function推理Inference总结References文章信息 论文题目:…

Spring Boot JPA 存储库派生查询示例

在之前的文章中,您已经知道如何使用JPQL和本机查询通过注释从数据库中检索数据。今天,我将向您展示如何使用派生查询方法在 Spring 引导中实现 Spring Data JPA 存储库查询:Query 派生查询方法的结构配置 Spring 引导应用程序以使用不同的数…

【教学类-19-02】20221127《ABCABC式-规律排序-A4竖版2份》(中班)

展示效果: 单人使用样式: 单页打印样式 ​ 背景需求: 中班幼儿需要掌握ABCABC的排序规律 ​ 前文制作了ABAB单元格色块,微调word表格的列数,调整python的参数,随机生成ABC排序样式,引导幼儿…

Android 单ABI架构适配指南:保姆级教学 INSTALL_FAILED_NO_MATCHING_ABIS

单ABI架构 64位 安装报错误详情如下 : Installation did not succeed. The application could not be installed: INSTALL_FAILED_NO_MATCHING_ABIS 产品需求: 单ABI架构支持拆解 迎合市场需求 32/64位独立包 目前项目ABI架构如下: …

基于Mxnet实现语义分割-整体多模型【完整、附部分源码】

文章目录前言语义分割发展史及意义一、数据集的准备二、基于Mxnet的语义分割框架构建1.引入库2.CPU/GPU配置3.数据标准化4.解析数据集到列表中JSON格式Label 图像的标注格式5.设置数据迭代器6.模型构建fcn模型结构pspnet模型结构deeplabv3模型结构deeplabv3模型结构ICNet模型结…

刷爆力扣之构建乘积数组

刷爆力扣之构建乘积数组 HELLO,各位看官大大好,我是阿呆 🙈🙈🙈 今天阿呆继续记录下力扣刷题过程,收录在专栏算法中 😜😜😜 该专栏按照不同类别标签进行刷题&#xff0c…

合作对策模型的简单实现

以如下题目作为示例: 一位歌手(S),一位钢琴家 (P) 和一位鼓手(D) 组成一个小乐队在俱乐部同台演出能得到演出费1000元,若歌手和钢琴家一起演出能得800元。而只有钢琴家和鼓手一起演出能得到650元,钢琴独奏表演能得300元&#xff…

表单与列表在HTML与CSS中是这么玩的

文章目录表单应用场景实例讲解表单描述标签的使用 label表单约束属性详解表单访问限制技巧常用字段类型扩展隐藏与表单提交技巧表单验证使用总结大文本与列表框技巧详解选项框标准打开方式文件上传的正确打开方式时期与时间表单项使用详解搜索表单与DATALIST数据列表表单历史数…