旋转机械在许多工业部门是关键核心设备,为此需要对旋转机械进行监测。一般情况下采集旋转机械的振动信号作为原始依据,这种振动信号一般是一种高频振荡信号且其统计量也不为常数,可以看成是一个以时间为自变量的非平稳信号[。对这些非平稳信号进行数字处理,从中获取旋转机械故障的征兆信息。在旋转机械出现故障征兆时能及时的发出预警信号及识别故障类型,从而来保证旋转机械运行在正常工作条件下,同时也可以对设备维修提供依据。
近年来人工智能方法如神经网络、模糊理论和遗传算法等在故障诊断中的应用,能够处理传统故障诊断方法无法解决的问题,使得故障诊断的人工智能方法在近几年得到广泛的认可和应用[。基于结构风险最小化原理的统计学习理论是近年来计算学习理论的重要研究成果,为研究有限训练样本情况下的统计模式识别,并为更广泛的机器学习问题建立一个较好的理论框架。同时,该理论也发展了一种高效的分类器学习算法——支持向量机(SVM)[。再结合现代信号处理的手段,如小波变换、希尔伯特黄变换、局部特征尺度分解等来提取特征值,都存在着参数选择困难的问题。笔者从统计学的角度看待信号,能够很好避免这一问题,并利用MATLAB中支持向量机工具箱,对旋转机械的5种基本状况进行诊断。
1 旋转机械故障特征及检测分析方法
旋转机械的零部件、整机随着机械的运行都会有不同程度的振动。在理想的情况下,不同的故障类型对应着不同的激励,由此旋转机械的振动信号也会有所不同。而实际上存在着许多不确定的、非线性的因素,即使是相同的故障类型的旋转机械振动信号也不能实现完美重合。这就需要对含有丰富运行状态信息的振动信号进行合理的处理,从而提高旋转机械的故障诊断的准确性。
为了实现对旋转机械的故障诊断,本试验采用旋转机械的振动信号来进行旋转机械的故障诊断。首先测出转子正常状态下的振动信号,然后测出在其他条件不变的情况下,人为设置各种故障的振动信号。正常状态下的振动信号作为标准信号,将其他故障信号与之相应的标准信号进行对比,通过相同的数据处理来评判故障类型与已知的故障类型的匹配情况。本实验主要由旋转机械故障实验平台对转子正常、转子不平衡、转子不对中、轴承内圈裂缝、轴承外圈裂缝5种工作状态进行测试,利用振动加速度传感器和数据采集系统测得旋转机械运行时的振动信号。
图 1(Figure 1)
图 1 为旋转机械故障实验平台
2 旋转机械振动信号的特征值选取
2.1 零均值化
对于振动信号,首先对其进行零均值化处理,去掉傅里叶变换后的直流分量。
设振动信号xi(n)=[xi1, xi2, …, xin];
那么零均值化处理后的振动信号xi′
$
{{x'}_{ik}} = {x_{ik}} - \frac{1}{n}\sum\limits_{j = 1}^n {{x_{ij}}} ,k = 1,2, \cdots ,n。$
2.2 信号重构
信号重构是为去掉或减弱信号中不必要的频率成分,保留主要的频率成分。目前也有许多算法,如小波分解后通过设定各个细节的阈值,再进行逆变换来重构信号;希尔伯特—黄变换中使用的经验模式分解后减去残余量,将得到的固有模式序列相加来重构信号等。笔者采用的总体思路是:选取零均值化处理后的信号经过傅里叶变换的频域信号相对较大的幅值——取前信号长度的25%,令其他频率的幅值为0,利用傅里叶逆变换得到一个复数序列,其实部就为重构信号。其实质就是一个滤波过程,将幅值影响较小的频率成分滤波。
设零均值化处理后的信号xi′(n)=[xi1′, xi2′, …, xin′],那么重构信号如
图 2(Figure 2)
图 2 重构信号原理方框图
2.3 提取特征值
特征值的提取是对于重构信号而言的。笔者选取变异系数、偏度、峰度、波高率、极大值变动率、极小值变动率、方根均值、自乘平方值和对数平均值9个时间无量纲作为特征值如下。
变异系数:cv=E(|x|)/D(|x|);偏度:g1=E{[(x-E(x))/$\sqrt{D\left( x \right)}$]3};峰度:g2=E{[(x-E(x))/$\sqrt{D\left( x \right)}$]4};波高率:Bbg=|x|/D(|x|);极大值变动率:${{P}_{\max }}=\frac{{{x}_{\max }}}{{{E}_{\rm{mau}}}}$;极小值变动率:${{P}_{\min }}=\frac{{{x}_{\min }}}{{{E}_{\rm{miu}}}}$;方根均值:${{E}_{\rm{sqrt}}}=E\left( \sqrt{\left| x \right|}/\sqrt{D\left( \left| x \right| \right)} \right)$;自乘平均值:EZC=E(x·x)/D(|x|)2;对数平均值:${{E}_{\log }}=\sum\limits_{i=1}^{n}{\left[\lg \left( \left| {{x}_{i}} \right| \right)+1 \right]/\lg \left[D\left( \left| x \right| \right) \right]}$。其中Emau为极大值的均值;Emiu为极小值的均值。
3 支持向量机(SVM)故障类型识别原理
旋转机械故障诊断的实质就是一个模式识别问题,判断旋转机械的运行状态是否正常、故障类型是什么和故障发生的具体部位等都可以归结为模式识别的问题[。
支持向量机具有坚实的数学和理论基础,专门针对有限样本情况,其目标是得到现有信息下的最优解而不仅仅是样本数趋于无穷大时的最优值,在小样本学习问题上有其独特的优势;在解决高维问题中,支持向量机通过引入一些具有特殊性质的核函数,将实际问题通过非线性变换转换到高维的特征空间,在高维空间中构造线性决策函数来实现原空间中的非线性决策函数,使得求解支持向量机的过程只与训练样本的数目有关,与样本的维数无关,从而有效避免了“维数灾难”;同时其算法最终转化成为一个凸二次规划的优化问题,从理论上说得到的将是全局最优解[。
支持向量机真正具有高价值的地方就是用来解决非线性问题。它是通过一个非线性映射φ,把样本空间映射到一个高维乃至于无穷维的特征空间,使在特征空间中可以应用线性支持向量机的方法解决样本空间中的高度非线性分类问题。那么,特征空间中的分类约束条件转换为
$
{y_i}\left[ {\mathit{\boldsymbol{w}} \cdot \varphi \left( {{x_i}} \right) + b} \right] - 1 \ge 0,i = 1,2, \cdots ,n;
$
(1)
且w具有最小的二范数
$
\mathop {\min }\limits_{w,b} \frac{1}{2}{\left\| \mathit{\boldsymbol{w}} \right\|^2} = \mathop {\min }\limits_{w,b} \frac{1}{2}{\mathit{\boldsymbol{w}}^{\rm{T}}}\mathit{\boldsymbol{w}},
$
(2)
式中:
$
{y_i} = \left\{ \begin{array}{l}
1,\;\;\;\;\;\mathit{\boldsymbol{w}} \cdot \varphi \left( {{x_i}} \right) + b \ge 1;\\
- 1,\;\;\;\mathit{\boldsymbol{w}} \cdot \varphi \left( {{x_i}} \right) + b \le - 1。\end{array} \right.
$
(3)
这是一个凸二次规划优化问题,其解可通过求解下面的拉格朗日函数获得,即
$
\begin{array}{*{20}{c}}
{L\left( {\mathit{\boldsymbol{w}},b,\alpha } \right) = \frac{1}{2}{\mathit{\boldsymbol{w}}^{\rm{T}}}\mathit{\boldsymbol{w}} - }\\
{\sum\limits_{i = 1}^n {{\alpha _i}\left\{ {{y_i}\left[ {\mathit{\boldsymbol{w}} \cdot \varphi \left( {{x_i}} \right) + b} \right] - 1} \right\}} ,}
\end{array}
$
(4)
式中αi≥0为拉格朗日乘子。
分别对w和b求偏导数,并令它们等于0,有
$
\left\{ \begin{array}{l}
\frac{{\partial L\left( {\mathit{\boldsymbol{w}},b,\alpha } \right)}}{{\partial \mathit{\boldsymbol{w}}}} = 0 \Rightarrow \mathit{\boldsymbol{w'}} = \sum\limits_{i = 1}^n {{{\alpha '}_i}{y_i}\left( {{x_i}} \right)} ,\\
\frac{{\partial L\left( {\mathit{\boldsymbol{w}},b,\alpha } \right)}}{{\partial b}} = 0 \Rightarrow \sum\limits_{i = 1}^n {{{\alpha '}_i}{y_i}} = 0。\end{array} \right.
$
(5)
将式(5)带入拉格朗日函数式(4),有
$
\begin{array}{*{20}{c}}
{L\left( {\mathit{\boldsymbol{w}},b,\alpha } \right) = \sum\limits_{i = 1}^n {{{\alpha '}_i}} - }\\
{\frac{1}{2}\sum\limits_{i = 1}^n {\sum\limits_{i = 1}^n {{{\alpha '}_i}{{\alpha '}_j}{y_i}{y_j}\left\langle {\varphi \left( {{x_i}} \right) \cdot \varphi \left( {{x_j}} \right)} \right\rangle } } 。}
\end{array}
$
(6)
根据Mercer条件,可以用核函数k(xi, xj)=〈φ(xi)·φ(xj)〉,因此,非线性支持向量机就可以转化为目标函数,即
$
\max \left( L \right) = \sum\limits_{i = 1}^n {{\alpha _i}} - \frac{1}{2}\sum\limits_{i = 1}^n {\sum\limits_{i = 1}^n {{\alpha _i}{\alpha _j}{y_i}{y_j}k\left( {{x_i},{x_j}} \right)} } 。$
(7)
其约束条件为
$
\left\{ \begin{array}{l}
\sum\limits_{i = 1}^n {{\alpha _i}{y_i}} = 0,\\
{\alpha _i} \ge 0,
\end{array} \right.\;\;\;\;\left( {i = 1,2, \cdots ,n} \right)
$
(8)
的一个二次规划问题。
4 旋转机械故障诊断实验
通过旋转机械故障实验平台,测得5种故障的数据文件,为了保证实验结果的准确性,笔者将总数据文件的70%作为训练数据文件,将30%的数据文件作为测试文件[。将这些数据文件通过数据处理后得到的特征值作为训练样本和测试样本。总的文件数、训练样本数和测试样本数如
表 1(Table 1)
表 1 数据准备
机器
状态文件
总数训练
文件数测试
文件数训练
样本数测试
样本数
正常4030103010
不平衡24168168
不对中30228228
内圈裂缝4030103010
外圈裂缝24168168
表 1 数据准备
图 3(Figure 3)
图 3 5种工况振动信号的时域波形
图 4(Figure 4)
图 4 故障诊断SVM模型
在测试点,1表示分类到第1类,-1表示分类到其他类。SVM1用来识别正常和其他情况;SVM2用来识别转子不平衡和其他情况;SVM3用来识别转子不对中和其他情况;SVM4用来识别轴承内圈裂缝和其他情况;SVM5用来识别轴承外圈裂缝和其他情况。
借助MATLAB自带的有关支持向量机的函数,选取支持向量机的核函数为多项式核函数,编写训练程序和测试程序。程序执行后,得到支持向量机的训练结果
表 2(Table 2)
表 2 支持向量机的训练结果
机器
状态正常不平衡不对中内圈
裂缝外圈
裂缝
正常300000
不平衡012002
不对中021902
内圈裂缝000300
外圈裂缝023012
正检率%100758610075
表 2 支持向量机的训练结果
表 3(Table 3)
表 3 支持向量机的测试结果
机器
状态正常不平衡不对中内圈
裂缝外圈
裂缝
正常100000
不平衡05001
不对中02701
内圈裂缝000100
外圈裂缝01106
正检率%100638810075
表 3 支持向量机的测试结果
表中列对应着输入样本的类别,行对应着分类器输出样本的类别。
通过对旋转机械故障实验台中的转子的振动信号的分析和特征提取,从[。
表 4(Table 4)
表 4 支持向量机的训练结果
机器
状态正常不平衡不对中内圈
裂缝外圈
裂缝
正常30----
不平衡016000
不对中002200
内圈裂缝0--30-
外圈裂缝000016
正检率%100100100100100
表 4 支持向量机的训练结果
依据
图 5(Figure 5)
图 5 故障诊断SVM二叉树多类分类模型
表 5(Table 5)
表 5 支持向量机的测试结果
机器
状态正常不平衡不对中内圈
裂缝外圈
裂缝
正常10----
不平衡07002
不对中01700
内圈裂缝0--10-
外圈裂缝00106
正检率%100888810075
表 5 支持向量机的测试结果
很明显训练结果转子正常、转子不平衡、转子不对中、转子轴承内圈裂缝和转子轴承外圈裂缝的正检率都达到100%。
5 结语
笔者提出利用主要频段进行信号重构,利用并联式SVM模型的正检率大小来确定二叉树多类分类算法的优先级。通过检验,训练结果的正检率都达到了100%,实现了训练样本的完全可分,测试结果也较改进前有所提高,取得了较好的诊断结果,表明该方法的有效性和实用性。笔者所使用的信号重构方法的参数为0.25,经过对比可以进一步优化以提高诊断效果。
如果觉得《matlab旋转机械转子故障信号仿真 二叉树支持向量机的旋转机械故障诊断》对你有帮助,请点赞、收藏,并留下你的观点哦!