国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于設(shè)計模式的ADS-B終端軟件設(shè)計與實現(xiàn)

2016-01-23 18:53童衛(wèi)勇朱佳麗中國船舶重工集團公司第七二四研究所南京211153
雷達與對抗 2015年2期
關(guān)鍵詞:設(shè)計模式

童衛(wèi)勇,朱佳麗,薛 鋒(中國船舶重工集團公司第七二四研究所,南京211153)

?

基于設(shè)計模式的ADS-B終端軟件設(shè)計與實現(xiàn)

童衛(wèi)勇,朱佳麗,薛鋒
(中國船舶重工集團公司第七二四研究所,南京211153)

摘要:簡介了廣播式自動相關(guān)監(jiān)視系統(tǒng)(ADS-B)的工作原理、數(shù)據(jù)格式等,設(shè)計并實現(xiàn)了ADS-B地面站的顯示終端軟件,利用設(shè)計模式實現(xiàn)了軟件模塊間的解耦,提高了軟件復用度。軟件人機界面友好、操作簡單,在相關(guān)領(lǐng)域具有較好的應(yīng)用價值。

關(guān)鍵詞:ADS-B;終端軟件;設(shè)計模式

0 引言

隨著航空事業(yè)的飛速發(fā)展,民眾對空域資源的需求與日俱增,這就急需空中交通管制系統(tǒng)解決安全、容量和效率不足的問題。空管系統(tǒng)需要對管制空域內(nèi)飛機的飛行動態(tài)進行實時監(jiān)視,以往應(yīng)用的方法主要是雷達監(jiān)視,受制于雷達固有的局限性,如探測盲區(qū),無法覆蓋海洋、荒漠以及較低數(shù)據(jù)更新率等。單純地依靠傳統(tǒng)的雷達監(jiān)視系統(tǒng)很難應(yīng)對空中交通流量的持續(xù)增長和民航空域資源的嚴重缺乏[1]。由國際民航組織(ICAO)的未來空中航行系統(tǒng)專門委員會推薦采用的ADS-B(Automatic Dependent Surveillance-Broadcast:廣播式自動相關(guān)監(jiān)視)是基于衛(wèi)星定位和地/空數(shù)據(jù)鏈通信的航空器運行監(jiān)視技術(shù),是為越洋飛行的航空器在無法進行雷達監(jiān)視的情況下希望利用衛(wèi)星實施監(jiān)視所提出的解決方案,近些年來取得了逐步的推廣,日漸成為一種主流的空中交通監(jiān)視手段[2]。

ADS-B系統(tǒng)的機載設(shè)備獲得民航機實時的位置信息和速度信息及其他信息,通過機載收發(fā)機將上述信息等向空中和地面進行廣播,供其他民航機和地面接收設(shè)備接收和顯示[3-4]。本文將主要討論ADS-B地面站終端軟件的設(shè)計。

1 ADS-B終端軟件設(shè)計

1.1軟件組成

ADS-B終端軟件主要由3個模塊組成:數(shù)據(jù)處理模塊、顯示模塊、控制模塊。軟件數(shù)據(jù)處理模塊接收地面站硬件設(shè)備發(fā)送的網(wǎng)絡(luò)數(shù)據(jù)報文,通過對報文類型的分析解算出所需的民航目標的位置、狀態(tài)等信息,生成并維護一個ADS目標鏈表,民航目標的信息更新、超時刪除、界面顯示都基于鏈表的操作;顯示模塊將ADS目標鏈表進行不同類型的顯示,顯示模塊主要由3個界面組成: PPI顯示(距離方位顯示)、距離高度顯示和目標表頁顯示;控制命令則通過控制模塊向顯示模塊發(fā)送。ADS-B終端軟件組成圖1所示。

圖1 ADS-B終端軟件基本組成

1.2數(shù)據(jù)處理模塊

1.2.1報文類型

ADS-B數(shù)據(jù)報文主要由5類組成[5]:唯一標識飛機的24位ICAO地址的標識號、WGS-84坐標系下的位置信息(經(jīng)緯度、高度等)和速度信息等狀態(tài)矢量、狀態(tài)和意圖信息、分類號及其他信息。在本軟件中,主要處理的數(shù)據(jù)報文有目標位置報文、目標速度報文以及目標航班信息。數(shù)據(jù)報文主要由報文頭、報文類型、ICAO標識號、報文發(fā)送時間及具體報文數(shù)據(jù)組成。位置報文、速度報文及航班報文由報文類型確定,通過匹配ICAO標識號對具體報文數(shù)據(jù)進行處理。

1.2.2數(shù)據(jù)處理流程

數(shù)據(jù)處理模塊對ADS目標的操作置入ADS目標鏈表處理。目標鏈表主要負責目標節(jié)點的插入、目標數(shù)據(jù)的更新以及超時目標節(jié)點的刪除。鏈表節(jié)點的匹配利用唯一標識的ICAO碼,新節(jié)點插入則基于位置信息,而速度報文和航班信息只更新或添加目標鏈表中匹配目標的相應(yīng)信息。當新的數(shù)據(jù)報文到來時,目標鏈表處理步驟如下:

(1)判別報文類型,若是位置報文則下一步處理,若是速度報文則轉(zhuǎn)到步驟5,若是速度報文則步驟6進行處理;

(2)對目標鏈表進行ICAO匹配,若匹配則下一步處理,若不匹配則轉(zhuǎn)到步驟4;

(3)判斷是否是新的位置信息,若是則更新目標節(jié)點的位置信息,反之則只更新節(jié)點時間信息;

(4)此時目標的ICAO與鏈表所有節(jié)點都不匹配,則認為當前目標是新的節(jié)點,插入目標鏈表;

(5)若是速度報文,在鏈表中進行ICAO匹配,若匹配則判斷是否是新的速度信息決定更新匹配節(jié)點的速度信息還是時間信息,不匹配則不處理;

(6)當收到的是航班報文時,由于航班號和ICAO碼是唯一對應(yīng)的,若節(jié)點的無航班號信息則添加航班號,反之則更新節(jié)點的時間信息即可。

由于ADS-B的位置信息采用的是GPS給出的大地坐標系的經(jīng)度、緯度、高度三維信息,通過坐標轉(zhuǎn)換將目標的經(jīng)緯度、高度信息轉(zhuǎn)換為空間坐標系中的XYZ坐標,再將空間坐標變換到相對地面站位置的距離方位仰角的極坐標系下,從而方便ADS目標的顯示監(jiān)視。ADS目標鏈表的節(jié)點插入和數(shù)據(jù)更新流程如圖2所示。

數(shù)據(jù)處理模塊定時輪詢目標鏈表。當目標節(jié)點的時間字段與輪詢當前時間超過一定的時間間隔,則認定此目標節(jié)點超時,目標鏈表刪除節(jié)點。

1.3顯示與控制模塊組成

圖2 ADS目標鏈表處理流程

軟件顯示模塊主要基于GDI +技術(shù)繪制。GDI +技術(shù)可以方便地實現(xiàn)顯示模塊的地圖勾勒、偏心、縮放等功能。根據(jù)民航目標的特點,模塊主要由3個界面組成: PPI顯示、距離高度顯示、目標表頁顯示。PPI界面主要顯示目標的航班號、距離、方位、航跡等位置信息,距離高度界面關(guān)注的是目標的距離和高度的變化,而表頁界面則將目標較為詳細的信息如ICAO碼、航班號、距離、方位、高度、仰角、航向、航速、經(jīng)緯度以及時間等以列表的形式展示。

對應(yīng)顯示模塊的3個界面控制模塊生成PPI顯示控制、距離高度顯示控制、表頁顯示控制選項。PPI顯示選項主要控制距標環(huán)、方位線、刻度線、疊加地圖顯示、縮放偏心、ADS目標的航班號、航跡顯示等;距離高度顯示選項控制距標線、等高線、縮放偏心、航班號、目標距離投影線等參數(shù);表頁選項操作目標眾多參數(shù)的列表顯示與否。

2 軟件模塊的信息交互

本軟件中,數(shù)據(jù)處理模塊的ADS目標鏈表節(jié)點更新信息或刪除時需要通知不同的顯示界面更新顯示。操作人員的操控命令需要通知相應(yīng)的顯示界面相應(yīng)。當某個顯示界面通過鼠標選擇重點關(guān)注某個目標時,需要通知其他的顯示界面也做出聯(lián)動的選中動作等。這些頻繁的操作都構(gòu)成了軟件模塊間的信息交互。在面向?qū)ο筌浖O(shè)計領(lǐng)域,設(shè)計模式是一套被反復使用、經(jīng)過分類編目的、代碼設(shè)計經(jīng)驗的總結(jié)。許多面向?qū)ο筌浖脑O(shè)計通過引入設(shè)計模式,使得面向?qū)ο蟮脑O(shè)計更加靈活、優(yōu)雅的同時獲得更好的軟件的復用性。設(shè)計模式按照其目的可分為創(chuàng)建型、結(jié)構(gòu)型、行為型。創(chuàng)建型模式與對象的創(chuàng)建有關(guān),結(jié)構(gòu)型模式處理類或?qū)ο蟮慕M合,行為型模式對類或?qū)ο笤鯓咏换ズ驮鯓臃峙渎氊熯M行描述[6]。因此,行為型模式適用于本軟件中模塊間的交互。

通過使用行為型模式中的觀察者模式(Observer)解決由于維護更新的數(shù)據(jù)一致性而造成的數(shù)據(jù)處理模塊與顯示界面間的緊密耦合,實現(xiàn)數(shù)據(jù)與顯示的分離。為了避免顯示界面與控制模塊以及顯示界面之間相互的顯示引用,引入中介者(Mediator)模式,使其充當一個控制和協(xié)調(diào)模塊間的交互的中介,從而信息交互的接口只有中介者,減少了互相連接的數(shù)目,降低了模塊之間的耦合度。ADS-B終端軟件模塊間的交互如圖3所示。

圖3 基于行為型模式的ADS-B軟件模塊間交互

2.1觀察者模式的應(yīng)用

ADS目標數(shù)據(jù)和顯示界面間存在著一對多的依賴關(guān)系,當目標更新或刪除時所有依賴于它的顯示界面都將得到通知并自動更新。觀察者模式描述了如何建立這種關(guān)系,其關(guān)鍵對象是目標(Subject)和觀察者(Observer)。觀察者模式的UML結(jié)構(gòu)圖[6]如圖4所示。

目標和觀察者基類定義了通用的接口。目標類主要完成觀察者的添加(Attach)、刪除(Detach)、通知(Notify)操作,觀察者類為目標發(fā)生改變時需要獲得通知的對象定義了一個更新接口(Update)。數(shù)據(jù)處理模塊中ADS目標鏈表作為具體目標將目標更新、刪除的狀態(tài)保持存(SetState),當狀態(tài)發(fā)生變化時向各具體觀察者發(fā)出通知(Notify)。顯示界面模塊的3個顯示界面作為具體觀察者對象各自維護一個指向具體目標對象的引用,完成對觀察者更新接口的實現(xiàn)。當接收到狀態(tài)改變的通知時,調(diào)用更新接口(Update)以獲得具體目標對象的狀態(tài)改變(GetState)。

觀察著模式實現(xiàn)了目標和觀察者間的抽象耦合。ADS目標鏈表所知道的僅僅是它有一系列顯示界面觀察者,顯示界面者都符合抽象的觀察者類的簡單接口。所以,ADS目標鏈表不知道任何一個具體觀察者屬于哪一個具體的類,因此目標和觀察者之間的耦合是最小的。

圖4 觀察者模式UML結(jié)構(gòu)圖

2.2中介者模式的應(yīng)用

終端軟件的每個顯示界面都有不同的顯示特性和顯示參數(shù)需要相應(yīng)的控制模塊操控,而顯示界面間也需要選中操作的聯(lián)動。中介者模式通過一個中介對象來封裝一系列的對象交互。中介者模式的UML結(jié)構(gòu)圖[6]如圖5所示。

圖5 中介者模式UML結(jié)構(gòu)圖

中介類定義一個接口用于和各同事類通信,具體中介者對象了解并維護各個同事,通過協(xié)調(diào)各同事對象實現(xiàn)交互。而同事類都知道它的中介者對象,當每個同事對象需要與其他同事通信時直接和中介者對象通信即可。

當控制模塊發(fā)出控制命令時,控制命令中介者作為具體中介者對象協(xié)調(diào)各同事對象的交互,即顯示界面與控制選項的交互。如當PPI顯示選項向控制命令中介發(fā)送出允許偏心操作命令,中介收到命令并判斷為來自PPI顯示選項,則向PPI顯示界面轉(zhuǎn)發(fā)請求以實現(xiàn)PPI界面的偏心操作。當PPI顯示界面選擇一個ADS目標重點觀察時,如果另兩個界面相應(yīng)PPI界面的選中操作則會能從多種顯示形式觀察目標的參數(shù),此時顯示命令中介者作為具體中介者對象協(xié)調(diào)各同事對象——顯示界面間的交互,顯示命令中介收到其中一個界面發(fā)出的選中命令后,及時地向另兩個界面轉(zhuǎn)發(fā)選中觀察請求,從而完成目標選中的聯(lián)動操作。

中介者模式將對象間交互的轉(zhuǎn)為同事對象與中介類的交互,從而減少了相互連接的數(shù)目,使各對象不需要顯式地相互引用,這樣對象間的松耦合使得輕松、獨立的改變和復用各同事類和中介類。

3 ADS-B終端軟件的實現(xiàn)

本軟件采用C + +語言編寫,編譯環(huán)境為Visual Studio 2010,運行在Windows XP 32位平臺。ADS-B終端軟件顯示界面如圖6所示。

圖6 ADS-B終端軟件顯示界面

4 結(jié)束語

本文介紹了ADS-B系統(tǒng)的基本原理,通過接收地面站接收設(shè)備傳傳輸?shù)腁DS數(shù)據(jù)報文,設(shè)計實現(xiàn)了基于ADS-B地面站的終端軟件。通過采用行為型設(shè)計模式,很好地實現(xiàn)了軟件模塊間的解耦,降低了后期軟

件升級維護的難度,并提供了良好的復用性。目前,ADS-B終端軟件已在實際工作中得到應(yīng)用,并取得了較好的效果。

參考文獻:

[1]邵帥.ADS-B航跡處理及顯示技術(shù)研究[D].哈爾濱工程大學碩士學位論文,2013.

[2]戴超成.廣播式自動相關(guān)監(jiān)視(ADS-B)關(guān)鍵技術(shù)及仿真研究[D].上海交通大學碩士學位論文,2011.

[3]Nick King.ADS-B Regulation[S].Civil Aviation Safety Authority Australian,2006.

[4]盧伯英.新型自動相關(guān)監(jiān)視系統(tǒng)ADS-B[J].空中交通管理,1999.

[4]張軍.現(xiàn)代空中交通管理[M].北京航空航天大學出版社,2005.

[6]Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides.設(shè)計模式:可復用面向?qū)ο筌浖幕A(chǔ)[M].北京:機械工業(yè)出版社,2000.

Design and implementation of ADS-B terminal software based on design pattern

TONG Wei-yong,ZHU Jia-li,XUE Feng
(No.724 Research Institute of CSIC,Nanjing 211153)

Abstract:The working principle and data formats of the Automatic Dependent Surveillance-Broadcast(ADS-B)are briefly introduced,and the terminal display software is designed and realized for ADS-B ground stations.The design pattern is used to realize the decoupling between the software modules and improve the software reusability.The software features friendly man-machine interface and easy operation and can bring preferable application value to related fields.

Keywords:ADS-B; terminal software; design pattern

作者簡介:童衛(wèi)勇(1981-),男,工程師,碩士,研究方向:數(shù)據(jù)處理及顯示技術(shù);朱佳麗(1986-),女,工程師,碩士,研究方向:數(shù)據(jù)處理及顯示技術(shù);薛鋒(1978-),男,工程師,研究方向:雷達總體及顯示技術(shù)。

收稿日期:2015-01-20;修回日期:2015-03-03

文章編號:1009-0401(2015)02-0056-04

文獻標志碼:A

中圖分類號:TP3111

猜你喜歡
設(shè)計模式
設(shè)計模式識別的特征信息分類研究
“1+1”作業(yè)設(shè)計模式的實踐探索
智慧圖書館環(huán)境下的融貫式服務(wù)設(shè)計模式研究
三維協(xié)同設(shè)計模式下的航天項目管理實踐與展望
注入間接線索的設(shè)計模式變體分類檢測
信息化教學模式構(gòu)建研究
設(shè)計模式檢測工具有效性評估策略*
設(shè)計模式對軟件可維護性影響的定量研究
基于面向?qū)ο蟮慕M態(tài)軟件實時數(shù)據(jù)庫的設(shè)計
基于生產(chǎn)者/消費者設(shè)計模式的連續(xù)音頻信號采集系統(tǒng)