💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
💥1 概述
旋转机械故障诊断中的频带选择(FBS)研究
旋转机械故障诊断中的频带选择(FBS)旨在识别频带位置,包括全频带外的故障瞬变,因此故障诊断可以抑制来自其他频率分量的噪声影响。冲动性和循环平稳性最近被认为是瞬态的两个独特特征。因此,许多研究都集中在开发两种特征的量化指标上,并将它们用作指导FBS的指标。然而,大多数以前的研究几乎忽略了FBS的另一个方面,即健康参考,这显着影响FBS的性能。为了解决这个问题,本文调查了健康参考的重要性,并将其视为FBS的第三个关键方面。借助健康参考,
可以定位故障瞬变存在的频段。提出了一种基于分类的新方法,将FBS的所有三个方面(冲动性、循环平稳性和健康参考)整合在一起。分类精度被开发为一种新的指标,用于选择最敏感的频段进行旋转机械故障诊断。所提出的方法(由accugram创造)已在基准和实验数据集上得到验证。比较结果表明,与传统包络分析、库尔图和信息图相比,其有效性和鲁棒性。
一、引言
旋转机械作为工业生产中的核心部件,其可靠运行直接关系到生产效率和安全。然而,由于长期在高负荷、复杂工况下运行,旋转机械极易发生各种故障。及时、准确地诊断这些故障,对于保障设备安全、降低维护成本至关重要。频带选择(Frequency Band Selection, FBS)作为信号处理和特征提取的关键环节,在旋转机械故障诊断中扮演着举足轻重的角色。
二、频带选择的理论基础
- 旋转机械振动理论
- 旋转机械常见的故障,如轴承故障、齿轮故障、不平衡、不对中等,都会在特定的频率范围内产生显著的振动特征。
- 这些特征频率与设备的几何尺寸、转速、零件缺陷等因素密切相关。例如,轴承的内圈、外圈、滚珠和保持架的故障分别对应不同的特征频率,齿轮的故障则与齿轮的啮合频率及其谐波相关。
- 信号处理理论
- 傅里叶变换可以将时域信号转换到频域,揭示信号的频率成分。
- 各种滤波技术,如带通滤波、带阻滤波、高通滤波和低通滤波,可以有选择地保留或去除特定频带的信息。
- 小波变换、经验模态分解(EMD)等时频分析方法可以更精细地分析信号的频率特征,为频带选择提供更全面的信息。
三、常用的频带选择方法
- 基于经验的频带选择
- 原理:根据对旋转机械故障特征频率的先验知识,预先确定故障特征频率所在的频带范围。
- 步骤:根据设备的几何尺寸、转速、故障类型等信息,计算故障特征频率;通过带通滤波器或其他信号处理技术,提取该频带范围内的振动信号进行分析。
- 适用性:适用于故障特征能量比较集中的情况,但容易受到噪声干扰。
- 基于谱峭度的频带选择
- 原理:谱峭度是一种度量信号冲击特性的指标,冲击信号往往具有较高的峭度值。
- 步骤:计算信号在不同频带上的峭度值;选择峭度值最高的频带作为故障特征频带。
- 适用性:对冲击性故障,如轴承早期故障和齿轮局部故障,具有较好的检测效果。
- 基于优化算法的频带选择
- 原理:利用优化算法搜索最佳的频带范围。
- 常用算法:遗传算法(GA)、粒子群优化(PSO)等。
- 步骤:将频带范围作为染色体或粒子;利用目标函数评价每个染色体或粒子的适应度;通过迭代优化找到最佳的频带范围。
- 适用性:能够找到全局最优解,但计算复杂度较高。
- 基于独立成分分析(ICA)的频带选择
- 原理:ICA是一种盲源分离技术,可以将混合信号分解成若干个独立的成分。
- 步骤:利用ICA将振动信号分解成若干个独立的成分;分析每个成分的频谱特征,选择包含故障特征的成分所在的频带。
- 适用性:适用于多故障同时发生的情况。
- 基于分类的频带选择
- 原理:将频带选择问题转化为分类问题,通过训练分类器区分包含丰富故障信息的“有效频段”和主要由噪声构成的“无效频段”。
- 步骤:构建训练数据集,包含标注好的有效频段和无效频段;提取每个频段的特征;利用训练数据集训练分类器;将待诊断信号的频谱划分为多个频段,提取每个频段的特征,利用训练好的分类器对每个频段进行分类;选择分类为有效频段的频段用于后续的故障特征提取和诊断。
- 适用性:能够自适应地选择频带,提高诊断精度,但需要大量的标注数据。
四、研究进展
- 自适应频带选择方法
- 原理:传统的频带选择方法往往需要人工干预,难以适应复杂多变的工况。自适应频带选择方法能够根据信号的特性自动选择最佳的频带范围。
- 方法:基于变分模态分解(VMD)的自适应频带选择方法,可以根据信号的频谱特征自适应地分解信号,并选择包含故障特征的模态分量。
- 深度学习与频带选择的结合
- 原理:深度学习在图像识别、语音识别等领域取得了显著成果。近年来,研究人员尝试将深度学习应用于旋转机械故障诊断中,并结合频带选择技术,进一步提高诊断精度。
- 方法:利用深度学习模型(如卷积神经网络、自编码器等)自动提取振动信号的特征,并根据这些特征自适应地选择最佳的频带范围。
- 面向特定故障的频带选择方法
- 原理:针对不同的故障类型,研究人员开发了特定的频带选择方法。
- 方法:针对轴承早期故障,提出了基于共振解调技术的频带选择方法;针对齿轮断齿故障,提出了基于调制解调技术的频带选择方法。
五、面临的挑战与未来发展方向
- 复杂工况下的鲁棒性问题
- 挑战:在实际工况下,旋转机械运行环境复杂多变,噪声干扰严重,这给频带选择带来了很大的挑战。
- 发展方向:提高频带选择的鲁棒性,使其能够在复杂工况下准确地提取故障特征。
- 多故障耦合问题
- 挑战:当旋转机械同时发生多种故障时,不同故障的特征频率可能会相互干扰,导致频带选择困难。
- 发展方向:有效地分离不同故障的特征频率,并选择包含相应特征的频带。
- 智能化和自适应化水平不足
- 挑战:传统的频带选择方法往往需要人工干预,智能化和自适应化水平不足。
- 发展方向:开发智能化、自适应的频带选择方法,使其能够根据信号的特性自动选择最佳的频带范围。
- 基于深度学习的自适应频带选择方法
- 发展方向:利用深度学习的强大特征提取能力,自动提取振动信号的特征,并根据这些特征自适应地选择最佳的频带范围。
- 基于多源信息融合的频带选择方法
- 发展方向:融合不同传感器、不同类型的信号(如振动信号、声音信号、温度信号等),利用多源信息互补的优势,提高频带选择的准确性和可靠性。
- 开发面向特定故障的智能频带选择系统
- 发展方向:针对不同的故障类型,建立相应的专家系统或知识库,利用这些知识指导频带选择,提高故障诊断的效率和准确性。
- 探索新型信号处理方法与频带选择的结合
- 发展方向:将新型信号处理方法(如稀疏表示、压缩感知等)与频带选择相结合,提高信号的稀疏性和可解释性,从而更有效地提取故障特征。
📚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]资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取【请看主页然后私信】