基于长短期记忆神经网络的矢量跟踪通道状态监测算法

2020-03-13 09:07朱震曙吴盘龙薄煜明朱建良
数据采集与处理 2020年1期
关键词:接收机正确率矢量

朱震曙,吴盘龙,薄煜明,朱建良

(南京理工大学自动化学院,南京,210094)

引 言

卫星导航系统是一种天基无线电导航系统,用户利用太空中的卫星发射无电线信号进行定位和导航[1-4]。世界上第一种成熟的卫星导航系统就是著名的全球定位系统(Global positioning system,GPS),它能够为全世界的用户提供实时、三维高精度定位信息,深刻地改变了人们的生活。GPS导航系统被广泛应用于军事、交通运输、航海、手机定位等领域,已经成为现代信息社会的基础性技术[1-4]。

用户利用导航卫星进行定位,主要原理和流程如下:第1步,用户持有卫星信号接收机,接收机接收卫星信号,然后通过接收的信号测量自己和特定卫星之间的距离;第2步,当接收机可以获得超过4颗卫星的距离信息时,就可以获得自身的位置、速度和时间信息。在此过程中,最关键的是卫星接收机对于导航信号的处理。一般来讲,接收机对于卫星信号的处理主要有3部分[5-8]:(1)信号捕获,捕获输出卫星信号粗略的多普勒频移和码相位值;(2)信号跟踪,对捕获的粗略多普勒频移和码相位值进行初始化,然后对信号进行精细跟踪,输出精确的多普勒频移值和码相位值;(3)定位解算,利用信号跟踪获得精确的伪距和伪距率分别计算自身的速度、位置和时间信息。

严格意义上讲,卫星导航接收机分为两种架构,即标量跟踪和矢量跟踪。标量跟踪如图1所示,接收机各个通道相互独立,各自完成信号的跟踪,然后每个通道的信息提供给导航计算模块进行解算。在这种架构下,可以根据跟踪环路的运行情况来判断每个通道的运行情况,十分方便。但是,由于各个通道相互独立,接收机缺少足够的冗余能力。图2为矢量跟踪架构,很明显在矢量跟踪架构中,所有通道被一个导航滤波器集中处理然后输出导航定位信息,同时导航定位信息还被反馈到信号跟踪,这样充分利用了导航定位信息,形成了信号跟踪和导航定位信息估计之间的一个内部闭环,可以增强接收机对微弱信号的跟踪性能[9-10]。但是集中处理所有的通道会带来其他的问题,即通道之间相互影响,比如某个通道的卫星信号被遮挡,如果对该通道不进行处理会影响其他通道的信号跟踪和整个导航滤波器的运行[11-12]。由于矢量接收机中没有类似于标量跟踪中的锁相环结构,信号跟踪和导航信息估计被统一的卡尔曼滤波代替,为了保证矢量接收机的正常运行,每个通道的故障检测或者状态监测显得尤为重要,需要设计新的方法来提升矢量接收机的性能和鲁棒性[13-14]。本文提出一种基于长短期记忆神经网络的矢量跟踪通道故障检测算法,将导航滤波器中的每个通道对应的新息序列值作为神经网络的输入,输出为对应通道的运行状态。然后根据对应的状态判断是否将该通道纳入导航滤波器进行导航信息估计,当接收机运行良好时对神经网络进行训练。最后基于Matlab平台,设计对应的仿真实验。

图1 基于标量跟踪的卫星导航接收机Fig.1 Structure of scalar-based tracking loop

图2 基于矢量跟踪环路的卫星导航接收机Fig.2 Structure of vector tracking loop

1 矢量接收机原理和模型

1.1 导航滤波器模型

矢量接收机结构如图2所示,这里描述的是一种基于矢量延迟锁定环(Vector delay lock loop,VDLL)和矢量锁频环(Vector frequency lock loop,VFLL)的方案[10]。矢量延迟锁定环负责输出码相位跟踪,矢量锁频环负责载波信号的跟踪。本模型中,导航滤波器的状态变量为位置误差、速度误差和时间信息误差,状态方程如下

式中:Fk,k+1为状态转移矩阵;c为真空下光的速度;tb,k和tb,k-1分别为k时刻和k-1时刻的接收机钟差;td,k和 td,k-1分别为 k时刻和 k-1时刻的接收机钟漂;δxk、δyk、δzk分别为地心地固坐标系下 k时刻三轴位置误差;δvx,k、δvy,k、δvz,k分别为 k时刻地心地固坐标系下三轴速度误差;wk为系统噪声;δxk-1、δyk-1、δzk-1分别为地心地固坐标系下 k-1时刻三轴位置误差;δvx,k-1、δvy,k-1、δvz,k-1分别为 k-1时刻地心地固坐标系下三轴速度误差。

导航滤波器量测值为码鉴别器和鉴频器输出,具体表示成如下形式

式中:zcode,k为码鉴别器输出;zcarrier,k为鉴频器输出;hx,hy,hz为接收机和卫星间视线矢量的3个分量;wcode,k为码鉴别器噪声;wcarrier,k为鉴频器噪声。

式(3)表示码鉴别器输出和位置之间的关系,式(4)表示鉴频器输出和速度之间的关系,更多计算细节见文献[9]。

1.2 卡尔曼滤波

导航滤波器采用的卡尔曼滤波计算公式如下[12]

定义新息序列计算如下

2 长短期记忆神经网络

2.1 长短期记忆神经网络原理

长短期记忆(Long short term memory,LSTM)基本结构如图3所示,LSTM由3个基本的“门”结构组成,分别为遗忘门、输入门和输出门[15]。各个门的功能如下:

(1)“遗忘门”用来决定过去的信息遗忘程度,输出对应的权值,在0~1之间,0代表完全忘记,1代表完全采用,公式如下

式中:ft为遗忘门输出;Wf、ht-1和bf为神经网络训练过程中需要确定的参数;xt为t时刻输入向量。

(2)“输入门”用来决定输入信息对状态的更新程度

式中:σ(·)为激活函数;Wi、WC、bi和bC为训练过程中需要确定的参数。

(3)最后一个部分“输出门”用来决定输出信息

式中:tanh(·)为正切函数;Wo和bo为训练过程中需要确定的参数;ot为LSTM的输出。

图3 长短期记忆网络单元结构图Fig.3 Structure of LSTM unit

2.2 基于长短期记忆神经网络通道故障检测的实现

2.1 节中介绍只是一个基本的LSTM单元,实际上LSTM需要构成一个网络。本文中,将导航滤波器的新息序列即式(10)作为神经网络的输入,具体结构如图4所示。这里采用的是一种单层长短期记忆神经网络(LSTM-Recurrent neural network,LSTM-RNN)结构,图中新息序列的值构成每次的输入矩阵,输出为通道运行状态,1表示正常,0表示异常。考虑到计算量的问题,这里采用过去50个时刻的新息序列值,首先在矢量接收机运行良好时训练LSTM,然后再用训练好的神经网络进行矢量跟踪通道故障检测。

图4 长短期记忆神经网络结构图Fig.4 Structure of LSTM neural networks

3 仿真结果与分析

3.1 仿真平台和条件

由于矢量接收机暂时还没有成熟的实时系统,本实验中采用的是矢量跟踪软件接收机,基于Matlab平台开发。矢量跟踪接收机运行流程如下:

(1)初始化,包括载波频率、码频率、采样频率、接收机运行模式、文件路径、捕获相关参数和信号跟踪相关参数;

(2)标量跟踪,经过信号捕获和跟踪,得到伪距等信息,然后计算位置和速度信息,同时保存星历信息和跟踪相关信息供矢量跟踪接收机使用;

(3)在标量跟踪运行至少36 s之后切换成矢量跟踪模式,因为36 s之后能够获得星历信息和矢量跟踪初始化需要的信息。矢量跟踪按照1.1和1.2节所述的模型进行运行,输出导航信息。

实验中,设计了实验轨迹,然后采用卫星信号滤波器模拟设计轨迹的卫星信号,采用中频信号采集器采集信号,这里信号的采样率为16.369 MHz,中频信号的频率为3.996 MHz。实验轨迹设计如图5所示。

图5 三维轨迹图Fig.5 3D trajectory diagram

3.2 故障检测准确率对比和分析

首先对LSTM-RNN矢量接收机通道故障分类正确率进行分析,主要是不同的新息序列长度对分类正确率的影响。将传统的支持向量机(Support vector machine,SVM)方法和LSTM-RNN方法进行了对比。图6为不同序列长度下的分类正确率值。可以看出LSTM-RNN具有更好的分类正确率。当序列长度为50时,LSTM-RNN的分类正确率达到了95%左右。

图6 两种方法不同序列长度的分类正确率Fig.6 Classification accuracy of LSTM-RNN and SVM

3.3 故障剔除实验

本实验中考虑到矢量跟踪接收机和故障检测模块的计算效率,没有完全使用所有的轨迹数据,完整的轨迹数据是6 min左右,由于程序采用Matlab编写,考虑到运行时间,先进行了60 s的标量跟踪,然后进行了40 s左右的矢量跟踪。在矢量接收机开始运行之后,卫星信号模拟器人为地关闭一个通道的卫星信号,这里关闭的是第4个通道的卫星信号,对应的卫星为17号卫星。

图7和图8分别给出纬度误差和经度误差对比,红色曲线表示没有进行故障检测和剔除的误差数据。从图中可以看出,当故障出现时,位置误差瞬间变大,这是由于17号卫星信号消失,但是仍然将该卫星纳入导航信息的解算,实际上该通道都是噪声数据,这影响了导航滤波器的运行,导致误差变大;蓝色曲线表示进行故障检测和剔除之后的误差数据,当故障发生时,误差几乎不变,对定位的结果影响仅限于参与定位的卫星少了一颗。现实环境下,部分通道卫星存在频繁、短暂的遮挡,这会导致矢量接收机处理起来比较麻烦,而通道状态的检测可以有效地应对这种情况。

图7 纬度位置误差Fig.7 Latitude position error

图8 经度位置误差Fig.8 Longitude position error

4 结束语

本文提出了一种利用长短期记忆神经网络的矢量跟踪通道故障检测方法,以矢量跟踪导航滤波器的新息序列作为神经网络的输入向量来判断对应的通道是否异常。仿真结果表明,相对于传统的支持向量机,长短期记忆网络具有更高的分类正确率。同时该方法能够有效地监测通道运行状态,保证系统的定位精度。实际应用中卫星信号被遮挡会导致参与导航的卫星数量减少,从而降低导航精度,未来工作将在少星环境下研究如何提升矢量接收机的综合性能。

猜你喜欢
接收机正确率矢量
GNSS接收机FLASHADC中比较器的设计
一种适用于高轨空间的GNSS矢量跟踪方案设计
矢量三角形法的应用
门诊分诊服务态度与正确率对护患关系的影响
一种宽带低功耗四合一接收机设计
一种面向ADS-B的RNSS/RDSS双模接收机设计
生意
品管圈活动在提高介入手术安全核查正确率中的应用
数字接收机故障维修与维护
生意