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等。

最近更新

  1. TCP协议是安全的吗?

    2024-03-20 09:56:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-20 09:56:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-20 09:56:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-20 09:56:05       18 阅读

热门阅读

  1. 5.77 BCC工具之solisten.py解读

    2024-03-20 09:56:05       19 阅读
  2. Docker 相关内容记录

    2024-03-20 09:56:05       20 阅读
  3. Docker容器引擎

    2024-03-20 09:56:05       16 阅读
  4. 【vscode 常用扩展插件】

    2024-03-20 09:56:05       23 阅读
  5. Mac改造计划

    2024-03-20 09:56:05       20 阅读
  6. 【晴问算法】入门篇—数学问题—西西弗斯串

    2024-03-20 09:56:05       25 阅读
  7. 计算机网络——HTTP

    2024-03-20 09:56:05       22 阅读
  8. Linux小白进阶之路:TOP 10命令详解

    2024-03-20 09:56:05       15 阅读
  9. Webpack的构建流程

    2024-03-20 09:56:05       17 阅读
  10. 算法笔记p414拓扑排序

    2024-03-20 09:56:05       21 阅读