用于分析脉冲类信号的二阶瞬态提取变换研究(Matlab代码实现)

news2024/12/25 9:20:37

 

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

文献来源:

该文提出一种高分辨率时频分析方法,称为二阶瞬态提取变换(STET),用于分析具有强脉冲分量的高度非平稳信号,用于机器故障诊断。基于对一阶和二阶频变模型的理论分析,讨论并强调了最近发表的两种后处理技术的局限性。然后提出了一种STET技术来克服这一限制。研究中还介绍了STET的离散实现,并通过一些模拟数值数据和三组实验数据来检查该技术的性能。结果证实了所提技术在分析噪声污染信号以及变化速度条件下获取的轴承缺陷信号方面的有效性。

 原文摘要:

In this paper, a high resolution time-frequency analysis method, termed as second-order transient-extracting transform (STET) is proposed in the analysis of highly non-stationary signals with strong impulse components for machine fault diagnosis. The limitation of two recently published post-processing techniques are discussed and highlighted based on a theoretical analysis of the first and the second-order frequency-varying models. A STET technique is then proposed to overcome this limitation. The discrete implementation of STET is also presented in the study and the performance of the technique is examined by a number of simulated numerical data and three sets of experimental data. The results confirm the effectiveness of the proposed technique in the analysis of noise contaminated signals as well as bearing defect signals acquired under varying speed condition.

滚动体轴承在风力涡轮机、航空发动机和高速列车等旋转机械中起着重要作用。不幸的是,轴承故障是机器故障最常报告的原因之一,研究人员和工程师已经付出了巨大的努力来防止这种情况的发生。基于振动的状态监测(CM)是检测轴承缺陷最有效的非侵入式技术之一,在过去几十年中已被从业人员广泛使用[1],[2]。当滚动体穿过有缺陷的表面或有缺陷的元件在赛车表面上滚动时,将产生脉冲信号,然后通过轴承共振放大该信号,该共振可以通过安装在轴承座上的振动传感器捕获[3],[4]。然而,由于背景噪声和其他来源的信号干扰,轴承缺陷,特别是早期缺陷往往无法检测到,这突出了开发有效信号处理技术以实现准确可靠的轴承故障诊断的必要性。

有效的轴承故障诊断程序的一个关键标准是,即使在机器运行噪音的干扰下,它也能在早期阶段检测到缺陷信息。为此目的,已经开发了各种信号处理技术,这些技术通常可分为三类,例如时域分析,频域分析和时频(TFA)分析(TFA)技术。TFA技术能够处理由负载或工作速度条件变化引起的非平稳CM信号[5],[6],[7],[8],因此已广泛用于机器故障诊断。

短时傅里叶变换(STFT)和小波变换(WT)是机器故障诊断中最常用的两种传统TFA技术。这两种技术都属于线性TFA类别,它通过计算信号和一系列TF基函数之间的内积来表征TF特征[9],[10]。然而,线性TFA技术中设计的基函数在分析的时间范围内被隐含地假设为平稳或准平稳,从而限制了该技术在处理具有快速变化动态的信号中的应用。为了克服这些缺点,近年来提出了几种非线性TFA技术。例如,线性啁啾变换[11]、局部多项式变换[12]、多项式啁啾变换(PCT)[9]、参数化TF变换[10]和匹配解调变换[13]是最近的一些尝试。所有这些方法都旨在基于分析信号的非线性构建新的基函数。新设计的基函数在非平稳信号分析中比线性基函数表现更好,尽管当信号的非线性增加时,它将具有相同的限制。这是因为实际信号的非线性很难提前预测或估计。此外,由于海森堡不确定性原理,这些现有的非线性TFA技术经常受到扩散TF能量问题的困扰。

最近,TFA技术发展的新趋势是使用后处理程序表征非平稳信号的非线性特征,例如重新分配方法(RM)[14],[15],同步挤压变换[16],[17](SST)和同步提取变换(SET)[18],[19],[20],[21].从海森堡不确定性原理中众所周知,由线性TFA技术生成的TF表示(TFR)通常在信号的瞬时频率(IF)轨迹周围拖尾。为了克服这个问题,RM技术将扩散的TF能量重新分配到时间和频率轴的IF轨迹中[14],然后在TF平面中产生更高的能量集中TFR。然而,RM的缺点是TF结果不能用于信号重建。相比之下,由于SST技术仅在频率方向[16]上重新分配TF系数,因此保留了TF结果的重建能力。虽然SST的TF分辨率不高于RM,但由于SST的可逆性,其实际应用要普遍得多。此外,随着高阶SST的发展,已经证明SST分析可以达到比RM [22],[23]更好的分辨率。SST的缺点是当信号被噪声污染时,它缺乏消除噪声干扰的能力。这是因为SST的后处理程序可能会将噪声重新分配到最终的TFR中。为了解决这个问题,SET是最近提出的一种技术,可以保留最相关的TF系数,并丢弃弱相关的TF系数来抑制噪声干扰[18]。

最近发表的一些工作利用SST或SET技术,并将它们与其他非线性TFA方法相结合,以进一步提高SST和SET技术的性能。例如,Wang等人首先构建了一个迭代TFA变换来解调能量集中度高的非线性信号,然后使用SST重新分配相应的TF系数以提高TF分辨率[13]。Shi等人提出了一种广义的逐步解调变换,以配合SST[24]。Tu等人引入了解调SST来处理快速变化的振动信号[5]。Yu等人将PCT与SET相结合,以捕获非平稳信号中不断变化的动态[25]。

对于SST和SET来说,他们通过假设信号的IF可以局部近似为所分析窗口帧中的时间不变段来分析信号。SST和SET也已扩展到高阶多项式模型,用于分析更复杂的信号。理论上,这种高阶方法具有更好的处理包含强时变模式的信号的能力。例如,Oberlin等人通过定义二阶调频信号的精确IF估计值[22]提出了一种集中SST技术。Wang等人通过构建IF估计来精确匹配快速变化信号的特性,从而引入了改进的SST[3]。Pham等人使用IF的高阶估计提出了广义SST[23]。Hu等人提出了一种基于WT的高阶SST[26]。而Yu等人采用固定点迭代算法逐步提高了SST的TF分辨率[27]。

然而,时变模型不能很好地近似脉冲信号,因为缺陷产生的脉冲通常发生在非常短的时间内并且具有宽带频率。这意味着上述TFA技术所做的时变假设不能很好地表征轴承故障产生的信号。最近发表的一些技术,如时间重分配SST [28]和瞬态提取变换(TET)[29],它们使用替代的频变模型,试图克服上述TFA技术在脉冲类信号分析中使用的时变模型的限制。然而,这两种技术在分析更复杂的信号时是不够的,因为它们是基于一阶模型建立的。针对这一问题,该文提出一种基于TET框架的二阶频变模型的能量集中TFA用于类脉冲信号的分析。

📚2 运行结果

 

 

 

部分代码:

function [Te2] = STET_Y(x,hlength)
% Computes the second-order transient-extracting transform (STET) of the signal x.
% INPUT
%    x      :  Signal needed to be column vector.
%    hlength:  The length of window function.

% OUTPUT
%    Te2     :  The STET result
[xrow,xcol] = size(x);
if (xcol~=1),
    error('X must be column vector');
end;
N=xrow;

% hlength: the length of window function.
hlength=hlength+1-rem(hlength,2);
ht = linspace(-0.5,0.5,hlength);ht=ht';
% Gaussian window
h = exp(-0.5*ht.^2/0.02);
% derivative of window
dh = -ht .* h/0.02; % g'

[hrow,~]=size(h); Lh=(hrow-1)/2;

tfr1= zeros (round(N/2),N) ;% G(t,w);
tfr2= zeros (round(N/2),N) ;% Gg'(t,w);
tfr3= zeros (round(N/2),N) ;% Gsu(t,w);

t=1:N;
su=x.*t';% s*u;

for icol=1:N,
    ti= t(icol); tau=-min([round(N/2)-1,Lh,ti-1]):min([round(N/2)-1,Lh,xrow-ti]);
    indices= rem(N+tau,N)+1;
    rSig = x(ti+tau,1);
    suSig = su(ti+tau,1);
    tfr1(indices,icol)=rSig.*h(Lh+1+tau);% G(t,w)*exp(iwt);
    tfr2(indices,icol)=rSig.*dh(Lh+1+tau);% Gg'(t,w)*exp(iwt);
    tfr3(indices,icol)=suSig.*h(Lh+1+tau);% Gsu(t,w)*exp(iwt);

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

🌈4 Matlab代码实现

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【TCP/IP】基于TCP的服务器端/客户端 II - 迭代服务器/客户端的概念与实现

1. 迭代服务器端/客户端 1.1 迭代服务器实现 1.2 迭代回声服务器端/客户端 2 回声客户端存在的缺陷 1. 迭代服务器端/客户端 在此之前,让我们先补充一个“回声服务器/客户端”的概念。回声(echo)服务器/客户端是指服务器端将客户端传输的字…

干货 | 郭晓雷:数智安全监管机制研究与思考

作者:郭晓雷本文约4300字,建议阅读8分钟 本文报告的主要内容关于数据安全,从学术或者技术的角度,更多地认为人工智能是数据处理的新技术,其应用会产生更加丰富的数据处理活动场景。 郭晓雷:今天报告的主要内…

【U8+】用友U8查询出库汇总表没有“计量单位”列

【问题描述】 在用友U8软件中, 查询存货核算模块下的【出库汇总表】后, 没有【计量单位】列, 但是汇总依据中,可以明显看到是包含“计量单位”的。 【解决方法】 首先明确一点,在查询条件中的【汇总依据及排序方式】…

可再生能源的不确定性和储能系统的时间耦合的鲁棒性和非预期性区域微电网的运行可行性研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

4.Python高频函数—数据分割split()

这里是针对dataframe 的数据的列中的字符串进行分割、分列,首先需要先用.str将这一列转换为类似字符串的格式,然后再使用split()方法。 Part.1 split()函数 根据分隔符或正则表达式对字符串进行拆分;返回数据框(DataFrame&#x…

位运算总结

位运算 有符号整数无符号整数位移运算 1计算机中数字的表示 计算机只有0,1两个数字,所以我们常用的10进制计算 所以我们需表示10进制 要使用二进制来表示10进制数 进制表示法 我们假设一个 8 位的数据类型 方案1 2:0000 0010 我们会发现…

FPGA 的数字信号处理:Verilog 实现简单的 FIR 滤波器

该项目介绍了如何使用 Verilog 实现具有预生成系数的简单 FIR 滤波器。 绪论 不起眼的 FIR 滤波器是 FPGA 数字信号处理中最基本的模块之一,因此了解如何将具有给定抽头数及其相应系数值的基本模块组合在一起非常重要。因此,在这个关于 FPGA 上 DSP 基础…

FPGA驱动FT601实现USB3.0通信测速试验 提供工程源码和QT上位机源码

目录 1、前言2、FT601芯片解读和时序分析FT601功能和硬件电路FT601读时序解读FT601写时序解读 3、我这儿的 FT601 USB3.0通信方案4、vivado工程详解5、上板调试验证6、福利:工程代码的获取 1、前言 目前USB3.0的实现方案很多,但就简单好用的角度而言&am…

【见微知著】Android Jetpack - Navigation的架构设计

前言:人总是理所当然的忘记,是谁风里雨里,一直默默的守护在原地。 前言 Navigation 作为 Android Jetpack 组件库中的一员,是一个通用的页面导航框架。为单 Activity 架构而生的端内路由导航,用来管理 Fragment 的切换…

使用IDEA使用Git:Git使用指北——实际操作篇

Git使用指北——实际操作 🤖:使用IDEA Git插件实际工作流程 💡 本文从实际使用的角度出发,以IDEA Git插件为基座讲述了如果使用IDEA的Git插件来解决实际开发中的协作开发问题。本文从 远程仓库中拉取项目,在本地分支进行开发&…

数据结构-Redis(一)

Redis除了性能强外,还有数据结构丰富多彩。 一、String 单值缓存 SET key value GET key 存对象 相信大家都存过,我们一般都是把对象value转json,获取的时候,再json转对象 SET user:1 value(json值) 但当我们需要对对象某…

推荐一款可匹敌国际大厂的国产企业级低无代码平台

文章目录 前言:亟待转型的软开创业者什么是低/无代码居高不下的企业级软件搭建成本1. 开发周期较长2. 在需求明确、软件修改、系统集成等方面存在多种卡点3. 数据管理混乱 无代码/低代码开发,时代的潮流无代码平台 smardaten1. smardaten 简介2. smardat…

ATK-MD0096-V21使用手册

ATK-0.96’ OLED_V2.0(V2.0 是版本号,下面均以 OLED 表示该产品)是 ALIENTEK 推出的一款高性能 OLED 显示模块,,尺寸小巧(27mm26mm),结构紧凑,模块通过一个28P的排针与外部连接。 8080并口模式…

「Win」Windows环境变量介绍与操作

✨博客主页:何曾参静谧的博客 📌文章专栏:「Win」Windows程序设计 相关术语 Windows环境变量:是一组用于存储系统和应用程序配置信息的变量,在Windows操作系统中起着非常重要的作用。本文将详细介绍Windows环境变量的概…

机器学习常识 22: 循环神经网络

摘要: 循环神经网络 (Recurrent Neural Network, RNN) 用于处理序列数据. 本贴以前的算法, 我都用 Java 代码实现过. 很遗憾, 从本贴开始, 就只知道一点概念了. 1. 动机 序列数据中, 前后数据之间不是独立的, 而是会产生上下文影响. 如: 文本, 机器翻译一个句子的时候, 不是…

寻访 | 北京量子信息研究院

前言:为了普及科学技术知识、传播科学思想,光子盒特开启「寻访」专栏,带领各位读者探访全球的量子工厂和实验室。 2023年5月30日下午,为期6天的“2023中关村论坛主会期”落下帷幕。 量子计算、区块链、脑机接口、新能源材料——围…

最优化简明版(下)

最优化方法 牛顿法和拟牛顿法都是求解无约束最优化问题的常用方法,具有收敛速度快的优点。牛顿法是迭代算法,每一步需要求解目标函数的海森矩阵的逆矩阵,计算比较复杂,而且有时候海森矩阵不一定存在逆阵。拟牛顿法通过正定矩阵近…

【软件测试】测试经验:「测试用例」设计、审查、管理

目录 一、测试用例的设计 (1)测试用例 ① 测试用例的概念 ② 测试用例的功能 ③ 良好测试用例的特征 ④ 测试用例设计的概念 (2)测试用例设计考虑因素 ① 测试用例设计的主要影响因素 ② 测试用例设计的基本思想 &…

C#,码海拾贝(36)——求“实对称矩阵““特征值与特征向量“的“雅可比过关法“之C#源代码

using System; namespace Zhou.CSharp.Algorithm { /// <summary> /// 矩阵类 /// 作者&#xff1a;周长发 /// 改进&#xff1a;深度混淆 /// https://blog.csdn.net/beijinghorn /// </summary> public partial class Matrix {…

【SpringBoot+MyBatis】项目的Invalid bound statement (not found)错误

一、注意&#xff1a;我的mapper.xml在静态资源resources文件夹下 二、报错原因&#xff1a; 1、没有在 MyBatis 配置文件中正确配置 Mapper.xml 文件的位置或者配置了错误的位置 (本人出现的问题) 解决方案&#xff1a;在application.yml中添加 mapper-locations。 mybatis:…