MATLAB环境下基于K-SVD的一维时间序列信号瞬态特征提取

2024-03-20 02:28

本文主要是介绍MATLAB环境下基于K-SVD的一维时间序列信号瞬态特征提取,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

当旋转机械某一零部件发生故障时,其振动信号中就会产生周期性循环冲击响应—瞬态成分,这些瞬态成分往往包含着重要的故障信息。因此,利用合适的方法对振动信号中因局部故障引起的瞬态冲击响应成分进行提取是一种较为有效的旋转机械零部件故障诊断方法。然而在实际的振动信号中,往往包含着较多的工频振动、谐波振动以及背景噪声成分,要提取湮没在众多干扰成分中的瞬态特征成分,历来是旋转机械故障诊断领域的一大难点。

根据稀疏表示理论,考虑到在恒定转速工况下,因齿轮或轴承局部故障导致振动信号中产生的的瞬态成分具有循环往复的特征,这些具有重要故障信息的故障特征瞬态成分可在某些特定的字典上稀疏表示;而噪声成分对该字典不敏感,即噪声成分不能够在该特定的字典上稀疏表示。因此,对含有噪声背景的旋转机械零部件局部故障振动信号可以通过信号稀疏分解的方法提取故障特征。

鉴于此,提出一种基于K-SVD的一维时间序列信号瞬态特征提取方法,该程序利用K-SVD算法对一维时间序列信号进行瞬态特征提取,并给出几个例子,分别为模拟信号,轴承故障振动信号,发动机气门正常振动信号,发动机进气门故障振动信号的例子,发动机排气门故障振动信号,部分代码如下:

% 加载发动机排气门故障振动信号
load 3.txt
s =X3(1:N);
ss=s;
subplot(211)
plot1(t,s,1,1);         %画出原信号时域图  
title('原始信号')
xlim([0 max(t)])
subplot(212)
EnvelSpec(ss,fs,200);
xlabel('\fontsize{15}\fontname{Times New Roman}\itf\rm\bf / \rmHz');
ylabel('\fontsize{15}\fontname{Times New Roman}\it A');
set(gca,'fontsize',15);
xlim([0 1000])
title('包络谱')

部分出图如下:

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

MATLAB环境下基于K-SVD的一维时间序列信号瞬态特征提取

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

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

这篇关于MATLAB环境下基于K-SVD的一维时间序列信号瞬态特征提取的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java中字符串转时间与时间转字符串的操作详解

《Java中字符串转时间与时间转字符串的操作详解》Java的java.time包提供了强大的日期和时间处理功能,通过DateTimeFormatter可以轻松地在日期时间对象和字符串之间进行转换,下面... 目录一、字符串转时间(一)使用预定义格式(二)自定义格式二、时间转字符串(一)使用预定义格式(二)自

使用Python实现图像LBP特征提取的操作方法

《使用Python实现图像LBP特征提取的操作方法》LBP特征叫做局部二值模式,常用于纹理特征提取,并在纹理分类中具有较强的区分能力,本文给大家介绍了如何使用Python实现图像LBP特征提取的操作方... 目录一、LBP特征介绍二、LBP特征描述三、一些改进版本的LBP1.圆形LBP算子2.旋转不变的LB

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法

《golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法》:本文主要介绍golang获取当前时间、时间戳和时间字符串及它们之间的相互转换,本文通过实例代码给大家介绍的非常详细,感兴趣... 目录1、获取当前时间2、获取当前时间戳3、获取当前时间的字符串格式4、它们之间的相互转化上篇文章给大家介

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n