基于隐马尔可夫模型的高铁无线通信系统故障诊断
2021-12-23谢雨飞田启川
谢雨飞,田启川
(北京建筑大学 电气与信息工程学院,北京 100044)
高铁列车运行控制系统(以下简称列控系统)是高速铁路的重要组成部分,它利用车-地之间双向大容量的通信,实时交互信息,能够有效提高高铁系统的运营效率,并通过多种技术手段确保行车安全[1].因此,提高高铁列控系统的可靠性对保障列车安全具有十分重要的意义,也可以为下一代智能高铁建设奠定理论和技术基础[2].
在高铁列车运行过程中,由于受到环境、网络、气候等外部条件制约,以及某些人为因素的影响,系统有可能产生硬件或软件方面的某些故障.系统是否具有良好的可靠性,主要取决于其本身是否能够精准快速地发现故障点,诊断出故障类型,并做出正确的反应.通过故障诊断,可以降低系统发生风险的概率,增强系统的可靠性,为有效提高高铁列车运行安全提供理论和技术支撑[3-4].近年来, 随着神经网络、大数据等新技术的发展,特别是人工智能技术的广泛应用,故障诊断技术也融合了这些先进的理念和方法,发展非常迅速.目前,故障诊断技术已经成功运用在高速铁路、航空航天、电子信息等领域[5-8].
目前,国内外对于故障诊断技术在高铁列控系统中的应用已经有了一些研究.从方法上来看,主要包括故障树法、神经网络法、模糊理论法,以及专家系统法.例如,上官伟等[9]结合了模糊理论和神经网络算法,对列控系统中车载设备的应答器传输模块成功实现了故障诊断.邢璐璐[10]基于交互式多模型对高铁列车减振器进行了故障诊断,通过计算参数的估计值和模型的概率,诊断出减振器的故障情况.Garramiola等[11]融合故障树模型和数据驱动技术,利用滑模观测器对列车的传感器故障进行了评估,基于学习算法,快速诊断出系统故障.Ion Matei等[12]基于专家系统,提取与正常和异常行为相关的有意义的行为特征,将这些特征与实验训练数据综合建立一个数据驱动的统计模型,用于对系统的行为分类.这些研究方法的诊断结果基本都涉及到无线通信系统的故障.
然而,上述故障诊断方法也存在一些问题:1)这些故障诊断往往要求系统必须符合一系列假设条件,如果不满足假设条件,则诊断算法会失去作用;2)目前故障诊断大多只能分析确定形式的故障行为,对具有随机特性的统计建模无能为力;3)对于具有间歇性微小故障的诊断能力不够.
鉴于以上问题,本文作者给出一种基于隐马尔可夫模型的高铁无线通信系统故障诊断方法,其特点是:能够解决复杂系统随机过程时间序列统计建模问题,而且假设条件比较简单.该方法旨在弥补上述其他方法的不足之处,适用性强.例如,它能够用于诊断列车的牵引传动和制动系统、车-地无线通信系统、列车运行控制系统,以及列车网络系统.为了便于说明基于隐马尔可夫模型的故障诊断方法优势,考虑到随机性和间歇性问题,选择以高铁无线通信系统为研究对象,构建融合故障诊断和预测于一体的集成体系.
1 高铁无线通信系统故障类型和特点
我国高铁无线通信系统是在中国列车控制系统(Chinese Train Control System,CTCS)的3级和4级中用于车载设备和列车控制中心进行双向信息传输的子系统.如图1所示,系统主要由移动交换中心(Mobile Switching Center,MSC)、基站控制器(Base Station Controller,BSC)、基站收发台(Base Transceiver Station,BTS)等几个部分组成.其中,MSC负责通信网络中的基本信息交互,为车载设备和无线闭塞中心(Radio Block Center,RBC)的可靠通信提供保障;BSC负责管理所有基站子系统,其功能包括:无线基站管理、无线资源管理、无线网络管理、控制移动台管理;BTS负责车-地之间的通信管理.
图1 高铁无线通信系统以及通信终端示意图Fig.1 Schematic diagram of high-speed railway wireless communication system and communication terminal
高铁无线通信系统故障可以分为硬件故障和软件故障两个方面.
硬件设备故障包括机械类故障和电路板卡故障.造成机械类设备故障的主要原因,是由于在长期使用过程中,设备不可避免存在磨损、老化、腐蚀等现象,导致其性能偏离其设计状态而出现异常.另外,机械类故障具有随机性、不确定性和不可逆性,这些都会对高铁无线通信系统的可靠性造成不利影响.电路板卡故障大多是由于电子元器件的物理特性和参数的改变而引起的,比如线路短路或断路、虚焊、接地故障等.此外,外界环境的影响(比如温湿度剧烈变化、强电磁干扰)也会对电路板的正常工作产生影响[13].根据列控系统总体技术方案[14],虽然对于以上情况都有应对措施和冗余设计,但是一旦出现硬件故障,必须及时获得故障类型并判断出故障点,尽快得以修复,否则会对系统安全造成隐患.
软件故障通常是由于软件研发过程中,程序设计存在缺陷而导致系统崩溃、死机、程序死锁、网络攻击、中病毒、资源不足、负载过重等异常情况的发生.另外,高铁无线通信系统是一个开放式传输系统,根据标准EN 50159-2[15]的要求,在开放传输系统中,由于无线通信系统自身可能存在的随机性和不稳定性,可能使得通信过程中出现延时、差错、伪装等故障隐患.因此,软件故障在高铁无线通信系统中比较复杂,除了具有灵活性和多样性以外,还具有随机性和间歇性的特点.
由于当系统某一位置发生某一故障时,其无线通信数据会与正常情况不同(比如软件故障)或发出警报提示(比如硬件故障).因此,可以通过数据采集,将正常情况以及各种故障情况下的数据和提示信息进行分类,并对无线通信数据和警报提示进行参数训练,以实现自动故障诊断.
2 基于HMM的故障诊断原理
2.1 隐马尔可夫模型
隐马尔可夫模型(Hidden Markov Model,HMM)[16]是马尔可夫链的一个分支,是一种统计分析模型.隐马尔可夫模型最重要的特点是:不能直接观察模型的状态,只能利用观测向量序列来间接获得模型状态.隐马尔可夫模型的观测向量都是由相应的状态序列产生,这些状态序列具有某种概率密度分布,并通过这种概率密度分布表现为各种状态.可见,隐马尔可夫模型是一个具有一定状态数目的隐马尔可夫链和显示随机函数集双重随机过程.目前,隐马尔可夫模型广泛应用于故障诊断和模式识别等领域.
一个隐马尔可夫模型用五元组(S,O,π,A,B)来表示.在这里,S是模型的隐含状态,这些隐含状态具有马尔可夫性质,并且都是无法直接观测的;O是模型中与隐含状态相关联的可观测状态,它们是能够直接观测的;π是模型初始状态概率矩阵,描述了隐含状态在初始时刻的状态转移概率分布,π=[πi]表示初始状态为i的概率;A=[aij](aij是从状态i到状态j的转移概率)是模型中隐含状态转移概率矩阵,描述了模型中各个状态之间的转移概率;B=[bi(k)](bi(k)表示当前状态为i,观测值为k的概率)是模型中观测状态转移概率矩阵.
2.2 故障诊断系统设计及诊断流程
在设计高铁无线通信系统中故障诊断系统时,遵循以下两个原则:1)不影响列控系统已有设备的互连互通,故障诊断不占用系统原有的资源;2)在实验测试阶段,故障诊断结果输出仅供参考,不作决策.基于以上原则,系统逻辑图如图2所示.
图2 故障诊断系统Fig.2 Fault diagnosis system
图2中仅给出了车-地无线通信的主体部分.与服务器直接连接的是系统行为监测器和故障诊断器,它们以数据为依据,对系统异常行为进行诊断分析.数据是实时从GSM-R网络中通过无线传输方式获取的,在这里,无线数据采集是系统的合法部分,是一个独立的功能模块(可以视为在原GSM-R功能模块中增加的一个扩展模块).当服务器发出诊断请求时,如果未发现某设备的数据信息,或响应时间超时,亦或者响应结果与功能不符,则监测器立即收集所有相关数据,通过诊断算法实施在线诊断,并给出故障信息.
基于隐马尔可夫模型的故障诊断在图2的服务器中完成,包括:1)采集系统在各种故障情况下的数据,通过预处理获得训练样本;2)对所有的数据进行处理,形成可观测序列;3)训练隐马尔可夫模型;4)将实际运行时的特征序列逐一输入至所有已训练模型中,计算出概率最大的一个,即可诊断出故障类型.流程如图3所示.
2.3 模型的建立
根据故障的分类方法,将每一类的故障形式进一步细化,原则是故障诊断结果能够直接定位系统中某一具体的硬件或软件程序.具体地,本文中诊断的硬件故障包括:车载机械类故障、地面设备机械类故障、车载电路板卡故障、地面设备电路板卡故障,其中前两项归为机械类故障类,后两项为电路板卡故障类.诊断的软件故障包括:系统崩溃、死机、程序死锁、网络攻击、中病毒、资源不足、负载过重.这些软件故障都能够通过数据分析或系统现象表现出来,容易捕获.可见,本文确定的故障类型有11种,加上正常状态,因此,系统的隐状态取N=12.这些故障可能导致的系统外部表现为某一设备无法运转、通信中断(离线)、链接异常(在线)、系统CPU占用率过高、流量异常、内存占用率过高,因此,外在表现特征数量为6.
图3 基于HMM的故障诊断流程Fig.3 Fault diagnosis process based on HMM
3 参数训练和故障诊断算法
在上述隐马尔可夫模型中,设λ=(π,A,B)为模型参数.参数训练就是计算M个最大化训练序列样本的似然模型λ*,即寻找到当P(O|λ)取得最大值的λ*.也就是说,基于由给定观测序列组成的训练集,通过参数训练获得训练集的概率最大值,从而得到最佳的能够反映所给样本的模型.
在经典的HMM中,任意时刻某一观测量的概率只取决当前状态,与之前的状态和输出值都没有关系,然而,在高铁无线通信系统中并不符合经典HMM.因此,故障诊断时需要在以上算法基础上对系统中的隐状态序列进行回溯.本文的做法是:当出现故障时,通过对6个外在表现特征进行观测,得到T个可观测状态,根据2.3节中建立的隐马尔可夫模型,寻找出故障点.故障诊断算法的基本思路为:给出模型参数λ和观测序列O,找出具有产生观测序列最大概率的隐状态序列Q=q1,q2,…,qT,在这个隐状态序列的T个隐状态中,出现频率最高的隐状态qi即为系统故障类型.令δt(i)表示t时刻到达状态Si的最大概率路径的概率值,φt(j)表示回溯状态,则δt(i)=max[P(q1q2…qt-1,qt=Si)].可以利用递归关系计算δt(i+1),最大概率路径可以从时刻t进行路径回溯.具体步骤如下:
1)初始化.
δ1(i)=πi•bi(o1),φ1(i)=0;
2)递归计算.
δt(j)=maxi[δt-1(i)•aij•bj(ot)],
φt(j)=arg max[δt-1(i)•aij];
3)路径回溯.
4)结束.
p*=maxi[δT(i)],
在这个过程中,φt(j)记录了(t-1)时刻最大概率路径的状态,即使得概率最大值的前置状态.利用反方向进行递归,就能够获得期望的状态序列.该状态序列长度为T,在T个隐状态中,寻找出现概率最大的一个隐状态即是系统的故障类型.
4 实验结果分析
为了验证以上故障诊断方法的正确性和可用性,进行了实验测试.在实验过程中,列车的运行使用仿真机代替,其余硬件和软件环境都是真实系统.利用隐马尔可夫故障诊断系统,采集被测系统中的数据.由于系统存在高速大容量的信息交互,为了不失一般性,在实验室环境下连续测试了7 d,每天随机采集48次(平均每30 min捕获一次),每次收集256个的数据包.在采集数据包的过程中,保证了整个网络不会因为附加的诊断系统而产生干扰.通过对通信数据的解析,与训练后的故障类型参数进行概率比较.仿真服务器的配置为8核心处理器,16 G内存,1 G bps网络连接.测试参数设置如下:通信周期200 ms,数据长度64 byte,最小传输时间1 ms,数据处理时间200 ms.
4.1 数据预处理
对于实验设定的6个外在故障表现特征,定义为二值逻辑(“真”或“假”),因此,可观测状态的总量为T=26=64个.对于一个可观测状态,可以写成V={某一设备无法运转、通信中断、链接异常、系统CPU占用率过高、流量异常、内存占用率过高},那么,V中的每一个分量都可以取1(真)和0(假)这两个值.比如,v1=(0,0,0,0,0,0),v2=(1,0,0,0,0,0),v3=(1,1,1,0,0,0)等.
对于模型参数λ=(π,A,B)的初始值设定,硬件的可靠性我们依据实验设备参数获得,软件参数由相关规范查阅.给定的π、A、B初始值见表1~表3.
表1 π的初始值Tab.1 Initial value of π
表2 隐含状态转移概率矩阵A的初始值Tab.2 Initial values of hidden-state transition probability matrix A ×10-4
表3 观测状态转移概率矩阵B的初始值Tab.3 Initial values of observed-state transition probability matrix B ×10-4
4.2 训练过程
图4给出了模型训练的效果,为了便于比较,除了正常的随机捕获外,通过加大采样间隔减小样本量,以观察样本量对训练效果的影响.
图4 模型训练效果Fig.4 Model training effect
可以看出,本文的算法在开始时收敛速度较快,经过大约200次递归以后,能够确保模型的收敛性.另外,不同数量的样本量对收敛速度影响不大,样本量越大,方差越小.
4.3 故障诊断结果
将系统运行时的实时特征序列置入已经训练完成的模型中以计算概率最大值,从而找出故障点,诊断结果如表4所示.
表4 故障诊断结果(对应2016个样本量) Tab.4 Fault diagnosis results (corresponding to 2016 sample sizes)
在诊断过程中,诊断率表示了正确诊断出故障的情况.从表5中可以看出,有些故障没有实现100%的诊断,如“正常状态”、“网络攻击”、“资源不足”和“负载过重”,说明对这些故障有漏诊和误报的现象.其主要原因与阈值选择、参数训练、样本量等因素都有关.阈值选择越小,参数训练时间越长,对于提高诊断率,减小漏诊和误报发生率都有利,但是这样也会增大系统的开销.因此在一定条件下,需要对诊断率和系统开销进行折中选择,使得各个方面的性能能够在接受的范围内即可.
比较理想的提高诊断率的方法是增加样本量.为了比较该因素对诊断率的影响,我们选择了多组样本量进行长时间的实验.在不同样本量的情况下,所有故障的平均诊断率如图5所示.
图5 不同样本量的故障诊断率Fig.5 Fault diagnosis rates under different sample sizes
可以看出,在各种不同的样本量条件下,系统故障平均诊断率都保持在90%以上.样本量越大,平均诊断率越高.在连续7d的测试中,若捕获间隔为5min,即提供2016个样本量,平均诊断率约为97.5%,诊断效果良好.
5 结论
1)基于隐马尔可夫模型,对高铁无线通信系统进行了故障诊断,给出了诊断原理和方法,建立了诊断模型并给出了相关算法.通过训练模型参数,对各类故障进行了诊断实验,并分析和讨论了相关的诊断结果,也验证了方法的正确性和可行性.
2)可以看出,相比于其他方法(比如贝叶斯网络、神经网络等),对系统的约束条件比较少,只有数据预处理过程稍显复杂,而其余步骤都很简单;适用范围广泛,除了高铁无线通信系统外,同样可用于牵引和制动等系统的故障诊断.另外,能够对无线通信系统这样具有统计特征的模型进行概率计算,并且有较高的诊断效率.
需要指出的是,本文没有考虑列控系统的冗余设备对结果可能产生的影响.由于列控系统是一个安全苛求系统,无论车载还是地面设备,为了提高可靠性,都有冗余设计,这是否会影响故障诊断还有待探讨.另外,在训练模型参数过程中,如果故障类型较多,则会导致矩阵规模急剧增大,这可能会降低计算速度,影响诊断效果.因此,如何优化模型参数也是后续研究需要考虑的问题.