王海学,孙剑伟,田 露
(中国电子科技集团 第十五研究所,北京 100083)
随着北斗三号正式组网成功,我国在航天领域又往前迈了坚实的一步。星间链路是提高卫星导航系统可靠性和定位精度的一项重要技术,星间链路可以在不依赖地面段的情况下,卫星之间通过星间链路相互测距,实现自主导航,提供应急情况下的定位服务。除此之外,星间链路还承担着导航系统上下行业务信息的星地通信需求[1]。
导航星座的星间链路需要在可见范围内与某颗卫星建立链路进行测量和传输数据信息,由于卫星上的网络信道资源有限,因此信道复用是提升星上资源利用率的有效途径。卫星导航星座通常采用时分体制星间链路,时分体制是信道复用的一种方式,它是指在一个超帧内,将时间划分成若干个等同的时间片即时隙,在每个时隙内完成卫星间不同链路的测量与双向数传功能。本文所设计的星间链路态势感知系统就是基于时分体制下设计的[2]。
目前对于星间链路网络的研究主要集中在两个方向。第一个方向是关于卫星建链拓扑以及路由方案的规划,针对于流量分布不均匀、网络拥塞、业务类型不同等问题提出了许多不同路由算法的切实可行的方案,并取得了较好的实验结果[3-9]。第二个方向是对星间链路网络状态的评估,文献[10]提出了复杂星间链路网络规划分级评估的方案,对复杂星间链路网络规划参数进行场景要素、节点核心特性以及测量、数传服务关键要求等符合性分析的第一级快速评估方法,以及网络仿真系统和业务服务指标体系的二级评估方法,该分级方法为星间链路网络规划管理的正确性评估提供了解决方案,文献[11]构建了以OSI参考模型为依据的星间链路运行服务评价体系,提出了利用模糊数学理论对导航卫星星间链路运行服务进行评估的方法。对于星间链路网路的管理中,目前仍然存在以下两方面的不足:
1)监视能力不足。星间链路网络的监视需要依赖于卫星下传的遥测信息。在时分体制下,遥测信息处理存在两方面的困难。一方面是遥测数据在传输与接收过程中会受到天气、磁场等随机因素的情况下产生误码,影响数据的真实表达,同时由于卫星在遥测下传采样数据时,一个时隙内会出现数据采样不完整的情况,建链的两颗卫星在同一时隙内各业务收发计数不能完全统一,影响网络指标的提取。另一方面是由于境外星的遥测数据需要经过境内中转星才能到达地面,遥测的数据信息相比境内星滞后,导致无法完整地对整个星间链路网络进行实时监视。这些因素均增加了星间链路网络管理的困难性。
2)预测能力不足。目前星间链路网络管理缺乏对网络状态的预测,导航系统的各项业务运行存在较强的规律性,反映在星间链路方面,其网络状态是可以进行预测的。对网络状态的预测不仅有利于对星间链路整体运行的监视评估,还有利于网络中异常情况的及时发现,辅助做出正确决策规避风险。
因此建立对星间链路网络的态势感知模型非常重要。网络态势感知[12]是指在大规模网络环境中,对能够引起网络态势发生变化的因素进行获取、理解、评估、显示以及对未来发展趋势的预测[13]。如果地面段掌握了星间链路网络的态势情况,可以对整体网络进行监视并且综合评判网络运行状况,提前预测出现的异常情况。
本文提出了基于神经网络对导航卫星星间链路态势感知研究。研究提出了构建网络态势感知的整体功能架构,明确了星间链路网络态势感知系统设计的流程;研究提出了对卫星网络相关遥测数据的预处理方案,还原出卫星节点真实的遥测计数信息;研究提出了星间链路网络态势感知的网络状态指标提取方案,完成了监视型网络状态指标的计算以及利用数据挖掘方法的复杂分析型指标的提取;研究提出了对部分网络状态指标基于BP神经网络的预测方案。通过实验,对某状态指标的预测准确率达到了98%左右,结果表明该间链路态势感知模型具有较高的可行性,可以有效提升地面运行管理系统对星间链路的监视及管理能力。
星间链路网络态势感知旨在为地面运行管理系统提供实时的星间链路状态监测以及未来状态的预测方案,支撑其他导航业务实现上注选星、故障诊断决策等多种服务要求,是确保星间链路高效运行的重要手段。
根据层次划分的思想,星间链路网络态势感知系统可分解为遥测数据解析与预处理、星间链路网络状态指标提取、网络状态指标预测3个层次,其架构如图1所示。
图1 星间链路网络态势感知模型架构
遥测数据预处理主要是将卫星遥测下传的状态信息进行解析,同时根据业务数据规则对下传遥测数据中因噪声以及传输时导致的数据缺失问题进行处理,还原出完善的遥测信息;星间链路网络状态指标提取是将预处理的数据进行指标抽取,在该模块下分为监视型指标的抽取以及分析型指标的计算;网络状态指标的预测主要是根据历史信息结合遥测信息具有滞后性的特点预测当前时段的状态以及未来时段的各种指标状态信息,可以用于辅助决策。
星间链路在运行过程中会产生大量信息,包括硬件模块状态信息、软件系统状态信息、卫星工作数据信息、卫星管理状态信息、建链状态信息等[14]。这些信息作为遥测信息下传至地面段。这些遥测信息非常复杂,通过一定处理可以得到卫星的真实运行情况,可以成为星间链路状态分析及监视处理的重要数据来源。
遥测数据通常是原始的测量与计数信息,卫星遥测数据从卫星发出至地面监测站接收的过程中,会受到天气、磁场等多种随机因素的耦合影响,会产生数据严重偏离真实值的误码,影响数据实际表达[15]。需要对这些遥测数据进一步工程化误码剔除方便对卫星的状态信息进行获取感知。
在时分体制下的导航卫星星座中,每个时隙为3秒。每个时隙又可分为接收与发送两个状态。在整个星座中,不同的卫星有不同的采样周期和采样节拍,遥测收发计数的采样不能完全与一个时隙的接收与发送状态相对应,导致一个时隙内各秒采样的数据不完整甚至缺失,进而会使建链的两颗卫星相邻两个时隙的业务数据接收与发送计数差值不能完全对应。因此除了对数据进行数据解析及误码剔除外,还需要利用网络传输的对称性和业务传输特性完善数据,最终还原出每个时隙网络中每条链路上传输的各业务的传输帧数。
因此星间链路网络态势感知系统对数据预处理主要分为解析及误码剔除、与数据校验及补齐处理两个部分。
1)数据的解析及误码剔除;卫星下传的数据为二进制数据,难以从二进制中获得对星上各类状态参数的表达,因此该阶段主要是将卫星下传的遥测数据根据接口规则通过编码解析得到每个字段的工程数值,同时针对偏离实际值的误码进行阈值剔除,用于对数据做进一步的处理。
2)数据校验及补齐处理;该阶段主要是对遥测数据的采样进行正确性分析及数据补充。首先将全网卫星的网络相关遥测数据根据星上时映射到时隙列表,对每个时隙中收发状态及采样收发计数进行对应的数据筛选。其次针对上下行特征业务信息,根据其本身特点对网络遥测数据进行推理补充处理,如遥控数据只可能由境内星传递给境外星,遥测下行数据只可能由境外卫星传递给境内卫星,通过业务分析判断部分卫星在某时隙遥测数据的正确性进而推测与其建链的其它卫星对应采样数据。分别对每个业务数据进行正确性分析后,最终递归所有参数信息根据其遥测特点得出所有遥测计数的正确值。
在上述预处理过程,解析得到每个卫星星间链路有关的参数信息,首先按每秒进行正确性处理,得出在一个小时内某个业务参数的正确数据达到86.564 7%。由于星间链路遥测参数每个时隙中的业务数据数三秒应为同一采样数值,因此将三秒的数据映射整合为一个时隙的数据。最终在一个小时的遥测数据统计中,某参数的正确性数值达到99.124 1%,该数据表明对星上卫星参数的实际采样数值有了较好的还原,对后续网络状态指标的监测将更符合实际卫星在轨运行的状态信息。
星间链路运行监视中,需要依托于一个内容全面、指标科学的网络状态指标体系,在本文中网络状态的指标体系是根据遥测数据进行数据挖掘分析而来的。在庞大的遥测参数中,除其中已经包含的各种设备的工作状态以及各类标志外,还需要更多的网络状态指标如拥塞度、发送速率、带宽利用率、节点缓存占用率等。这些指标是需要通过进一步分析综合得出,这类指标在下文统称为计算指标。计算指标分为监视型指标和分析型指标。
2.2.1 监视型指标
监视型指标在实际应用中又可以称为简单计算型指标,是指这些指标往往可以根据人工经过简单的分析计算而来,可以对星间链路网络状态进行直观监视。本文以两种指标带宽利用率以及转发率进行概述,简要分析该指标的计算过程。
某设备带宽利用率指标的提取主要是根据该设备所有队列的当前转发情况进行计算。假设该设备存在n个接收队列,m个发送队列,其中接收队列当前可用标志可以用一维向量Vm和Vn表示,其中1代表该时段可发送/接收,0代表当前时段不可发送/接收。同时每个队列当前的发送/接收数量统计分别用SendCounti,(i=1,…,m),以及RecvCountj,(j=1,…,n)。该设备带宽为B。则在该时段当前设备的带宽利用率W的计算见公式(1):
(1)
转发率则需要根据不同的频率进行统计。假设当前时间为t1,频率为n秒一次,当前数据转发量为Ct。那么该时间段内的转发率FRate见公式(2):
(2)
通过人工规则进行推算可以完成其他星间链路网络状态指标的计算。
2.2.2 分析型指标
该类指标为网络状态的一些宏观状态,比如当前时段的拥塞程度、卫星节点健康状态等。这些指标与星间链路网络上所有软硬件设备息息相关,任何软硬件的状态信息都会影响整个节点的拥塞度,由于软硬件遥测信息众多,往往不能通过一些简单的计算得出。在实际应用中,卫星出于安全性以及可靠性的考虑,使得卫星遥测参数中存在部分冗余数据,会导致多个不同的参数反映一个状态,这些参数应存在明显的相关关系,有些参数很难通过人工确定其相关程度,因此需要利用一些算法如相关性分析等数据挖掘的方法找出与复杂性指标有关的各类遥测参数信息,再根据算法进行综合提取。以拥塞程度为例,具体算法描述如下。
拥塞程度根据已知规则可以确定部分参数与该指标有关[17],由于卫星星间链路是一个超复杂性系统,参数众多,仍然有很多参数会对拥塞程度有影响。通过已知的相关部分参数和其他所有参数进行相关性分析,找出其它与拥塞程度相关度高的参数。假设已知相关性程度高的参数为Wi,(i=1…m)。通过相关性分析法找出的其他有影响的参数为Wj,(j=1…n)。最后综合提取出拥塞度Busy。
具体算法如下:
步骤1:每个遥测参数取值范围不同,对数据进行归一化处理,消除部分数据取值区间不同所带来的影响。假设遥测数据为datai,归一化函数见公式:
(3)
步骤2:利用相关性分析法对每个已知有影响的指标如该时隙每秒的卫星接收与发送计数等和其他所有指标进行相关性分析。本文采用Pearson相关系数[16]进行相关性分析。由人工判定对状态有影响的参数为Yj,j=1…n,其它待确定的参数为Xi,i=1…N-n。其两者之间的相关性程度ρXY可由公式计算得出:
(4)
遥测参数众多,部分利用Pearson相关系数得出的热力图如图2所示,在图2中,Param9,Param10为已知对拥塞程度有影响的参数,其余参数和其的相关性程度系数为图方格内的数字。其中颜色越深相关性系数越大表示与该参数相关性程度越高。在图2中,有两种相关性关系,分别为随着一个参数增加另一个参数也相应增加的正相关关系与一个参数增加另一个参数降低的负相关关系。两种相关关系均会对最终的复杂网络状态指标产生影响,因此需要同时将两种相关关系的参数纳入复杂指标的提取中。
图2 遥测参数相关性系数热力图
步骤3:筛选出指标在相关性程度为(-1~-0.6,0.6~1)之间的所有对拥塞程度有影响的数据。假设对拥塞程度有影响的数据总量为M。
步骤4:综合提取拥塞度。在步骤1中所有参数均与已知有影响的指标有不同程度相关系数,则该参数对拥塞度总的贡献程度为对每个已知相关参数的相关性程度系数求和取平均。而已知相关参数的贡献度均为1。那么所有参数对应的贡献度用ρXYk,k=1,…,M表示。那么拥塞程度Congestion的计算见公式:
(5)
经过以上简单计算以及复杂指标提取方法的综合处理,可以得到星间链路网络态势感知系统的部分网络状态指标见表1。
表1 网络状态指标
在对星间链路网络进行管理的过程中,除了对星间链路网络本身的状态进行监视外,对网络状态进行预测同样非常重要,主要体现在网络管理以及业务管理[18]两个层面。
在网络管理层面。卫星分为境内星和境外星,境内星的遥测数据可以通过较少的时延传输到地面段进行状态提取,而境外星的遥测数据则需要通过境内卫星进行中转,时延较大。这导致了在处理当前时间的遥测数据时,境外星的数据要滞后,无法得到当前时间下整个星间链路网络的状态,因此网络状态指标的预测对当前境外星的网络状态监视能力提供了解决方案。
在业务管理层面。一方面,缺乏对网络的全域感知可能导致管理人员无法及时发现在网络运行中发生的缓变故障,等到故障发现时,可能已经造成导航业务无法正常运行,网络状态感知可以帮助地面管理人员及早发现问题,及时做出相应的决策,避免出现网络瘫痪导致业务中断的情况;另一方面,对于一些依托于星间链路进行传输,且具有较强实时性要求的业务数据,如北斗卫星全球短报文出站业务,如若选用固定传输路径,可能会导致数据时延过大,如果通过星间链路网络态势感知,根据网络实时的流量分布和拥塞状态进行动态上注星的路径选取,可以有效减少短报文传输所经过的节点数,从而进一步降低短报文的传输时延,提升业务性能[19]。
BP神经网络是深度学习算法中的一种,是按照误差逆向传播算法训练的多层前馈神经网络。它的提出解决了多层模型中隐含层的连接权问题,有效的提升了神经网络的自学习和自组织能力,它可以对输入的多维样本模型进行特征提取,寻找各个参数与输出之间的潜在联系[20]。
本文对星间链路网络状态指标的预测采用BP神经网络[21],相比于灰色预测等传统的基于时间序列的预测算法,它可以解决星间链路网络状态预测所需要的多维特征即多个参数的输入。寻找到最合适的预测模型。
本文以星间链路网络中一个时隙内某下行业务数据的接收计数的预测为例。该遥测计数在一个时隙内的接收计数的主要因素来源于该时隙内其他星对该星的发送计数,因此输入参数中包括时间信息、该时隙的收发标志。同时由于网络传输时延等因素,上一时隙的计数值以及上几个时隙内与该星建链的所有卫星的发送计数等都会影响最终某下行业务数据的接收计数。对所有有影响的指标进行整理,其利用神经网络预测的基本结构如图3所示。
图3 遥测计数神经网络结构图
在本文中,输入层是通过人工规则以及相关性程度分析所得的各个参数xi,i=1…m,输出层为预测状态遥测计数y。为了提升预测结果的正确率,本文借助经验公式(6)来确定每层隐藏层神经元的个数。
(6)
式中,Cj表示第j层神经元的数量,M表示输入的样本数。In,Out表示输入层和输出层的神经元个数。α为变量,其范围一般为2~10。在本文中经过灵敏度分析选择5层神经元最终的效果较好。
每层神经元的计算值可由公式(7)计算得出。其中xjk表示第j层第k个神经元的计算值。在计算神经元值时采用Sigmod激活函数。w为每个输入的权重,Wl表示l-1到l层的权重,b为偏置项。
(7)
z=xi*wi+b
(8)
最终神经网络函数的目标函数见公式(9):
(9)
训练时使用梯度下降的方法更新参数,具体算法见公式(10)、(11)。其中α为学习率,其取值分别为0.02,0.2以及0.3。
(10)
(11)
最终通过Keras框架搭建出网络训练模型。并最终通过后续遥测网络状态指标进行验证。
本文按照卫星遥测计数下传信息对网络态势感知中的某个遥测下行计数状态指标进行分析,利用神经网络预测算法和灰色预测算法进行对照实验。验证状态指标预测的可行性,基本步骤如下:
步骤一:确定预测指标;星间链路状态指标参数中,计数型指标与星间链路网络业务相关程度较高且可直观判断正确性,因此选择某遥测参数计数作为实验对象。
步骤二:确定对该指标有影响的参数;参照第二节所述的相关性分析方法,确定影响该指标的所有参数。
步骤三:搭建神经网络模型;根据第三节所述模型,利用Sklearn包的神经网络函数搭建预测框架。
步骤四:搭建时序灰色预测模型;编写灰色预测算法。
步骤五:对照实验,并进行结果分析。
根据上述实验步骤,利用网络状态模型的预测算法,对一个小时内的数据预测该某计数状态的预测效果,其中80%的数据为训练集,20%的数据为测试集。最终预测正确的成功率在87.26%,预测结果与实际结果之差见图4。
图4 计数值预测差值
根据图4所示,每个点表示预测值与真实值差值计数,分别在0上下波动。在图中显示预测结果与实际结果差值较少,整体分散在(-3~3)之间,对数据进一步处理,分别对结果数据筛选出差值计数在1、2、3、5内的正确率见表2。
根据表2所示。差值在3以内的正确率达到了98.32%。可以较为准确的预测网络的状态指标。为了对预测算法的通用性进行测试,利用灰度预测算法进行对照实验,分别选取2,3,4,5小时内的数据进行测试。对差值计数在3以内的数据结果统计如图5所示。
表2 差值范围内的正确率
图5 多个小时的预测准确率对照
根据图5所示,灰度预测算法的正确率在83%左右,同时随着时间的增加由于历史数据过多导致正确率降低。BP神经网络预测网络状态随着时间的延长准确率稳定在98%左右,这可以解决了境外星状态滞后以及未来异常提前感知的问题。
为了更好地提升地面段对星间链路网络的管理能力,解决星间链路网络中存在的监视能力不足以及预测能力不足的问题,本文对星间链路网络态势感知模型进行研究。一方面针对于不同的网络状态指标,利用简单计算法以及复杂指标数据挖掘等方法构建出监视型指标和分析型指标的完整星间链路状态指标体系。另一方面利用BP神经网络对网络状态进行预测,可以对未来的网络状态提前感知。经实验测试,预测算法在某状态指标计数相差3以内的正确率稳定在98%左右。可作为网络态势预测的支撑算法。为其他系统如故障分析检测系统提供了有效的数据支撑,具有较高的可行性。在本文中网络状态计数预测完全正确的准确率在87%,仍然有很大的提升空间,未来可以采用更加准确的算法进行预测。