基于优化Morlet小波的一维信号瞬态特征提取方法(MATLAB R2018A)

本文主要是介绍基于优化Morlet小波的一维信号瞬态特征提取方法(MATLAB R2018A),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

小波分析方法近些年逐步得到发展的一门数学分析技术,它对许多学科都有十分重要的影响。与傅立叶变换等其他传统方法相比,小波分解的方法中所用的小波基有着多种多样的结构,总结来说又包括正交小波系与非正交小波系。正交小波在信号处理领域目前有着最多的应用,如Haar小波、Daubechies小波系等。非正交小波这些年来也逐步得到发展和应用,最具有代表性之一的就是Morlet小波。

1988年S.Mallat首先提多分辨率分析这一观点,结合小波基的结构特点,从从几何角度分析了正交小波,并提出了一种基于正交小波的快速算法,即Mallat算法。正因为有了Mallat快速算法,使正交小波在多个领域有了广泛的应用。与有着Mallat算法的正交小波不同,关于非正交小波理论研究及使用的文章相对较少,实际使用也不多见,但最近一些年发展很快。主要有如下几点:

(1)广泛地应用于各类机械故障诊断中。当信噪比不高,而又要被测量的信号有许多需要关注的频带且随时间变化时,非正交小波是一种十分有效的处理方法。

(2)在某些结构封闭,或者正在高速运转的机械进行信号特征提取时,非正交小波有着非常好的效果。

(3)非正交小波在非破坏性监测方面成果显著,如从高速运转的飞机发动机位置采集振动信号,进而提取细节信息来判断发动机的运行情况。

(4)非正交小波在也应用于结构模态参数识别中。

(5)基于非正交小波的滤波技术研究。其中重要研究成果有:基于母小波的低通滤波算法;扫频和脉冲两种激励下的Morlet小波去噪算法。

(6)通过Morlet小波变换获得信号强度随时间变换规律。如家用电器里常用的开关零件,在切换的瞬间会产生高强度的信号变化,通过分析此时的信号可以得到其内部零件的状态、在熔炉运行过程中通过分析其瞬时电压信号改变来判断其运转状态、用Morlet小波变换的方法得到瞬时正弦分量的幅值等。

(7)其他方面的一些应用,如对某些非直线和非稳定信号的测量值与处理结果的对比研究、在有风的情况下四周能量的测定、频带细分应用等。

鉴于此,提出一种基于优化Morlet小波的一维信号瞬态特征提取方法运行环境为MATLAB R2018A。程序测试了模拟信号,地震信号,发动机销子活塞故障振动信号,发动机气门正常振动信号,发动机排气门故障振动信号,结果如下。

图片

图片

图片

图片

图片

完整代码可通过知乎学术咨询获得。

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

这篇关于基于优化Morlet小波的一维信号瞬态特征提取方法(MATLAB R2018A)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Java判断多个时间段是否重合的方法小结

《Java判断多个时间段是否重合的方法小结》这篇文章主要为大家详细介绍了Java中判断多个时间段是否重合的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录判断多个时间段是否有间隔判断时间段集合是否与某时间段重合判断多个时间段是否有间隔实体类内容public class D

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

Java覆盖第三方jar包中的某一个类的实现方法

《Java覆盖第三方jar包中的某一个类的实现方法》在我们日常的开发中,经常需要使用第三方的jar包,有时候我们会发现第三方的jar包中的某一个类有问题,或者我们需要定制化修改其中的逻辑,那么应该如何... 目录一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理一、需求描述需求描述如下:需要在

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行