一维时间序列信号的小波时间散射变换(MATLAB 2021)

2024-06-06 02:52

本文主要是介绍一维时间序列信号的小波时间散射变换(MATLAB 2021),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

小波散射变换的目的在于获取第一层次的特征信息,即免疫平移、轻微形变的信息。而低通的滤波器能够获取输入信号的概貌,获取反映其整体大尺度特征的信息,以图像为例,由低通滤波器选取的信号对于图像的平移、伸缩、旋转等局部变化有良好的不变性。因此,小波散射变换获取了这一部分的信息。

相应的,高频部分的信号则对于信号的平移、伸缩、轻微形变类的变化具有协变性。换而言之,带通滤波器选取的信号成分受平移、伸缩、旋转等变化的影响较大,越是高频处的滤波选取越易受这些变化的影响。高频信息中包含着对提取共性特征不利的成分。但是,仅获取低频信息就意味着把包含重要信息成分的高频部分丢弃掉,这对于特征提取来说是一种损失。可以认为,散射变换最重要的目的就是在获取高频信息的同时,丢弃掉其对平移、形变敏感的部分。散射变化对此采取了如下的形式:

图片

总的来说,小波散射变换的形式可以归结为,对信号做尺度不同的小波变换,对其进行取模,继而对变换结果做一个低通滤波,所得即是所提取的特征。从数学上的理解来看,由于同一小波的正交特性,不同特征间应是不具有相关性,每一个各代表了图像一部分的特征信息,所有层特征的组合即可认为是散射网络从中获取的特征之和。不同于卷积神经网络,散射网络每一层的特征提取器是复数个而非单一特征提取器,且每一层用的都是同一套特征提取器。这与其他的多层架构网络也不同。同时,不同于卷积神经网络只用最后一层的输出,即将经过所有特征提取器的信息来作为最后的特征输出,散射网络在所有层都有输出,最后将这些输出的特征组合来作为总的输出特征。最后也是最显著的一点,散射网络不是前馈式网络,它的所有卷积核都是预先选定的,换句话说,在对图像进行特征提取之前,它所要提取的目标特征就是确定的。这样做的好处在于,省略了训练的过程,可以根据理论提取到具有目标性质的特征,计算量大大减少的同时也具有了结果的理论解释,这是一种介于传统图像识别和深度学习之间的算法。

鉴于此,采用小波时间散射变换对一维时间序列信号进行分析,运行环境为MATLAB 2021B。

图片

图片

图片

图片

图片

for nl = 1:numel(fb)phift = self.filters{fb(nl)}.phift;psift = self.filters{fb(nl)}.psift;% Obtain wavelet filterspositiveMag2Psift = psift.*conj(psift);negativeMag2Psift = circshift(flip(positiveMag2Psift),1);positiveMag2Psift = sum(positiveMag2Psift,2);negativeMag2Psift = sum(negativeMag2Psift,2);Mag2Phift = phift.*phift;lpsum(:,nl) = Mag2Phift+1/2*(positiveMag2Psift+negativeMag2Psift);
完整代码https://mbd.pub/o/bread/mbd-ZJyYmZxq
end

工学博士,担任《Mechanical System and Signal Processing》《中国电机工程学报》《控制与决策》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

这篇关于一维时间序列信号的小波时间散射变换(MATLAB 2021)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1034892

相关文章

Java实现时间与字符串互相转换详解

《Java实现时间与字符串互相转换详解》这篇文章主要为大家详细介绍了Java中实现时间与字符串互相转换的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、日期格式化为字符串(一)使用预定义格式(二)自定义格式二、字符串解析为日期(一)解析ISO格式字符串(二)解析自定义

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

Python如何获取域名的SSL证书信息和到期时间

《Python如何获取域名的SSL证书信息和到期时间》在当今互联网时代,SSL证书的重要性不言而喻,它不仅为用户提供了安全的连接,还能提高网站的搜索引擎排名,那我们怎么才能通过Python获取域名的S... 目录了解SSL证书的基本概念使用python库来抓取SSL证书信息安装必要的库编写获取SSL证书信息

MySQL 日期时间格式化函数 DATE_FORMAT() 的使用示例详解

《MySQL日期时间格式化函数DATE_FORMAT()的使用示例详解》`DATE_FORMAT()`是MySQL中用于格式化日期时间的函数,本文详细介绍了其语法、格式化字符串的含义以及常见日期... 目录一、DATE_FORMAT()语法二、格式化字符串详解三、常见日期时间格式组合四、业务场景五、总结一、

如何利用Java获取当天的开始和结束时间

《如何利用Java获取当天的开始和结束时间》:本文主要介绍如何使用Java8的LocalDate和LocalDateTime类获取指定日期的开始和结束时间,展示了如何通过这些类进行日期和时间的处... 目录前言1. Java日期时间API概述2. 获取当天的开始和结束时间代码解析运行结果3. 总结前言在J

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

关于最长递增子序列问题概述

《关于最长递增子序列问题概述》本文详细介绍了最长递增子序列问题的定义及两种优化解法:贪心+二分查找和动态规划+状态压缩,贪心+二分查找时间复杂度为O(nlogn),通过维护一个有序的“尾巴”数组来高效... 一、最长递增子序列问题概述1. 问题定义给定一个整数序列,例如 nums = [10, 9, 2

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依

Go Mongox轻松实现MongoDB的时间字段自动填充

《GoMongox轻松实现MongoDB的时间字段自动填充》这篇文章主要为大家详细介绍了Go语言如何使用mongox库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码,需要的可以... 目录前言时间字段填充规则Mongox 的安装使用 Mongox 进行插入操作使用 Mongox 进行更