基于数据驱动的多尺度表示的信号去噪统计方法研究(Matlab代码实现)

news2024/9/24 11:32:13

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

文献来源:

 本文讲解一种数据驱动的信号去噪方法,该方法利用变分模态分解(VMD)算法和Cramer Von Misses(CVM)统计。与传统的经验模态分解(EMD)相比,VMD具有优越的数学和理论框架,使其对噪声和模态混合具有鲁棒性。 VMD的这些理想特性是通过将大部分噪声分离成几种最终模式来实现的,而大部分信号内容则分布在早期模式中。为了利用这种表示进行降噪,我们建议估计来自主要噪声模式的噪声分布,然后使用它来检测和抑制来自其余模式的噪声。该方法首先利用统计距离的CVM度量来选择主要噪声模式。接下来,在其余模式上局部使用 CVM 统计量来测试这些模式与估计噪声分布的拟合程度;与噪声分布产生更接近拟合的模式被拒绝(设置为零)。大量的实验证明了所提出的方法在信号去噪方面优于现有技术,并强调了其在噪声分布未知的实际应用中的实用性。

由于采集系统(例如录音系统、激光雷达系统、脑电图和心电图采集系统等)的各种物理限制,来自各种实际应用的信号会受到不必要的噪声的影响。因此,为了避免基于这些噪声信号做出任何错误的决定,有必要事先消除不需要的噪音。在这方面,通常假设时间序列数据中的噪声遵循加性白高斯噪声(wGn)模型。对于广义稳态信号,即具有完全已知的不变统计量的信号,使用Weiner滤波器,去除加性wGn的问题得到了最佳解决。但是,由于以下原因,这种方法在实际环境中可能不够。首先,大多数现实生活中的信号是非平稳的,因为它们的属性(统计数据)随时间变化。其次,假设的wGn模型可能并不总是用于表征时间序列数据中的噪声,例如EEG / ECG信号。因此,需要能够解释信号的非平稳性和噪声的非高斯性的更先进的技术。

离散小波变换(DWT)是一种处理非平稳信号的多尺度方法,其特性是信号奇异点在其系数内稀疏分布。另一方面,噪声系数具有较低的振幅和均匀的扩散[1]。这允许使用合适的阈值(例如,通用阈值[2])或统计收缩函数(例如[3],[4])来区分信号和噪声系数。这些方法的基础建立在关于(真实)信号和噪声的(分布)模型的先前假设之上。在这方面,数据采集和通信系统引起的随机噪声通常使用加性wGn模型进行建模,但这并不能完全考虑采集过程中导致噪声的因素。然而,由于时间序列数据中通常发现的信息具有任意性,因此指定信号模型具有挑战性。此外,先前模型的规范限制了这些方法在现实世界信号中的功效。

这个问题已经在[5]中提出的框架内得到了部分解决,该框架将DWT与拟合优度(GoF)检验相结合。此后,这种方法被称为DWT-GoF方法。值得一提的是,DWT-GoF方法只需要先验噪声模型。例如,在这里,噪声被方便地建模为零均值加性wGn。DWT保留了噪声的高斯性,有助于在多个小波尺度上检测wGn。这基本上需要检测和抑制拟合高斯分布的小波系数以进行去噪。此后,DWT-GoF方法[5]通过在多尺度系数上估计高斯分布的GoF来抑制来自DWT尺度的噪声。DWT-GoF方法的改进版本在[6],[7]中提出了,该方法采用GoF测试以及双树复小波变换(DTCWT),在续集中称为DT-GOF-NeighFilt方法。DT-GOF-NeighFilt方法的主要特点是结合一种新的邻域滤波技术,以最大限度地减少信号细节的损失,同时抑制噪声。除GoF检验外,其他假设检验工具,如错误发现率(FDR),贝叶斯局部错误发现率(BLFDR)也与小波变换结合使用,用于信号去噪[8]。

多尺度去噪的另一种途径涉及数据驱动的分解技术。例如,经验模式分解(EMD)[9]采用数据驱动的方法从信号中提取主要振荡模式。由于EMD能够将信号扩展为其固有的固有模式函数(IMF),EMD被认为非常适合处理实践中通常遇到的非平稳信号。当用于去噪时,EMD旨在检测代表(振荡)信号部分的IMF,并抑制与非振荡噪声相对应的IMF。小波启发的区间阈值函数用于检测来自噪声IMF的振荡信号部分[10]。具体来说,基于EMD的间隔阈值(EMD-IT)[10]旨在检测由两个连续的过零分开的振荡。这是通过将区间的极值与导致保留或拒绝整个区间的阈值进行比较来实现的。

[11]中的工作没有执行阈值,而是使用统计工具来检测相关(信号)模式,以便对去噪信号进行部分重建。然而,由于EMD的模式混合(即单个IMF中多个IMF的表现)特性及其对噪声和采样的敏感性,这些去噪方法可能会导致性能欠佳。从本质上讲,EMD框架内的上述缺点会导致噪声泄漏到一些信号模式中,从而导致噪声抑制,从而导致次优去噪。EMD缺乏数学基础限制了在其框架内纠正这些问题的机会。

最近提出的变分模态分解(VMD)基于变分问题的优化,以获得固定数量的带限IMF(BLIMF)的集合[12]。由于其良好的数学基础,VMD成功地避免了模式混合,并且与EMD不同,它对噪声和采样具有鲁棒性[12],[13]。从去噪的角度来看,VMD的一个非常重要的特性是它能够将所需信号分离成几个初始BLIMF,而噪声主要隐藏在几个最终BLIMF中。因此,通过抑制带噪声的模式,可以通过部分重建获得对真实信号的良好估计。

文献综述表明,现有的基于VMD的去噪方法通过将单个BLIMF的概率分布函数(PDF)与噪声信号的PDF进行比较来选择相关的信号模式。这是有根据的,因为分布函数通常反映噪声数据中存在的信号。BLIMF中存在的信号的估计可以通过测量其PDF与噪声信号的接近程度来获得,例如,通过使用欧几里得距离[14],巴塔查里亚距离[15]等。其中,统计上接近噪声信号的模式被选为相关(信号)模式,而大相径庭的模式则被排除为噪声。有关各种统计距离对估计相关模式的有效性的详细研究,请参阅感兴趣的读者[16]。此外,[17]中的方法使用去趋势波动分析(DFA)(最初在EMD-DFA方法[11]中与EMD一起使用)选择相关模式,该模式通过观察缺乏趋势来估计数据的随机性。这种方法,以下简称VMD-DFA [17],抑制噪声BLIMF,并根据其余模式重建去噪信号。

这些基于VMD的方法的问题在于(a)所选(低频)信号模式中存在噪声,导致去噪信号中出现明显伪影,以及(b)作为拒绝模式的一部分,高频信号细节丢失,导致不合格的去噪。这个问题没有得到研究人员的太多关注,这可能是因为与EMD/MEMD广泛使用的间隔阈值技术[10],[18],[19]由于噪声功率在BLIMF之间的任意分布,不能直接适用于VMD / MVMD模式。另一方面,为VMD的BLIMF设计类似小波的统计阈值技术需要事先了解噪声(和/或信号)的分布。这是具有挑战性的,因为VMD由于其非线性,将已知的噪声分布(例如,高斯分布)转换为未知的噪声分布。因此,阻碍了开发用于信号估计的统计方法的可能性。

📚2 运行结果

命令框输入任意一种,以4为例。

 

 

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

🌈4 Matlab代码实现

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

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

相关文章

React组件进阶之children属性,props校验与默认值以及静态属性static

React组件进阶之children属性,props校验与默认值以及静态属性static 一、children属性二、props校验2.1 props说明2.2 prop-types的安装2.3 props校验规则2.4 props默认值 三、静态属性static 一、children属性 children 属性:表示该组件的子节点,只要组…

网站创建004:跟用户交互的标签

input 系列&#xff1a; <body><input type"text" /> <!--文本输入框--><input type"password" /> <!--密码输入框--><input type"checkbox" /> <!--复选框--><input type"checkbox"…

【MySQL】使用C语言连接

​&#x1f320; 作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《零基础入门MySQL》 &#x1f387; 座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录 &#x1f449;my…

用CSS和HTML写一个水果库存静态页面

HTML代码&#xff1a; <!DOCTYPE html> <html> <head><link rel"stylesheet" type"text/css" href"styles.css"> </head> <body><header><h1>水果库存</h1></header><table>…

函数指针及其使用

类比 数组的地址 函数的地址 数组指针 函数的指针 函数指针的运用 有趣的代码1

从0到1构建基于自身业务的前端工具库

前言 在实际项目开发中无论 M 端、PC 端&#xff0c;或多或少都有一个 utils 文件目录去管理项目中用到的一些常用的工具方法&#xff0c;比如&#xff1a;时间处理、价格处理、解析url参数、加载脚本等&#xff0c;其中很多是重复、基础、或基于某种业务场景的工具&#xff0…

链表(一) 单链表操作详解

文章目录 一、什么是链表二、链表的分类1、单向或者双向2、带头或不带头3、循环或不循环 三、无头单向不循环链表的实现SList.hSList.c动态申请一个节点单链表打印单链表尾插单链表头插单链表的尾删单链表头删单链表查找在pos位置前插入单链表在pos位置之后插入x删除pos位置单链…

自动驾驶下半场的“入场券”

交流群 | 进“传感器群/滑板底盘群/汽车基础软件群/域控制器群”请扫描文末二维码&#xff0c;添加九章小助手&#xff0c;务必备注交流群名称 真实姓名 公司 职位&#xff08;不备注无法通过好友验证&#xff09; 作者 | 张萌宇 自动驾驶战争的上半场拼的是硬件和算法&…

DTC介绍

DTC 一般由3个字节组成&#xff1a; 字节1&#xff1a;High Byte bit 7-6: 对应DTC属于哪一个系统&#xff0c;P: 00动力系统、C: 01底盘、B: 10车身和U: 11通信系统bit 5-4: 用来区分DTC是标准组织所定义还是制造商自定义 00: ISO/SAE01: 制造商10: ISO/SAE11: ISO/SAE bit 3…

【Rust教程 | 基础系列2 | Cargo工具】Cargo介绍及使用

文章目录 前言一&#xff0c;Cargo介绍1&#xff0c;Cargo安装2&#xff0c;创建Rust项目2&#xff0c;编译项目&#xff1a;3&#xff0c;运行项目&#xff1a;4&#xff0c;测试项目&#xff1a;5&#xff0c;更新项目的依赖&#xff1a;6&#xff0c;生成项目的文档&#xf…

python皮卡丘字符打印代码,用python皮卡丘的代码

大家好&#xff0c;本文将围绕python皮卡丘字符打印代码展开说明&#xff0c;python皮卡丘编程代码教程是一个很多人都想弄明白的事情&#xff0c;想搞清楚python皮卡丘编程代码需要先了解以下几个事情。 1、我用python画皮卡丘&#xff0c;没有错误出现&#xff0c;我也打开才…

内网横向移动—NTLM-Relay重放Responder中继攻击LdapEws

内网横向移动—NTLM-Relay重放&Responder中继攻击&Ldap&Ews 1. 前置了解1.1. MSF与CS切换权限1.1.1. CS会话中切换权限1.1.1.1. 查看进程1.1.1.2. 权限权限 1.1.2. MSF会话中切换权限 2. NTLM中继攻击—Relay重放—SMB上线2.1. 案例测试2.1.1. 同账户密码测试2.1.2…

如何使用CRM系统进行客户关系维护管理?

企业要想持续的发展&#xff0c;就必须管理和维护与客户的关系。但如今客户需求更加复杂和多样化&#xff0c;维护客户关系的难度越来越大。许多企业使用CRM系统来帮助自己管理客户关系。通过本文&#xff0c;让您客户关系维护管理全知道。 1、客户画像 CRM系统可以帮助企业建…

【【萌新的stm32学习-1】】

萌新的stm32学习 冯诺依曼结构 采用了分时复用的结构 优点&#xff1a;总线资源占用少 缺点&#xff1a;执行效率低 哈佛结构 执行效率高 总线资源占用多 RISC 这是精简指令集的意思 arm公司 ARMv9是2021年发布的最新 Cortex-A 最好高性能 Cortex-R 中 Cortex-M 低 何为STM…

VScode的简单使用

一、VScode的安装 Visual Studio Code简称VS Code&#xff0c;是一款跨平台的、免费且开源的现代轻量级代码编辑器&#xff0c;支持几乎主流开发语言的语法高亮、智能代码补全、自定义快捷键、括号匹配和颜色区分、代码片段提示、代码对比等特性&#xff0c;也拥有对git的开箱…

Flutter - 微信朋友圈、十字滑动效果(微博/抖音个人中心效果)

demo 地址: https://github.com/iotjin/jh_flutter_demo 代码不定时更新&#xff0c;请前往github查看最新代码 前言 一般APP都有类似微博/抖音个人中心的效果&#xff0c;支持上下拉刷新&#xff0c;并且顶部有个图片可以下拉放大&#xff0c;图片底部是几个tab&#xff0c;可…

使用Docker部署EMQX

原文链接&#xff1a;http://www.ibearzmblog.com/#/technology/info?id9dd5bf4159d07f6a4e69a6b379ce4244 前言 在物联网中&#xff0c;大多通信协议使用的都是MQTT&#xff0c;而EMQX是基于 Erlang/OTP 平台开发的 MQTT 消息服务器&#xff0c;它的优点很多&#xff0c;我…

C语言第十二课---------操作符的介绍与使用(下)

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; &#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382;…

第一章操作系统概述

0.定义 操作系统(Operating System&#xff0c;OS)是指控制和管理整个计算机系统的硬件和软件资源&#xff0c;并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本的系统软件。 操作系统是系统资源的管理者向上层提供方…

C语言:通讯录(文件操作+动态内存管理) 简易版

目录 前言 一&#xff0c;通讯录菜单 二&#xff0c;通讯录菜单主函数 1.使用枚举&#xff1a; 2.主函数&#xff1a; 三&#xff0c;通讯录功能实现 1.创建通讯录 2.初始化通讯录 3&#xff0c;添加联系人 4&#xff0c;删除联系人 5&#xff0c;搜索联系人 6&…