旋转机械故障诊断中的频带选择(FBS)研究(Matlab代码实现)

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

旋转机械故障诊断中的频带选择(FBS)旨在识别频带位置,包括全频带外的故障瞬变,因此故障诊断可以抑制来自其他频率分量的噪声影响。冲动性和循环平稳性最近被认为是瞬态的两个独特特征。因此,许多研究都集中在开发两种特征的量化指标上,并将它们用作指导FBS的指标。然而,大多数以前的研究几乎忽略了FBS的另一个方面,即健康参考,这显着影响FBS的性能。为了解决这个问题,本文调查了健康参考的重要性,并将其视为FBS的第三个关键方面。借助健康参考,
可以定位故障瞬变存在的频段。提出了一种基于分类的新方法,将FBS的所有三个方面(冲动性、循环平稳性和健康参考)整合在一起。分类精度被开发为一种新的指标,用于选择最敏感的频段进行旋转机械故障诊断。所提出的方法(由accugram创造)已在基准和实验数据集上得到验证。比较结果表明,与传统包络分析、库尔图和信息图相比,其有效性和鲁棒性。

📚2 运行结果

 部分代码:

function [fc,bw,level,acc,accMatrix] = accugram(x,xLabel,N,overlap,Fs,nlevel,isPlot)


%
% This function is to implement the ACCUGRAM method. If you have any problems, feel free to contact Zhiliang_Liu@uestc.edu.cn
%
% Inputs:
% [1] x         : [healthy; test]
% [2] xLabel    : 2-by-1 vector, where 0 = healthy; 1 = test
% [3] N         : the number of segments
% [4] overlap   : overlap for two neighbor segments
% [5] Fs        : sampling frequency
% [6] nlevel    : the number of level
% [7] isPLot    : 1 = accugram plot; otherwise, 0.
%
% Outputs:
% [1] fc        : center frequency
% [2] bw        : bandwidth
% [3] level     : level index
% [4] acc       : classificaiton accuracy
% [5] accMatrix : all values in an accugram
%
% References:
% [1] Zhiliang Liu, Yaqiang Jin, Ming J. Zuo, and Dandan Peng. ACCUGRAM: a machine learning approach to frequency band selection for rotating machinery fault diagnosis. ISA Transactions, Submitted May 18, 2018, Under Review.

if nargin ~= 7 error('nargin does not match!'); end

[xSegment,label] = slidingSegmentation(x,xLabel,N,overlap);

% Freqeuncy band partition
% m = size(xSegment,1);
m = 2*N; % number of samples for accuracy representation
lev = 2.^[0:nlevel];
temp = [3*lev(2)/2 3*lev(2:end-2);lev(3:end)];
lev = [lev(1) lev(2) temp(:)']; % number of bands in each level
row = length(lev); % row number of accugram
col = 3*2^nlevel; % column number of accugram

accMatrix = zeros(row,col); % accugram matrix
bandNum = sum(lev); % number of frequency band candidates
xMatrix = zeros(bandNum,2*m); % feature matrix for each band candidate, 2 means two features
 

🎉3 参考文献

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

[1]金桐彤. 考虑域影响的旋转机械故障诊断方法研究[D].吉林大学,2022.DOI:10.27162/d.cnki.gjlin.2022.007800.

[2]Zhiliang Liu, Yaqiang Jin, Ming J. Zuo, and Dandan Peng. ACCUGRAM: a novel approach based on classification to frequency band selection for rotating machinery fault diagnosis. ISA Transactions, Available online 15 May 2019.

🌈4 Matlab代码实现

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值