侯彭亮,郭 蘋,王展鵬,王 靜
(西安科技大學(xué) 通信與信息工程學(xué)院,陜西 西安 710054)
雷達(dá)顯控終端是雷達(dá)系統(tǒng)的重要組成部分,作為雷達(dá)系統(tǒng)人機(jī)交互的接口,主要負(fù)責(zé)控制雷達(dá)系統(tǒng)并顯示雷達(dá)回波、雷達(dá)狀態(tài)等信息的任務(wù),而雷達(dá)PPI 顯示則是最常見的雷達(dá)顯示方式之一,其仿真水平直接影響到整個終端系統(tǒng)的效果[1-3]。傳統(tǒng)的雷達(dá)顯控終端是使用通用計算機(jī)來負(fù)責(zé)雷達(dá)PPI 顯示和控制,功能和界面比較豐富,但是在進(jìn)行外場試驗(yàn)測試時,在惡劣的環(huán)境中實(shí)現(xiàn)對計算機(jī)的操作將更加困難,不利于某些特定環(huán)境下的推廣和使用,其應(yīng)用場景逐漸受到限制。隨著雷達(dá)技術(shù)以及Android 智能設(shè)備的快速發(fā)展,便攜可移動式雷達(dá)PPI 顯示控制軟件的開發(fā)勢在必行。
針對傳統(tǒng)雷達(dá)PPI 顯示控制方法的缺陷,且得益于Qt在軟件界面開發(fā)過程中的優(yōu)良特性,本文給出基于Qt的雷達(dá)PPI 顯控及手機(jī)客戶端的實(shí)現(xiàn)方式,分別采用以X86 處理器為核心的Windows系統(tǒng)和以ARM 處理器為核心的Android系統(tǒng)的軟件平臺,在此基礎(chǔ)上使用圖形用戶界面應(yīng)用程序開發(fā)框架Qt在Windows系統(tǒng)和Android系統(tǒng)下分別開發(fā)雷達(dá)PPI 顯示端和手機(jī)客戶端,實(shí)現(xiàn)在以太網(wǎng)下使用手機(jī)客戶端通過TCP/IP 協(xié)議遠(yuǎn)程控制雷達(dá)PPI 顯示端工作,整個系統(tǒng)的兼容性、可移植性和可維護(hù)性得以極大提升,為跨平臺操作提供便利。該手機(jī)客戶控制端與傳統(tǒng)顯控終端控制端相比具有很好的可靠性和便捷性。
Qt 是一種基于C++的跨平臺圖形用戶界面應(yīng)用程序開發(fā)框架,主要是用于面向?qū)ο蟮目蚣?,可以擴(kuò)展且具有優(yōu)良的跨平臺特性[4-6]。QML 是Qt 推出的Qt Quick技術(shù)的核心之一,是一種聲明式語言,開發(fā)人員可以輕松地在QML 中構(gòu)建流體動畫用戶界面,并且可以選擇將這些用戶界面連接到任何后端C++庫[7-9]。
雷達(dá)探測信息不僅包括目標(biāo)回波等原始視頻信號,還包括目標(biāo)回波信號經(jīng)過數(shù)字化處理變成數(shù)據(jù)后由計算機(jī)加工形成更加豐富的二次信息[10]。因此,雷達(dá)顯控終端主要完成對雷達(dá)工作狀態(tài)的控制以及雷達(dá)獲取的情報和目標(biāo)信息(包括目標(biāo)位置、特征參數(shù)、運(yùn)動狀況等信息)的顯示。
雷達(dá)PPI 顯示是以雷達(dá)為中心點(diǎn)按照距離和方位顯示雷達(dá)掃描范圍內(nèi)的目標(biāo)分布情況,這種情況與通常的地面地圖具有相對應(yīng)關(guān)系,可以提供360°范圍內(nèi)全部平面信息。根據(jù)雷達(dá)顯控終端的功能需求,將PPI 顯示端與控制端分別基于Windows系統(tǒng)和Android系統(tǒng)進(jìn)行開發(fā),實(shí)現(xiàn)顯示與控制的分離,具體的雷達(dá)PPI 顯示工作流程如圖1 所示。
圖1 雷達(dá)PPI 顯示工作流程
雷達(dá)通過發(fā)射機(jī)發(fā)射信號,經(jīng)過目標(biāo)反射后形成回波并通過接收機(jī)進(jìn)入信號處理機(jī)?;夭ㄐ盘柦?jīng)過一系列的目標(biāo)回波經(jīng)過雷達(dá)信號處理板后,提取出目標(biāo)信息,包括方位、距離、速度和航跡等[11]。而雷達(dá)顯控終端作用是將接收到的雷達(dá)目標(biāo)信息通過目標(biāo)檢測、目標(biāo)跟蹤等處理后通過可視化將目標(biāo)的方位、距離等重要信息反饋給用戶,同時用戶還能夠通過終端對雷達(dá)系統(tǒng)進(jìn)行特定化設(shè)置,使雷達(dá)系統(tǒng)適應(yīng)當(dāng)前環(huán)境。
基于Qt的雷達(dá)顯控手機(jī)客戶端主要從雷達(dá)PPI 顯示端、手機(jī)控制客戶端及兩者通信三個方面進(jìn)行設(shè)計,軟件總體設(shè)計框圖如圖2 所示。
圖2 軟件總體設(shè)計框圖
雷達(dá)PPI 顯示端在通用PC 上使用Qt的繪圖工具實(shí)現(xiàn),主要完成天線、波束、目標(biāo)、目標(biāo)航跡等參數(shù)信息的顯示功能。手機(jī)客戶端使用Qt Quick的QML 腳本語言與Qt Widget的C++代碼交互實(shí)現(xiàn)雷達(dá)PPI 顯示參數(shù)的配置,使用屏幕觸控操作,通過TCP/IP 協(xié)議與雷達(dá)PPI 顯示端建立連接并發(fā)送指令,控制雷達(dá)PPI 顯示端實(shí)現(xiàn)顯示。
雷達(dá)PPI 顯示端主要劃分為網(wǎng)絡(luò)模塊和顯示模塊,網(wǎng)絡(luò)模塊負(fù)責(zé)顯示端和手機(jī)客戶端的遠(yuǎn)程連接;顯示模塊負(fù)責(zé)接收到雷達(dá)數(shù)據(jù)處理板的數(shù)據(jù)后對雷達(dá)目標(biāo)信息的顯示。
手機(jī)客戶端主要功能是對雷達(dá)PPI 顯示端進(jìn)行參數(shù)設(shè)置,包括雜波顯示與隱藏,天線、波束、目標(biāo)等參數(shù)設(shè)置。在雷達(dá)PPI 顯示端和手機(jī)客戶端分別加入網(wǎng)絡(luò)模塊,通過TCP/IP 協(xié)議實(shí)現(xiàn)連接,完成手機(jī)客戶端對雷達(dá)PPI 顯示端的顯示控制。
雷達(dá)PPI 顯示,在極坐標(biāo)格式下實(shí)現(xiàn)繪制,方位以正北為基準(zhǔn),目標(biāo)回波以同心圓表示,圓心是雷達(dá)站,距離沿半徑方向增加。如圖3 所示,雷達(dá)PPI 顯示分為網(wǎng)絡(luò)模塊和顯示模塊。
圖3 雷達(dá)PPI 顯示端設(shè)計圖
2.1.1 網(wǎng)絡(luò)模塊
網(wǎng)絡(luò)模塊用于接收到客戶端發(fā)送過來的信息并傳遞給顯示模塊。手機(jī)客戶端通過TCP/IP 協(xié)議創(chuàng)建一個Socket 套接字與雷達(dá)PPI 顯示端建立連接,實(shí)現(xiàn)客戶端與顯示端的網(wǎng)絡(luò)數(shù)據(jù)通信,雷達(dá)PPI 顯示端啟動后,設(shè)置PPI 顯示端的IP 地址和端口號,顯示端進(jìn)入監(jiān)聽狀態(tài),等待手機(jī)客戶端的連接。
2.1.2 顯示模塊
雷達(dá)PPI 顯示通常分為四層,其最底層為雜波層,上面依次是經(jīng)緯層、天線層、目標(biāo)層。
PPI 顯示繪制以坐標(biāo)原點(diǎn)為圓心繪制若干同心圓來表示距離,以圓心為起點(diǎn)繪制等角度的輻射直線表示方位。在使用Qt 繪圖時,采用的是直角坐標(biāo)系。繪圖過程中需要進(jìn)行極坐標(biāo)和直角坐標(biāo)的轉(zhuǎn)換,如圖4 所示。
圖4 極坐標(biāo)與直角坐標(biāo)之間的轉(zhuǎn)換圖
對于圖4 中的點(diǎn)A,極坐標(biāo)和直角坐標(biāo)之間的轉(zhuǎn)換如式(1)、式(2)所示。
雜波是雷達(dá)信號檢測和處理的固有環(huán)境,在雜波背景下進(jìn)行信號處理是雷達(dá)的基本任務(wù)之一[12]。本設(shè)計設(shè)置了一張png 格式的靜態(tài)圖片來模擬雷達(dá)雜波,可以實(shí)現(xiàn)雜波顯示和隱藏。
雷達(dá)PPI 顯示中的經(jīng)緯層用于確定目標(biāo)的位置信息。Qt 中提供了強(qiáng)大的2D 繪圖系統(tǒng),可以使用相同的應(yīng)用程序接口(Application Programming Interface,API)在屏幕上和繪圖設(shè)備上進(jìn)行繪制若干個同心圓,并把同心圓以30°為角度分割線分為12 等份,同心圓和角度分割線就組成了經(jīng)緯層,且同心圓和角度分割線的交點(diǎn)表示雷達(dá)的作用距離。
天線是雷達(dá)系統(tǒng)中的一個重要組成部分,它決定著雷達(dá)的靈敏度和角度分辨率。本軟件天線掃描方式主要分為兩種:余輝式掃描和扇段式掃描,余輝式掃描使用數(shù)字化實(shí)現(xiàn)余輝效果;扇段式掃描是指天線波束對平面的一部分掃描,對驅(qū)動系統(tǒng)在整個扇段掃描過程的動態(tài)分析,是雷達(dá)天線驅(qū)動裝置參數(shù)確定和強(qiáng)度校核的前提。扇段式掃描包括波門外扇段、波門顏色,波束顏色等參數(shù)。
雷達(dá)目標(biāo)是雷達(dá)發(fā)射的電磁波與目標(biāo)相互作用所產(chǎn)生的各種信息,目標(biāo)是實(shí)時更新的,需要顯示目標(biāo)的運(yùn)動軌跡。本軟件的目標(biāo)層包括目標(biāo)顏色、目標(biāo)路徑寬度、目標(biāo)路徑顏色、目標(biāo)位置等參數(shù)設(shè)置。雷達(dá)目標(biāo)信息通過雷達(dá)數(shù)據(jù)處理板發(fā)送到顯示端的共享內(nèi)存,PPI 顯示通過從共享內(nèi)存獲取數(shù)據(jù)來實(shí)現(xiàn)雷達(dá)目標(biāo)的動態(tài)顯示。
為了能夠?qū)崟r動態(tài)地顯示雷達(dá)的觀測結(jié)果,本軟件使用Qt 中時間控制器函數(shù)來實(shí)現(xiàn)天線掃描方式目標(biāo)的路徑動態(tài)等顯示更新。時間控制器函數(shù)提供了重復(fù)和單次觸發(fā)信號的定時器,并且為定時器提供了一個高級別的編程接口,創(chuàng)建一個定時器對象,連接信號到適當(dāng)?shù)牟酆瘮?shù),并調(diào)用start 函數(shù)開啟定時器,設(shè)置發(fā)出時間事件的時間間隔,在恒定的間隔會發(fā)射信號[13-15]。當(dāng)發(fā)射信號時,導(dǎo)入目標(biāo)信息(包括位置、航跡等),雷達(dá)PPI 顯示端開始工作,并與手機(jī)客戶端連接,動態(tài)顯示目標(biāo)運(yùn)動狀態(tài)和航跡。
手機(jī)客戶端的功能是通過TCP/IP 協(xié)議在以太網(wǎng)下對雷達(dá)PPI 顯示端的遠(yuǎn)程控制,客戶端發(fā)送參數(shù)配置信息到顯示端,顯示端進(jìn)行相應(yīng)的顯示,主要包括與PPI顯示端匹配的網(wǎng)絡(luò)模塊、雜波模塊、天線模塊、波束模塊、經(jīng)緯模塊和目標(biāo)模塊,手機(jī)客戶端設(shè)計圖如圖5 所示。
圖5 手機(jī)客戶端設(shè)計圖
網(wǎng)絡(luò)模塊包括IP 地址和端口文本框,是客戶端與顯示端通過以太網(wǎng)連接所需要的參數(shù),當(dāng)顯示端開始偵聽,客戶端點(diǎn)擊連接按鈕實(shí)現(xiàn)與顯示端連接。雜波模塊的功能是設(shè)置雜波顯示或隱藏。天線模塊的功能是設(shè)置天線中心顏色和天線掃描方式(扇段式掃描和余暉式掃描)。波束模塊包括波束邊界顏色、波束顏色和波門顏色,分別對應(yīng)顯示端的參數(shù)設(shè)置,實(shí)現(xiàn)相應(yīng)的變化。經(jīng)緯模塊是對PPI 顯示端的經(jīng)緯線顏色和雷達(dá)最大作用距離的設(shè)置。目標(biāo)模塊是對目標(biāo)顏色和航跡顏色的設(shè)置。
Android 客戶端設(shè)計基于Qt Quick 中的QML 腳本語言和Qt 中C++代碼交互來實(shí)現(xiàn)。使用QML的控件和堆棧視圖設(shè)計客戶端的各個參數(shù)設(shè)置界面,其中包括QML中的Button(按鈕)控件、Label(標(biāo)簽)控件和ComboBox(組合框)控件,以及QML的布局管理器。部分實(shí)現(xiàn)代碼如下:
用戶通過觸摸指令可以實(shí)現(xiàn)進(jìn)入具體模塊頁面進(jìn)行參數(shù)設(shè)置。
PC 使用USB 數(shù)據(jù)線與Android設(shè)備連接,通過Qt的Android 編譯器向Android設(shè)備打包發(fā)送APK 文件并安裝。圖6 為Qt for Android 應(yīng)用開發(fā)流程圖。
圖6 Qt for Android 應(yīng)用開發(fā)流程圖
在本設(shè)計中手機(jī)客戶端與雷達(dá)PPI 顯示端的通信是基于TCP/IP 傳輸協(xié)議的Socket 套接字實(shí)現(xiàn)的。TCP/IP協(xié)議作為OSI 七層新模型中的第三層和第四層,TCP 層提供了信息的可靠傳輸,IP 層是負(fù)責(zé)對數(shù)據(jù)的驗(yàn)證。手機(jī)客戶端通過局域網(wǎng)將參數(shù)設(shè)置信息發(fā)送顯示端,顯示端對數(shù)據(jù)進(jìn)行處理并分配到顯示模塊進(jìn)行顯示。
圖7 所示為Socket的工作流程。
圖7 Socket工作流程
在Windows設(shè)備PC 端和Android設(shè)備手機(jī)端對顯示端和客戶端功能進(jìn)行測試。如圖8 中A 部分所示,通過Android 客戶端對雷達(dá)PPI 參數(shù)進(jìn)行設(shè)置,設(shè)置目標(biāo)顏色為紅色、航跡顏色為黃色、天線中心顏色為綠色,天線掃描方式為扇段式掃描、雜波隱藏。Windows 顯示端如圖8 中B 部分所示,目標(biāo)航跡為黃色,目標(biāo)顏色為紅色,天線中心顏色為綠色,并且顯示雜波,PPI 顯示結(jié)果與手機(jī)客戶端設(shè)置信息一致,這表明手機(jī)客戶端可以實(shí)現(xiàn)對PPI 顯示端的控制。
圖8 客戶端控制PC 顯示
本文顯示端和客戶端程序在Windows 7 和Android9.0平臺下,分別實(shí)現(xiàn)了雷達(dá)PPI 顯示端和手機(jī)客戶端顯示,軟件運(yùn)行均良好,且可以達(dá)到預(yù)期效果。在實(shí)際應(yīng)用中,得益于Qt的跨平臺性和可移植性高,適應(yīng)性強(qiáng),兼容性強(qiáng)以及手機(jī)的便攜性、靈活性和性能的不斷發(fā)展,它的應(yīng)用領(lǐng)域也將越來越廣泛。