(中國民航大學 智能信號與圖像處理天津市重點實驗室,天津 300300)
廣播式自動相關監(jiān)視(Automatic Dependent Surveillance-Broadcast,ADS-B)是基于飛機導航信息的應用系統(tǒng),被國際民航組織(International Civil Aviation Organization,ICAO)確定為正在推廣的新航行系統(tǒng)的主要監(jiān)視手段[1]。來自飛機的ADS-B信息以ADS-B報文形式,通過數(shù)據(jù)鏈自動向地面或其他飛機廣播飛行狀態(tài)數(shù)據(jù)(包括呼號、經(jīng)緯度、高度、速度矢量、飛行意圖等),可在無雷達區(qū)獨立提供監(jiān)視服務,也可在雷達覆蓋區(qū)補盲或進行雙重/多重覆蓋,以達到提高監(jiān)視精度的目的[2]。對于數(shù)據(jù)鏈形式,ICAO推薦ADS-B報文采用1 090 MHz S模式擴展電文數(shù)據(jù)鏈(1090ES)傳輸。在此基礎上,美國航空無線電委員會(Radio Technical Commission for Aeronautics,RTCA)制定了DO-260B標準對基于1090ES的ADS-B系統(tǒng)性能進行了詳細規(guī)定[3],中國民航局對ADS-B接收機也有相應的技術要求[4]。
眾所周知,監(jiān)視精度提高的必要條件與前提是穩(wěn)定可靠的ADS-B接收機接收性能,而對接收機性能的高效可靠測試是保障接收機具有穩(wěn)定可靠接收性能的重要環(huán)節(jié)。目前大多數(shù)研究主要針對ADS-B接收機的實現(xiàn)[5-7]和對ADS-B接收的信息處理[8-9],而對ADS-B接收機性能的自動測試系統(tǒng)及其實現(xiàn)缺乏討論。為滿足DO-260B標準對ADS-B系統(tǒng)技術要求和民航局對ADS-B接收機測試要求,本文針對ADS-B自動測試系統(tǒng)設計研制,詳細論述其設計架構、實現(xiàn)方法和實驗測試情況,對該測試系統(tǒng)的性能進行分析。
參照DO-260B標準和民航局標準要求,需要設計一款便攜式1090ES ADS-B接收機測試系統(tǒng),同時具備1090ES ADS-B信號輸出和接收機重要指標自動測量功能。主要體現(xiàn)在:第一,系統(tǒng)可以生成含600批次目標的中頻和射頻兩種形式的1090ES ADS-B信號,其中射頻信號頻率和功率可調(diào)整(頻率范圍1 065~1 115 MHz,調(diào)整間隔0.5 MHz;功率范圍-60~10 dBm,步進1 dBm);第二,系統(tǒng)可以接收被測接收機解算出的DF17報文數(shù)據(jù),自動測試分析被測接收機的相關性能參數(shù);第三,系統(tǒng)提供人機接口來設置相關參數(shù)。
系統(tǒng)總體設計框圖如圖1所示,主要分為兩個部分:一是上位機部分,主要完成自動測試設置和結果輸出;二是ADS-B射頻信號生成部分,由ADS-B報文生成器、射頻電路和單片機等部分組成,主要生成測試用1090ES ADS-B中頻和射頻信號。
圖1 接收機自動測試系統(tǒng)設計方框圖Fig.1 Block diagram of automatic test system for ADS-B receiver
各個部分功能總結如下:
(1)上位機
通過串口和ADS-B報文生成器進行雙向通信,給ADS-B報文生成器發(fā)送原始飛行狀態(tài)數(shù)據(jù)和控制信息,并接收ADS-B報文生成器和射頻電路的狀態(tài)信息;通過網(wǎng)絡從被測ADS-B接收機接收解算報文數(shù)據(jù),比較接收數(shù)據(jù)和原始數(shù)據(jù),給出測試結果。
(2)ADS-B報文生成器
提供與上位機和單片機通信的串口,接收原始飛行狀態(tài)數(shù)據(jù)和控制信息,在控制信息控制下生成ADS-B報文,并進行中頻調(diào)制生成數(shù)字中頻信號。
(3)射頻電路
電路的增益、工作方式受單片機的控制,將ADS-B報文生成器輸出的數(shù)字中頻信號轉(zhuǎn)換成模擬中頻信號,并上變頻至射頻信號,在單片機的控制下對射頻信號的輸出頻率和功率進行控制。
(4)單片機控制系統(tǒng):接收測試設置命令,生成ADS-B報文生成器和射頻電路的控制信號,并接收它們的狀態(tài)反饋信息,以可視化的形式反饋系統(tǒng)狀態(tài)信息。
為了生成符合系統(tǒng)測試要求的射頻信號,應答機的1090ES ADS-B信號格式與S模式應答機發(fā)射信號格式類似[6],采用下行鏈路DF17格式。依此原則,本文所設計的ADS-B報文生成器對來自上位機的飛行數(shù)據(jù)進行格式轉(zhuǎn)換、壓縮編碼等,形成112位報文數(shù)據(jù)脈沖,插入前導脈沖形成ADS-B信號幀,之后進行10 MHz數(shù)字中頻調(diào)制,由數(shù)模轉(zhuǎn)換后經(jīng)射頻調(diào)制、濾波、放大,最終生成指定頻率、功率的ADS-B射頻信號。
所設計的ADS-B射頻信號生成器如圖2所示,主要包含ADS-B報文生成器、射頻電路、單片機控制系統(tǒng)、供電電路、自檢電路。為方便說明,下面對系統(tǒng)所涉模塊的原理及功能進行簡要敘述。
圖2 ADS-B射頻信號生成器硬件結構圖Fig.2 Structural diagram of ADS-B RF signal generator
ADS-B報文生成器以XILINX公司生產(chǎn)的XC7A200T FPGA(Field Programmable Gate Array)為核心,一方面將ADS-B報文數(shù)據(jù)轉(zhuǎn)換成脈沖信號,并進行數(shù)字調(diào)制,生成ADS-B數(shù)字中頻信號,輸出給與射頻電路接口的數(shù)模轉(zhuǎn)換器(D/A);另一方面,通過自檢測試,接收自檢電路的中頻信號輸出,并在FPGA進行比較,形成對整個信號生成電路的閉環(huán)測試。
FPGA中總共提供兩個串口與其他模塊通信:串口1可用于與上位機和單片機通信,用來傳輸上位機控制命令;串口2用于接收上位機發(fā)送的飛行數(shù)據(jù)。考慮到通信過程中的飛行數(shù)據(jù)量大,為滿足測試需要,必須對串口2指標進行估算。
按照技術指標要求,ADS-B接收機測試系統(tǒng)最大模擬飛機數(shù)為600架,每架飛機每秒最大發(fā)送6.2條消息[10],每條消息14 Byte(11 Byte+3 Byte循環(huán)冗余校驗CRC位),每字節(jié)為8 bit,考慮到奇偶校驗等需要,假設每字節(jié)需要傳10 bit,因此最大速率要求為
600×6.2×14×10 =520.8 kbit/s 。
(1)
由式(1)可知,上位機的數(shù)據(jù)串口傳輸速率大于520.8 kbit/s,而PFGA的系統(tǒng)時鐘是80 MHz,為避免上位機USB轉(zhuǎn)串口速率高于1.25 Mbit/s時給系統(tǒng)帶來不穩(wěn)定,本設計的串口2傳輸速率設為1 Mbit/s。
射頻電路的設計重點在于生成頻率和功率可調(diào)整的ADS-B射頻信號。如圖2所示,射頻電路對模擬中頻信號進行處理以滿足對頻率和功率的要求。射頻電路的主要模塊及參數(shù)如表1所示。
表1 射頻電路主要模塊參數(shù)Tab.1 The parameters of main RF circuit blocks
為了使射頻信號的頻率和功率可以調(diào)整,采用兩種方法。
頻率調(diào)整主要通過單片機設置ADF4351的控制寄存器來完成,ADF4351的控制寄存器值與射頻頻率之間關系為
RFout=[INT+(FRAC/MOD)]×fPFD/RFdivider,
(2)
fPFD=REFin×[(1+D)/(R×(1+T))]。
(3)
式中:RFout為ADF4351的輸出射頻頻率;fPFD為輸入到鑒相器環(huán)路的頻率;RFin為ADF4351的外接晶振頻率,此處使用50 MHz晶振;D、R、T、INT、FRAC、MOD和RFdivider為ADF4351內(nèi)部控制寄存器的值,取值范圍受寄存器位寬限制。
由式(2)與式(3)可知,可通過改變INT和FRAC控制寄存器的值,得到所有要求的射頻頻率值,從而滿足系統(tǒng)對射頻頻率范圍和調(diào)整間隔的要求。
功率調(diào)整主要通過單片機設置程控衰減PE43702器件的增益來完成。對系統(tǒng)要求的-60~10 dBm功率分兩檔進行處理,即-10~10 dBm和-60~-10 dBm。如圖2所示,當要求輸出功率處于-10~10 dBm時,信號通過射頻放大器、切換開關、PE43702;當要求輸出功率處于-60~-10 dBm時,信號通過PE43702、切換開關、PE43702,兩條功率通道均通過修改PE43702的增益來達到功率調(diào)整間隔1 dB的要求。
為了測試在不同頻率和功率設置下的輸出,實驗中采用了純載波輸出的方法對射頻電路進行了檢測。通過實驗,得到的測試結果為:頻率調(diào)整范圍為1 065~1 115 MHz,步進0.5 MHz,頻率偏差±0.02 MHz以內(nèi);功率調(diào)整范圍-60~10 dBm,步進1 dBm,功率偏差±0.5 dBm以內(nèi)。所有的這些指標達到了測試系統(tǒng)對射頻頻率和功率所提出的指標要求。
單片機控制系統(tǒng)以MSP430為主控芯片,是射頻頻率和功率調(diào)整的控制核心。如圖3所示,單片機接收經(jīng)FPGA傳輸?shù)纳衔粰C命令和觸摸屏的命令,并將系統(tǒng)狀態(tài)輸出到觸摸屏上,同時進行如下工作:第一,對頻率合成器ADF4351進行頻率設定,確定輸出射頻信號的頻率;第二,對功率衰減器PE43702進行增益設定,確定輸出射頻信號的功率;第三,對射頻切換開關進行控制,按照功率檔位不同選擇不同的信號通道;第四,接收自檢電路的狀態(tài)指示。
圖3 單片機硬件連接關系圖Fig.3 Connection relationship between MCU and hardware
設計完成各個部分硬件電路后,最終的ADS-B射頻生成部分硬件電路如圖4所示。
圖4 ADS-B射頻生成部分電路圖Fig.4 Circuit photo of ADS-B RF signal generator
為保證ADS-B報文生成器、上位機以及單片機控制系統(tǒng)之間的正常通信,對它們之間通信的數(shù)據(jù)制定了相應的協(xié)議,通信數(shù)據(jù)均固定20 Byte長度,協(xié)議格式如表2所示。通信數(shù)據(jù)可用于控制命令和ADS-B報文數(shù)據(jù)的傳輸,不同類型的數(shù)據(jù)分配不同編碼的命令字予以區(qū)分。
表2 協(xié)議格式Tab.2 Protocol format
ADS-B報文生成器需要通過串口和上位機、單片機進行通信。在軟件設計時,通過綜合Verilog語言描述的時序電路和組合邏輯電路來搭建這些模塊,并盡可能采用IP核[10]。IP核可以視為黑盒子,定義好模塊的輸入輸出信號后,即可方便使用。設計中用到串口、雙口RAM、移位寄存器等IP核。
按照1090ES ADS-B信號格式要求[6],本節(jié)設計重點是生成由前同步脈沖和數(shù)據(jù)脈沖組成的ADS-B脈位調(diào)制信號。圖5所示為在ISE環(huán)境中調(diào)試時的ADS-B幀信號生成時序圖。信號Count80對80 MHz的系統(tǒng)時鐘分頻,得到1 μs分頻時鐘。在信號ADS_B_Sending高電平有效時,前同步脈沖發(fā)送計數(shù)器(Head_cnt)復位,并對80 MHz計數(shù),當計數(shù)到640,即8 μs時便生成ADS_B脈沖信號(ads_b_out_bit)的前同步脈沖;接著啟動由1 μs時鐘驅(qū)動的數(shù)據(jù)位讀指針(Bit_Read_ptr),讀取串口雙口RAM寄存器中來自上位機的88位數(shù)據(jù),輸出到發(fā)送數(shù)據(jù)位(tx_bit);同時,CRC生成器(crc_reg_s)對數(shù)據(jù)進行循環(huán)冗余校驗(CRC),生成的CRC校驗位輸出到CRC數(shù)據(jù)位(crc_bit),在數(shù)據(jù)位讀指針計到88時,此時形成的24位CRC校驗位便依次輸出到發(fā)送數(shù)據(jù)位。系統(tǒng)對發(fā)送數(shù)據(jù)位數(shù)據(jù)采用脈沖位置編碼(Pulse Position Modulation,PPM),輸出至ADS_B脈沖信號上,當數(shù)據(jù)位讀指針計到112時,脈位編碼終止,生成112 μs的數(shù)據(jù)脈沖,與8 μs的前同步脈沖形成完整的120 μs ADS-B脈位調(diào)制信號。將生成的ADS_B脈位調(diào)制信號控制一10 MHz頻率源輸出,從而產(chǎn)生了10 MHz的ADS-B數(shù)字中頻信號。
圖5 ADS-B幀信號生成時序圖Fig.5 Timing diagram of an ADS-B frame signal
圖5中,在標尺T和X之間可以看到ads_b_out_bit的8 μs前同步脈沖和前8位數(shù)據(jù)10001101,其中10001表示DF17格式數(shù)據(jù),101為設備能力。出于控制方便考慮,前同步脈沖發(fā)送計數(shù)器和數(shù)據(jù)位讀指針計數(shù)終值不是640和112,而選擇了642和113。
單片機軟件的核心任務是將頻率和功率命令轉(zhuǎn)換成相關射頻元件的控制字,主程序流程圖如圖6所示:完成系統(tǒng)初始化,并接收來自觸摸屏(HMI)和通過FPGA送來的上位機命令,將命令轉(zhuǎn)換成射頻電路芯片對應的控制字,更新HMI顯示。
圖6 單片機主程序流程圖Fig.6 Flow chart of main MCU program
在3.3節(jié)中已討論了頻率和功率的設置原理,程序中按照此原理將頻率和功率命令轉(zhuǎn)換成相關射頻元件的控制字:頻率設定時,預先存儲ADF4351控制寄存器值和頻率之間的關系表,以設定頻率值為索引,得到控制寄存器的設定值,并通過串口對寄存器值進行設定;功率設定時,同樣預先存儲切換開關狀態(tài)、放大器狀態(tài)、兩PE43702控制字和功率之間的關系表,以功率值為索引即可得到相關射頻元件的控制狀態(tài)。
上位機是實現(xiàn)自動測試功能的核心,具體功能可分為:提供自動測試設置與結果顯示的人機接口;控制ADS-B射頻信號發(fā)生部分的工作狀態(tài);接收待測接收機解算報文。
上位機的軟件設計是基于Visual Studio 2012環(huán)境,采用C#語言[11]編寫,可以實現(xiàn)自動定時改變測試參數(shù),并記錄發(fā)送報文數(shù)量,同時也自動統(tǒng)計從后臺線程中收到解算報文的數(shù)量,繪制出測試圖表。
為了方便顯示,上位機主要圖形界面包括兩個窗體和一個圖表控件,其中兩個窗體分別對應控制臺界面和接收機關鍵技術指標測試界面,并實現(xiàn)測試結果圖表輸出。在控制臺界面中實現(xiàn)對ADS-B射頻信號發(fā)生器相關的參數(shù)進行設置,如圖7所示,界面分為左右兩部分,左邊界面主要包含發(fā)送、自檢電路接收到的ADS-B報文信息顯示;右邊界面則包含對系統(tǒng)參數(shù)的設定。其次是接收機關鍵技術指標測試界面的設計,在控制臺界面中有“接收機關鍵技術指標測試”界面的按鈕。
圖7 ADS-B接收機測試系統(tǒng)信號控制臺界面Fig.7 Setting interface of test system for ADS-B receiver
在接收機關鍵技術指標測試界面中實現(xiàn)對TCP端口和測試參數(shù)的設置。如圖8所示,接收機關鍵技術指標測試界面同樣分為左右兩部分,左邊界面顯示發(fā)送原始報文數(shù)據(jù)和被測ADS-B接收機發(fā)送過來的報文數(shù)據(jù);右邊界面主要是對關鍵技術指標進行測試時的設置,包含丟包率、靈敏度、接收機帶寬測試。上位機可按照設定參數(shù)自動修改頻率、功率命令值,在各點發(fā)送指定條數(shù)報文,并統(tǒng)計由網(wǎng)口接收到的被測接收機解算報文條數(shù),實現(xiàn)對各點丟包率的統(tǒng)計,此時上位機自動將測試條件和丟包率數(shù)據(jù)綁定到圖表中,生成關鍵指標測試圖表。
圖8 ADS-B接收機關鍵技術指標測試界面Fig.8 Testing interface of key parameters for ADS-B receiver
依標準要求,選擇了一款市面常見的、可從網(wǎng)口輸出ADS-B原始報文信息的接收機。在和本文設計的ADS-B測試系統(tǒng)連接時,ADS-B射頻信號發(fā)出器的射頻輸出口經(jīng)外部固定衰減器與被測ADS-B接收機的射頻輸入口有線連接,上位機通過USB-串口轉(zhuǎn)換器與ADS-B射頻信號生成器的兩串口相連,上位機與被測ADS-B接收機網(wǎng)線連接。搭建ADS-B接收機測試系統(tǒng)如圖9所示,測試系統(tǒng)中還包含信號發(fā)生器、示波器和頻譜儀等測試設備,目的是對ADS-B射頻信號生成器進行測試。
圖9 ADS-B接收機測試系統(tǒng)Fig.9 Test system for ADS-B receiver
丟包率參數(shù)對ADS-B接收機的可靠監(jiān)控很重要,丟包率過高會導致受監(jiān)控對象航跡缺失,甚至會丟失一些監(jiān)控對象,這樣會嚴重影響到航空安全,因此丟包率是接收機重要的性能參數(shù)。實驗測試時,首先進行丟包率手動測試。設置系統(tǒng)輸出1 090 MHz、功率-81 dBm的ADS-B信號,每次發(fā)送一定數(shù)量的ADS-B報文,測試正確接收到的報文條數(shù),計算丟包率。測試結果如表3所示,可以看到丟包率數(shù)值基本穩(wěn)定,由于測試條數(shù)有限而且環(huán)境隨機變化,在數(shù)值上稍有變化,證明整個測試系統(tǒng)可以對丟包率有效測試。
表3 多次測試丟包率結果Tab.3 Test results of packet loss rate
對靈敏度進行自動測試時,設置系統(tǒng)輸出頻率1 090 MHz、功率范圍-89~-79 dBm、步進1 dBm的ADS-B信號,自動測試在不同功率點下的丟包率,按照標準[4],將丟包率低于10%的最小功率作為靈敏度,測試結果如圖10所示,可見測得的丟包率變化曲線符合ADS-B接收機接收性能特點,且成功測出被測接收機的靈敏度為-84 dBm。
圖10 靈敏度自動測試結果Fig.10 Automatic test results of sensitivity
對接收機帶寬自動測試時,設置系統(tǒng)輸出頻率1 080~1 100 MHz、步進1 MHz、功率固定的ADS-B信號,自動測試在不同頻率點下的丟包率,測試結果如圖11和圖12所示。在-83 dBm時,接收機帶寬為10 MHz;在-73 dBm時,接收機帶寬為16 MHz??梢钥吹皆诓煌β蕰r,按丟包率低于10%的最大帶寬來看,接收機接收帶寬是不同的,符合標準要求。
圖11 -83 dBm接收機帶寬自動測試結果Fig.11 Automatic test results of receiver bandwidth at -83 dBm
圖12 -73 dBm接收機帶寬自動測試結果Fig.12 Automatic test results of receiver bandwidth at -73 dBm
1090ES ADS-B是ICAO確認的新航行系統(tǒng)重要監(jiān)視手段,實現(xiàn)ADS-B接收機自動測試有著明顯的現(xiàn)實意義。本文提出并搭建了ADS-B接收機自動測試系統(tǒng),系統(tǒng)由參數(shù)可調(diào)的ADS-B射頻信號生成部分和進行測試設置與測試結果統(tǒng)計顯示的上位機部分組成。具體系統(tǒng)實現(xiàn)時,一方面,基于現(xiàn)場可編程門陣列FPGA和單片機MSP430實現(xiàn)頻率和功率可設置的ADS-B射頻信號生成;另一方面,采用C#語言編寫上位機程序?qū)崿F(xiàn)對接收機靈敏度和接收機帶寬等關鍵技術指標的自動測試。
系統(tǒng)所設計的具有自檢功能的ADS-B射頻信號生成部分對ADS-B收發(fā)機設計有一定的借鑒意義。下一步工作是完善對ADS-B接收機其他性能指標的自動測試。