張曉明,劉 磊
(尚禹河北電子科技股份有限公司,河北 石家莊 050091)
GNSS作為國家重大基礎設施的關鍵組成部分,已廣泛應用于人民的日常生活中,例如民用航空、電力系統、時間同步網絡、金融和交通運輸等領域[1]。但是由于導航衛星信號的功率較低,易受各種有意或無意干擾的影響,而欺騙干擾由于具有功率較低、信號隱蔽性好的特點相對壓制干擾對衛星導航系統的影響更大[2],尤其是缺乏安全保護的民用導航信號[3]。
國內外的研究資料表明,關注GNSS欺騙干擾與反欺騙技術的學者越來越多,已成為GNSS領域內的研究熱點[4-6]。目前常見的接收端欺騙干擾抑制技術主要有以下幾種:① 通過對接收信號處理階段信號的畸變來檢測欺騙干擾[7-10],然后剔除受欺騙影響的導航衛星,在多顆衛星被欺騙的情況下可能會導致參與定位的衛星數量不夠;② 利用多個天線對比接收信號的差異或通過對欺騙干擾來波方向的估計檢測和識別欺騙干擾[11-13],比對信號差異的方法對運動的欺騙干擾信號無效,波達方向估計需要對每顆衛星信號相關后分別進行測向,測向后濾除或直接剔除受欺騙衛星,或再在欺騙方向形成零陷,計算量較大,不利于在接收機中實現;③ 組合導航的欺騙干擾檢測和抑制方法[14-17]需要有慣導并且慣導和衛導必須為緊耦合或超緊耦合才能實現欺騙干擾抑制,而通用的小型接收機中一般沒有慣導系統。因此,找到一種簡單、易于在普通接收機中實現的欺騙干擾抑制方法成為目前的研究熱點。
在此基礎上,本文提出了一種應用在定位解算階段的基于M-估計的抗欺騙擴展卡爾曼濾波算法,是對現在欺騙干擾檢測與抑制算法的有益補充,解決了接收端的欺騙干擾抑制問題,又不增加現有接收機的硬件復雜度。
衛星導航的欺騙干擾具有和導航衛星信號相同的信號參數(信息碼可能不同),由于和真實信號功率相差不大,在干擾衛星導航接收機使其產生錯誤定位信息的同時還具備較好的隱蔽性。欺騙干擾主要有2種:產生式欺騙干擾和轉發式欺騙干擾[18],產生式欺騙干擾是根據偵察到的天上的衛星信號的碼結構產生的與天上衛星信號相關性最大的偽隨機碼,然后調制上與導航電文結構一致的虛假電文。對于開放的民碼信號,該種方式很容易實現,但是對于保密的軍碼信號,該種方式較難實現;轉發式欺騙干擾是增加信號的傳播時延,在干擾機收到衛星導航信號后,經過一定的濾波放大,再發射出去,該種欺騙干擾方式不需要區別軍民信號,但是要注意收發之間的隔離。
欺騙干擾具有與導航信號相同的擴頻碼和載波頻率的一種特殊信號,利用與真實信號的時延差或修改的導航電文影響導航接收機的正常定位,則欺騙干擾信號可表示為:
(1)

當存在欺騙干擾信號時,接收信號可表示為:
(2)
式中,n(t)為系統噪聲;xi(t)為導航信號;L為當前可見衛星個數。
若接收機捕獲跟蹤上欺騙信號,則將影響接收機的最終定位結果,因此,需要采用一定的濾波算法消除欺騙干擾對導航定位的影響。

(3)


(4)


從式(3)和式(4)可得,GNSS接收機定位解算的模型Zk=h[Xk,k]+Vk是非線性的,Vk為測量噪聲,服從均值為零的高斯分布,k為時間序列。
將h[·]進行Taylor級數非線性展開,取一階近似,則線性化的測量方程可表示為:
ΔZk=HΔXk+sk+vk,
(5)
式中,sk為欺騙干擾引起的誤差;ΔZk為測量偽距,ΔXk為真實位置與估計位置之間的向量差;H是向量函數h[·]的雅克比矩陣,也稱為觀測矩陣,其元素為觀測量對狀態量的偏導。
殘差f(·)函數和的線性化測量方程可寫為:
(6)
式中,k時刻的測量量個數為n;f(·)為標量函數。
f(·)的最小化殘差的和為:
(7)
進一步變形可得到:
(8)
式中,ψ(·)是f(·)對于相對狀態矢量的導數,代表測量誤差對定位結果的影響程度;hi是觀測矩陣H=(hij)的第i行,即hi=hi1,hi2,…,him,m為參數的個數,進一步化簡可得:
(9)
令:
(10)
則式(7)可化簡為:
(11)
寫為矩陣形式:
HTD(e)e=0,
(12)
式中,D(e)=diag[D(e1),D(e2),…,D(en)] 。
令e=HΔXk-ΔZk,則式(10)可寫成:
(HTD(e)H)ΔXk=HTD(e)ΔZk。
(13)
式(13)與加權最小二乘方程一致,其解為:
(14)
為了使欺騙干擾對定位結果的影響最小,調整加權因子D(e)的值,使D(e)在測量誤差越大時取值越小,不存在干擾時,所有權值取值為1。
考慮衛星導航接收機定位解算的特點,基于最小二乘的M-估計加權矩陣為:
(15)
將M-估計應用到卡爾曼濾波中,根據卡爾曼濾波的特點,基于卡爾曼濾波的M-估計加權矩陣可改寫為:

(16)
式中,參數a和b為根據接收機實際應用場景設定的常數,數值的大小由接收機定位測速的誤差決定。
擴展卡爾曼濾波的三維定位狀態方程可寫為:
GWk-1,
(17)
寫成矩陣的形式為:
Xk=ΦXk-1+GWk-1,
(18)

則預測方程可表示為:
(19)
(20)



(21)
(22)
式中,Vk為測量余量;R為測量噪聲的正定協方差矩陣;αk為測量余量協方差。
濾波增益為:
(23)
估計過程為:
(24)

(25)

仿真試驗目的是為了驗證M-估計的抗欺騙擴展卡爾曼濾波算法的抗欺騙性能。將本文提出的算法與最小二乘、擴展卡爾曼濾波和結合M-估計的抗欺騙擴展卡爾曼濾波算法在存在欺騙干擾時的定位性能對比。
仿真以 BDS系統為例,使用偽距單點定位方式,定位精度為米級,選取4顆GDOP值較好的衛星,測距誤差為±3 m,假定狀態矢量為(6 378 258,0,0,100,100,100,0,0),初始濾波狀態矢量為(6 378 000,4 000,2 000,0,0,0,0,0)。Q,R矩陣取值如下:

(26)

(27)
首先仿真欺騙干擾對偽距測量的影響,每間隔1 s采樣一次,共計采樣2 000 s,假設第500~860 s受到欺騙式干擾的影響,該欺騙干擾引起的偽距測量誤差如圖1所示,為1 200 m,大約相當于偽距偏移3個碼片。

圖1 欺騙引起的偽距誤差Fig.1 Pseudorange error caused by spoofing
圖2給出了第500~860 s受到欺騙干擾影響時,最小二乘算法的定位精度。

(a) X坐標軸引入的定位誤差

(b) Y坐標軸引入的定位誤差

(c) Z坐標軸引入的定位誤差
從圖2中可以看出,在受到欺騙干擾影響的第500~860 s,最小二乘算法在定位解算中不能消除欺騙干擾影響,欺騙干擾在X軸上引起的定位誤差在2 000 m左右,在Y軸上引起的定位誤差在-1 500 m左右,在高程上引起的定位誤差在800 m左右。
圖3給出了第500~860 s受到欺騙干擾影響時,傳統擴展卡爾曼濾波算法的定位精度。

(a) X坐標軸引入的定位誤差

(b) Y坐標軸引入的定位誤差

(c) Z坐標軸引入的定位誤差
從圖3中可以看出,在受到欺騙干擾影響的第500~860 s,傳統擴展Kalman濾波算法在定位解算中同樣不能消除欺騙干擾影響。
圖4給出了第500~860 s受到欺騙干擾影響時,結合M-估計的擴展卡爾曼濾波算法的定位精度。

(a) X坐標軸引入的定位誤差

(b) Y坐標軸引入的定位誤差

(c) Z坐標軸引入的定位誤差圖4 結合M-估計的擴展卡爾曼濾波法定位誤差Fig.4 Positioning error of extended Kalman filtering combined with M-estimation
從圖2~圖4的對比中可以看出,最小二乘和擴展卡爾曼濾波算法都不能抑制欺騙干擾對導航定位的影響,定位結果出現了較大的誤差,將近2 000 m。本文提出算法在存在欺騙干擾的條件下,定位誤差優于10 m,說明本文算法對欺騙干擾具有較好的抑制性能,定位精度較好。
本文提出了一種基于M-估計的抗欺騙擴展卡爾曼濾波算法,結合穩健統計中的M-估計來調整擴展卡爾曼濾波的狀態更新過程,消除突發欺騙干擾對導航定位的影響,提升接收機定位解算過程中的欺騙干擾抑制性能。通過與最小二乘定位和統擴展卡爾曼濾波定位算法的對比表明,在引入1 200 m的偽距誤差時,最小二乘定位和統擴展卡爾曼濾波定位算法在3個方向上均出現了較大的定位誤差,而本文提出的抗欺騙干擾定位算法在3個方向定位精度均優于10 m。本算法適用于對成本敏感且具有一定抗欺騙干擾能力的普通接收機,可以在不增加硬件成本的前提下使接收機具有欺騙干擾抑制能力。