DSP和非平衡FSVM在陀螺仪故障诊断中的应用
2015-12-11罗秋凤吴武斌
李 勇,罗秋凤,吴武斌
( 1.南京航空航天大学 自动化学院;2.南京航空航天大学 无人机研究院,江苏 南京 210016)
DSP和非平衡FSVM在陀螺仪故障诊断中的应用
李勇1,罗秋凤2,吴武斌1
( 1.南京航空航天大学 自动化学院;2.南京航空航天大学 无人机研究院,江苏 南京 210016)
摘要:针对陀螺仪输出样本不平衡和噪声干扰大的特点,提出一种使用DSP实现非平衡FSVM陀螺仪故障诊断方法。系统核心算法FSVM的隶属度函数设计由非平衡特征因子和去噪模糊因子两部分组成,用于解决样本不平衡和噪声干扰大导致SVM分类精度降低的问题。首先,FSVM的训练阶段在上位机上实现,采集陀螺仪的无故障和故障信号,经过小波包特征提取后得到训练样本,然后由FSVM训练得到分类识别函数,最后将分类识别函数移植到DSP硬件平台上实现FSVM的测试应用。速率陀螺故障诊断的实验结果表明,该实现方法不仅提高了故障样本的诊断精度,而且满足系统实时性要求,具有一定的实用价值。
关键词:数字信号处理器;模糊支持向量机;非平衡特征;故障诊断
陀螺仪是无人机重要机载传感器,用于测量机体的姿态信息。随着对无人机完成工作任务的要求越来越复杂,陀螺仪精度寿命和可靠性的要求也在不断提高,所以能够实时的检测出陀螺仪故障并作相应的处理显得十分重要。陀螺仪常见故障有漂移故障、偏差故障、完全故障以及周期干扰故障等[1],正常工作条件下这些故障难以获取,也就造成了正常样本与故障样本严重不平衡。另外,由于受到的冲击、振动、电磁等复杂机载环境影响,陀螺仪输出往往带有各种噪声信号,影响故障诊断的精度,所以在设计陀螺仪故障诊断系统时,需要重点关注样本数据不平衡和噪声干扰问题。
支持向量机(Support Vector Machines,SVM)[2]是由Vapnik创立的一种建立在统计学习理论和结构风险最小化原理基础上的优化算法,能较好地解决小样本、高维数、非线性等问题,目前被越来越多地应用于各种类型的故障诊断系统中。标准SVM在假设样本分布平衡和样本数据大致相当的前提下具有较高的分类精度,但对于不平衡数据,其性能却大大下降[3-4]。另外,无人机飞行环境比较复杂,容易受到外界干扰,所以分类算法也必须考虑数据集中噪声的影响。2002年,台湾林智仁等学者为了减少噪声样本对SVM分类的影响,在SVM中引入模糊理论技术,从而提出了模糊支持向量机(FSVM,Fuzzy Support Vector Machine)[5]理论。本文通过在FSVM的隶属度函数中引入样本非平衡特征因子来解决陀螺仪故障诊断中的不平衡和噪声干扰问题。
DSP由于其具有体积小、功耗低以及高性能的数据处理能力等优点,被广泛应用于各个领域。本文结合SVM算法的特点,设计了一种以TMS320F28335[6]芯片为核心处理器的硬件平台来实现SVM的测试应用,从而为该陀螺仪故障诊断系统走向实际应用提供强有力的技术支撑和保障。
1 FSVM的隶属度设计
FSVM设计的关键在于隶属度函数的设计,但是,目前隶属度函数的构造还没有一个可遵循的一般性准则,通常需要针对具体问题根据实际经验来确定合适的隶属度函数。针对陀螺仪工作特点,FSVM设计需要满足两个目标:一是抑制类内样本的噪声或孤立点干扰,二是抑制类间样本的不平衡对分类超平面的影响。所以,隶属度函数设计需要综合考虑这两个目标。
(1)
式中,m+、m-分别表示正类和负类样本获得的统一权重,反映类间样本不平衡特征,也叫做非平衡特征因子;f(xi)∈(0,1),表示样本xi在自己类内的重要性,也叫做去噪模糊因子。显然,这样设计的隶属度函数即考虑到了噪声或孤立点的干扰又考虑到了类间不平衡对分类超平面偏移的影响。
1.1 去噪模糊因子
去噪模糊因子f(xi)反映的是样本xi在自己类内的重要性,也就是传统FSVM的模糊隶属度。目前, FSVM的隶属度函数多是基于样本空间的度量方法,本文使用基于样本与类中心距离的方法,原因是该方法计算量较小且鲁棒性较强。计算方法如下:
(2)
式中,l+、l-表示正负类样本个数。样本与类中心的欧氏距离为
(3)
采用指数衰减函数,可得
(4)
1.2 非平衡特征因子
当使用SVM对不平衡样本分类时,SVM分类超平面会发生偏移,偏移主要是由两方面原因造成:一种是两类样本数量上的差异,另一种是两类样本的分散程度。其中,分散程度可以由投影标准差表示,正类和负类样本点在分类超平面的法向量ω方向上投影后的标准差分别为
(5)
式中,∑+,∑-分别表示正负类协方差矩阵。
(6)
式中,yi∈{-1,1},k(xi,xj)=(Φ(xi),Φ(xj))为核函数。
当样本数量相差较大时,文献[7]表明,训练得到的SVM分类超平面向正类偏移,为了纠正样本数不同导致的偏移,正类样本相较于负类样本应该有较高的权值,可以设置权重与样本数大小成反比,所以,正类和负类的权重m+、m-的取值应为
(7)
另外,由于分类面向分散程度大的类偏移,分散程度大的类应该有较高权值,可以设置两类权重与分散度大小成正比,两类的模糊权重m+、m-的取值应为
(8)
因此,综合考虑样本数与分散度大小之后,取m+=m,两类样本非平衡特征用模糊权重可表示为
(9)
2 系统软件设计
2.1 故障诊断流程
SVM分类分为两个阶段:训练阶段和测试阶段。由于SVM训练阶段算法涉及不等式寻优,较为复杂,而且DSP片上资源有限,为了满足实时性和推广应用的要求,SVM训练阶段在上位机上实现,训练得到分类模型后,将分类模型烧到DSP上实现SVM测试应用。陀螺仪故障诊断流程图如图1所示。
2.2 特征提取
陀螺信号的特征提取方案使用目前应用较为广泛的小波包分解方法,一方面小波包分解避免了小波分析仅对信号低频部分进行分解的缺陷,对高频部分也进行了分解;另一方面陀螺仪发生故障时,输出信号会产生一些瞬变,表现在频域上就是某种或某几种频率成分能量的改变,这样的变化适合用小波包分解提取各个频带的能量作为特征向量。
图1 陀螺仪故障诊断流程图
(10)
式中:J=log2N;t=·1,2…,2J-j;i=1,2,…,2j。
3 系统的硬件结构设计
本系统的核心处理器为TI公司C2000系列TMS320F28335芯片,主频150MHz,内含32位单精度硬件浮点运算单元和32×32位硬件乘法单元,支持高速和高精度的数学运算。采用先进的哈佛结构,具有独立的程序读总线、数据读总线和数据写总线,支持4级流水线操作,能够高效地执行C/C++代码,使得软件开发更加高效。
由于小波包分解程序和FSVM故障诊断程序所需存储空间较大,为了确保程序存储空间具有充足的裕量以备后续升级本系统,本系统为DSP扩展了1 M字非易失性存储单元和1 M字随机存储空间单元,分别使用SST公司的SST39VF1601芯片实现片外FLASH扩展和ISSI公司高性能SRAM芯片IS61WV102416BLL来实现SRAM扩展。系统的下位机部分实物图如图2所示,
图2 故障诊断系统的DSP硬件平台实物图
4 实验
4.1 训练阶段
FSVM训练阶段在上位机上使用Matlab仿真实现,训练过程选用台湾林智仁团队开发研制的Libsvm[9]工具箱来完成,其中libsvm-weights-3.17版本专门用于FSVM分类算法,它和标准SVM工具箱的区别是训练函数的输入多了一个训练样本的权重向量。具体训练流程为:1)数据采集:采集某型无人机科研飞行试验中垂直陀螺仪输出的俯仰角信号作为正常样本数据,信号采样周期为80ms。根据陀螺仪故障特点,在Matlab/Simulink仿真环境下搭建速率陀螺仪的故障模型,通过仿真得到偏置故障、漂移故障、完全故障以及周期干扰故障四种故障信号数据;2)小波包分解:小波包分解层数为3层,小波基函数选取db4小波,然后提取8个频带的能量作为特征向量;3)归一化:本算法将样本归一化到(0,1)区间; 4)利用第1节方法计算样本的隶属度函数;5)FSVM训练:训练样本准备360个,无故障样本200个,其它四类故障样本均为40个,使用网格搜索方法择优选择核参数g和误差惩罚参数C,参数选择结果如图3所示。
从图3可以看出,参数优化结果为C=1024,g=8。最后训练得到由训练参数、支持向量以及Lagrange 算子最优解等组成的分类模型,在DSP硬件平台下使用C语言中的结构体类型表示如下:
图3 SVM参数的网格搜索结果图
struct Model
{ int param[5];//训练参数
int nr_class;//样本类别数
int l;//支持向量个数
double SV[ ][8];//支持向量
double sv_coef[ ][4];//Lagrange 算子最优解
double rho[10];//分类阈值
int label[5];//类别标签
int nSV[5];//每类支持向量机个数
} model1;//model1是诊断模型
其中,model1是故障诊断模型,初始化由训练结果给出,以此计算 FSVM的分类函数,然后诊断识别陀螺仪状态特征。
4.2 测试阶段
为提高系统的实用性,测试阶段的特征提取、归一化以及故障分类算法均在DSP上实现,上位机仅负责向DSP发送陀螺仪模拟信号和接收显示诊断结果,程序流程图和DSP开发调试界面分别如图4和图5所示。
图4 测试阶段程序流程图
图5 DSP调试开发调试界面图
系统启动之后,DSP每隔80ms采集上位机发送的信号数据,以十个采样点作为一组数据,用小波包分解得到一个8维特征向量,归一化后作为FSVM分类算法的输入,此时归一化的尺度参数需要和训练阶段一样,DSP诊断程序计算出结果之后,通过串口输出显示到上位机界面上,界面如图6所示。
5 实验结果
测试阶段准备200组测试数据,陀螺仪5种状态下的数据各40组,为了验证本文算法的性能,实验结果与标准SVM和仅考虑去噪模糊因子的传统FSVM(式(1)中m+=m-=1)的测试结果作比较。实验结果的评价方法选用不平衡数据分类常用的几何平均准则(geometric means metric,g-means)[10]评价方法。实验结果如表1所示。
图6 故障诊断系统的上位机显示界面
%
从表1测试结果可以得出以下结论:
1) 本文算法的故障诊断系统的识别率最高,能够达到90%以上,且相较于传统FSVM和标准SVM,对故障样本识别率分别提高9.5%和10.9%,这对于实际环境下降低系统漏警率具有重要的意义;2)传统的FSVM由于为每个样本设置了去噪模糊因子,相较于标准SVM,测试样本分类精度有了较大提高,说明有一定抗噪声干扰能力;3)本文算法相较于传统FSVM,虽然无故障样本分类精度降低3%,但是故障样本分类精度提高9.5%,说明非平衡特征因子通过提高故障样本的惩罚系数,使得分类超平面向无故障样本偏移,从而使两类不平衡样本在分类精度上趋于平衡;4)本系统测试样本的平均识别时间为0.086s,能够满足无人机对系统实时性的较高要求。
另外,对于陀螺仪4种故障样本类型,基于非平衡FSVM陀螺仪诊断系统的诊断结果如表2所示,表中漂移故障样本诊断精度最高,达到100%,而偏置故障样本的诊断精度最低,仅有81%。所以,虽然该诊断系统能够整体提高故障样本的诊断精度,但是不同故障类样本的识别难易度会有所不同,从而导致不同故障类样本的诊断精度表现出较大差异。
表2 非平衡FSVM诊断系统对陀螺仪5种状态样本诊断
6 结论
设计一种基于DSP的非平衡FSVM陀螺仪故障诊断系统,通过在上位机上离线实现SVM计算较为复杂的训练阶段,然后将训练结果移植到基于TMS320F28335芯片的硬件平台上实现SVM测试应用阶段,该方案在充分考虑了SVM的算法特征和硬件实现困难的基础上,利用DSP实现了SVM算法诊断分类的效果。实验结果表明,该系统的诊断精度达到90.9%,平均识别时间为0.086s左右,不仅有效解决了陀螺仪输出信号样本不平衡和噪声干扰大导致诊断精度降低的难题,而且诊断速度非常快,对于可靠性和实时性要求极高的无人机来说,具有重要的现实意义。
参考文献:
[1]Guillermo Heredia,Aníbal Ollero,Rajesh Mahtani,et al.Detection of Sensor Faults in Autonomous Helicopters[C].Proc.Of the 2005 IEEE International Conference on Robotics and Automation,Barcelona:IEEE,2005:1-6
[2]V.Vapnik.The Nature of Statistical Learning Theory[M].New York:Springer-Verlag,2000.
[3]Haibo He,Edwardo A.Garcia.Learning from Imbalanced Data[J].IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING,2009,21(9):1263-1284.
[4]Rukshan Batuwita ,Vasile Palade.FSVM -CIL:Fuzzy Support Vector Machines for Class Imbalance Learning[J].IEEE TRANSACTIONS ON FUZZY SYSTEMS,2010,13(8):558-571.
[5]Chun-Fu Lin,Sheng-De Wang.Fuzzy Support Vector Machines[J].IEEE TRANSACTIONS ON NEURAL NETWORKS,2002,13(2):464-471.
[6]Texas Instruments Corp.TMS320F28335 Digital Signal Controllers Data Manual [EB/OL].http://www.ti.com/lit/ds/symlink/tms320f28335.pdf.2012-8-06/2014-8-22.
[7]Akbani R,Kwek S,Japkowicz N.Applying support vector machines to imbalance Datasets [C].in Proc.15th Eur.Conf.Mach.Learning,Pisa,Italy,2004:39-50.
[8]康丹.基于小波包改进算法的谐波分析仪[D].保定:华北电力大学,2011.
[9]Chih-Chung Chang,Chih-Jen Lin.LIBSVM:a library for support vector machines[J].ACM Transactions on Intelligent Systems and Technology,2011,2(3):1-27.
[10]Miroslav Kubat,Robert Holte,Stan Matwin.Learning When Negative Examples Abound[C].9th European Conference on Machine Learning(ECM L),Berlin :Springer-Verlag,1997:146-153.
(责任编辑:马金发)
Application of DSP and Unbalanced FSVM in Fault Diagnosis System of Gyro
LI Yong1,LUO Qiufeng2,WU Wubin1
(1.Dept.of UAV,Nanjing University of Aeronautics & Astronautics,Nanjing 210016,China)
(2.Dept.of Automation,Nanjing University of Aeronautics & Astronautics,Nanjing 210016,China)
Abstract:According to the features of unbalanced samples and high noise from gyro output signals,an unbalanced FSVM fault diagnosis method of gyro is presented based on DSP.The membership function of FSVM algorithm of system consists of unbalanced characteristic factor and de-noising fuzzy factor,which is used to solve the classification accuracy reducing problem of SVM resulting from unbalanced samples and high noise.Firstly,the training phase of FSVM is implemented in host computer.The normal and fault signals of gyro are collected,and then the samples are obtained through the method of wavelet package feature extraction.Then,the classification function is transplanted,which is obtained by FSVM training model for DSP to achieve the test and recognition phase.The fault diagnosis experiment results of rate gyro shows that the implementation means not only improves the diagnostic accuracy of fault samples,but also meets the real-time requirements.So it has a certain practical value.
Key words:Digital Signal Processing (DSP);Fuzzy Support Vector Machines (FSVM);unbalanced characteristics;fault diagnosis
中图分类号:TP181;V241.5
文献标志码:A
文章编号:1003-1251(2015)01-0046-06
通讯作者:
作者简介:李勇(1989—),男,硕士研究生;罗秋凤(1971—),女,研究员,研究方向:现代故障诊断与智能检测技术.
收稿日期:2014-09-15