胡鐵喬,李陽波,張露露
(中國民航大學(xué)天津市智能信號與圖像處理重點實驗室,天津 300300)
星基ADS-B 系統(tǒng)是一種把ADS-B 接收機(jī)安裝在衛(wèi)星上的新型ADS-B 技術(shù)。與地基ADS-B 系統(tǒng)相比,星基ADS-B 系統(tǒng)具有以下優(yōu)勢:系統(tǒng)運(yùn)行于近地軌道,單一衛(wèi)星接收機(jī)的覆蓋范圍可達(dá)3 000 km,遠(yuǎn)大于地面接收機(jī)的覆蓋范圍;使用多星組網(wǎng)可實現(xiàn)全球無縫覆蓋[1],減少了地面站的建設(shè)數(shù)量;可實現(xiàn)對地基ADS-B 系統(tǒng)無法覆蓋的極區(qū)、洋區(qū)等區(qū)域的覆蓋[2]。世界各國正大力發(fā)展星基ADS-B 技術(shù),2015年,中國國防科技大學(xué)自主研發(fā)的“天拓三號”衛(wèi)星成功發(fā)射,其搭載的星基ADS-B 接收機(jī)可完成對報文中目標(biāo)位置、速度、ICAO 地址等信息的解析[3];美國銥星公司2013年提出將星基ADS-B 接收機(jī)搭載到其銥星二代衛(wèi)星上,目前其在軌星基ADS-B 衛(wèi)星,已達(dá)30 顆,預(yù)計2020年前提供全球商業(yè)化服務(wù)[4]。
星基ADS-B 系統(tǒng)的研究處于起步階段,尚未投入實際應(yīng)用。為保證系統(tǒng)的可靠性,利用星基ADS-B模擬信號對星基ADS-B 接收機(jī)進(jìn)行地面測試,在星基ADS-B 接收機(jī)的設(shè)計和研制過程中有著重要作用。電子科技大學(xué)的胡晨波設(shè)計了一款S 模式ADS-B多目標(biāo)模擬器[5]。艾法斯公司生產(chǎn)的IFR 6000 設(shè)備可用于測試MODE A/C/S 應(yīng)答機(jī)、DME、TCAS、ADS-B和TIS 等航空電子系統(tǒng)[6]。這些設(shè)備都是針對地基ADS-B系統(tǒng),還沒有專門針對星基ADS-B 信號特性而設(shè)計的ADS-B 信號模擬設(shè)備問世。
星基ADS-B 信號,顧名思義就是星基ADS-B 接收機(jī)接收到的ADS-B 信號。對星基ADS-B 信號的模擬主要是對信號多普勒頻移和功率的模擬。近地軌道衛(wèi)星的運(yùn)行速度可達(dá)7 400 m/s,衛(wèi)星與目標(biāo)間的相對速度很大,信號多普勒頻移十分可觀[7];星基ADS-B接收機(jī)部署在衛(wèi)星上,覆蓋范圍廣、監(jiān)控目標(biāo)較多,信號經(jīng)過衛(wèi)星通信鏈路損耗,功率較低(-110~-90 dBm)。針對星基ADS-B 信號的特點,設(shè)計了一款星基ADSB 信號模擬與顯示軟件:對一顆四天線低軌道衛(wèi)星建模,仿真多個目標(biāo)的航跡,仿真目標(biāo)發(fā)送ADS-B 信號的多普勒頻移和功率,實現(xiàn)對星基ADS-B 信號的模擬;完成對衛(wèi)星覆蓋區(qū)域、目標(biāo)航跡、背景地圖顯示;將星基ADS-B 數(shù)據(jù)發(fā)送給下位機(jī),下位機(jī)實時生成星基ADS-B 模擬信號。
對星基ADS-B 信號的模擬是對信號多普勒頻移和功率的模擬。星基ADS-B 系統(tǒng)多采用多波束天線,每個波束分割一部分覆蓋區(qū)[8]。為實現(xiàn)對星基ADS-B信號的模擬,對一顆載有4 個定向天線,處于瞬時運(yùn)動狀態(tài)的低軌道衛(wèi)星建模,每個天線波束形成一個覆蓋區(qū),通過對文獻(xiàn)[9]中衛(wèi)星瞬時覆蓋區(qū)域算法的分析,對四波束覆蓋區(qū)域邊界進(jìn)行解算;對波束內(nèi)飛行目標(biāo)的航跡進(jìn)行仿真,仿真目標(biāo)按照大圓航線飛行[10]。已知目標(biāo)相對于衛(wèi)星的徑向速度,可利用多普勒頻移公式計算信號的多普勒頻移,已知目標(biāo)與衛(wèi)星之間的距離,可利用衛(wèi)星上行鏈路公式[11]求得信號功率。信號模擬算法原理如圖1所示。
圖1 星基ADS-B 信號模擬原理Fig.1 Simulation principle of satellite-based ADS-B signal
多目標(biāo)星基ADS-B 信號模擬與顯示軟件基于Visual Studio 2012 開發(fā)平臺,使用MFC 建立交互界面。主要有以下功能:完成對4 個波束內(nèi)1 000 個目標(biāo)航跡的仿真和對目標(biāo)發(fā)送的星基ADS-B 信號的模擬;完成對四波束覆蓋區(qū)、背景地圖和目標(biāo)航跡的顯示;將星基ADS-B 數(shù)據(jù)發(fā)送給下位機(jī),下位機(jī)實時生成星基ADS-B 模擬信號。為實現(xiàn)上述功能,設(shè)計軟件系統(tǒng)架構(gòu)如圖2所示。
軟件系統(tǒng)由參數(shù)設(shè)置模塊、數(shù)據(jù)生成模塊、顯示模塊和通信模塊4 部分組成。數(shù)據(jù)生成模塊根據(jù)參數(shù)設(shè)置模塊設(shè)置的參數(shù)生成各類數(shù)據(jù)作為通信模塊和顯示模塊的數(shù)據(jù)源。外部依賴于地圖數(shù)據(jù)文件作為背景地圖顯示的數(shù)據(jù)源。與1 臺下位機(jī)相連,下位機(jī)接收到軟件發(fā)送的星基ADS-B 數(shù)據(jù),根據(jù)數(shù)據(jù)信息生成星基ADS-B 模擬信號。各模塊功能如圖3所示。
圖2 多目標(biāo)星基ADS-B 信號模擬與顯示軟件系統(tǒng)架構(gòu)Fig.2 System architecture of multi-target satellite-based ADS-B signal simulation and display software
圖3 多目標(biāo)星基ADS-B 信號模擬與顯示軟件功能模塊設(shè)計Fig.3 Functional module design of multi-target satellite-based ADS-B signal simulation and display software
參數(shù)設(shè)置模塊用于設(shè)置仿真參數(shù)包括:衛(wèi)星參數(shù)、仿真航跡參數(shù)、仿真時間。仿真時間為整個仿真過程的時長,取值范圍是1~600 s。衛(wèi)星參數(shù)包括:衛(wèi)星高度、星下點位置、衛(wèi)星軌道傾角。通過這3 個參數(shù),數(shù)據(jù)生成模塊可生成衛(wèi)星位置、衛(wèi)星速度和四波束覆蓋區(qū)邊界數(shù)據(jù)。航跡參數(shù)包括:波束選擇、目標(biāo)個數(shù)、飛行高度。波束選擇確定需要仿真的波束;目標(biāo)個數(shù)表示所選波束內(nèi)仿真目標(biāo)個數(shù),取值范圍是1~250,4個波束最多可選擇1 000 個目標(biāo);飛行高度表示仿真目標(biāo)的飛行高度。
數(shù)據(jù)生成模塊是星基ADS-B 信號模擬與顯示軟件的核心模塊,根據(jù)參數(shù)配置模塊所提供的參數(shù)可生成衛(wèi)星數(shù)據(jù)、航跡數(shù)據(jù)和星基ADS-B 數(shù)據(jù)。其中衛(wèi)星數(shù)據(jù)包含衛(wèi)星的位置、速度和四波束覆蓋區(qū)邊界數(shù)據(jù)。航跡數(shù)據(jù)包含目標(biāo)每個航跡點的位置信息、速度信息、時間信息、波束信息、信號多普勒頻移信息和功率信息。星基ADS-B 數(shù)據(jù)包含目標(biāo)在航跡點處發(fā)送的星基ADS-B 信號信息:波束信息、時間信息、信號多普勒頻移信息、功率信息和ADS-B 報文。
顯示模塊用于對四波束覆蓋區(qū)、背景地圖和目標(biāo)航跡的顯示。覆蓋區(qū)域和目標(biāo)航跡的顯示以數(shù)據(jù)生成模塊生成的四波束覆蓋區(qū)邊界數(shù)據(jù)和航跡數(shù)據(jù)作為數(shù)據(jù)來源,背景地圖顯示以內(nèi)存初始化文件(MIF)作為數(shù)據(jù)來源。MIF 是地理信息系統(tǒng)軟件(MapInfo)通用數(shù)據(jù)交換格式,用來保存圖形信息。軟件啟動時自動加載預(yù)設(shè)的MIF 文件,可實現(xiàn)對中國地理邊界、省、市、縣級行政單位的顯示。在仿真開始后將目標(biāo)航跡動態(tài)顯示在地圖背景上。
通信模塊用于實現(xiàn)軟件和下位機(jī)的數(shù)據(jù)交互。仿真開始后,軟件系統(tǒng)通過通信模塊把數(shù)據(jù)生成模塊生成的星基ADS-B 數(shù)據(jù)發(fā)送給下位機(jī)。根據(jù)數(shù)據(jù)信息,下位機(jī)實時生成星基ADS-B 模擬信號,同時顯示模塊將目標(biāo)航跡顯示在背景地圖上。為保證顯示模塊和通信模塊同時工作,采用多線程技術(shù)。
軟件系統(tǒng)通過參數(shù)設(shè)置模塊、數(shù)據(jù)生成模塊、顯示模塊和通信模塊這4 個模塊共同完成對星基ADSB 信號模擬和顯示功能,其工作流程如圖4所示。
圖4 系統(tǒng)工作流程Fig.4 System working procedure
軟件數(shù)據(jù)生成模塊生成3 類數(shù)據(jù):衛(wèi)星數(shù)據(jù)、航跡數(shù)據(jù)和星基ADS-B 數(shù)據(jù),3 種數(shù)據(jù)生成原理如圖5所示。對航跡數(shù)據(jù)中航跡點的位置信息、速度信息進(jìn)行編碼得到ADS-B 報文,ADS-B 報文、多普勒頻移信息、功率信息等可構(gòu)成星基ADS-B 數(shù)據(jù)。
圖5 數(shù)據(jù)生成流程Fig.5 Data generation procedure
衛(wèi)星數(shù)據(jù)用結(jié)構(gòu)體變量來存儲,定義數(shù)據(jù)類型如下:
星基ADS-B 數(shù)據(jù)的存儲使用STL vector 實現(xiàn),vector 是一種能夠存放多種數(shù)據(jù)類型的動態(tài)數(shù)組。將星基ADS-B 數(shù)據(jù)結(jié)構(gòu)體類型保存在動態(tài)數(shù)組vector中,即可用vector 實現(xiàn)對星基ADS-B 數(shù)據(jù)的存儲。建立vector 對象sate_ads_b_date 的代碼如下:
1)大地坐標(biāo)到客戶區(qū)坐標(biāo)的轉(zhuǎn)換
顯示模塊用于對四波束覆蓋區(qū)、背景地圖和目標(biāo)航跡的顯示。四波束覆蓋區(qū)、背景地圖和目標(biāo)航跡的顯示是在客戶區(qū)顯示,實現(xiàn)以上信息的繪制工作需要把其對應(yīng)像素點的大地坐標(biāo)轉(zhuǎn)換為客戶區(qū)坐標(biāo)。其轉(zhuǎn)換流程如圖6所示。
圖6 坐標(biāo)轉(zhuǎn)換流程Fig.6 Coordinate transformation procedure
采用墨卡托投影作為投影方式,墨卡托投影公式[12]為
其中:(lon,lat)為像素點大地坐標(biāo);(x,y)為像素點經(jīng)過墨卡托投影后在墨卡托直角坐標(biāo)系的位置;a 為地球橢球長半軸值;e 為地球橢球第一偏心率。再由墨卡托直角坐標(biāo)系轉(zhuǎn)化到客戶區(qū)坐標(biāo)系為
其中:(sx,sy)為客戶區(qū)坐標(biāo)系坐標(biāo)值;(x,y)為墨卡托直角坐標(biāo)系坐標(biāo)值;(x0,y0)為墨卡托直角坐標(biāo)系原點;(sx0,sy0)為客戶區(qū)坐標(biāo)系原點坐標(biāo);g 為比例尺,完成坐標(biāo)轉(zhuǎn)換。四波束覆蓋區(qū)的經(jīng)緯度信息來源于衛(wèi)星數(shù)據(jù);背景地圖的經(jīng)緯度信息來源于外部MIF 文件,其中包含中國地圖邊界、省、市、縣級行政單位的經(jīng)緯
度信息;目標(biāo)航跡的經(jīng)緯度信息來源于航跡數(shù)據(jù)。
2)繪制流程
顯示模塊對四波束覆蓋區(qū)、背景地圖和目標(biāo)航跡的繪制流程圖如圖7所示。通過調(diào)用畫筆類(CPen)、畫刷類(CBrush)和設(shè)備上下文類(CDC)的成員函數(shù)來完成繪制。重要函數(shù)包括:設(shè)置背景函數(shù)SetBkMode()、文本輸出函數(shù)ExtTextOut()、畫線函數(shù)Polyline()、繪制封閉圖形函數(shù)Polygon()。在對航跡進(jìn)行繪制時,通過周期性調(diào)用消息處理函數(shù)OnPaint()刷新界面,將目標(biāo)航跡動態(tài)顯示在地圖上。
圖7 繪制流程Fig.7 Drawing procedure
TCP/IP 協(xié)議具有開放性強(qiáng),可靠性高的特點。為保證數(shù)據(jù)的可靠傳輸,軟件與下位機(jī)的通信采用TCP/IP 協(xié)議來實現(xiàn)。上位機(jī)采用Windows Socket 編程[13]實現(xiàn)客戶端功能,獲得與下位機(jī)(服務(wù)器)的通信。服務(wù)器與客戶端建立通信的流程如圖8所示。
圖8 TCP/IP 通信協(xié)議建立流程Fig.8 Building procedure of TCP/IP communication protocol
服務(wù)器端先通過socket()函數(shù)創(chuàng)建套接字,然后使用bind()函數(shù)將套接字綁定在服務(wù)器的IP 地址和端口上。通過listen()函數(shù)設(shè)置服務(wù)器為監(jiān)聽模式,等待客戶端的請求。當(dāng)客戶端向服務(wù)器發(fā)送連接請求時,執(zhí)行accept()函數(shù),可獲得客戶端的socket 地址,accept()函數(shù)執(zhí)行成功時返回1 個新的連接socket,該socket 唯一地標(biāo)識了被接受的連接,服務(wù)器和客戶端可通過讀寫該socket 來實現(xiàn)通信。
信號模擬功能指軟件向下位機(jī)發(fā)送的星基ADSB 數(shù)據(jù)能夠被下位機(jī)接收,下位機(jī)正確讀取數(shù)據(jù)中的多普勒頻移信息、功率信息,生成對應(yīng)的星基ADS-B模擬信號。ADS-B 信號是脈沖信號,無法直接通過頻譜分析儀測得信號頻率和功率。下位機(jī)系統(tǒng)有載波輸出功能,啟動這項功能,可直接輸出星基ADS-B 模擬信號的載波。
軟件向下位機(jī)發(fā)送固定頻移、固定功率的星基ADS-B 數(shù)據(jù),通過頻譜分析儀測試星基ADS-B 模擬信號載波頻率和功率,完成對信號模擬功能的驗證。使用的頻譜分析儀為鼎陽公司生產(chǎn)的SIGLENT SSA3201X。軟件向下位機(jī)發(fā)送頻移-10 000 Hz,功率-90 dBm 和頻移10 000 Hz,功率-100 dBm 星基ADSB 數(shù)據(jù)。
經(jīng)測試可知當(dāng)發(fā)送頻移為-10 000 Hz,功率為-90 dBm 數(shù)據(jù)時,生成信號的載波頻率為1 089.990 000 MHz,功率為-90.05 dBm;當(dāng)發(fā)送頻移為10 000 Hz,功率為-100 dBm 數(shù)據(jù)時,生成信號的載波頻率為1 090.010 001 MHz,功率為-100.01 dBm。生成信號的頻偏和功率誤差很小,頻偏誤差小于10 Hz,功率誤差小于0.5 dBm,說明此系統(tǒng)可實現(xiàn)對星基ADS-B 信號的模擬功能。
參數(shù)設(shè)置部分如圖9、圖10 所示,設(shè)置衛(wèi)星軌道高度為600 km,星下點位置為(112.550 663 48°N,37.870 585 713°E)(太原機(jī)場),軌道傾角為90°。設(shè)置目標(biāo)飛行高度為9 000 m,在波束一內(nèi)仿真5 個目標(biāo),波束二內(nèi)仿真10 個目標(biāo),波束三內(nèi)仿真80 個目標(biāo),波束四內(nèi)仿真250 個目標(biāo),仿真時間為600 s。仿真開始后軟件運(yùn)行效果如圖11 所示。
圖9 衛(wèi)星參數(shù)設(shè)置Fig.9 Satellite parameter setting
圖10 目標(biāo)航跡參數(shù)設(shè)置Fig.10 Target trajectory parameter setting
圖11 星基ADS-B 信號模擬與顯示軟件運(yùn)行效果Fig.11 Operation effect of multi-target satellite-based ADS-B signal simulation and display software
波束一、波束二覆蓋區(qū)局部放大圖如圖12、圖13所示,可看到波束一內(nèi)的5 個目標(biāo)和波束二內(nèi)的10個目標(biāo)。每個目標(biāo)的標(biāo)牌上顯示了此刻發(fā)送信號的多普勒頻移和功率。
圖12 波束1 覆蓋區(qū)局部放大圖Fig.12 Local enlargement of Beam One coverage
圖13 波束2 覆蓋區(qū)局部放大圖Fig.13 Local enlargement of Beam Two coverage
針對星基ADS-B 信號的特點設(shè)計了星基ADS-B信號模擬與顯示軟件。為了仿真目標(biāo)所發(fā)送信號的多普勒頻移和功率值,對四天線低軌道衛(wèi)星進(jìn)行建模,對目標(biāo)航跡進(jìn)行仿真,通過計算目標(biāo)相對于衛(wèi)星的徑向速度來求得多普勒頻移,通過衛(wèi)星與目標(biāo)間的距離計算信號功率,實現(xiàn)對星基ADS-B 信號的模擬。利用墨卡托投影原理和繪制函數(shù)實現(xiàn)了對四波束覆蓋區(qū)、背景地圖、目標(biāo)航跡的顯示。測試結(jié)果證明軟件運(yùn)行正常,可實現(xiàn)對星基ADS-B 信號的模擬和顯示功能。