APP下载

MVB网络间歇性连接故障定位方法研究

2021-02-03李召召王立德杨岳毅

铁道学报 2021年1期
关键词:编码器分类器波形

李召召,王立德,杨岳毅,申 萍

(北京交通大学 电气工程学院,北京 100044)

列车通信网络是列车的中枢神经系统,列车所有的控制和监测信息都要经由列车通信网络进行传输,因此其健康状态关乎着列车的安全稳定运行[1]。作为总线式网络,多功能车辆总线(Multifunction Vehicle Bus,MVB)是列车网络化控制系统的车辆级组成部分,其对实时性有严格的要求,任何网络故障导致的丢包、时延都会对列车的安全稳定运行造成不利影响[2]。MVB网络故障涉及网络设备、网络线缆、连接器及周围电磁环境在内的多种因素,往往难以排查和定位,其中间歇性连接故障尤为突出。间歇性连接(Intermittent Connection,IC)是指网络设备与网络线缆之间由于不可靠连接导致的暂态性断路故障。在总线式的工业控制网络中,IC故障频繁发生。IC故障发生后将打断传输经过故障点的数据帧,进而导致该数据帧在解码失败后被丢弃,网络丢包率、时延增加,严重时还将影响控制系统的正常运行。列车运行时的振动环境、不当的维护、松动退化的连接器插针等都可能导致IC故障的发生。当列车停止运行进行故障排查或日常维护时,由于失去了振动条件,网络线缆和网络设备恢复连接,IC故障往往不能复现。因此这种只有在列车运行时才会出现的偶发性,更增加了IC故障诊断和定位的难度。

传统的网络故障定位,通常基于网络管理协议监视网络故障状态并建立故障事件,而后根据网络拓扑或历史数据建立依赖图等网络模型,对出现的故障事件进行推理定位[3]。文献[4]根据网络管理协议和网络告警建立故障代码簿,对数据通信网络进行建模分析,实现了其网络故障定位。但总线式的MVB网络不同于以太网,其并不具备网络管理协议,难以建立故障事件。文献[5]通过MKLSVM方法实现了MVB端接故障的诊断,然而其特征量是基于完整的数据帧提取而来,该特征提取方法在被破坏的IC帧上不易实现。文献[6-8]研究了同为总线式网络的控制器局域网(Controller Area Network,CAN)的IC故障定位方法,其主要原理为:当IC故障发生后,IC帧被破坏从而使CAN节点解码失败;最先检测到IC帧的CAN节点将主动发送由6个显性位组成的错误帧来告知其他网络节点,CAN网络两端的两个监测装置检测到该错误帧后将其记录为一次IC故障事件;最后通过上下文无关法等网络建模方法推导出IC故障的位置。但在MVB中,网络设备仅会将解码失败的数据帧丢弃,并无类似的错误帧机制来对其他网络设备进行告警。因此,识别IC帧的来源设备成为MVB网络IC故障定位的关键。

针对IC帧难以解码、不易识别的问题,本文引入设备指纹的概念来区分不同网络设备的IC帧。由于网络设备及其电路元件的制造过程不可能完全一致,因此每个节点发出的数据帧波形均带有像人的指纹一样的独有特征[9-11]。自编码器通过神经网络重建输入,并基于某些约束最小化重建损失,在网络训练过程中自动学习原始数据的特征表达[12-14],可以起到特征提取的作用。尽管在发现IC帧波形后,再进一步解析链路层数据,借助网络专家经验和端口配置情况也可推导出IC故障节点,但该方法舍弃了已有的IC帧波形,需要额外的链路数据、较高的网络专业知识和网络访问权限,因此其应用受到更多的限制。本文首先基于MVB网络物理波形数据,利用稀疏自编码器提取网络设备指纹特征,并在第二个隐藏层之后级联人工神经网络,形成深度神经网络分类器以识别不同设备的IC帧;然后在确定IC故障中采集到的所有IC帧来源后,建立IC故障代码;最后根据MVB网络拓扑建立故障推理决策树,进而确定IC故障点的位置。在实验室环境下搭建了平台,实验结果表明,本文提出的方法能够准确识别IC帧的源节点,定位IC故障。

1 IC故障定位原理

MVB网络IC故障定位原理见图1。在正常工况下,将具有高速A/D采样功能的MVB数据采集分析装置部署于网络一端,采集网络数据帧波形并提取网络特征,形成训练样本,训练分类器以识别不同网络设备的数据帧波形。当IC故障发生后,通过该装置对总线电平进行连续时间采样,并按照一定规则提取其中的IC帧波形数据,再利用前述训练得到的分类器识别这些IC帧的来源设备,并建立故障事件,从而推导故障位置。

图1 MVB网络IC故障定位原理

MVB编码方式为非归零的曼彻斯特编码,下降沿为逻辑“1”,上升沿为逻辑“0”。MVB网络编码形式见图2。

图2 MVB网络编码形式

若故障点位于图1中“×”的位置,IC故障发生时节点4和节点5之间将出现暂态性断路,数据帧由节点4向右侧的传输过程被打断,总线电平信号恢复归零状态;而后网络恢复连接,总线电平信号恢复。MVB网络IC故障帧见图3。该数据帧由于不能被节点5和节点6正确解码而被丢弃,导致网络丢包率和通信时延增加。

图3 MVB网络IC故障帧

2 IC帧识别

MVB网络IC故障定位的首要任务是IC帧的识别。在MVB网络中,即使相同厂家相同批次的网络设备,也会由于制造工艺等限制,在发出的物理波形上有所区别。通过物理层波形的细微特征,可以对IC帧进行识别,确定哪一个设备发出的数据帧被IC故障打断,从而将IC帧的识别转换成一个模式识别问题。这种蕴藏在波形信号中的细微特征即为设备指纹(Device Fingerprint)[10]。通过稀疏自编码器网络的特征学习,从正常数据帧中提取每个设备的设备指纹信息,并训练基于人工神经网络的设备指纹识别模型。在IC帧识别过程中,虽然IC帧遭受到破坏难以解码,但通过稀疏自编码器仍能够提取其中携带的隐含特征信息,进而基于设备指纹识别模型对各IC帧的来源设备进行分类识别,建立IC故障代码,定位IC故障。IC故障帧识别过程见图4。

图4 IC故障帧识别过程

2.1 波形数据采集和分割

MVB数据采集分析装置的采样数据为连续的总线电平信号,需要对其进行分割、标记,得到每个设备的单一帧波形,形成原始数据集。MVB数据帧分为正常帧和IC帧。正常帧数据用于训练和测试设备指纹识别模型,故障定位中,基于该模型识别IC帧来源,建立IC故障代码。

数据帧的分割模型见图5。波形数据的分割规则为:从检测到MVB数据帧的起始位开始,到连续20个归零电平结束(考虑到电磁干扰、线路反射等因素,文中将该电平值放宽为0.3 V),标记为一帧数据;对单一帧波形数据进行解码,解码正确则视为正常帧(见图6(a)),解码错误则视为IC帧(见图6(b))。

图5 数据帧分割模型

图6 正常帧与IC帧的分割

MVB网络波特率为1.5 Mbit/s,正常帧最短长度在34~38 bit之间,在MVB数据采集分析装置100 Msa/s的采样速率下,其波形数据长度约为2 500个采样点。为了保持所有波形数据的维度一致,以便进行特征提取和模型训练,对所有正常帧波形数据只取其前2 500个采样点。分割得到的单一帧长度小于2 500个采样点则用0补齐至2 500维。由此得到MVB网络的正常帧数据集为D={(x1,y1),(x2,y2),…,(xm,ym)},x∈R2 500。

2.2 特征学习和模型训练

为提取MVB网络物理波形中的设备指纹信息,以各设备的正常波形数据为训练集,训练堆栈式稀疏自编码器网络,并以其中隐藏层神经元输出作为提取的特征数据,级联人工神经网络(Artificial Neural Network,ANN)分类器实现IC数据帧的识别。

稀疏自编码器是一种利用全连接前馈神经网络进行表征学习的无监督学习技术,其网络分为编码器和解码器两部分。编码器将输入在隐藏层进行稀疏映射,而解码器则利用该隐藏层的输出再还原出原始输入。通过对中间隐藏层施加稀疏化约束条件,自编码器的中间隐藏层往往能自动学习出输入数据的内在特征,起到特征学习的作用。与其他神经网络级联成深度神经网络后,可以同时实现特征学习和分类的功能。当稀疏自编码器神经元输出接近1时激活该神经元,接近0时则不激活。稀疏自编码器见图7,其中,深色为激活态神经元,浅色为非激活态神经元。在稀疏约束条件下,隐藏层神经元在大部分时间内保持不激活状态。

图7 稀疏自编码器

假设原始输入为x=[x1,x2, …,xn]T∈Rn,n为输入维度,编码器通过映射函数f将x从输入层投影到隐藏层,a=[a1,a2, …,ai]T=f(x),i为隐藏层维度,则f(x)的函数可表示为

a=f(x)=u(Wex+be)

(1)

解码器通过映射函数h将a从隐藏层投影到输出层,h(a)的函数可表示为

(2)

式中:u为神经元激活函数;We为编码器内部各层间的权重矩阵;be为偏置向量;Wd为解码器内部各层间的权重矩阵;bd为偏置向量。

自编码器在网络训练过程中通过最小化重构误差J,尽量输出接近于输入的近似值。

(3)

式中:hw,b(x)为稀疏自编码器输入层到输出层之间的映射函数。

因此,对于数据集D={(x1,y1),(x2,y2),…,(xm,ym)},整个自编码器网络的重构损失为

(4)

考虑到权重的正则化项,则整个网络的损失函数为

(5)

式中:nl为自编码器神经网络层数;sl为第l层激活的神经元个数。

设定接近于0的稀疏参数ρ,对隐藏层神经元进行稀疏性约束为

(6)

以KL散度表示ρjav和ρ的相对偏差,则该隐藏层稀疏化惩罚项为

(7)

结合式(5)可得稀疏自编码器的目标函数为

(8)

式中:W、b为神经元之间的连接权重、偏置;m为样本数量;λ为正则化项系数;aj为某隐藏层第j个神经元的输出;ρjav为该隐藏层神经元在整个数据集上的平均激励输出;s为隐藏层神经元个数;β为稀疏惩罚项的权重参数。

训练得到多层稀疏自编码器网络模型后,将其隐藏层对训练数据的稀疏表示作为人工神经网络分类器的输入,形成深度神经网络分类器模型(Sparse Autoencoder+ANN,SAEANN)。分类器采用全连接的三层人工神经网络,神经元激活函数为sigmoid函数。

(9)

其损失函数定义为

(10)

式中:s1,s2,s3分别为ANN输入层、中间隐藏层、输出层神经元个数;yki为第k个输出神经元在第i个样本上的输出值;θj,k(1)为ANN第一层第k个神经元到隐藏层第j个神经元之间的权重值;θj,k(2)为ANN隐藏层第k个神经元到输出层第j个神经元之间的权重值;λ为ANN的权重惩罚系数。

多层稀疏自编码器网络和人工神经网络级联构成深度神经网络,深度神经网络训练过程见图8。

图8 深度神经网络训练过程

Step1设定自编码器网络层数为5层,初始化输入层神经元个数为2 500,隐藏层1神经元个数为200,隐藏层2神经元个数为100,隐藏层3神经元个数为200,输出层神经元个数为2 500;设定级联人工神经网络层数为3层,ANN的输入层即为自编码器的隐藏层2;初始化中间隐藏层神经元个数为10,输出层神经元个数为网络节点数量;初始化各权值矩阵和各隐藏层偏置。

Step2定义所有神经元激励函数为sigmoid函数,并定义自编码器网络代价函数。

Step3输入MVB网络正常波形数据集,逐层训练自编码器网络参数,以期在输出层尽可能还原样本。从编码器输入层到隐藏层1再到隐藏层2为样本稀疏化表示和特征学习过程,从隐藏层2到隐藏层3再到输出层为样本还原过程。只有中间隐藏层学习到了最具有代表性的样本特征后,输出层才能尽可能近似的还原输入样本。

Step4利用自编码器隐藏层2的神经元输出作为特征数据,训练3层人工神经网络。

Step5网络训练完成后得到如图9所示的深度神经网络,其中:第一层xi为输入层神经元,每个神经元对应波形样本中的一个采样点;第二层神经元hi1、第三层神经元hj2为自编码器网络的编码器部分;第四层神经元hk3、第五层神经元y为级联的神经网络分类器部分;输出y为对应的数据帧类别标记。最后输入IC故障帧波形数据到深度网络模型,识别其来源设备。

图9 深度神经网络

3 故障事件和故障推理

不考虑端接,对于有N个节点的MVB网络,加上数据采集装置共N+1个节点,N条支路。定义检测到第i个节点的IC帧大于规定阈值数量为故障事件Ei。根据车辆主机厂专家经验,MVB网络的丢包率大于3%则认为网络发生严重故障,据此定义故障事件为

(11)

式中:Tmacro为MVB设备周期轮询表设定的宏周期;ni为单位宏周期内节点i发出的过程数据帧数量;Fi为判定阈值;Ci为单位时间(1 s)内检测到的第i个节点的IC帧数量。IC故障告警被编码为{E1,E2,…,En}。当单个设备单位时间内IC帧占比大于等于3%时,认为故障事件Ei发生并取值为1,否则为0。此阈值判定只考虑了占网络通信绝大多数的过程数据。当IC帧数量达到过程数据丢包率3%时,实际整个网络丢包率尚未超过3%,因此可以在IC故障对网络性能产生明显影响之前做出响应。

故障示例见图10,其中E2~E6代表前述定义的IC故障事件,L1~L6代表包括MVB数据采集分析装置在内的所有网络支路。IC故障发生时,故障现象为:位于IC故障点左侧的节点数据帧在短时间内被打断,形成IC帧。按照其网络拓扑建立IC故障推理决策树。当MVB数据采集分析装置采集到IC帧波形后,通过设备指纹识别模型识别这些IC帧来源,进而建立故障事件,并按照故障事件和推理决策树定位故障支路,将IC故障范围缩小至该支路两端的连接器部分。

图10 故障示例

4 实验验证

在实验室环境下搭建了实验平台,共包括6个MVB设备(1主5从)和1个具备高速AD采样的MVB数据采集分析装置(最右侧节点及其上位机),以及一个故障注入装置。故障注入板卡采用导通电阻极低的高速模拟开关串接进入MVB总线,可以实现μs级的随机间歇性通断。实验中设定每次IC故障持续μs级的随机时间长度,通过故障注入板上FPGA中的随机数生成器控制IC故障的随机发生。

MVB网络的宏周期时间Tmacro配置为10 ms,每个宏周期各节点的端口配置情况和发出的数据帧数量见表1。其中节点4为主设备,其单位宏周期内帧数包括对所有端口的轮询主帧和自身从帧,即n4=(7+8+9+4+8+7)+4=47。

表1 单位宏周期源端口配置和各设备数据帧数量

分别在正常工况和IC故障下,通过MVB数据采集分析装置采集各设备数据帧波形,持续时间为1 s。故障注入板部署于L4支路,正常帧数据集见表2。随机抽取正常帧的80%作为训练集训练深度神经网络,并利用剩余20%正常帧和全部IC帧测试分类精度,重复操作10次。单次识别精度和平均精度见图11。自编码器输入层包含2 500个神经元,隐藏层1包含200个神经元,隐藏层2包含100个神经元,隐藏层3、4与隐藏层1、2对称,输出层也为2 500个神经元。自编码器网络稀疏参数ρ取值0.1,β取值为3,自编码器正则化系数λ取值为0.01。ANN以自编码器隐藏层2的输出作为其输入,中间隐藏层包含10个神经元,输出层包含6个神经元(对应6个节点),正则化系数取值均为λ=0.1。每次实验中分别训练了ANN和SVM模型与SAEANN进行对比。其中ANN输入层包含2 500个神经元,隐藏层包含10个神经元,输出层包含6个神经元,正则化系数取值0.1。SVM则采用高斯核函数和网格参数寻优方法。

表2 正常帧数据集

图11 单帧识别精度和平均精度

由图11可见:3种分类器均能精确识别正常帧,其中SAEANN和SVM识别精度均在99%以上;IC帧遭到破坏,包含的有效特征信息较正常帧减少,3种分类器识别精度均有所下降,但采用设备指纹的方法仍能够识别大多数IC帧的来源设备;与ANN和SVM相比,采用稀疏自编码器的深度神经网络学习到了MVB波形数据的隐含特征,对IC帧的识别精度为96.068 6%,明显优于SVM的92.559 4%和ANN的89.973 6%。因此SAEANN可以作为MVB网络的设备指纹识别分类器,识别IC帧的来源设备,为进一步建立IC故障事件奠定基础。

以10次实验中的第1次为例,SAEANN对各设备IC帧的识别情况见表3。由表3可得IC故障事件告警代码为{111100},从推理决策树可定位故障位置为L4支路,与实验设定相符。

表3 单次实验中IC帧统计及故障编码

更换故障注入位置于L2支路后,SAEANN对IC帧的识别数量和IC故障事件见表4。由表4可得IC故障事件告警代码为{110000},从推理决策树可定位故障位置为L2支路,与实验设定相符,验证了该方法的有效性。

表4 更换故障位置后IC帧统计及故障编码

5 结论

(1)本文提出了一种基于设备指纹的MVB网络IC故障识别和定位方法。采集网络物理波形训练了设备指纹识别分类器,以确定遭到破坏、不能解码的IC帧来源设备。在IC故障发生后,通过本文模式识别的方法直接识别IC帧波形,在不需要链路数据、端口配置和MVB网络专业知识的情况下即可实现故障定位。根据IC帧来源建立故障事件,并基于网络拓扑建立故障推理决策树,对IC故障进行定位。

(2)采用多层稀疏自编码器,在其隐藏层的稀疏约束下自动进行了特征学习,提取出了各个MVB设备物理波形中的独有隐含特征。

(3)通过自编码器级联ANN形成的深度神经网络,与传统神经网络和支持向量机分类器相比,其对残缺的IC帧识别精度更高,为进一步IC故障定位打下基础。

(4)本文方法在其他总线式网络的IC故障定位中也可适用。未来将重点探讨本文方法对于短时电磁干扰等其他因素引起的间歇性网络通信故障的适用性。

猜你喜欢

编码器分类器波形
融合CNN和Transformer编码器的变声语音鉴别与还原
基于时域波形掩护的间歇采样干扰对抗研究
学贯中西(6):阐述ML分类器的工作流程
设定多圈绝对值编码器当前圈数的方法
转炉系统常用编码器选型及调试
基于朴素Bayes组合的简易集成分类器①
基于Halbach阵列磁钢的PMSM气隙磁密波形优化
舞台机械技术与设备系列谈(二)
——编码器
基于特征选择的SVM选择性集成学习方法
用于SAR与通信一体化系统的滤波器组多载波波形