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

news2024/11/20 9:20:50

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

从经验模态分解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.coloradmin.cn/o/1520951.html

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

相关文章

最后十几天!未备案小程序将会被清退

微信官方通知 2023年8月9日,微信公众平台发布了“关于开展微信小程序备案的通知”: 去年就已经在逐步推进备案了,新注册小程序必须备案才可以上架。若微信小程序已上架,须于2024年3月31日前完成备案,逾期未完成备案&a…

苹果大模型MM1强势来袭!300亿参数所向披靡

功能展示 左图问:图片中有多少个苹果? 苹果大模型答:7个 左图问:这些州中哪一个是最北的? 回答:Delaware 追问:其他的州是什么? 回答:Arizona, Oklahoma, North Caro…

Ant Design Pro complete版本的下载及运行

前言 complete 版本提供了很多基础、美观的页面和组件,对于前端不太熟练的小白十分友好,可以直接套用或者修改提供的代码完成自己的页面开发,简直不要太爽。故记录一些下载的步骤。 环境 E:\code>npm -v 9.8.1E:\code>node -v v18.1…

[HTML]Web前端开发技术24(HTML5、CSS3、JavaScript )JavaScript基础JavaScript,Netscape,事件处理代码,外部JS——喵喵画网页

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的…

Java学习笔记(12)

包 导包 Final 不能被改变的,修饰方法 类 变量 方法不能被重写 类不能被继承 变量,赋值一次,变成常量,不能再被赋值 final修饰引用数据类型,地址值不能变,里面的内容可以变 字符串是不可变的 源码中使…

ubuntu(20.04)-安装JAVA环境-IDEA

1.下载IDEA 2.解压文件 sudo tar -zxvf idealC-2022.2.3.tar.gz -C /opt 3.添加环境变量: .vim ~/.bashrc export IDEA_HOME/opt/ideaIC-2022.2.3/ export PATH${IDEA_HOME}/bin:$PATH source ~/.bashrc 4.启动: cd /opt/ideaIC-2…

安装jupyter报错:404 GET /static/notebook/4131.bundle.js

1、报错安装过程 我直接是pip install jupyter 进行的安装,如下,安装的版本是7.1.2 2、报错结果 运行jupyternotebook后报错:404 GET /static/notebook/4131.bundle.js (3bea7012d1534d70a935c3c193d9308d127.0.0.1) 5.70ms refererht…

cf(163)

D. Tandem Repeats? 找最长串联字串的长度 #include<iostream> #include<algorithm> #include<cstring> #include<queue> #include<vector> #include<map> using namespace std; typedef pair<int,int>PII; typedef long long ll…

ThingsBoard Edge 安装部署

文章目录 一、概述1.官方文档2.部署说明3.安装准备3.1. 克隆服务器3.2.安装 Docker3.3.安装 Java 113.4.安装 PostgreSQL3.5.下载安装包 二、安装部署1.创建 Edge 实例2.创建数据库3.Edge 服务安装3.1.安装服务3.2.配置 Edge3.3.运行安装脚本3.4.重新启动服务 4.访问 Edge5.故障…

基于ssm+layui的图书管理系统

基于ssmlayui的图书管理系统 账户类型分为&#xff1a;管理员&#xff0c;用户管理员私有功能用户私有功能公共功能技术栈功能实现图 视频演示 账户类型分为&#xff1a;管理员&#xff0c;用户 图书管理系统主要登录账户类型为管理员账户与用户账户 管理员私有功能 账户管理…

算法的渐进时间复杂度

T(n) = O(F(n)) T(n):Time 渐进时间复杂度 O:正比例关系 F(n):代码执行次数 只要代码执行的次数越来越多 所耗费的时间也就越来越高 常见的5种: O(n^2) O(n logn) O(n) O(logn) O(1):不管重复多少次1次也是这个时间,10次也是这个时间。 时间复杂度排序:由小到…

关于如何在BIOS中设置引导顺序,看这篇文章就差不多了

前言 更改计算机上“可引导”设备(如USB端口、软盘驱动器或光盘驱动器中的硬盘驱动器或可引导介质)的引导顺序非常容易。 为什么要更改引导顺序 有几个场景需要更改引导顺序,例如启动一些数据销毁工具和可引导防病毒程序,以及安装操作系统。 BIOS设置实用程序用于更改引…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ScrollBar)

滚动条组件ScrollBar&#xff0c;用于配合可滚动组件使用&#xff0c;如List、Grid、Scroll。 说明&#xff1a; 该组件从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 可以包含单个子组件。 接口 ScrollBar(val…

C++ 入门篇

目录 1、了解C 2、C关键字 2、命名空间 2.1 命名空间的定义 2.2 命名空间的使用 3. C输入与输出 4.缺省参数 4.1 缺省参数的概念 4.2 缺省参数的分类 5. 函数重载 5.1 函数重载的概念 5.2 C中支持函数重载的原理--名字修饰 6. 引用 6.1 引用概念 6.2 引用…

【Miniconda】Linux系统中 .condarc 配置文件的位置一般在哪里

【Miniconda】Linux系统中 .condarc 配置文件的位置一般在哪里 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f448; 希望得到…

Elasticsearch 索引库操作 文档操作

索引库就类似数据库表&#xff0c;mapping映射就类似表的结构。要向es中存储数据&#xff0c;必须先创建“库”和“表”。 mapping映射属性 mapping是对索引库中文档的约束&#xff0c;常见的mapping属性包括&#xff1a; type&#xff1a; 字段数据类型&#xff0c;常见的简…

CSS3技巧38:3D 翻转数字效果

博主其它CSS3 3D的文章&#xff1a; CSS3干货4&#xff1a;CSS中3D运用_css 3d-CSDN博客 CSS3干货5&#xff1a;CSS中3D运用-2_中3d-2-CSDN博客 CSS3干货6&#xff1a;CSS中3D运用-3_css3d 使用-CSDN博客 最近工作上烦心的事情太多&#xff0c;只有周末才能让我冷静一下 cod…

黑群晖: 未在 DS918+ 中检测到硬盘 之 解决方案

黑群晖&#xff1a; 未在 DS918 中检测到硬盘 之 解决方案 操作如下&#xff1a; 进入BIOS&#xff0c;将sata operation 设置为 AHCI 即可

ARMv8架构特殊寄存器介绍-0

一、zero 寄存器 零寄存器用作源寄存器时读取零&#xff0c;用作目标寄存器时丢弃结果。您可以在大多数指令中使用零寄存器&#xff0c;但不是所有指令。二、sp寄存器 在ARMv8架构中&#xff0c;要使用的堆栈指针的选择在某种程度上与Exception级别。默认情况下&#xff0c;异…

套利 19个ETH 案例二解析

交易时间 2024.03.10 &#xff1b; 获利&#xff1a;19eth 套利交易地址&#xff1a; 0x4a3e5209877755c293b39b6cdc9414195cf7c951cd7a36bea426ded224f1b337 交易流程看着比较复杂&#xff1a; 实际核心获利的部分就是第4行的交易和第7行的交易&#xff0c;也是利用了2个交易…