胡鐵喬,李恒昶
(中國民航大學(xué)天津市智能信號與圖像處理重點實驗室,天津 300300)
廣播式自動相關(guān)監(jiān)視(ADS-B,automatic dependent surveillance-broadcast)是一種基于機(jī)載導(dǎo)航系統(tǒng)與機(jī)載廣播發(fā)射系統(tǒng)的航空器運行監(jiān)視技術(shù)[1]。近年來,在國際民用航空組織ICAO的推動下,ADS-B技術(shù)得到了廣泛的應(yīng)用,同時ADS-B也面臨著欺騙式干擾的問題,文獻(xiàn)[2-3]介紹了多種產(chǎn)生欺騙干擾的方式。針對ADS-B欺騙式干擾問題,已提出很多解決方法,如加密技術(shù)[4-6]、多基站多點定位的方法[7-8]、增加時間戳[9]、使用扇形天線的單脈沖技術(shù)[10]、利用MLAT(multilateration)輔助飛行信息系統(tǒng)[11]等。這些方法在其使用條件內(nèi)均各具優(yōu)勢,但從系統(tǒng)實現(xiàn)的角度,有的需修改ADS-B協(xié)議、增加額外的兼容條件,有的需多方協(xié)同工作,實現(xiàn)的復(fù)雜程度較大、成本較高。
文獻(xiàn)[12]提出一種基于空間相關(guān)的ADS-B欺騙干擾檢測方法,通過比較陣列信號的來向變化與ADSB報文中飛機(jī)位置的變化來識別真實目標(biāo)與虛假目標(biāo),該方法檢測性能較好,且適于工程實現(xiàn)?;谠摲椒ǎ鶕?jù)硬件實現(xiàn)的特點對其進(jìn)行優(yōu)化,降低計算復(fù)雜度,并利用現(xiàn)場可編輯門陣列(FPGA,field programmable gate array)和數(shù)字信號處理器(DSP,digital signal processor)信號處理平臺實現(xiàn)優(yōu)化后的方法,從實際角度驗證了ADS-B欺騙干擾檢測方法的有效性。
采用十字陣列天線接收信號,共包含5個陣元,如圖1所示,以中心陣元O為參考陣元,外部的4個陣元與O的距離為信號波長。
圖1 十字陣列Fig.1 Cross-antenna array
在不考慮ADS-B信號交織情況下,十字陣列接收到的一條ADS-B信號可表示為
其中:s(t)為源信號;n(t)為高斯白噪聲;a(θ,φ)為十字陣列信號導(dǎo)向矢量,可表示為
其中:θ和φ為信號相對于十字陣列的方位角與俯仰角;β=2πd/λ。
信號到達(dá)十字陣列天線時,其他4個陣元接收到的信號相對于參考陣元信號之間會存在時延,從而會存在一定的相位差,又因a(θ,φ)由信號到達(dá)各陣元的相位差所組成[13],故導(dǎo)向矢量又可表示為
其中:αi表示其他4個陣元收到的信號相對于參考陣元接收到的信號之間的相位差。
基于空間相關(guān)的ADS-B欺騙干擾檢測方法的算法原理可描述為:接收機(jī)對接收到的ADS-B信號解碼,選擇空中位置類型的ADS-B信號可獲得飛機(jī)的經(jīng)度、緯度和高度,根據(jù)飛機(jī)的ICAO地址為每架飛機(jī)的信號分組,由此可得到一架飛機(jī)的一組ADS-B信號;通過坐標(biāo)轉(zhuǎn)換得到飛機(jī)在地心地固坐標(biāo)系中的位置,結(jié)合陣列天線在地心地固坐標(biāo)系中的位置,可得到一組表示飛機(jī)相對于陣列天線的方向向量;通過計算陣列信號的協(xié)方差矩陣,又可得到一組表示飛機(jī)來向的特征向量;分別計算方向向量組和特征向量組中相鄰兩個向量的夾角余弦值,得到兩組表示飛機(jī)位置變化的余弦序列;計算兩組余弦序列的皮爾遜相關(guān)系數(shù),通過設(shè)定合適的相關(guān)系數(shù)門限判別當(dāng)前飛機(jī)是真實飛機(jī)還是欺騙干擾。
基于FPGA和DSP系統(tǒng)實現(xiàn)的特點,結(jié)合ADS-B信號的固有特性,算法優(yōu)化部分主要集中在以下4個方面。
1)考慮到FPGA和DSP對算法中陣列信號協(xié)方差矩陣的求取、矩陣分解中特征值與特征向量求取的復(fù)雜過程,結(jié)合第1節(jié)內(nèi)容可知:通過計算陣列信號中不同通道信號之間的相位差可得到導(dǎo)向矢量。因此,將對協(xié)方差矩陣做特征值分解求取特征向量的過程優(yōu)化為通過計算陣列信號相位差來獲得導(dǎo)向矢量,由此降低了FPGA和DSP對算法實現(xiàn)的復(fù)雜度。
2)ADS-B 信號采用脈沖位置調(diào)制(PPM,pulse position modulation),一幀信號在其持續(xù)時間內(nèi)并不是所有時刻都存在脈沖,計算相位差只針對脈沖進(jìn)行計算,計算前需要先選擇信號中的脈沖部分。
3)相位差數(shù)值的范圍為[-π,π],在-π 與 π 附近區(qū)域的相位差可能會出現(xiàn)臨界問題,出現(xiàn)臨界問題的相位差需進(jìn)行相位差校正,將該路相位差加上一個偏移量,使其被搬移到非臨界位置求取均值,之后再將偏移量減掉。
4)根據(jù)標(biāo)準(zhǔn)DO-260B[1],當(dāng)ADS-B傳輸子系統(tǒng)采用發(fā)射分集時,會使用飛機(jī)的上天線和下天線交替地發(fā)射所要求類型的ADS-B消息。飛機(jī)尾翼對信號的阻礙會影響上天線的性能,上天線的天線方向圖在尾翼的方向會存在增益的減小,信號并不會被完全阻礙,而是被削弱若干分貝。鑒于此特性,算法中計算方向向量組與導(dǎo)向矢量組及后續(xù)的計算過程只針對飛機(jī)單一天線發(fā)射的信號,對每條ADS-B信號求取功率,以信號功率的大小來區(qū)分信號的發(fā)射天線。
系統(tǒng)整體實現(xiàn)的硬件結(jié)構(gòu),如圖2所示。
系統(tǒng)工作時,十字陣列天線接收射頻信號,下變頻器將1 090 MHz的ADS-B射頻信號轉(zhuǎn)換為10 MHz中頻信號,經(jīng)模數(shù)轉(zhuǎn)換后的數(shù)字中頻信號首先進(jìn)入FPGA1對數(shù)據(jù)做預(yù)處理(主要對數(shù)據(jù)做希爾伯特變換并去除直流分量),F(xiàn)PGA1將預(yù)處理后的數(shù)據(jù)傳給FPGA2,F(xiàn)PGA2再將該數(shù)據(jù)傳輸給FPGA3。FPGA2和DSP主要承擔(dān)基于空間相關(guān)的ADS-B欺騙干擾檢測方法的具體實現(xiàn)。FPGA3實現(xiàn)ADS-B接收機(jī)功能,當(dāng)檢測到一條ADS-B信號后,會向FPGA2發(fā)出一個幀有效信號和一個脈沖有效信號。幀有效信號是用于確保FPGA2和FPGA3處理的是同一條ADS-B信號,脈沖有效信號是為了幫助FPGA2對ADS-B信號做脈沖選擇。另外,F(xiàn)PGA3還會將處理得到的112位ADSB數(shù)據(jù)通過外部存儲器接口(EMIF,external memory interface)發(fā)送給DSP,DSP將對其做解碼。
圖2 系統(tǒng)硬件結(jié)構(gòu)Fig.2 System hardware structure
系統(tǒng)所用3片F(xiàn)PGA均為Xilinx的Virtex5系列FPGA,DSP為TI的TMS320C6713B系列芯片。
ADS-B欺騙干擾檢測系統(tǒng)的FPGA設(shè)計與實現(xiàn)部分主要集中在FPGA2中,圖3為FPGA2的功能設(shè)計圖。
圖3FPGA2功能設(shè)計Fig.3 Function design of FPGA2
FPGA2的輸入信號為來自FPGA1的五路復(fù)信號和FPGA3的幀有效信號和脈沖有效信號。FPGA2主要實現(xiàn)以下功能:選擇ADS-B信號的脈沖部分、計算陣列信號的相位差、對出現(xiàn)臨界問題的相位差數(shù)據(jù)做校正及對信號模值的計算。處理后的四路相位差數(shù)據(jù)和信號的模值通過EMIF傳輸給DSP做進(jìn)一步的處理。
DSP的功能設(shè)計如圖4所示。DSP工作時,首先進(jìn)行初始化,包括初始化片上芯片庫和各類參數(shù),配置EMIF使其正常工作,通過配置PLL來設(shè)置各模塊的工作時鐘;DSP利用EMIF傳來的數(shù)據(jù)對飛機(jī)信號進(jìn)行檢測。
圖4 DSP功能設(shè)計Fig.4 Function design of DSP
考慮到實際中可能出現(xiàn)的誤判情況,經(jīng)測試分析后,在實際實現(xiàn)時將對一架飛機(jī)連續(xù)檢測5次,每次檢測使用20組信息和數(shù)據(jù)。若5次檢測過程中至少有3次的門限判決結(jié)果顯示該架飛機(jī)為真實飛機(jī),則認(rèn)定其為真實飛機(jī),否則為虛假飛機(jī)。通過這種對同一目標(biāo)多次檢測的方式可有效提高系統(tǒng)性能和可靠性。
利用真實目標(biāo)信號和虛假目標(biāo)信號分別對實現(xiàn)后的系統(tǒng)做測試,外界飛機(jī)所發(fā)射的ADS-B信號為真實目標(biāo)信號,通過ADS-B發(fā)射系統(tǒng)發(fā)射出的信號為虛假目標(biāo)信號。接收天線為5陣元的十字陣列,經(jīng)測試分析后,設(shè)置相關(guān)系數(shù)的門限為0.2。接收真實目標(biāo)信號時,測試系統(tǒng)將真實目標(biāo)判為虛假目標(biāo)的概率,即虛警率;接收虛假目標(biāo)信號時,測試系統(tǒng)將虛假目標(biāo)判為真實目標(biāo)的概率,即漏警率。
首先,測試外界真實目標(biāo)信號,對所接收到的信號不做任何篩選,共檢測200架次飛機(jī),錯誤識別架次為9架,虛警率大約為0.045。對所出現(xiàn)的錯誤進(jìn)行分析,當(dāng)飛機(jī)飛行高度較低、信號功率較小或飛機(jī)飛行過程中相對于接收天線的角度變化較小時容易出現(xiàn)誤判情況。為進(jìn)一步降低虛警率,防止誤判,對接收到的信號做篩選,排除這3種易錯情況后仍檢測200架次真實飛機(jī),其中,錯誤檢測架次僅為1架,虛警率為0.005,系統(tǒng)性能得到了明顯提升。
虛假目標(biāo)信號的產(chǎn)生方式如圖5所示,上位機(jī)軟件生成的ADS-B數(shù)據(jù)傳輸?shù)紸DS-B發(fā)射機(jī),發(fā)射機(jī)根據(jù)上位機(jī)生成的數(shù)據(jù)可產(chǎn)生1 090 MHz的ADS-B信號,這些信號的報文內(nèi)容所表示的都是現(xiàn)實中不存在的飛機(jī),即虛假目標(biāo),信號經(jīng)發(fā)射天線向外界發(fā)射出去,由此可產(chǎn)生ADS-B欺騙式干擾。
圖5 欺騙式干擾產(chǎn)生方式Fig.5 Generation of spoofing attack
利用不同功率的虛假目標(biāo)信號,在每種信號功率下檢測200架次的虛假目標(biāo),測試結(jié)果如表1所示。分析可知,虛假目標(biāo)信號功率的不同對系統(tǒng)的檢測性能并沒有明顯的影響,系統(tǒng)可對虛假目標(biāo)信號進(jìn)行有效檢測。
表1 虛假目標(biāo)測試Tab.1 Spoofing target test
針對ADS-B的欺騙式干擾問題,深入分析了基于空間相關(guān)的ADS-B欺騙干擾檢測方法,根據(jù)FPGA、DSP系統(tǒng)實現(xiàn)的特點對算法進(jìn)行優(yōu)化,降低了實現(xiàn)的復(fù)雜度。系統(tǒng)實現(xiàn)后,分別用真實目標(biāo)信號和虛假目標(biāo)信號對系統(tǒng)進(jìn)行測試,結(jié)果表明:系統(tǒng)可有效檢測出ADS-B系統(tǒng)中的欺騙式干擾,可為未來ADS-B欺騙式干擾檢測的實際應(yīng)用和實施提供參考,具有一定的現(xiàn)實意義。