时间重分配多同步挤压变换在旋转机械轴承故障诊断中的应用(Matlab代码实现)

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

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

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

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

目录

💥1 概述

📚2 运行结果

2.1 算例1

2.2 算例2

 2.3 算例3

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

文献来源:

状态监测(CM)信号中的脉冲特征通常意味着旋转机器中存在缺陷。为了准确捕获CM信号中的脉冲分量,该文提出一种基于时间重分配同步挤压变换(TSST)的集中时频分析(TFA)方法。首先,探讨了TSST方法在处理强频变信号方面的局限性。其次,引入一种迭代程序来解决TSST时频表示模糊问题;还分析了迭代算法的收敛性。最后,提出了一种脉冲特征提取算法进行信号重建,有助于故障类型的准确诊断。本文利用仿真噪声污染信号和3组实验数据对所提方法的性能进行了评价。本文的结果证实,所提方法在处理脉冲类信号方面比其他TFA方法具有更好的性能。

这篇文章,作者最大的贡献在于如何去理解瞬态信号。对一些存在时间极短的瞬态信号,确实不再适合使用时域模型进行分析。然而,频域模型却不受此影响。后面的模态分解算法其实也很有趣。以时频掩码的方式重构信号,常用于语音信号处理,瞬态信号分析中比较罕见。

📚2 运行结果

2.1 算例1

 

2.2 算例2

 

 

 

 

 

 

 

 2.3 算例3

部分代码:

function som=integ2d(mat,x,y);
%INTEG2D Approximate 2-D integral.
%    SOM=INTEG2D(MAT,X,Y) approximates the 2-D integral of  
%    matrix MAT according to abscissa X and ordinate Y.
%
%    MAT : MxN matrix to be integrated
%    X   : N-row-vector indicating the abscissa integration path     
%                (default : 1:N)
%    Y   : M-column-vector indicating the ordinate integration path 
%                (default : 1:M)    
%    SOM : result of integration
%
%    Example :      
%     S = altes(256,0.1,0.45,10000) ;
%     [TFR,T,F] = tfrscalo(S,21:190,8,'auto') ;
%     E = integ2d(TFR,T,F)
%
%

[M,N]=size(mat);

if nargin<1,
 error('At least one parameter required');
elseif nargin==1,
 x=1:N; y=(1:M)';
elseif nargin==2,
 y=(1:M)';
end

[xr,xc]=size(x);
[yr,yc]=size(y);

if (xr>xc & xr~=1),
 error('X must be a row-vector');
elseif (yc>yr & yc~=1),
 error('Y must be a column-vector');
elseif (N~=xc),
 error('MAT must have as many columns as X');
elseif (M~=yr),
 error('MAT must have as many rows as Y');
end

mat = (sum(mat.').'-mat(:,1)/2-mat(:,N)/2).*(x(2)-x(1)) ;
dmat = mat(1:M-1)+mat(2:M) ;
dy = (y(2:M)-y(1:M-1))/2 ;
som = sum(dmat.*dy) ;

function [tfr] = LCT(x,c,fs,h);
%      Linear Chirplet Transform
%    x     : Signal.
%    c     : Chirp Rate.
%    fs    : Sample Frequency.
%    h     : Window Function.

%    tfr   : Time-Frequency Representation.

%  This program is free software; you can redistribute it and/or modify
%  it according to your requirement.

[xrow,xcol] = size(x);

if (nargin < 3),
 error('At least 3 parameter is required');
end;

 N=xrow;
 t=1:xrow;

[trow,tcol] = size(t);
 
[hrow,hcol]=size(h); Lh=(hrow-1)/2; 

tt=(1:N)/fs;
tfr= zeros (N,tcol) ;  

for icol=1:tcol,
 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);
 %rSig = Hilbert(real(rSig));

tfr(indices,icol)=rSig.*conj(h(Lh+1+tau)).*exp(-j * 2.0 * pi * (c/2) * (tt(ti+tau)-tt(icol)).^2)';

end;
tfr=fft(tfr); 

tfr=tfr(1:round(end/2),:);

🎉3 参考文献

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

🌈4 Matlab代码实现

  • 30
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值