王会宾, 程咏梅, 田朝旭
(西北工业大学 自动化学院, 陕西 西安 710072)
矢量跟踪环路(vector tracking loop,VTL)是一种应用于全球定位系统(global position system,GPS)接收机的信号跟踪环路[1]。异常的电离层、对流层延迟或多路径等其他干扰会引起接收机得到的中频信号相对无故障信号产生较大的异常偏差,这类信号故障会使得跟踪定位结果不准确。
针对矢量跟踪环路的信号故障检测算法主要包括快照法[2-4]和卡尔曼滤波方法[5-7]。其中大多直接采用鉴别器输出的码相位或载波相位等信息来构造故障检测统计量。然而现有的常规鉴别器只能在跟踪误差接近于零的小范围内保持线性偏差输出能力[8]。当受到异常信号干扰影响时,跟踪通道持续存在较大的跟踪偏差,此时鉴别器会产生不同程度的输出失真[9]。这无疑会对接收机的跟踪性能产生不利影响。由于鉴别器的失真,信号故障造成的较大幅值码相位偏差输出为较小的偏差值,使得故障检测算法难以检出其异常。
除此之外,量测噪声的增大会使得偏差小的故障混入噪声之中难以检测,而偏差较大的故障则由于鉴别器的失真而输出为较小的码相位偏差值,造成故障检测统计量无法达到故障检测的阈值,故障检测算法的检测能力大大下降。这严重削弱了矢量跟踪结构在强噪声环境下的跟踪性能。
针对上述问题,本文首先对鉴别器输出失真的原因及其对故障检测算法的影响进行分析,基于此提出一种适用于强噪声环境的矢量跟踪信号故障检测算法。算法设计了一种专门用于故障检测的码鉴别器,并利用其输出构造故障检测函数。针对故障检测鉴别器的输出与导航滤波器状态间存在非线性映射的问题,算法采用三阶球面-径向容积准则进行测试统计量及其方差的估计。最后通过不同信号环境下的故障检测仿真实验对本文提出算法的性能进行分析和验证。
本节首先对矢量跟踪结构的故障检测算法原理进行了简要介绍,在此基础上分析了鉴别器输出失真对矢量跟踪结构故障检测算法的影响。
若直接利用鉴别器输出的码相位偏差信息进行故障检测,则含有故障的码相位偏差量测的数学模型可以表示为
(1)
将(1)式中的码相位偏差量测减去其估计值,则可以得到只包含故障信息的测试统计量
(2)
该测试统计量在无故障情况下符合均值为零的高斯分布,在有故障情况下则符合均值为bi,k=fi,k/β的高斯分布。
将所有n个跟踪通道的测试统计量进行整理和归一化,可得到故障检测函数为
(3)
其输出的故障检测统计量λk在无故障时服从自由度为m的中心化卡方分布,在有故障时服从非中心化卡方分布。Sk为归一化矩阵。设故障检测的阈值为TD,则有如下判定准则
(4)
在选取故障检测阈值时通常需满足当前的虚警率要求PFA,此时可根据PFA和自由度m由卡方分布表得到所需的故障检测阈值TD。
在接收机信号跟踪环路中,相关器的作用主要是将中频信号与本地参考信号进行同相和正交相(in-phase and quadraphase,IQ)信号采样以及码相关,然后将结果传送给鉴别器来计算对应的偏差信息。超前、即时和滞后的同相和正交相的相关器输出IE,k,IP,k,IL,k,QE,k,QP,k,QL,k通常可以表示为含噪声项的码相位、载波频率及载波相位偏差的函数[8]:
(5)
在(5)式中,τk,δfca,k和δφca,k分别为矢量延迟锁定环、矢量频率锁定环和矢量锁相环3种矢量跟踪环路各自需要估计的码相位偏差、载波频率偏差和载波相位偏差。在无故障且环路跟踪稳定时以上各偏差信息会收敛至零值附近。本文仅讨论伪距偏差故障对矢量延迟锁定环的影响,此时认为载波频率偏差和载波相位偏差均稳定在零值附近。Ak是k时刻信号的幅值。R(x)是PRN序列之间的码相关函数,d是超前和滞后参考信号之间的码相位偏移,通常取值在1码片以内。Dk是积分运算过程中接收到信号的数据位,对于没有调制导航电文的卫星信号而言该项可以忽略。T是积分时间,单位为s。ωIE,k,ωIP,k,ωIL,k,ωQE,k,ωQP,k和ωQL,k是各相关器输出中的零均值高斯白噪声,标准差均为σIQ,k,且同相和正交相输出的噪声之间,超前和滞后输出的噪声之间均为互不相关。
以文献[8]中的超前减滞后功率(early-minus-late power,ELP)型码鉴别器为例,鉴别器函数可以表示为
式中,υco,k为根据(5)式推导得到的零均值噪声,其方差为
为了从鉴别器函数中提取所需的码相位偏差信息,通常将其乘以归一化函数
(8)
此时ELP型码鉴别器的输出可以表示为
当跟踪环中的码相位偏差趋近于零时,(9)式为码相位偏差的无偏估计。即:
OELP=τk+υELP,τk∈(-d/2,d/2)
(10)
然而当码相位偏差在较大范围内变化时,归一化误差也会随之而产生。ELP型码鉴别器归一化以后的输出与码相位偏差之间的对应关系如图1所示。
图1 ELP型码鉴别器输出与码相位偏差的关系
在无故障发生时码相位偏差可以维持在较小的范围内,由图1可知,此时码鉴别器的输出还可以较为准确地反映码相位偏差信息。但当故障发生使得码相位偏差超出d/2码片的线性输出范围后,不仅码鉴别器的输出逐渐偏离了理想输出,使得故障检测统计量无法准确反映故障偏差信息,更重要的是码鉴别器的输出随着码相位偏差的增加而逐渐减小,这表示无论故障造成的码相位偏差如何,其相应的码鉴别器输出最大只能达到d/2码片。其他几种常见的码鉴别器也存在这种输出峰值的现象。这在量测噪声较大的环境下对故障检测性能会有更严重的影响。
根据(4)式的故障检测判定准则可知,当故障发生时,故障检测统计量λk的值越大,越容易超过故障检测阈值TD,使故障被检测到。而根据(3)式,故障检测统计量λk的大小主要由测试统计量rk和归一化矩阵Sk决定。图1中码鉴别器输出峰值的现象使得故障发生时测试统计量rk的值被限制在峰值以内。在强噪声环境下,量测噪声的增大引起归一化矩阵Sk相应增大,因此进一步降低了故障检测统计量λk可达到的上界。这样的后果是,当量测噪声增大到一定程度,故障检测统计量λk可达到的上界将始终小于故障检测阈值TD,故障检测算法无法再对任何偏差大小的信号故障进行可靠检测。
因此,如何选取合适的鉴别器来构造故障检测函数,使鉴别器的输出失真不对故障检测效果产生过大影响,成为了提高故障检测算法在强噪声环境下检测性能的一个难点。
要降低1.2节中提到的鉴别器输出失真问题的影响,关键在于提高鉴别器的正相关响应范围。为此本节提出一种新的矢量跟踪故障检测结构,如图2所示。在该结构中常规码鉴别器的输出只传输给导航滤波器导航定位而不用于故障检测。能够在更大范围内反映故障码相位偏差的故障检测鉴别器被用来构造新的故障检测函数。
图2 强噪声下的矢量跟踪故障检测算法结构示意图
本节采用一种改进的ELP型(ELPE)码鉴别器函数对码相位偏差的故障进行检测。已知ELP型码鉴别器函数的模型如(6)式所示。为提高码鉴别器输出对码相位偏差τk的正相关响应范围,选取d=2时超前和滞后的同相和正交相相关器输出IE,k|d=2,IL,k|d=2,QE,k|d=2和QL,k|d=2构建鉴别器函数:
(11)
其输出在(-1,1)区间内可表示为
(12)
图3 故障检测鉴别器函数与码相位偏差的关系
本文选取该ELPE码鉴别器函数作为故障检测鉴别器。相对于常规的ELP型码鉴别器,其优势主要体现在2个方面:①对码相位偏差具有更大的正相关响应范围。当故障造成的码相位偏差超过d/2时,常规ELP型码鉴别器的输出由于失真开始衰减,而该故障检测鉴别器可以保持对(-1,1)范围内码相位偏差的准确响应,因而可以检测大于d/2的码相位偏差故障。②具有更高的输出峰值。根据1.2节的分析可知,故障检测统计量所能达到的最大值与鉴别器输出的峰值正相关,与量测噪声的方差负相关。也就是说,更大的输出峰值能使得故障检测算法在量测噪声更大的环境下检测故障,而不至于因故障检测统计量的最大值低于故障检测阈值而完全失去检测功能。
当无故障发生且环路跟踪稳定时,码相位偏差通常远小于1码片,此时故障检测鉴别器函数中噪声的方差根据(7)式可表示为
(13)
已知无故障时码相位偏差与导航滤波器状态间的对应关系为τi,k=1/β×Hi,kΔXk,因此通道i的故障检测鉴别器输出DELPE,i,k与导航滤波器状态ΔXk间的对应关系为
(14)
所有通道故障检测鉴别器输出构成的码相位偏差故障检测量测向量DELPE,k与导航滤波器状态ΔXk间的对应关系为
上一节分析了故障检测鉴别器的输出与码相位偏差的对应关系。由于故障偏差隐含在码相位偏差信息中,根据1.1节中故障检测算法的原理,将故障检测鉴别器的输出减去其估计值,则可以得到包含故障偏差信息的故障检测测试统计量。
(16)
类似的,构造故障检测函数
(17)
(18)
在获得故障检测统计量λk之后,结合(4)式中的判定准则即可对矢量延迟锁定环进行故障检测。
本节通过仿真实验对本文提出的适用于强噪声环境的矢量跟踪故障检测算法在不同噪声环境下的缓变和突变故障检测能力进行分析验证。
仿真过程中GPS接收机以20 m/s的速度均速直线移动60 s。期间可见卫星保持为9颗且各卫星信号的载噪比(carrier to noise power density ratios,C/N0)稳定在40 dBHz,此时故障检测阈值TD=39.34(给定PFA=10-5)。初始20 s不注入故障,使各卫星信号通道的环路跟踪能够收敛并保持稳定。从20 s开始分别向编号PRN 11的卫星注入偏差为0.5,1,1.25码片的突变故障(对应146,293,366 m的伪距突变故障)。在此过程中记录利用1.2节所述ELP型码鉴别器输出直接进行故障检测的算法(简称传统算法)与本文提出的采用故障检测鉴别器进行故障检测的算法(简称本文算法)的故障检测统计量,如图4所示。
图4 40dBHz下不同偏差突变故障的故障检测统计量
当故障造成的码相位偏差在0.5码片以内时,2种码鉴别器的输出均可以如实反映码相位偏差信息。同时由于环境中量测噪声很小,故障检测统计量的期望值较大,2种故障检测算法均可以很容易地检出故障,见图4a)。当故障造成的码相位偏差超过0.5码片时,常规鉴别器的输出开始产生失真。在码相位偏差达到1码片时,常规鉴别器的输出甚至远小于0.5码片,使得故障难以被检测出来。作为对比,故障检测鉴别器的输出仍能正确反映码相位偏差信息,故障检测统计量也远大于0.5码片时的对应值,保持了对1码片偏差突变故障的快速检测,见图4b)。当突变故障造成的码相位偏差达到1.25码片时,常规鉴别器输出对应的故障检测统计量已基本与无故障时持平。而故障检测鉴别器的输出虽然也略有失真,但仍能保持大于0.5码片时的对应值,故障检测算法也能迅速检出故障,见图4c)。
当环境中信号噪声增加时,故障检测统计量的幅值也会随之下降,使得故障检测能力降低。为此统计在不同噪声环境下、注入不同偏差的突变故障后,故障检测统计量的统计均值(50次蒙特卡洛仿真),如表1所示。此时2种算法的故障检测阈值仍为39.34,若故障检测统计量的均值超过故障检测的阈值,表示此时故障检测算法能够较为可靠地检出故障,对应的数值在表中用粗体表示。
表1 不同噪声环境下突变故障时故障检测统计量的均值
在信号载噪比为40 dBHz时,传统算法对1.25码片的大偏差故障容易漏检,本文算法可以检出0.25~1.25码片内的所有突变故障。随着信号噪声增大至35 dBHz,0.25码片的小偏差故障容易被噪声淹没,传统算法对大于0.75码片的突变故障已经不敏感,本文算法则保持了对0.5~1.25码片内突变故障的可靠检测。当载噪比低至30 dBHz时,传统算法对不同幅值的突变故障已基本无法区分,本文算法仍保持了对0.75~1.25码片内突变故障的可靠检测。
本组实验采用与3.1节类似的仿真环境,只是改为在20 s时向卫星PRN 11注入斜率为20 m/s的缓变故障。在不同噪声环境下仿真实验50次,统计传统算法和本文算法对20 m/s的缓变故障从注入到告警平均所需时间及检测成功率,如表2所示,其中检测成功率定义为成功检出故障的次数与总仿真次数的比值。
表2 不同噪声环境下缓变故障检测所需告警时间
可以看出,在40 dBHz时,2种算法对缓变故障的响应时间十分相近,当信号噪声增大至35 dBHz时,2种算法的告警响应时间都有所增加,其中本文算法的平均告警响应时间略快于传统算法。当信号噪声增大至30 dBHz时,传统算法只能保证64%左右的检测成功率,本文算法可以在100%检出故障的同时实现平均告警响应时间快约0.4 s。当信号噪声增大至25 dBHz时,传统算法完全失去了对20 m/s缓变故障的检测能力。本文算法可以在告警响应时间有所增加的情况下以100%的检测成功率检出缓变故障。
本文提出一种基于故障检测鉴别器的矢量跟踪故障检测结构,该故障检测鉴别器对跟踪通道中的码相位偏差具有更大的正相关响应范围,因而可以在强噪声环境下对更大偏差的缓变和突变故障具有检测能力。随后利用三阶球面-径向容积准则计算故障检测统计量,实现了强噪声下的矢量跟踪信号故障检测。
在不同噪声环境下对缓变和突变故障的故障检测仿真实验结果表明,本文算法在40 dBHz载噪比环境下具有与传统算法相当的小偏差故障检测能力,并能保持对0.5码片以上偏差故障的可靠检测。与此同时,算法能对强噪声环境比如25~30 dBHz环境下的缓变故障保持一定的检测能力。总体上,本文提出的采用故障检测鉴别器的矢量跟踪信号故障检测算法提高了矢量跟踪环路对较大偏差突变故障的检测能力和其在强噪声环境下的可用范围。