馮嘯羽
(西安電子科技大學電子工程學院,陜西西安 710071)
作為雷達人機交互界面的雷達顯示器是雷達系統(tǒng)仿真中的一個重要環(huán)節(jié)。利用計算機的屏幕模擬雷達的顯示器,具有開發(fā)方便、不依賴特定的硬件、通用性強和可移植性好等特點。文中介紹的顯控終端主要包括兩個部分:(1)控制部分。雷達系統(tǒng)進行仿真時所需工作參數都要由操作人員通過控制部分進行輸入,并把參數傳遞給雷達數據處理系統(tǒng)。(2)顯示部分。仿真顯示畫面上,既要顯示雷達的原始圖像,如距離、方位、俯仰等。又要顯示經過雷達數據處理系統(tǒng)處理過的目標數據,如高度、速度、機型、航向、敵我屬性等。此外,顯示系統(tǒng)可以進行顯示模式轉換,實現B型和Pie型顯示器顯示切換功能,使得顯示系統(tǒng)滿足不同顯示需求。
Windows程序采用事件驅動編程模型,應用程序通過處理操作系統(tǒng)發(fā)送來的消息來響應事件。一個典型應用程序的大部分操作是在響應其收到的消息。MFC(Microsoft Foundation Classes)是微軟提供的放置Windows API的面向對象的包裝的C++類庫,該類庫包含了100多個類。MFC也是一個應用程序的框架結構,為應用程序處理很多雜務。用MFC作界面開發(fā),具有使用方便,開發(fā)周期短的優(yōu)點。
AN/APG-68是多功能數字化火控雷達,裝備在F16-C/D戰(zhàn)斗機上。該雷達的功能分為空中目標探測模式和地面目標探測模式??罩刑綔y模式包括:邊搜索邊測距、邊跟蹤邊掃描、單目標跟蹤、速度搜索、空戰(zhàn)機動。地面目標探測模式包括:地面測繪、地面動目標、海上目標掃描。工作頻率為9.7~9.9 GHz,作用距離為150 km,掃描范圍是120°×120°,需要注意的是,雷達并非同時掃描全部區(qū)域,方位上分 ±60°、±30°、±25°、±10°4 檔,俯仰上分 1、2、4 個條狀區(qū)域,如果需要掃描多于一個條狀區(qū)域,雷達在掃描一個方位范圍后抬高/降低雷達天線繼續(xù)反方向掃描。AN/APG-68(V5)能在低、中、高PRF工作。
雷達終端顯示器用于顯示雷達當前的工作狀態(tài)和所獲得的目標信息,顯示方式與雷達當前的工作模式有關。在空中目標探測模式主要使用B型顯示器,而在地面目標探測模式主要使用扇形PPI顯示器。
考慮到整個雷達終端既要包括各種參數的設置界面,又需要將目標信息以各種方式顯示出來。顯然,在一個窗口上顯示這么多內容既不美觀,也不可能。經過綜合構思,一方面可以把一些需要經常改變的參數設置控件放到主界面上,而把那些不需要頻繁變更的工作參數用對話框的方式進行設置,對話框可以通過點擊菜單項來彈出,在參數設置完成后關閉對話框返回主界面,如圖1所示。另一方面,可以對主界面進行分區(qū),不同的顯示模式分別用一個子窗口來實現。也就是說,AR顯、B顯、Pie顯分別是3個不同的子窗口,而不是對一個窗口的簡單分割,如圖2所示。
從主界面可以看出,屏幕被分成了3個區(qū)域:左邊大塊的區(qū)域用于放置B顯和Pie顯,這兩種顯示方式根據雷達對地、對空模式的不同而進行切換,現在畫面上顯示的是B顯。右上角灰色區(qū)域上放置著常用的控件,這些控件中一部分用于設置雷達的工作模式,一部分將目標信息以表格的方式顯示出來,右下角的區(qū)域是AR顯。
AR顯示器是一種常用的距離顯示器,主要用來顯示雷達獲取的原始信息,如圖3所示。
圖3 AR顯示器
其中,顯示器上方是A掃掠線,下方是R掃掠線。A型顯示器顯示雷達的最大無模糊距離內的全程信息。然而,實際工作中除了要了解全程信息,還要對所選擇的目標進行較精準的測距,這時可以把距離量程選擇的較小,這個僅顯示全程中一部分距離的顯示器通常稱為R型顯示器。從圖中可以看出,從上面的掃掠線難以精確觀察到目標的距離,經過對上面掃掠線中有目標的一小段進行擴展,在R顯中能更仔細地看到目標及其周圍的信息。
B顯示器:空中目標探測模式主要使用B型顯示器。B型顯示器用于顯示經過計算機處理的二次目標信息,如圖4所示。
圖4 B型顯示器
B顯是以直角坐標的方式來顯示目標的距離和方位,橫坐標表示方位,縱坐標表示距離。屏幕的區(qū)域是一個直線向前的概念,一架就在飛行員眼前的敵機顯示在底部,這兒表示我方載機的機鼻。AN/APG-68在空對空模式中使用B顯有,其接近的目標不會混亂顯示,在近距離格斗中更容易使用的優(yōu)勢。
雷達屏幕底部的刻度表示全部120°的方位掃描,青綠色標記顯示天線方位掃描的當前位置。屏幕左邊的刻度表示全部120°的俯仰掃描,青綠色標記顯示天線當前的俯仰指向。天線在掃描時可以上下傾斜,對于近距離尋找比載機高或低的目標是較為有效的。屏幕右邊的刻度用于指示目標離載機的距離,需注意的是,最大距離160 km只是顯示器顯示的最大距離,不影響雷達的探測性能。其中,天線的俯仰指向,方位掃描范圍和最大顯示距離都可通過主界面右上角的設置控件來進行改變。
可以看出,在屏幕中央有3個方塊,表示在不同位置的目標。從左到右,第一個在機鼻左邊25°,距離50 km的位置。中間的目標在機鼻正前方,距離100 km位置。最后的目標在機鼻右方40°,距離80 km的位置。
扇形的PPI顯示器:其顯示畫面是地面目標探測模式下的基本顯示模式,是傳統(tǒng)PPI的一種特殊形式,來自反射物體的回波信號被顯示在平面圖上,如圖5所示。
圖5 扇形的PPI顯示
與3顯示器一樣都顯示的是雷達目標的斜距和方位信息,所不同的是,扇形PPI是以極坐標的方式來表現的。其中,圓心代表雷達站的位置,目標用平面上的亮點來表示,方位角以視軸為基準,順時針方向為正,距離則沿半徑度量。掃描線隨天線的方位掃描在畫面上同步轉動。圖中顯示在距雷達站大約2 km處有一段亮弧,表示該處有運動目標存在。
雷達常用的工作模式可用主界面上的控件來設置。從圖6可看出,操作員不但可以選擇各個雷達主模式,而且能夠進一步設置不同模式下的天線掃描方式和顯示器的功能。
圖6 控制雷達工作模式的常用控件
下面介紹幾種主要的空中目標模式。雷達在首次開機時工作在邊搜索邊測距模式(RWS),這是常用的搜索模式,該模式以最快探測到最多目標為目的。當飛行員需要一定精確簡潔的目標信息時可使用。目標參數僅測量距離和角度,其中角度是測量目標時的波束中心。探測到的目標使用黃色實心方塊表示,如圖4所示。
為得到特定目標的更多信息,可以將光標移動到感興趣的目標上并按下鼠標左鍵來鎖定目標,這時會進入 RWS的子模式——態(tài)勢感知模式(RWSSAM)。雷達對被鎖定的目標啟動數據處理,估計目標的運動速度。被鎖定的目標改為空心方塊表示,并用方塊上引出的短線表示目標的航向。圖7中所示的綠色呈蝌蚪狀的目標為鎖定目標,伸出的短線表示其正在朝載機方向飛來。
圖7 RWS-SAM模式下的目標顯示
無論當前設置的方位掃描范圍是多少,目標鎖定后的方位掃描范圍均更改為25°,方位掃描中心以目標門為中心,掃描速度不變。如果操作員想要鎖定其它的目標,只需要在感興趣的目標上按下鼠標左鍵即可完成切換。需注意,進入RWS-SAM模式后,盡管得到了目標的較多信息,同時也增加了雷達告警接收機被發(fā)現的機率。
在RWS-SAM模式下,當對當前鎖定的目標再次按下鼠標左鍵時,雷達會進入單目標跟蹤子模式(RWS-STT),該模式是支持超視距導彈發(fā)射。被跟蹤的目標在目標外用圓圈圍住表示,如圖8所示。
圖8 RWS-STT模式下的目標顯示
此時,顯示器上的最大距離會自動調整為當前目標距離的2倍左右,以使目標處在屏幕的中央。雷達不再掃描,天線直指敵方目標,即可得到目標的精確信息。由于雷達在目標上集中了所有的能量,敵方會意識到載機存在,因而僅在打擊目標時才可使用該模式。
TWS的使用方式和顯示模式基本與RWS相同,不同之處在于TWS對所有目標均開啟數據處理,估計目標的高度、速度和航向,并根據迎頭、高速的優(yōu)先級同時跟蹤優(yōu)先級較高的16個目標,在實際飛行中飛行員們喜歡使用此方式。TWS模式下目標同樣使用帶尾巴的方塊表示,尾巴的方向為目標航向,被跟蹤目標的詳細信息使用主界面右上角的表格控件來顯示。但TWS模式在探測新目標的能力比RWS慢,因為在雷達跟蹤多個目標時,有大量的數據處理要完成。
速度搜索模式(VS)在特定的情況下有用。該模式只能顯示離載機較近的目標,顯示器右邊不再是距離刻度而改為速度刻度。需注意的是,其速度指的是目標相對于載機的速度,在屏幕底部的目標并不意味離載機較近,而是以較低的速度靠近載機。屏幕上方的目標卻是在高速接近載機,通常是對載機有較大威脅的敵機。VS模式下仍可在感興趣的目標上點擊鼠標左鍵直接進入單目標跟蹤模式(RWS-STT)。
空中格斗模式(ACM)主要用于近距離格斗。該模式是自動搜索模式,因此不需要操作員進行任何掃描設置。雷達會對首次發(fā)現的目標進行鎖定和跟蹤,最大顯示距離通常是固定的20 km。
如以上所說,在空中目標模式下使用B型顯示器,而在地面目標模式下使用扇形PPI顯示器。為實現兩種顯示模式的切換,在主界面上放了一組單選按鈕控件,如圖6中最頂端顯示的那樣,當按下空中目標模式單選按鈕時切換到B顯,而按下地面目標模式按鈕時切換到扇形PPI。
當按下任一單選按鈕后控件都會給其的父窗口發(fā)送WM_COMMAND消息,父窗口不會處理原始的WM_COMMAND消息,而是使用消息映射將控件通知與其所屬類的成員函數聯系起來,程序語句如下:
BEGIN_MESSAGE_MAP(CParentView,CWnd)
ON_BN_CLICKED(IDC_ATM,OnAirTarget-Mode)
ON_BN_CLICKED(IDC_GTM,OnGroundTarget-Mode)
END_MESSAGE_MAP()
其中,CParentView表示父窗口對應的類,IDC_ATM,IDC_GTM分別是空中目標模式按鈕和地面目標模式按鈕的ID。然后在成員函數OnAirTargetMode中將扇形PPI對應的窗口隱藏,將B顯對應的窗口顯示,完成切換。OnGroundTargetMode函數的情況則相反,程序語句如下:
void CParentView::OnAirTargetMode()
{
m_wndPPIView.ShowWindow(SW_HIDE);
m_wndBView.ShowWindow(SW_SHOW);
}
void CParentView::OnGroundTargetMode()
{
m_wndBView.ShowWindow(SW_HIDE);
m_wndPPIView.ShowWindow(SW_SHOW);
}
其中,m_pwndBView為 B顯窗口對應的對象,wndPPIView為扇形PPI窗口對應的對象,兩者都是父窗口類CParentView的成員變量。
機載雷達仿真系統(tǒng)是一個多任務、大運算量的復雜系統(tǒng),尤其是數據處理模塊非常耗時,一次數據處理通常需要數秒甚至一分鐘。如果用單一線程來編寫應用程序,在數據處理的那段時間里,界面部分將不能接收操作員的輸入。然而,Windows是一個搶占式多任務的系統(tǒng),可以把耗時的數據處理放到二級線程里面,讓其在后臺執(zhí)行,讓主線程負責和操作員打交道。這樣,可以在主線程里調用線程創(chuàng)建函數來創(chuàng)建二級線程,語句如下:
AfxBeginThread(ThreadFunc,&m_threadparams);其中,參數m_threadparams里邊放置了兩個線程共享的數據,線程函數ThreadFunc的結構如下:
UINT ThreadFunc(LPVOID pParam)
{
THREADPARAMS*ptp=(THREADPARAMS*)pParam;
while(TRUE)
{
……//耗時的雷達數據處理語句
::SendMessage(ptp- >hWnd,WM_DATA_UPDATED,0,0);
}
}
語句中THREADPARAMS為參數m_threadparams所屬的結構體類型。當完成數據處理后,向主線程發(fā)送一個WM_DATA_UPDATED消息(該消息是用戶自定義消息),告訴主線程本次的處理已經完成,這樣主線程就把新的數據顯示在界面上。此外,在編寫多線程程序時需注意線程同步問題。在程序中使用臨界區(qū)(CCriticalSection)來協(xié)調兩個線程對共享數據 m_threadparams的訪問。
在通過鼠標左鍵單擊感興趣的目標進入相應的子模式時用到了該技術。如上所述從RWS進入RWS-SAM子模式,以及從RWS-SAM進入RWS-STT子模式。實現該技術的關鍵是對WM_LBUTTONDOWN鼠標消息的響應函數的編寫。當鼠標左鍵被按下時,Windows會向鼠標所在客戶區(qū)的窗口發(fā)送該消息。響應函數OnLButtonDown(UINT nFlags,CPoint point)中的參數 point保存了點擊時光標所在客戶區(qū)坐標系中的位置。
設對象rectDetectedTarget(CRect對象)存儲了目標在B顯窗口的客戶區(qū)坐標系下的對應方塊的信息。其中,目標的方位和距離決定了其在B顯中的位置。只要對該對象調用函數rectDetectedTarget.PtInRect(point)。
這樣,即可判斷鼠標是否點中了該目標。在實際編程中需要對所有探測到的目標進行遍歷,如點中了某個目標就把該目標的信息通過線程函數的參數傳回給數據處理模塊,并進入相應的子模式。否則不予處理。
文中設計的機載雷達顯示仿真系統(tǒng)是AN/APG-68機載雷達仿真系統(tǒng)平臺的組成部分。在仿真系統(tǒng)平臺框架下,需要將顯示系統(tǒng)、干擾系統(tǒng)、雷達數據處理系統(tǒng)關聯構成完備的網絡體系。系統(tǒng)開發(fā)模式和語言編寫依據軟件工程規(guī)范進行,以確保仿真系統(tǒng)的質量、可靠性和可維護性。對目前開發(fā)過程中暫時無法實現的功能預留了接口,為系統(tǒng)的擴充和升級留出了升級空間。
[1] 丁鷺飛,耿富錄.雷達原理[M].西安:西安電子科技大學出版社,1995.
[2] MERRILL I S.雷達系統(tǒng)導論[M].3版.王德純,方能航,左群聲,等,譯.北京:電子工業(yè)出版社,2006.
[3] CHARLES P.Windows程序設計[M].5版.北京:清華大學出版社,2010.
[4] JEFF P.MFC Windows程序設計[M].2版.北京博彥科技發(fā)展有限公司,譯.北京:清華大學出版社,2007.