基于信号分解的几种一维时间序列降噪方法(MATLAB R2021B)

自适应信号分解算法是一种适合对非平稳信号分析的方法,它将一个信号分解为多个模态叠加的形式,进而可以准确反应信号中所包含的频率分量以及瞬时频率随时间变化的规律。自适应信号分解算法与众多“刚性”方法(如傅里叶变换,小波变换)不同,可根据信号自己本身固有属性进行分解,故其具有自适应性。狭义的自适应信号分解算法可以完全不借助任何除信号本身的信息,就可以实现信号的模态分解,但是随着自适应信号分解理论的发展和完善,完全不借助任何信号本身的信息的自适应信号分解算法具有一定的局限性。所以在这基础上,很多学者借助了一些外部的信息,但是仍保持算法具有一定的自适应性,完成信号的模态分解,被称为广义的自适应信号分解算法。

从经验模态分解EMD提出以来,自适应信号分解算法已经有了二十多年的发展,相关算法多达几十种,改进算法更是不胜枚举。EMD方法是最早的自适应信号分解算法,在很多科学领域上都有应用。例如可以使用EMD来分离自由振动的不同模态响应,然后将希尔伯特变换应用于瞬时振幅和相角的历史数据中,可以为识别多阶振动的固有频率和阻尼比提供了基础;EMD根据局部极值点和过零点进行分解,具有一定的“经验性”。由于没有数学理论的支撑,EMD算法会出现模态混叠、端点效应、不满足整体正交性等问题。

为了解决EMD算法存在的问题,集合经验模态分解EEMD被提出,在信号分解之前多次加入白噪声,对最后得到的模态分量取平均,一定程度上消除了模态混叠的影响。又有学者在EEMD的基础上提出了完备集合经验模态分解CEEMD,相比于EEMD,CEEMD在分解之前添加一对符号相反,幅值相同的白噪声,因此减少了由于添加白噪声而引发的信号重构误差,大大提高了信号分解的精度。

局部均值分解LMD可以将一个非平稳信号分解为多个乘积函数分量的叠加,其中每个乘积函数都由一个瞬时幅值函数和一个纯调频信号相乘得到。另外LMD还可以有效地缓解EMD的端点效应。

Hilbert振动分解主要应用信号本身的希尔伯特变换和同步检波来估计信号的瞬时频率和瞬时幅值,可以将复杂的信号分解成多个分量的叠加,Hilbert振动分解在对时变信号的处理中有着很好的效果。

固有时间尺度分解ITD通过信号定义基线提取算子,将信号分解为若干个高频旋转分量和一个低频单调趋势分量。在ITD中,由于基线提取算子并未采用EMD中所采取的极值点构造方式,所以大大改善了端点效应。

迭代滤波分解方法本质是采用某些滤波器(比如Toeplitz滤波器)替换EMD中的由上下包络线确定的滤波方法,迭代滤波可以在数学上被证明是严格收敛的,这样使得自适应信号分解算法有了理论依据。

自适应局部迭代滤波可以根据信号本身对滤波器的长度和形状进行调整,相比于迭代滤波,大大提高了自适应性。

同步压缩变换SST对原始信号处理得到时频图,采用SST通过短时傅里叶变换STFT或小波变换的桥梁,可以使得时频能量更为集中并且能在时频图中提取所需要的信号分量。

自适应最稀疏时频分析方法受到压缩感知的启发,在模态分量函数组成的最大可能字典中寻找数据的最稀疏表示,并将其转化为L1范数的最优化问题,通过迭代算法递归计算得到所有的模态分量。

解析模态分解通过不同的二分频率,可以将有紧密间隔频率的信号分离开来,即从振动信号中提取间歇性小的波动,解决了EMD的一个不足之处。

极点对称模态分解采用内部极点对称插值,并借用“最小二乘”的思想来优化剩余模态,由此来确定最优的筛选次数。极点对称模态分解还提出了数据直接插值法,使得各个模态的幅值和频率更加直观。

局部特征尺度分解方法对基线信号的提取减少了计算量,而且迭代次数较少,有利于抑制端点效应。

经验小波变换的关键之处在于组成信号的所有分量构成了紧凑支撑的傅立叶谱,分离出不同的模态相当于对傅立叶谱进行切分。而切分的方式采用经验检测的方法,不遵循小波的二元离散化的特点,但提取模态的过程同小波变换类似。EWT在频带划分上实现了自适应化,在许多工程应用上都起到了很好的效果。

变分模态分解VMD根据所有模态分量占据带宽最小化的思想来建立数学模型,采用交替方向乘子法求得变分问题的最优解,从而自适应地实现频带的切分和分量的提取。

奇异谱分解方法中嵌入维数和相应轨迹矩阵主分量的选择被用来重建分量,且是自适应的。此外,奇异谱分解重新定义了轨迹矩阵,可以更好地识别振荡信号并可以在每次迭代之后减少残差能量。

非线性模式分解是一种基于时频分析、脊线重构、替代数据测试、谐波真伪检验结合的方法,可将给定信号分解为一些有物理意义振荡分量的组合。因为非线性模式分解参数的选择有着严格的数学定义,所以具有非常强大的自适应性和抗噪性。

傅里叶分解算法定义出调幅调频傅里叶展开“傅立叶本征带函数”后,利用傅里叶变换可以得到其解析函数,最后通过前向和反向搜索获得最少数量的模态分量。傅里叶分解基于傅里叶方法,但是却不会出现模态混叠、端点效应等问题且数学理论完备。

自适应线性调频模式分解采用贪婪算法捕获信号分量并可以自适应获得高分辨率的时频谱,在调频信号的处理中取得了明显的效果。总体来说,自适应信号分解算法在近些年不断地涌现,为广大从业人员提供了广阔的选择空间,这使得对比不同类型的自适应信号分解算法的优劣性显得十分重要。

鉴于此,采用了基于信号分解的几种一维时间序列降噪方法,运行环境为MATLAB R2021B,主要内容如下:

基于变分模态分解-小波阈值的一维时间序列降噪方法

基于奇异值分解-变分模态分解的一维时间序列降噪方法

基于自适应噪声完备集合经验模态分解和奇异值分解的一维时间序列降噪方法

基于集合经验模态分解和鲁棒主成分分析的一维时间序列降噪方法

完整代码可见基于信号分解的几种一维时间序列降噪方法(MATLAB R2021B)

工学博士,担任《Mechanical System and Signal Processing》审稿专家,担任《中国电机工程学报》优秀审稿专家,《控制与决策》,《系统工程与电子技术》,《电力系统保护与控制》,《宇航学报》等EI期刊审稿专家。

擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

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

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

相关文章

SpringBoot3整合mybatis

SpringBoot3整合mybatis 一、添加mybatis的依赖二、通过XML配置三、通过yum或properties文件配置四、常用注解1.Mapper2.MapperScan 一、添加mybatis的依赖 <!--mybatis--> <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>…

简单的网页制作

1网页编写格式 <!DOCTYPE html> <html><head><meta charset"utf-8"> <title>中文测试。。。。</title></head><body>这里是测试body测试内容。。。</body> </html>2标签 在body内<h1></h1&…

鸿蒙开发实现弹幕功能

鸿蒙开发实现弹幕功能如下&#xff1a; 弹幕轮播组件&#xff1a;BannerScroll import type { IDanMuInfoList, IDanMuInfoItem } from ../model/DanMuData //定义组件 Component export default struct BannerScroll {//Watch 用来监视状态数据的变化&#xff0c;包括&#…

Java代码基础算法练习-判断字符串是否为回文-2024.03.16

任务描述&#xff1a; 回文串是指一个正读和反读都一样的字符串&#xff0c;比如“level”或者“noon”等。要求输入 一个字符串&#xff0c;判断此字符串是否为回文。&#xff08;注&#xff1a;设字符串长度小于20&#xff09; 任务要求&#xff1a; package suanfa;import…

Vue:内置组件:KeepAlive(缓存组件实例)

一、作用 <KeepAlive></KeepAlive>能缓存包裹的所有组件&#xff0c;保证组件在切换时维持组件状态。 默认情况下&#xff0c;一个组件实例在被替换掉后会被销毁。这会导致它丢失其中所有已变化的状态——当这个组件再一次被显示时&#xff0c;会创建一个只带有初…

部署一个本地的ChatGPT(Ollama)

一 下载Ollama Ollama下载地址&#xff1a;https://ollama.com/download 下载完后 二 安装运行 双击下载好的OllamaSetup.exe开发 安装Ollama: 安装完成后&#xff0c;多了一个Ollama的菜单如下图 &#xff1a; Ollama安装好默认是配置开机运行&#xff0c;如果没有运行可以在…

MyBatis plus自动生成代码

1.pom文件配置 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3</version> </dependency> <dependency><groupId>com.baomidou</groupId>…

第五十九回 公孙胜芒砀山降魔 晁天王曾头市中箭-飞桨自然语言处理套件PaddleNLP初探

公孙胜献出八卦阵&#xff0c;宋江用八员大将守阵。项充李衮进入阵里&#xff0c;被抓住了。宋江说久闻大名&#xff0c;来梁山吧。两人说誓当效力到死&#xff0c;希望能先放我们两个回去把樊瑞带来一起。见到樊瑞后把宋江讲义气一说&#xff0c;樊瑞说不可逆天&#xff0c;于…

力扣112、113、101--树

112. 路径总和 题目描述&#xff1a; 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。 判断该树中是否存在 根节点到叶子节点 的路径&#xff0c;这条路径上所有节点值相加等于目标和 targetSum 。 如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c…

轻松搞定找不到vcomp140.dll无法继续执行程序的5种方法

在我们日常使用计算机的过程中&#xff0c;频繁且不可避免地会遭遇到各种类型的错误提示信息&#xff0c;这些错误信息往往会在关键时刻阻碍我们的操作进程。其中&#xff0c;有一个颇为常见的错误提示值得我们关注&#xff0c;那就是“vcomp140.dll丢失”。这个错误提示涉及到…

【计算机视觉】二、图像形成——实验:2D变换编辑(Pygame)

文章目录 一、向量和矩阵的基本运算二、几何基元和变换1、几何基元(Geometric Primitives)2、几何变换(Geometric Transformations)2D变换编辑器0. 程序简介环境说明程序流程 1. 各种变换平移变换旋转变换等比缩放变换缩放变换镜像变换剪切变换 2. 按钮按钮类创建按钮 3. Pygam…

更安全的C gets()和str* 以及fgets和strcspn的用法

#include <stdio.h>int main() {char *str;gets(str);puts(str);return(0); }可以说全是错误 首先char *str没有指向一个分配好的地址&#xff0c;就直接读入&#xff0c;危险 ps: 怎么理解char *str "Hello World" 是将一个存储在一个只读的数据段中字符串常…

AI预测-一文解析AI预测数据工程

AI预测相关目录 AI预测流程&#xff0c;包括ETL、算法策略、算法模型、模型评估、可视化等相关内容 最好有基础的python算法预测经验 EEMD策略及踩坑VMD-CNN-LSTM时序预测对双向LSTM等模型添加自注意力机制K折叠交叉验证optuna超参数优化框架多任务学习-模型融合策略Transform…

《操作系统实践-基于Linux应用与内核编程》第10章-Linux综合应用

前言: 内容参考《操作系统实践-基于Linux应用与内核编程》一书的示例代码和教材内容&#xff0c;所做的读书笔记。本文记录再这里按照书中示例做一遍代码编程实践加深对操作系统的理解。 引用: 《操作系统实践-基于Linux应用与内核编程》 作者&#xff1a;房胜、李旭健、黄…

复现文件上传漏洞

一、搭建upload-labs环境 将下载好的upload-labs的压缩包&#xff0c;将此压缩包解压到WWW中&#xff0c;并将名称修改为upload&#xff0c;同时也要在upload文件中建立一个upload的文件。 然后在浏览器网址栏输入&#xff1a;127.0.0.1/upload进入靶场。 第一关 选择上传文件…

数字孪生-使用Unity构建能实时显示应力应变的孪生模型

Motivation - 采用Unity作为孪生技术栈的经历? 最开始想要利用Ansys的Twin Builder模块来进行数字孪生的开发&#xff0c;但是Ansys 的Twin Builder在部署的时候&#xff0c;需要license&#xff0c;要获得license所要花费的价格是难以接受的。 后来想要利用QTVTK的方式来进行…

MATLAB:拟合与插值

一、关于多项式的基本操作 若要求非线性方程的根&#xff0c;则采用fzero, fminbnd函数 二、多项式拟合 clc, clear x0:0.2:10; y0.25*x20*sin(x); plot(x,y,k.,MarkerSize,15) grid on; hold on [p1,s1,mu1]polyfit(x,y,3); %3阶多项式拟合 y1polyval(p1,x,s1,mu1); [p2,s…

2024.3.17 机器学习周报

引言 Abstract 文献阅读 1、题目 R-TRANSFORMER: RECURRENT NEURAL NETWORK ENHANCED TRANSFORMER 2、引言 递归神经网络长期以来一直是序列建模的主要选择。然而&#xff0c;它严重遭受两个问题&#xff1a;在捕获非常长期的依赖性和无法并行化的顺序计算过程中无能为力…

云服务器2核4G能支持多少人同时访问?拿本记上!

腾讯云轻量2核4G5M带宽服务器支持多少人在线访问&#xff1f;5M带宽下载速度峰值可达640KB/秒&#xff0c;阿腾云以搭建网站为例&#xff0c;假设优化后平均大小为60KB&#xff0c;则5M带宽可支撑10个用户同时在1秒内打开网站&#xff0c;并发数为10&#xff0c;经阿腾云测试&a…

[蓝桥杯练习题]确定字符串是否包含唯一字符/确定字符串是否是另一个的排列

确定字符串是否包含唯一字符 #include<bits/stdc.h> using namespace std; int main(){ios::sync_with_stdio(0);cin.tie(nullptr);cout.tie(nullptr);map<char,int>m;string s;cin>>s;for(int i0;i<s.size();i){if(isalpha(s[i]))s[i]tolower(s[i]);if(…