Python环境下一维时间序列的高斯均值滤波分解方法

信号分解是一种可以将复杂的观测信号分解为若干子信号的时频分析技术。该技术可以通过分解得到的子信号来有效表征观测信号内部的时频特性,进而能够从观测信号中提取出有用信息。因此,信号分解在信号处理领域中发挥着重要的作用。

傅里叶分解是早期常用的信号分解方法,最初被提出用于分析热过程,该方法可以将信号表征为多个正弦波和余弦波的线性组合,并且能够实现信号从频域到时域的转换,可以很好的反映出信号的时频特性,有利于研究学者在频域处理和分析观测信号。而之后提出的快速傅里叶变换,更是大大地减少了傅里叶分解在离散实数域中的运算成本,使其实用性获得了显著提高。然而,傅里叶分解是一种全局变换,其适用性局限于平稳(信号的频率不随时间变化而变化)信号和线性系统。在实际生活中,观测信号往往是(信号的频率随时间变化而变化)非平稳和非周期的。傅里叶分解只能够反映出观测信号内所含有的频率成分,而并不能反映出信号的频率随时间变化的细节信息。而这些细节信息往往是人们所要关注的,例如:音乐声中音调的变化和灯光秀中光照的变化。

短时傅里叶变换被提出用于解决上述问题。该方法的基本思想是:设定一个可以使分析信号在局部时间区间内进行时频转换的窗函数,假设观测信号在一个宽度较短的时间区间内是接近于平稳的,移动窗函数使信号在不同的有限时间区间内近似是平稳信号,从而同时得到时间和频率信息。当信号的震荡次数比较频繁时,则需要有较长的时间窗口来保证较高的时间分辨率;而当信号是变化比较平缓的低频信号时,则需要有较短的时间窗口来保证较高的频率分辨率。然而,短时傅里叶变换窗函数受到不确定准则的限制,并不能同时满足频率与时间分辨率的要求。

随后,小波分析应运而生。小波分析是一种著名的时频分析方法,并且能够通过滤波器组来实现。小波分析将输入信号分解为子带分量,每个子带分量都位于不同的频带。然后根据这些子带组件的特性定制子带处理单元。由于滤波器组系统利用了输入信号的频率特性,因此通常能获得很好的性能。小波分析的功能主要是由平移因子和尺度因子来实现。首先,通过改变平移因子,使得不同尺度的小波基在时间上进行平移,进而可以分析不同时间段内信号频率的变化,从而实现时频分析;其次,通过改变尺度因子,将信号线性投影到一个宏观尺度的预定义的小波基上,得到宏观分量。然后,将宏观分量进一步线性投影到相同或不同的预定义小波基上,得到细节分量,从而实现多尺度分析。由于这两个上述的优点,使得小波分析能够在高频信号处来保证较高的时间分辨率和在低频信号处保证较高的频率分辨率,小波分析也因此被称为“数学显微镜”,并有着广泛的应用。但是,小波分析在使用前需要预先设定小波基,而设定好的小波基的适用性局限于某些信号,因此,小波分析缺乏自适应性。

自适应信号分解是一类能够有效克服上述方法存在的缺陷的非线性信号分析,适用于非稳态信号的分析。EMD是由美国科学院院士黄颚在1998年所提出的一种自适应(数据驱动)信号分解技术。通过筛选过程,EMD将观测信号自适应表征为称为IMFs的振荡分量之和。由于这是一个自适应过程,这种分解依赖于信号本身,而不是任何预定义的基函数。另一方面,EMD是将原始信号的固有时间尺度从微观的时间尺度(高频分量)依次提取到宏观的时间尺度(低频分量)的一种自适应和非线性的时频表征。此外,由于这是一个非线性过程,在实际应用中和理论研究中被应用于非稳态信号分析。

而奇异谱分析SSA同样也是将原始信号表征为多个可阐释的SSA分量的叠加的自适应和非线性的信号时频分析技术。SSA是进行基于子空间的时间序列分析和预测的有用工具。SSA根据原信号本身构造出轨迹矩阵,并对轨迹矩阵及其转置矩阵的乘积进行特征值分解而得到特征值和相应的特征向量。然后,由特征值和相应的特征向量能进一步获得二维SSA矩阵。最后经过去汉克尔化过程,二维SSA矩阵被转化为代表着原信号不同成分的一维SSA分量。SSA同样也在非稳态信号分析中有着广泛的应用。

非线性自适应的信号分解方法,能够适用于许多复杂非稳态信号的处理,从而能够提取出有效信息用于信号时频分析。因此,不少研究学者将其应用到实际的场景中,如:缺陷检测,医学诊断和信号去噪等等,具有一定的研究意义。基于此,提出一种新的自适应信号分解方法-高斯均值滤波分解方法,可用于一维时间序列信号的分解,程序运行环境为Python,给出了两个信号分解的例子,所用模块如下:

     import matplotlib
     import matplotlib.pyplot as plt
     import numpy as np
     from numpy import linalg as LA
     from scipy import signal
     from scipy import ndimage
     from scipy.ndimage import gaussian_filter1d
     import math

出图如下:

完整代码:Python环境下一维时间序列的高斯均值滤波分解方法

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

论文学习——基于枢轴点预测和多样性策略混合的动态多目标优化

论文题目:A dynamic multi-objective optimization based on a hybrid of pivot points prediction and diversity strategies 基于枢轴点预测和多样性策略混合的动态多目标优化(Jinhua Zheng a,b,d, Fei Zhou a,b,∗, Juan Zou a,b, Shengxiang Yang a…

mysql数据库(下)

目录 约束 约束的概念和分类 1、约束的概念: 2、约束的分类 1、主键约束 2、默认约束 3、非空约束 4、唯一约束 5、外键约束 约束 约束的概念和分类 1、约束的概念: 约束时作用于表中列上的规则,用于限制加入表的数据约束的存在保证…

Java学习笔记------常用API(二)

Object 无有参构造 public Object() 空参构造 成员方法: public String toString() 返回对象的字符串表示 public boolean equals(object obj) 比较两个对象是否相等 Object默认用号比较地址值,需要重写才能比较属性值 protected O…

知识文档管理系统平台:企业管理的王炸

无论是企业内部的文件共享,还是团队之间的协作编辑,知识文档管理系统都能发挥巨大的作用。它帮助企业整理、存储和查找各种文档资料,这不仅能提高企业的工作效率,还能增强企业的竞争力。今天就跟着LookLook同学一起来深入了解知识…

4款好用的AI写作软件推荐,让你成为写作大神

写作已经成为我们日常生活和工作中必不可少的一部分,当我们在还绞尽脑汁的去想如何写作的时候,别人已经弯道超车用上了人工智能写作软件,今天,小编想为大家推荐4款好用的AI写作软件,让你在几秒钟内生成高质量文章的同时…

ADGUARD规则备份

ADGUARD规则备份 文章目录 ADGUARD规则备份使用方法规则 使用方法 规则 123pan.com###app > div.ant-spin-nested-loading.global-loading > div.ant-spin-container > div > div.appdiv.web-wrap > div.banner-container-pc:nth-child(3) bilibili.com###comm…

【Typescript】any和unknown的区别

any----没有任何约束【JavaScript中基本都是 any类型,可随意赋值】 unknow----可以接受任何类型的赋值,但不可以赋值给其他任意类型【除非使用as断言转换】 let o:number[] [1,2,3]// 可接收任何类型 let a:unknown o// 不可传递给其他类型 let x:st…

基于SpringBoot的“实习管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“实习管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统首页界面图 学生注册界面图 后台登录界面图 …

本地mysql5.7以上版本配置及my.ini

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 往期热门专栏回顾 专栏…

当页面滚动到指定位置时,底部按钮出现并固定到底部——js基础积累

需求场景&#xff1a; 当页面滚动到指定位置时&#xff0c;底部按钮出现并固定到底部。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><metaname"viewport"content"widthdevice-width, user…

Jetpack Compose 动画正式开始学习

1. 简单值动画 //将一个Color简单值 从一个值 变化到另一个 另一个简单值 就用 animateColorAsStateval backgroundColor by animateColorAsState(if (tabPage TabPage.Home) Purple100 else Green300) 动画其实就是 一个状态不停发生改变导致 组件不断重组产生的过程 2.…

iPhone, Android 手机是如何收到推送通知的?

本文转自 公众号 ByteByteGo&#xff0c;如有侵权&#xff0c;请联系&#xff0c;立即删除 iPhone, Android 手机是如何收到推送通知的&#xff1f; 我们的手机或电脑是如何收到推送通知的&#xff1f; 通常我们可以使用消息解决方案 Firebase 来支持通知推送。下图显示了 Fi…

刷题DAY21 | LeetCode 530-二叉搜索树的最小绝对差 501-二叉搜索树中的众数 236-二叉树的最近公共祖先

530 二叉搜索树的最小绝对差&#xff08;easy&#xff09; 给你一个二叉搜索树的根节点 root &#xff0c;返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数&#xff0c;其数值等于两值之差的绝对值。 思路&#xff1a;双指针法 代码实现&#xff1a; class So…

ArmSoM Rockchip系列产品 通用教程 之 RTC 使用

1. RTC 简介​ RTC&#xff1a;(Real_Time Clock)&#xff1a;实时时钟 HYM8563是一种低功耗实时时钟&#xff08;RTC&#xff09;芯片&#xff0c;用于提供精确的时间和日期信息。它提供一个可编程的时钟输出&#xff0c;一个中断输出和一个掉电检测器&#xff0c;所有的地址…

从零开始,一步步构建服务网格istio

一、环境情况 环境&#xff1a;Ubuntu20.04 机器数量&#xff1a;单机1台 IP&#xff1a;10.9.2.83 二、准备知识 为什么使用 Istio&#xff1f; Istio提供了一种更高级别的服务网格解决方案&#xff0c;它可以简化和加强 Kubernetes 集群中的服务间通信、流量管理、安全…

SpringBoot配置加载顺序和SpringBoot分离打包:将jar包与lib依赖、配置文件分开

文章目录 一、SpringBoot配置加载顺序1.SpringBoot配置优先级&#xff08;1&#xff09;命令行参数&#xff08;2&#xff09;配置文件 二、SpringBoot分离打包&#xff1a;将jar包与lib依赖、配置文件分开1.pom文件配置2.打包后的目录结构 一、SpringBoot配置加载顺序 官方文…

下载文件,无法获取header中的Content-Disposition

问题&#xff1a;axios跨域请求时&#xff0c;无法获取header中的Content-Disposition&#xff0c;并且network中已显示Content-Disposition 在使用CORS方式跨域时&#xff0c;浏览器只会返回默认的头部Header 解决&#xff1a; 后端在返回时&#xff0c;需要设置公开的响应…

C++第三弹---C++入门(下)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 C入门 1、内联函数 1.1、概念 1.2、特性 2、auto关键字(C11) 2.1、类型别名思考 2.2、auto简介 2.3、auto的使用细则 2.3、auto不能推导的场景 …

Transformer家族

在《Transformer原理》中我们介绍了&#xff0c;现在很多大模型都是基于Transformer&#xff0c;其中最出名就是GPT和BERT模型&#xff0c;在GPT和BERT模型被提出来之后&#xff0c;NLP领域也出现了基于Transformer结构的模型&#xff0c;按照模型结构基本可以分为三类&#xf…

(2022级)成都工业学院Java程序设计(JAVA)实验一:编写一个简单的Java程序

写在前面 1、基于2022级软件工程/计算机科学与技术实验指导书 2、代码仅提供参考 3、如果代码不满足你的要求&#xff0c;请寻求其他的途径 运行环境 window11家庭版 IntelliJ IDEA 2023.2.2 jdk17.0.6 实验要求 1、 控制台菜单。要求如下&#xff1a; 1&#xff09;…