盧 丹 殷亞強
(中國民航大學天津市智能信號與圖像處理重點實驗室,天津 300300)
衛(wèi)星導航服務在軍用和民用領(lǐng)域有著廣泛的應用,涵蓋了國防安全、國民經(jīng)濟和人們?nèi)粘I畹姆椒矫婷妗5驅(qū)Ш叫l(wèi)星系統(tǒng)(global naviga?tion satellite system,GNSS)信號發(fā)射功率小,在傳播過程中易受到自然和人為的干擾,其中欺騙式干擾針對目標接收機發(fā)射欺騙信號,使其在無意識的情況下解算出錯誤的定位信息[1]。欺騙式干擾主要分為生成式和轉(zhuǎn)發(fā)式兩大類,生成式欺騙干擾利用民用信號結(jié)構(gòu)體制公開的特點復制出與真實衛(wèi)星信號格式一致的欺騙信號,轉(zhuǎn)發(fā)式欺騙干擾是欺騙者通過接收設備接收真實衛(wèi)星信號并將信號適當放大、延遲后轉(zhuǎn)發(fā)給目標接收機,兩者都具有干擾隱蔽性強且難以被檢測的特點,會給被欺騙者造成難以估計的危害。
常見的欺騙干擾檢測技術(shù)主要包括:利用欺騙信號功率大于真實信號功率的信號功率檢測技術(shù),但欺騙信號經(jīng)過多徑傳輸功率衰減后此方法的檢測性能下降[2];利用相關(guān)函數(shù)是否畸變的信號質(zhì)量檢測技術(shù),當欺騙信號功率過大時會壓制真實信號,此方法失效[3];利用信號來向是否一致的多天線欺騙檢測技術(shù),但這種方法的實時性差[4];利用慣性單元輔助的檢測技術(shù),此方法需要額外的高成本的設備,因而不能大規(guī)模應用[5]。上述幾類檢測技術(shù)僅利用一個參數(shù)檢測欺騙干擾存在一定的局限性,綜合考慮多個參數(shù)信息可以彌補單一參數(shù)的不足,將多個參數(shù)作為機器學習的特征輸入,構(gòu)建分類器,通過對信號分類達到檢測欺騙干擾的目的。文獻[6]中,Panice 等人開發(fā)出一個模擬系統(tǒng),用于學習無人機遭受GPS(global posi?tioning system)欺騙攻擊時的狀態(tài),并將支持向量機(support vector machine,SVM)作為檢測異常狀態(tài)的工具。文獻[7]中,Sun 等人計算了欺騙信號和真實信號小波變換系數(shù)的奇異值,并把奇異值作為SVM 的特征輸入。文獻[8]中,Semanjski 等人計算所有GNSS 觀測量之間的互相關(guān)系數(shù),選擇具有統(tǒng)計顯著性的觀測量作為SVM 的特征輸入。文獻[6-8]選擇特征時很少關(guān)注接收機參數(shù)的變化,同時文獻中使用網(wǎng)格搜索(grid search,GS)算法優(yōu)化SVM,此方法容易陷入局部最優(yōu)且需要較長的優(yōu)化時間[9]。布谷鳥搜索(cuckoo search,CS)是基于布谷鳥尋巢和萊維飛行提出的一種元啟發(fā)式算法,具有全局優(yōu)化能力強且易于與其他算法耦合的特點,已應用于包括SVM 在內(nèi)的多種優(yōu)化問題。本文利用多個參數(shù)檢測欺騙干擾,并將CS 應用于優(yōu)化C-SVM,首先給出信號模型,信號在接收機中計算得到所用的參數(shù),隨后提出檢測欺騙干擾的方法和優(yōu)化過程,最后通過實驗驗證該方法的有效性。
t時刻時,假設接收機接收到的信號為x(t),則x(t)可表達為
式中,?(t)為高斯白噪聲,xa(t)代表真實衛(wèi)星信號,xspo(t)代表欺騙信號,xmul(t)代表多徑信號,xa(t)、xspo(t)和xmul(t)可分別表達為
其中,a、spo 和mul 代表真實、欺騙和多徑,Q、U和Omul代表接收到的真實信號、欺騙信號和多徑信號的數(shù)量,g(t)和c(t)代表導航電文和C/A 碼,ψ代表信號幅值,τ代表傳輸時延,ω和θ分別代表載波頻率和載波相位。
信號在接收機中經(jīng)過不同的信號處理階段,主要有捕獲、跟蹤和定位解算,在這些過程中可以計算得到表1列出的十個參數(shù)[10]。當接收機受到欺騙攻擊時,不僅會引起載波多普勒頻移、載噪比等參數(shù)變化,同時也會改變載波鑒相器誤差標準差、接收機時鐘偏差等接收機參數(shù)。例如,圖1 和圖2 畫出了載波鑒相器誤差標準差和載波多普勒頻移未加欺騙干擾和在60~70 s 內(nèi)加入欺騙信號的對比圖,由圖可知,加入欺騙信號后會使得這些參數(shù)產(chǎn)生變化,因此綜合利用這些參數(shù)可以檢測欺騙干擾[11-19]。
表1 參數(shù)列表Tab.1 Parameter list
將表1 中的參數(shù)作為C-SVM 的特征輸入,構(gòu)建分類器,根據(jù)這些參數(shù)的變化對信號分類,從而判斷出是否存在欺騙干擾。
假設訓練集D={(di,li)|di∈R10,li∈{+1,-1},i=1,2,…,N},其中,di=(Fi,?i,νi,ιi,φi,?i,χi,δi,?i,ρi)代表第i個訓練數(shù)據(jù)向量,li代表di對應的類別標簽,類別標簽為1 和-1 分別代表真實信號和欺騙信號,N代表訓練集樣本數(shù)量?;贑-SVM 的檢測原理是通過一個具有最大間隔的分類超平面wTd+b=0 區(qū)分真實信號和欺騙信號,其中,w為分類超平面的法向量,b為分類超平面到原點的距離。由于訓練樣本非線性可分,使用映射函數(shù)κ(?)將其從原始空間映射到一個更高維的特征空間中,從而使訓練樣本在特征空間中獲得更高的分類準確率[20],可將這個過程表示為形如式(5)的優(yōu)化問題[21]
其中,C為懲罰系數(shù),ξi是允許出現(xiàn)分類誤差的松弛因子。引入拉格朗日乘數(shù)法得式(5)的拉格朗日函數(shù)
αi≥0,βi≥0為拉格朗日乘數(shù)因子,令式(6)對w,b,ξi的偏導為0可得
把式(7)~(9)代入式(6)得
式中,J(di,dr)代表徑向基核函數(shù),表達式如下所示
γ為核函數(shù)的帶寬。由于式(10)恒小于等于式(5),則原優(yōu)化問題式(5)的對偶形式如下所示[21]
給定γ和C可以求解出一組αi,即可確定一個分類器,為確定最優(yōu)的分類器模型,需要通過優(yōu)化算法搜索出C-SVM 最優(yōu)的參數(shù)γopt和Copt,根據(jù)優(yōu)化算法改變γ和C的值構(gòu)建不同的分類器,對驗證集分類,分類誤差率最小時對應的γ和C即為γopt和Copt。
其中,PV和E代表驗證集的分類準確率和分類誤差率。GS 是一種簡單易實現(xiàn)的優(yōu)化算法,GS 優(yōu)化CSVM的示意圖如圖3所示。
確定γopt和Copt后,通過序列最小優(yōu)化方法求解式(12)得到αi,利用αi構(gòu)建分類器f,f的表達式如下所示
其中,αi滿足αi>0 時與其對應的di代表支持向量,Nsv代表支持向量的數(shù)量,hm代表測試集W={hm|hm∈R10,m=1,2,…,M}中的第m個測試數(shù)據(jù)向 量,hm=(Fm,?m,νm,ιm,φm,?m,χm,δm,?m,ρm),M代表測試集樣本數(shù)量,則分類結(jié)果可表達為
由圖3可知,GS算法只在設定點處搜索γ和C且搜索步長和方向是固定的,容易陷入局部最優(yōu)解,而CS通過萊維飛行更新搜索步長和搜索方向并且結(jié)合了局部搜索和全局搜索可以克服這一問題[22]。將CS應用于優(yōu)化C-SVM,假設代表第n次迭代中的第k個優(yōu)化方案,n=1,2,…,Imax,Imax代表最大迭代次數(shù),zopt=(γopt,Copt)代表最優(yōu)方案,優(yōu)化步驟歸納如下:
步驟1初始化一組優(yōu)化方案Z0={z0k|k=1,2,…,K0}。
步驟2把每一個優(yōu)化方案作為C-SVM 的參數(shù)構(gòu)建分類器并對驗證集分類,尋找分類誤差率最小時對應的γ和C,記錄為當前最優(yōu)方案。
步驟3根據(jù)萊維飛行公式更新一組優(yōu)化方案進入全局搜索模式,更新方式符合式(16)[23]。
其中,K n-1代表第n-1 次迭代完成后優(yōu)化方案的數(shù)量,μ為步長比例因子,更新后的優(yōu)化方案,G(η,λ)為萊維隨機搜索路徑,λ為1 至3 內(nèi)的任一值,η=(ηγ,ηC)代表搜索步長,ηγ和ηC分別代表γ和C的更新長度,G(η,λ) 的表達式如下所示
使用更新后的一組優(yōu)化方案Zn重復步驟2。
步驟4在Zn中根據(jù)概率P隨機舍去部分優(yōu)化方案,同時根據(jù)式(18)補充一部分新的優(yōu)化方案進行局部搜索,將局部搜索得到的最小分類誤差率與步驟3 得到的最小分類誤差率比較,得到第n次迭代的最優(yōu)方案
式中,ε為一個服從均勻分布的隨機數(shù),H(?)為單位階躍函數(shù),?為叉乘運算,為兩個不同的隨機優(yōu)化方案。
步驟5比較和第n-1 次迭代的最優(yōu)方案,兩者之間的更優(yōu)方案即為最優(yōu)方案zopt,若此時達到最大迭代次數(shù),輸出最優(yōu)的方案,否則重復步驟3。
CS在局部搜索和全局搜索之間達到了平衡,有效避免了GS 優(yōu)化C-SVM 陷入局部最優(yōu)的問題。在分析了原理和關(guān)鍵步驟之后提出完整的欺騙干擾檢測算法,如圖4所示。
模擬17 顆衛(wèi)星發(fā)射的信號,考慮多徑的影響,在信號中加入信噪比為-22 dB、延遲為0.8 碼片的多徑信號。信號在接收機中處理后采集十個參數(shù),利用17顆衛(wèi)星的十個參數(shù)共同構(gòu)造訓練集,訓練集共包含48000個樣本,仿真參數(shù)如表2所示。
表2 訓練集仿真參數(shù)表Tab.2 Training set simulation parameters table
利用GS和CS分別搜索γopt和Copt,γ和C的搜索范圍均設置為[0.015,2]和[0.0625,8]。CS 算法中,初始優(yōu)化方案數(shù)量設置為20,最大迭代次數(shù)為30,P為0.25,λ為1.5。CS 搜索出的γopt和Copt為0.8583 和0.9891,GS 搜索出的γopt和Copt為0.9659和1。利用得到的兩組γ和C構(gòu)建兩個分類器,通過實驗分析不同情況下檢測欺騙干擾的性能。
首先測試了不同干噪比的檢測性能,每一個干噪比對應一個測試集,干噪比的范圍為-18 dB至-2 dB,每個測試集中包含了1600 個真實信號和4800 個欺騙信號,測試集的分類準確率和虛警率如圖5 和圖6 所示,對比兩種方法的實驗結(jié)果,CS-CSVM 方法的準確率至少提高了0.16%且虛警率至少降低了0.62%。由圖5 和圖6 可知,利用本文方法檢測欺騙干擾時,對于小干噪比的欺騙信號,即欺騙信號功率和真實信號功率相差較小時,準確率達到了96%以上,隨著干噪比逐漸增大,載噪比等參數(shù)會逐漸增大,準確率逐漸增大且虛警率逐漸降低。文獻[3]中,作者利用SQM 方法檢測欺騙干擾,當干噪比比真實信號的信噪比大10 dB 時,SQM 方法已很難檢測到欺騙干擾。以序號為1 的衛(wèi)星為例,在60 s 至70 s 內(nèi)加入干噪比比信噪比大10 dB的欺騙信號,分別利用SQM 算法和本文算法檢測欺騙信號,每次檢測的信號數(shù)量為1000 個,虛警率設置為0.01,檢測結(jié)果如表3 所示,由表3 可知,本文算法在SQM失效時仍具有良好的檢測性能。
表3 本文算法和SQM算法準確率對比列表Tab.3 Comparison list of the accuracy of the algorithm in this article and the SQM algorithm
其次測試了不同碼延遲的檢測性能,每一個碼延遲對應一個測試集,碼延遲的范圍為0.5 碼片至10 碼片,每個測試集中包含了1600 個真實信號和4800 個欺騙信號,測試集的分類準確率和虛警率如圖7 和圖8 所示,對比兩種方法的實驗結(jié)果,CS-CSVM 方法的準確率至少提高了0.03%且虛警率至少降低了0.12%。當碼延遲小于1 碼片時,多峰檢測方法不能較好地區(qū)分真實和欺騙信號,本文算法通過載波鑒相器誤差標準差和碼鑒相器誤差標準差等參數(shù)的變化可以檢測出欺騙干擾的存在,由圖7 可知,當碼延遲為0.5 碼片和1 碼片時,準確率達到了96.29%和98.34%,對于較大延遲的欺騙信號,準確率可以達到99%以上。對比三個檢測方法的復雜度,并以一顆星為例,檢測1000個信號,計算三種算法所需的運算量,結(jié)果如表4所示,其中,ωsqm、Ksqm、Nsqm、Speak、Npeak、dR、Nsv和M分別代表滑窗長度、衛(wèi)星數(shù)量、信號數(shù)量、累加次數(shù)、點數(shù)、參數(shù)數(shù)量、支持向量個數(shù)和測試樣本數(shù)。雖然本文方法運算量大于其他兩種檢測方法,但彌補了多峰檢測和SQM 方法在檢測小延遲和大功率欺騙信號時的不足。
表4 算法復雜度和運算量對比列表Tab.4 Comparison list of algorithm complexity and calculations
表5和表6列出了兩個分類器對時延為10碼片的測試集分類后的混淆矩陣,由表5 和表6 可知,兩種方法中欺騙信號被全部檢測出來,GS-C-SVM 方法中有13 個真實信號被錯誤分類為欺騙信號,而CS-C-SVM 方法中被錯誤分類的真實信號減少到6個。
表5 時延為10碼片時的GS-C-SVM分類結(jié)果的混淆矩陣Tab.5 Confusion matrix of GS-C-SVM classification result of ten chips delay
表6 時延為10碼片時的CS-C-SVM分類結(jié)果的混淆矩陣Tab.6 Confusion matrix of CS-C-SVM classification result of ten chips delay
表7 總結(jié)了CS-C-SVM 和GS-C-SVM 的優(yōu)化時間和分類時間,由表7可知CS-C-SVM的優(yōu)化時間和分類時間為1680281 ms 和187.7 ms 均低于網(wǎng)格搜索優(yōu)化的C-SVM,這表明CS-C-SVM 有著更高效的優(yōu)化能力和更短的分類時間。
表7 實驗總結(jié)Tab.7 Experiment summary
本文將多個參數(shù)作為監(jiān)督機器學習的特征輸入,提出了基于CS-C-SVM 的多參數(shù)欺騙干擾檢測方法,通過仿真實驗驗證了該方法的有效性,實驗結(jié)果表明所用參數(shù)可以有效地指示是否存在欺騙干擾,同時綜合利用這些參數(shù)可以在不同情況下檢測欺騙干擾。CS-C-SVM 避免了GS-C-SVM 易陷入局部最優(yōu)的問題,縮短了優(yōu)化時間,提高了分類準確率并降低了虛警率。但對小干噪比和小延遲的測試集分類時,存在一定的虛警率,針對這一問題,將會在接下來的工作中重點研究。