许睿,岳帅,唐瑞琪,曾庆化,刘建业
南京航空航天大学 自动化学院,南京 211106
GNSS欺骗攻击指利用专门的欺骗设备播发与真实信号类似的欺骗信号,使目标接收机不再跟踪真实卫星信号,输出错误的伪距观测量,进而诱导目标接收机解算结果偏离真实位置[1]。相较其他无线电干扰,欺骗干扰具有隐蔽性高,危害大的特点。因此,改善接收机的抗欺骗能力,是提高卫星导航可靠性与安全性的重要技术。
目前,常见的抗欺骗技术主要分为3类。第1类抗欺骗技术主要基于天线技术,包括双天线抗欺骗技术[2-4]、多天线抗欺骗技术[5-9]、以及移动单天线抗欺骗技术[10]。该类技术针对不同欺骗场景的检测成功率均保持于较高水平且场景适应能力强,然而劣势在于令接收机增加天线数目或相应伺服控制机构,提高硬件成本,普遍适用性较差。第2类抗欺骗技术主要基于观测量的一致性,如基于相关峰畸变的欺骗监测技术[11-12],基于伪距观测量一致性的RAIM(Receiver Autonomous Integrity Monitoring)的抗欺骗技术[13-14]、基于多普勒频率与伪距变化率一致性的欺骗检测技术[15],基于钟差变化的欺骗检测技术[16]、基于多传感器敏感导航信息一致性的组合导航抗欺骗技术[17-19]等。该类技术通过伪距、钟差、多普勒等观测量之间的一致性差异检测GNSS定位解算异常,但往往局限于欺骗监测而难以获取真实的定位解算结果。第3类抗欺骗方法主要基于基带改进方案,依据欺骗信号与多径信号具有一定的相似性,将一些抗多径算法试用在抗欺骗领域,包括MEDLL(Multipath Estimation Delay Locked Loop)[20-21],CADLL(Coupled Amplitude Delay Lock Loop)[22-23]、SML(Sequential Maximum Likelihood)[24]及其改进MSML(Modified Sequential Maximum Likelihood)[25],同时估计真实信号与欺骗信号码延时与幅值,再利用某些假设条件,如欺骗信号码延时大于真实信号,剔除欺骗信号参数,根据余下的真实码延时获得真实伪距,最后估计出真实位置。该类方法的核心在于信号参数的估计与真实信号的辨识。
参数估计方法往往需要大量相关器拟合实际相关曲线,为了减少相关器的数量,本文提出了一种基于卡尔曼滤波器的跟踪环路,利用九路相关器即可同时估计真实信号与欺骗信号的相关幅值与码延时。现有参数估计方法在抗多径影响时往往假设直射信号强度最大且首先到达接收机,而在欺骗干扰下该假设条件不一定成立,对此本文提出基于改进RAIM的辨识方法,最终获得一组真实伪距解算接收机真实位置,以抑制欺骗干扰对接收机定位结果的诱导效果,增强接收机在欺骗干扰下的可用性。在所有卫星信号均被欺骗的极端条件下,该方法由于可以保持真实信号参数的估计和真实伪距的输出,使得最终定位结果仍可回到真实位置,避免接收机定位结果被欺骗干扰影响。
欺骗信号与GNSS信号具有类似的信号结构和伪码序列,但具有不同的码延时和信号功率。因此,欺骗干扰下,不考虑欺骗信号对载波多普勒频率的影响与噪声项,以GPS(Global Positioning System)载波L1民用C/A码为例,接收机接收到一颗卫星的中频信号可写为[26]
s(t)=sau(t)+ssp(t)=
sin[2πfau(t-τau(t))]+
sin[2πfsp(t-τsp(t))]
(1)
式中:上标au代表GNSS真实信号相关参数;上标sp代表欺骗信号相关参数;P为信号功率;τ为信号码延时;C为C/A码序列;D为导航数据;f为接收信号的载波频率经接收机前端下变频后的频率,由标称中频频率与多普勒频率组成。
AauR(δi+αau-Δτs)cos(Δφ)+
AspR(δi+αsp-Δτs)cos(Δφ)
(2)
AauR(δi+αau-Δτs)sin(Δφ)+
AspR(δi+αsp-Δτs)sin(Δφ)
(3)
在无欺骗干扰时,接收信号仅为真实信号,跟踪环路稳定后,即完全跟踪上真实信号,此时跟踪误差Δτs=τau-τ≈0;在欺骗攻击突然出现的瞬间,接收机由于前一时刻仍跟踪在真实信号上,此时αau=0,但由于欺骗干扰的突然出现,相关值瞬间变化,E与L不再近似相等,Δτs会有瞬时的增大。但该状态不会持续太久,反馈跟踪环路会由于误差的增加而不断自我调节,使Δτs逐渐减小,重新达到新的跟踪稳定状态,因此,接收机实际跟踪点会因欺骗信号影响而发生偏移[27],当跟踪误差Δτs再次趋于0时,接收机实际跟踪的是真实信号与欺骗信号的混合效果,该混合效果不仅与欺骗信号与真实信号的相对延时相关,还与两信号的幅值比相关。
图1展示了欺骗干扰下接收机跟踪环路重新进入稳态后,实际跟踪的码延时与真实信号、欺骗信号码延时之间的关系。以传统的3路本地码为例,忽略跟踪误差Δτs(即Δτs=0),接收机重新进入稳态,码延时0.5 chip处相干积分值L与-0.5 chip 处相干积分值E必然相等,即E-L=0,此时,接收机跟踪点在码延时0 chip所在处,未与真实信号峰对齐,也并未与欺骗峰对齐。
图1 混合信号下的多路相关拟合曲线Fig.1 Fitted correlation curves with mixed signals
真实信号自相关峰(真实位置)与欺骗信号自相关之间的码延时间隔α为欺骗系统预设的相对欺骗码延时距离,有α=αau+αsp。当该值改变时,混合信号对应的相关函数也会发生变化,因此接收机具体跟踪点会受α影响。类似地,真实信号与欺骗信号的自相关幅值Aau与Asp也会影响混合相关,从而对最终的跟踪点造成影响。因此,在欺骗干扰下,相关幅值与码延时皆是必要参数,需要同时进行估计。
从图1的示意中可以看出,相关函数的形状对欺骗信号较敏感,而鉴相器在欺骗干扰下会迅速失效,不能长时间感知相关函数畸变,因此可以直接利用多相关器输出估计真实信号与欺骗信号参数。然而相关器运算量巨大,因此为了尽可能减少相关器数量,利用EKF(Extended Kalman Filter)进行信号参数估计,估计结果经低通滤波器降低噪声影响,输入伪码与载波NCO(Number Controlled Oscillator),参数估计环路结构如图2所示。
图2 基于EKF的真实与欺骗信号参数估计环路Fig.2 EKF-based authentic and spoofing signal parameter estimation loop
(4)
进一步状态方程可写作
Xk+1=FkXk+BkUk+Wk
(5)
式中:Fk为系统状态量在k历元到k+1历元的一步状态转移矩阵,为X提供状态更新的条件;Wk为9×1阶的过程噪声向量;Uk为输入控制量;Bk为与状态量对应的输入关系矩阵。其中状态转移矩阵Fk和输入关系矩阵Bk写作
(6)
(7)
(8)
图3 相关器观测点示意图Fig.3 Schematic diagram of correlator observation points
该跟踪环路实际跟踪信号是真实信号与欺骗信号的混合信号,直接输出的伪距既非真实伪距,也非欺骗伪距,因此利用状态方程估计的αau与αsp,可以同时估计真实信号与欺骗信号的码延时,进而获得真实伪距与欺骗伪距,即
(9)
辨识算法与基于RAIM的欺骗检测算法类似,但由于受欺骗卫星的跟踪通道将输出2组伪距,一组为真实伪距,另一组必为欺骗伪距,因此针对该特点对经典基于RAIM的欺骗检测算法进行改进。
基于最小二乘残差的RAIM算法以包含残余平方加权和的标准检测量来监测各个通道测量值之间的一致性程度[28]。而一致性检测要求观测量数量多于解的维数,即可见星数目不低于5颗。对于N个受欺骗影响通道与M个未受欺骗影响通道(N+M≥5):受欺骗干扰通道输出两个伪距,其对应跟踪通道输出两个伪距;不受欺骗干扰通道输出一个伪距。伪距组合观测量形式为
(10)
最终可获得2N种组合,具体如表1所示。
表1 受欺骗通道伪距组合Table 1 Combined form of pseudorange for spoofing channels
(11)
辨识统计量越小,代表该组合下的伪距与正常工作通道的伪距间的一致性越好[29],其组合更可能对应真实信号估计伪距,进而可确定各个通道的真实信号成分。即
(12)
(13)
利用辨识出的真实伪距组合ρcoml重新定位,即可获得接收机的真实位置Pcor与接收机钟差τrec,即
(14)
图4 欺骗信号辨识算法流程图Fig.4 Flow chart of spoof signal identification algorithm
为了测试本文所提方法的工作性能,利用欺骗模拟数据对所提方法进行测试。欺骗数据利用欺骗模拟仿真器在实测真实卫星信号的基础上模拟产生[30]。其中,实测数据在南京航空航天大学自动化学院1号楼顶,利用东方联星NS210M接收前端采集GPS L1信号并存储在计算机中,采集系统如图5所示,主要参数如表2所示。
表2 接收机与信号参数Table 2 Receiver and signal parameters
图5 实测真实数据采集部分Fig.5 Actual measured data collection
为测试所提方法中欺骗辨识算法的有效性,选取接收卫星信号较少情况时的实测数据生成欺骗仿真数据,以模拟较恶劣的欺骗环境。实测数据选取仅包含5颗可见星信号情况,如图6所示,PRN2、6、9、17和19卫星可见。
图6 欺骗攻击下的GNSS卫星星座天空视图Fig.6 Sky view of GNSS satellite constellation under deception attack
为测试所提方法对欺骗信号与真实信号参数的估计能力,欺骗仿真采用较难以处理的牵引式欺骗,对其中任意2颗卫星信号进行欺骗攻击,具体地,欺骗仿真器在第10 000 ms对PRN6与PRN17卫星进行牵引式欺骗攻击,牵引速率(相对码延时率)分别为24 m/s与40 m/s,欺骗信号与真实信号幅值比Rar=2(功率比J/S=6.02 dB)。
其他可见星PRN2、9和19卫星信号则未受欺骗干扰影响。
所生成的欺骗仿真信号分别用软件定义的传统接收机与论文所提抗欺骗方法进行解算。传统接收机跟踪环路参数如表2所示;基于EKF的真实与欺骗信号参数估计环路在检测到欺骗信号后开始工作,假设欺骗检测算法检测时间为500 ms,估计环路在欺骗干扰后500 ms启动。
图7与图8分别展示了基于EKF的真实与欺骗信号参数估计环路对欺骗干扰下PRN6与PRN17卫星的参数估计结果。对于PRN6卫星信号,欺骗信号于第10 000 ms引入接收机,且其牵引速率24 m/s≈0.081 9 chip/s,对应的预设相对欺骗码延时α=αsp+αau在第10 500 ms时应约为0.041 chip,第15 000 ms时达到0.409 chip。图7(a)中,估计环路在10 500 ms开始工作,估计α曲线基本与预设欺骗码延时变化吻合,增长率约0.079 3 chip/s。图7(b)中,Aau与Asp的平均估计结果分别为2 915与5 697,Asp/Aau的平均估计结果为1.956,与预设幅值比2近似,误差0.044。类似地,参数估计环路对PRN17卫星信号的估计结果也符合欺骗数据的设置。图8中预设欺骗码延时在10 500 ms时为0.068 chip,在15 000 ms 时达到0.682 chip,环路估计的α与该预设α变化一致,真实信号自相关最大幅值的平均估计值约3 310,而欺骗信号的自相关最大幅值约5 997,Asp/Aau的平均估计结果为1.813,与预设值相差0.187。整体上,所提估计方法能够比较准确地估计出真实信号与欺骗信号的幅值Aau、Asp与码延时αsp、αau参数。
图7 牵引式欺骗攻击下PRN6号卫星信号参数估计结果Fig.7 Estimated signal parameters for PRN6 under LOA attack
图8 牵引式欺骗攻击下PRN17号卫星信号参数估计结果Fig.8 Estimated signal parameters for PRN17 under LOA attack
各欺骗通道在真实与欺骗信号参数估计环路估计信息的辅助下,得到2个估计伪距,对应共4种伪距组合:
图9 多卫星欺骗攻击下的欺骗辨识曲线Fig.9 Variation of deception identification index under multi-satellite spoofing attacks
图10为传统接收机与抗欺骗接收机在东北天坐标系下的定位偏差曲线,取接收机未受欺骗干扰阶段(0~10 000 ms)定位均值为坐标原点。
图10 传统与抗欺骗接收机定位偏差对比Fig.10 Positioning errors of traditional receivers and anti-spoofing receivers under spoofing attack
传统接收机在欺骗攻击下解算坐标迅速偏离,受可见星分布与受欺骗卫星分布的影响,欺骗导致的定位偏差主要体现在天向与北向定位结果上,在第35 000 ms时,天向与北向位置偏差值分别为2 172.16 m与4 403.48 m,三维位置偏差高达4 919.35 m。而抗欺骗接收机于15 000 ms时完成欺骗估计与辨识过程,并迅速修正定位结果,使得接收机回归正常位置。在第35 000 ms时,抗欺骗接收机的定位偏差仅9.27 m,与未受欺骗干扰时定位结果基本一致。
欺骗参数估计算法是所提抗欺骗方法的核心算法,为测试参数估计算法性能,测试中分别调整欺骗信号的相对码延时α=0.3,0.5,0.7,0.8,0.9,1.0 chip与幅值比Rar=1,2,3,4,5,6,牵引速率0 m/s(退化为非牵引式欺骗),观察欺骗估计算法对码延时和幅值比的估计误差,如图11所示。
图11反映了对码延时估计误差的变化趋势,随相对欺骗码延时的增大,幅值比估计误差与码延时估计误差均增加。在相对欺骗码延时0.3~0.7 chip 间,幅值与码延时估计精度均较高,幅值比估计误差小于0.2,相对码延时估计误差小于0.1 chip,考虑幅值比估计误差大小不影响伪距估计结果,也不影响定位结果,从图11(b)中可见,在预设相对欺骗码延时介于0.3~0.9 chip之间,真实与欺骗信号参数估计环路关于码延时估计误差的RMSE(Root Mean Square Error)低于0.1 chip。
图11 参数估计精度随预设码延时变化曲线Fig.11 Variation curves of parameter estimation accuracy with preset relative code delay
图12(a)与图12(b)所示为预设相对欺骗码延时为0.3、0.5、0.7 chip时,幅值比估计误差与相对码延时估计误差随预设欺骗/真实信号幅值变化曲线。随预设幅值比从1增加到5,幅值估计与码延时估计具有较高估计精度,码延时估计误差低于0.1 chip,幅值比估计误差低于1.65。
图12 参数估计精度随预设幅值比曲线Fig.12 Variation curves of parameter estimation accuracy with preset amplitude ratio
简言之,对牵引式欺骗以及非牵引式欺骗,当欺骗与真实信号相对码延时为0.3~0.9 chip,幅值比在1~5间,所提参数估计算法能够利用九路相关器实现较高精度的欺骗信号与真实信号参数估计,幅值比估计误差小于1.65,相对码延时估计误差小于0.1 chip。
本文研究了一种基于卡尔曼滤波技术辅助RAIM算法的抗欺骗技术,其具有仅利用九路相关器估计混合信号中真实与欺骗信号的幅值与码延时参数的能力,并能够辨识出真实信号。所提方法使得接收机在预设的多星欺骗场景下,有效修正定位偏差至10 m内;同时对于预设的相对欺骗码延时介于0.3~0.9 chip的欺骗信号,跟踪环路对码延时估计的误差一般低于0.1 chip.
未来工作集中将针对估计算法中相关器的选择进行更深入的研究与分析;利用其他导航信息辅助跟踪环路与辨识算法,改进参数估计精度,提高辨识算法的效率。