龐春雷,郭澤輝,呂敏敏,張 良,翟 丁,張 闖
(1.空軍工程大學 信息與導航學院,西安 710077;2.95801部隊,北京 100032;3.95510部隊,貴陽 550025)
隨著北斗衛星導航系統(Beidou Navigation Satellite System, BDS)應用的逐步深入,潛在的安全問題也漸漸暴露出來,由于衛星信號的脆弱性,致使導航接收機極易受到人為的欺騙干擾,嚴重影響定位結果[1,2]。欺騙干擾信號可以分為生成式和轉發式兩種[3],其中轉發式欺騙干擾無需進行碼相關處理,通過對真實信號附加一定的時延后轉發的方式,即可實現欺騙干擾的目的。相較于生成式欺騙干擾,轉發式欺騙,結構簡單,更容易實現,并且能夠對P碼產生影響,嚴重威脅導航定位的安全[4]。
準確檢測出欺騙信號是有效抑制轉發式欺騙干擾的重要前提[5],在此基礎上將欺騙信號與真實信號分類處理,避免欺騙信號影響定位解算。欺騙信號與真實信號最明顯的區別在于空間分布上的差異,利用這一特性對接收信號進行檢測是最為直接有效的方法[6,7]。文獻[8]提出了基于雙接收機偽距信息的轉發式欺騙信號檢測算法,需要借助接收機與衛星的精確位置信息實現欺騙檢測,在應用上具有局限性。文獻[9]提出利用雙天線的載波相位差分觀測值進行二元假設檢驗,并分析了相位雙差算法對欺騙信號的誤差來源;文獻[10]在載波相位差分檢測技術的基礎上,提出利用方位變化的二元天線陣進行多次判決的方法,提高對欺騙信號的檢測概率;文獻[11]采用旋轉天線的方式,降低了載波相位雙差算法的檢測盲區。上述利用載波相位差分的檢測方法需要解算出整周模糊度[12],同時需要較長的觀測時間來提高檢驗概率,難以滿足實時檢測的要求,并且檢測性能受基線長度的影響,限制了應用范圍。
轉發式欺騙干擾的影響可以視為一種導航故障,當前深度學習被廣泛用于故障診斷領域[13],文獻[14]提出利用狼群算法對欺騙信號進行參數辨識;文獻[15]提出了基于監督機器學習的欺騙干擾檢測算法。概率神經網絡(Probabilistic Neural Network, PNN)是深度學習算法中常用的網絡框架,具有結構簡單、收斂迅速和分類準確率高的特點,在解決模式分類和故障判斷方面具有獨特優勢[16]。因此,本文提出一種基于PNN的北斗轉發式欺騙信號檢測方法,在載波相位雙差檢測技術的基礎上,通過建立PNN模型,利用雙差觀測值隨時間變化的一致性特點,實現對欺騙信號的實時檢測,并且根據檢測結果分析并隔離欺騙干擾信號,最后通過實測數據驗證了所提方法的有效性。
正常情況下,北斗載波相位觀測方程為:

式中:上標i表示對第i顆衛星進行觀測,下標m表示接收機m,λ表示載波波長,r表示接收機到衛星之間的幾何距離,I、T分別表示電離層延遲和對流層延遲,δtm表示接收機鐘差, Δti表示衛星鐘差,N表示載波相位的整周模糊度,ε表示觀測噪聲。
在短基線的條件下,電離層延遲I和對流層延遲T的變化可以忽略,則接收機m和n之間的載波相位單差觀測方程可以表示為:

雙差觀測方程為:

當存在轉發式欺騙干擾時,如圖1所示,轉發器S在接收真實的北斗信號后,根據對目標的欺騙需求,在真實信號中加入一定量的延遲后進行轉發。

圖1 轉發式欺騙信號模型Fig.1 Repeated spoofing signal model
此時,欺騙信號的載波相位觀測方程為:

式中:f表示載波信號頻率,ts表示欺騙信號的延遲。
受欺騙干擾的影響,接收機m和n同時接收真實信號與轉發器S播發的欺騙信號,會出現兩種情況。1)接收機載波相位觀測值φi和φj均為欺騙信號,則單差和雙差觀測方程為:

2)φi、φj分別為真實信號和欺騙信號的載波相位觀測值,由式(2)和式(5),則雙差觀測方程為:

從理論上分析,為轉發器S載波相位觀測值中包含的整周模糊度,當接收機m和n接收同一路欺騙信號時,相同,在不考慮觀測噪聲的情況下,的值為零;而受整周模糊度和星地間幾何距離的影響,其值隨時間變化一般不為零。兩類信號的載波相位雙差觀測值存在明顯的差異,為欺騙信號的檢測提供了理論基礎。
而在實際過程中,由于不同接收機對欺騙信號的捕獲跟蹤過程不能同步進行,式(6)中的與之間會存在一個整數差,致使的值非零,利用載波相位雙差的方法難以直接檢測出欺騙信號。并且式(7)表明,當接收機同時收到真實信號與欺騙信號時,除欺騙延遲外,一樣會受到星地間幾何距離以及整周模糊度的影響,增加了對欺騙信號的檢測難度。
通過對比式(3)和式(6)可以發現,的值始終保持在一個固定的整數附近,不隨時間的變化而變化;而由于受到星地間距離的影響,其值隨衛星運動會發生不斷變化。而可以視為在真實信號單差的基礎上附加了一個固定值,在變化趨勢上與有明顯區別。因此,根據載波相位雙差觀測值的變化趨勢能夠區分三種情況下的差分信號,實現對欺騙信號的檢測。
在檢測出存在欺騙干擾的前提下,由衛星i和j得到一組載波相位雙差觀測值,在判斷其所屬信號類型的基礎上,引入第三顆衛星r的觀測值,將φr與φi、φj兩兩之間進行差分處理,根據φri與φrj的信號類型,可以進一步明確受到欺騙的衛星信號,從而避免欺騙信號對定位解算的影響。
概率神經網絡是在徑向基(Radial Basis Function,RBF)神經網絡的基礎上,結合Bayes決策準則和Parzen概率密度函數發展形成的一種前饋型神經網絡,適應于解決模式分類和故障判斷的問題,在對欺騙信號的檢測方面具有優勢。
Bayes決策準則是PNN分類判決的依據,設一組p維向量X= [x1x2…xp],X屬于不同類別ω1、ω2…ωm當中的一種,根據貝葉斯最小風險期望的原則,判斷X∈ωm的條件為:

式中:hm和hn分別表示類別m和n發生的先驗概率,lm和ln分別表示對類別m和n誤判時對應的損失函數,fm(X)和fn(X)分別表示m和n的概率密度函數。
在對欺騙信號檢測的模型中,先驗概率h和損失函數l對所有類別都是相同的。因此,分類判斷的關鍵在于確定概率密度函數f(X)。
PNN采用Parzen窗的非參數估計方法用于確定概率密度函數f(X)。

式中,k表示類別m中訓練樣本的總數,Xmi是類別m中第i個訓練樣本,σ表示平滑因子。
基于上述原理,概率神經網絡模型由輸入層、模式層、加法層和輸出層四部分組成,結構如圖2所示。

圖2 PNN模型結構Fig.2 PNN model structure
在PNN結構中,輸入層用來接收訓練樣本Xi,其神經元個數與樣本中特征向量的維數一致;模式層分析特征向量與不同標簽之間的對應關系,計算各個神經元的輸出Φmi,其神經元個數等于樣本總數;加法層將模式層中同一類別神經元輸出的Φmi進行加權求和,計算fm(X),得出樣本數據與標簽對應的概率密度函數,該層的神經元個數與樣本種類相等;輸出層則根據加法層的結果來確定樣本類型與標簽之間的概率關系,其中概率密度最大的神經元輸出為1,其余為0,從而得出分類檢測的結果。
在載波相位雙差檢測技術的基礎上,利用概率神經網絡對轉發式欺騙信號進行分類檢測的流程設計如下:
(1)數據預處理
通過GNSS信號轉發器搭建欺騙干擾環境,利用接收機獲取不同場景下的北斗載波相位觀測值數據,在對其進行雙差處理后,得到載波相位雙差觀測值作為網絡樣本數據,并為不同類型的樣本打上標簽。
(2)概率神經網絡訓練
首先隨機選取部分樣本作為訓練數據,對應PNN網絡的輸入層向量Xi;之后通過模式層神經元得出每一樣本對應的概率密度函數,加法層神經元負責得出訓練樣本中同一類別雙差信號對應的概率密度函數;最后由輸出層神經元建立信號類型與樣本標簽之間的對應關系,并根據訓練結果,不斷調整平滑因子σ,優化網絡性能。
(3)轉發式欺騙信號檢測
從樣本數據中選取非訓練部分作為網絡測試數據,將測試樣本輸入訓練完成的PNN網絡,根據網絡輸出的分類結果,得出樣本中雙差觀測值對應的信號類型,從而實現對欺騙信號的檢測。
為了驗證PNN對北斗欺騙信號分類檢測的有效性,分別在樓頂和室內環境下進行了轉發式欺騙檢測實驗,轉發式欺騙平臺設備由GNSS信號轉發器、NovAtel發射天線和接收天線組成,數據采集平臺由兩個NovAtel-OEM628板卡、兩個NovAtel702接收天線和軟件接收機組成,實驗設置如圖3所示。

圖3 實驗設置Fig.3 Experimental setup
在樓頂實驗中,GNSS信號轉發器的接收天線與發射天線之間相距約20m,接收機的接收天線與轉發器的發射天線之間相距約5m,兩接收天線之間的距離為3m。實驗包含兩個部分:①接收設備正常開機,關閉GNSS信號轉發器,此時采集的數據均為真實的衛星信號;②保持接收機正常工作狀態,并開啟GNSS信號轉發器,此時采集的數據同時包含真實信號和欺騙信號。
在室內實驗中,GNSS信號轉發器的接收天線放置在樓頂,發射天線放置在室內,由于接收機在室內環境下無法接收到真實的衛星信號,確保采集的數據均為欺騙信號。
實驗時間共計約120 min,采樣頻率為1 Hz,共采集到有效數據6735條。實驗過程中的北斗可見星數以及衛星角度信息如圖4所示。

圖4 北斗星空圖Fig.4 BDS sky map
在得到載波相位觀測值后,對采樣數據進行差分處理,每一歷元的10顆衛星信號可以獲得45組雙差觀測值,不同信號類型的雙差觀測值如圖5所示。

圖5 載波相位雙差觀測值Fig.5 Carrier phase double difference observation
定義每100條數據為一組樣本,共得到3015組樣本數據,其中雙差觀測值的欺騙信號類別標簽和樣本容量如表1所示。

表1 樣本數據設置Tab.1 Sample data settings
根據PNN模式分類的方法,對欺騙信號的檢測流程如圖6所示。

圖6 PNN檢測流程Fig.6 PNN detection process
PNN模型采用MATLAB中現有的newpnn庫函數構建,并在3015組數據中隨機選擇300組數據作為訓練樣本,100組數據作為測試樣本。
在每組樣本連續選取5個歷元的數據輸入PNN模型,通過多次的網絡訓練和樣本回代驗證,不斷調整newpnn函數中的平滑因子參數σ,優化訓練結果,得到最終的訓練數據檢測結果和檢測誤差如圖7所示。

圖7 PNN訓練效果圖Fig.7 PNN training effect diagram
圖7表明,在300組訓練數據中,PNN能夠準確識別出283組數據的信號類別,檢測準確率達到了94.33%;在對221組含有欺騙的數據檢測中,僅有4組數據出現了誤判,針對欺騙信號的檢測成功率達到了98.19%。由此表明,PNN能夠有效識別信號類別,檢測出欺騙信號。接下來在3015組樣本中隨機選擇100組作為測試數據,PNN檢測結果和檢測誤差分別如圖8所示。

圖8 PNN測試效果圖Fig.8 PNN test effect diagram
圖8表明,在僅有5個歷元觀測數據的情況下,經訓練的PNN模型對欺騙信號的檢測成功率能夠達到94%。直接利用雙差觀測值檢測的結果如圖9所示,在45組數據中,雙差觀測值為0的有7組,直接檢測的成功率僅為16%。

圖9 雙差法直接檢測結果Fig.9 Double-difference method for direct detection results
為進一步驗證樣本中歷元數和接收機基線長度對PNN檢測結果的影響,分別選取不同的歷元數和基線長度進行多次測試,檢測結果和耗時如圖10所示。
圖10表明,PNN檢測模型隨樣本歷元數增加正確率逐步增大,樣本歷元數為100時準確率最高為98.51%,檢測耗時不超過0.1 s,尤其在前10個歷元之內的性能提升明顯,在基線長度為3 m的條件下,檢測正確率可以達到96.48%,耗時僅為0.062 s,能夠滿足對欺騙信號進行實時檢測的要求;圖10(a)進一步表明,當歷元數較少時,檢測正確率隨基線長度增加有一定提高,當檢測歷元超出20之后,不同基線長度下的檢測正確率基本保持一致,能夠滿足接收機在不同基線條件下對欺騙信號的檢測需求。
在檢測出欺騙干擾的前提下,根據PNN分類結果可以判斷出受到欺騙的衛星信號。選取四組不同類別的載波相位觀測值,用來模擬4顆衛星的信號,信號設置如表2所示。

表2 模擬欺騙信號設置Tab.2 Analog spoofing signal settings
將差分處理后的數據導入訓練過的PNN模型,檢測結果如表3所示。

表3 欺騙信號檢測結果Tab.3 Spoofing signal detection result
根據表3中的檢測結果可以判斷,第一組數據中10號衛星的信號為欺騙信號,第二組數據中10號、24號衛星的信號為欺騙信號,進而在定位解算中剔除欺騙信號,保證定位結果的可靠性。
本文針對北斗轉發式欺騙干擾問題,提出了一種基于PNN的欺騙信號檢測方法。在構建概率神經網絡的基礎上,根據轉發式欺騙干擾信號隨時間變化的一致性,利用載波相位雙差觀測值對北斗欺騙信號進行分類檢測,實測數據結果表明:(1)PNN模型能夠準確識別不同差分信號的類型,有效檢測出欺騙信號;(2)對欺騙信號的檢測成功率可達98.51%,且耗時不超過0.1 s,能夠滿足實時檢測的要求;(3)無需測量兩天線之間的基線長度,適用于具有雙天線或雙接收機的單無人機以及多機協同情況下的北斗轉發式欺騙干擾檢測。