張 劍 楊 雷 董曉明
1中國艦船研究設計中心,湖北 武漢 430064
2海軍裝備部駐沈陽地區軍事代表局,遼寧 沈陽 110031
基于OpenGL的雷達顯示器仿真
張 劍1楊 雷2董曉明1
1中國艦船研究設計中心,湖北 武漢 430064
2海軍裝備部駐沈陽地區軍事代表局,遼寧 沈陽 110031
雷達顯示器仿真是雷達系統仿真的重點和難點。在簡要介紹OpenGL技術和雷達顯示器的基礎上,提出了利用OpenGL對P型雷達顯示器進行仿真的思想,詳細介紹了余輝掃描和目標點跡的仿真方法。對于余輝掃描,通過數學建模提出了實現途徑,并得出了時間衰減常數和掃描周期的計算公式。對于目標點跡,提出了角度換算和目標位置的計算公式,并實現了點跡的余輝效果。結果表明,該方法達到了很好的仿真效果。
OpenGL;雷達顯示器;余輝掃描;仿真
雷達是現代戰爭中必不可少的裝備,被譽為現代戰爭的“眼睛”。雷達顯示器是雷達操作員對雷達進行操作的圖形界面,是雷達與操作員之間最重要的交互手段。對雷達顯示器進行的仿真不僅可以用在雷達的虛擬操作和維修訓練中,而且還可以用在作戰系統的仿真中。雷達顯示器的仿真效果將直接影響到訓練效果和仿真效果。隨著計算機技術的發展,利用計算機進行的雷達顯示器仿真得到越來越廣泛地應用。這是由于利用計算機仿真雷達顯示器,不僅具有開發過程簡單、不依賴特定硬件、可靠性高、通用性強和可移植性好等優點,而且成本相對較低,還可以很方便地進行數據重演。本文提出了利用OpenGL進行雷達顯示器仿真的方法,詳細論述了掃描線余輝和目標點跡的實現方法和相關計算,并給出了相應的運行結果。試驗表明,本文提出的實現方法可以對雷達顯示器進行非常逼真的仿真,達到了很好的效果。
OpenGL(Open Graphics Library)是SGI公司為他們的圖形工作站開發的高質量圖像接口,現在已經成為高性能圖形與交互式視景處理的工業標準。從本質上說,OpenGL并不是一種編程語言,而是一個3D圖形和模型庫,包括大約250個不同的函數,具有高度的可移植性,并且具有非常快的渲染速度,可以產生逼真的圖像或者虛構出現實世界所沒有的圖像。OpenGL可以在多種操作系統平臺上運行,例如Windows、Unix/Linux、Mac OS和OS/2等。OpenGL也可以在多種硬件平臺上實現。
OpenGL指令模型是C/S(Client/Server,客戶/服務器)模型,通常用戶程序(客戶)發出命令提交給內核程序(服務器),內核程序對各種指令進行解釋并初步處理,之后交給操作系統。上述過程可以在同一臺計算機上完成,也可以在網絡環境中,由不同的計算機合作完成,OpenGL通過上述合作實現網絡透明。OpenGL的工作流程[1]大致如圖1所示。

圖1 OpenGL工作流程
本文主要利用OpenGL的幾何圖元操作來繪制所需要的形狀。具體方法為:將圖元的頂點以及顏色屬性放在一對glBegin()和glEnd()之間,傳遞給glBegin()的參數決定了由頂點所構件的幾何圖元類型。例如,GL_POINTS表示了創建單個的點,GL_TRIANGLES表示創建三角形等。編程工具為VC++7.1。
3.1 雷達顯示器
雷達顯示器的種類很多,根據完成的任務可分為:距離顯示器、平面顯示器、高度顯示器、情況顯示器和綜合顯示器、光柵掃描顯示器等[2]。其中使用最廣泛的是平面顯示器,平面顯示器提供了360°范圍內全部平面信息,因此也叫全景顯示器或環視顯示器,簡稱PPI顯示器或P型顯示器。P型顯示器能夠提供平面范圍的目標分布情況,這種分布情況與通用的平面地圖一致。P型雷達顯示器顯示目標的斜距離和方位兩個坐標,是極坐標形式的二維顯示器。P型雷達顯示器的中心表示雷達站的位置,具有余輝的距離掃描線隨著天線的方位掃描在畫面上同步轉動。本文即是針對這種最常用的P型雷達顯示器進行仿真實現。
3.2 余輝掃描的仿真
3.2.1 余輝數學模型
當電子束停止對熒光物質的轟擊后,熒光質的發光仍能持續一定的時間才消失的現象叫余輝。余輝的仿真需要借助數學模型。這里采用最常用的一次指數衰減曲線模型[3,4]來描述。即

其中,I為余輝亮度,I0為涂層亮度,k為時間衰減常數,t為衰減時間。對于特定的熒光物質,I0和k均為常數。I0越大,熒光衰減曲線越平坦;k越大則余輝時間越長。一般將電子束停止轟擊后,亮度由最大值下降到它的2~5%時所需要的時間定義為余輝時間。
3.2.2 雷達余輝掃描的實現方法
(1)總體實現思路
將雷達顯示器認為是一個“圓盤”,將其分割成n個等大的扇形[5](n一般取值較大,如360),每個扇形占的圓心角很小,這樣可以把雷達顯示器認為由n個等腰三角形組成。設計一個n次的循環,根據循環的次數按公式(1)提出的一次指數衰減曲線方程來設置每個等腰三角形的填充顏色。公式(1)中,涂層亮度I0取值為1,還需要計算時間衰減常數k。為實現雷達余輝的動態掃描,需要利用定時器,每隔一定時間旋轉一下“圓盤”。
(2)時間衰減常數的計算
1)固定余輝寬度的時間衰減常數k
假設要求的余輝寬度 (取余輝時間為亮度降為5%涂層亮度的時間)為α弧度。那么根據一次衰減曲線方程,可以求出時間衰減常數k。

其中,n的取值大小僅僅影響劃分的精度,而α的取值則與余輝的大小成正比,因此,可以通過定量改變α來獲得不同的余輝寬度。
2)固定余輝時間的時間衰減常數
假設要求的余輝時間 (取余輝時間為亮度降為5%涂層亮度的時間)為tb,那么根據一次衰減曲線方程,可以求出時間衰減常數。其中,T為雷達的掃描周期。可以通過定量改變tb來獲得不同的余輝時間。

將公式(2)或者公式(3)中求出的k代入公式(1),取t=0,1,2,…,n-1,即得出每個等腰三角形的亮度,從而實現了余輝亮度的指數衰減。
(3)掃描周期T的計算
設旋轉時間間隔為Δt,旋轉“圓盤”的角度增量(即掃描線的角度增量)為Δθ。那么可以求出雷達的掃描周期T為:

式中,Δt、Δθ的取值都會影響掃描周期的大小。因此,可以通過動態改變Δt、Δθ的取值來獲得不同的雷達掃描周期。可以看出,在要求的特定掃描周期T下,Δt和Δθ成正比。Δt的取值如果過大,一方面可能無法屏蔽人眼的視覺暫留效應,從而達不到連續掃描的效果,另外一方面,Δθ正比增大,使得圓盤旋轉的角度跨度過大,可能會使得掃描線產生明顯的跨越現象。Δt的取值如果過小,就會使得屏幕的刷新過快,從而占用太多的計算資源。因此,應該針對具體情況對Δt、Δθ適度取值。圖2即實現的雷達顯示器的余輝效果。

圖2 不同參數下的雷達顯示器余輝效果圖
3.3 目標的仿真
雷達的主要作用就是對空中、水面目標進行探測跟蹤,因此對目標的仿真也是雷達顯示器仿真中的一個重要環節。對目標物體的仿真中,有以下幾個關鍵問題:角度的換算;目標位置的運動仿真;點跡的余輝效果。
3.3.1 角度的換算
對于雷達,一般以正北方向為0°,掃描線沿順時針旋轉,因此,雷達掃描的坐標系如圖3所示,目標參數表示為(D,θ),其中D表示目標距離,θ表示目標方位角。而OpenGL采用標準的笛卡爾坐標系,如圖4所示。點的坐標表示為(r,α),其中r表示極徑,α表示極角。可以看出,兩種坐標系中,距離D和極徑r是一致的,但方位角θ和極角α之間有一定的差異。因此,在已知目標參數(D,θ)后,利用OpenGL進行顯示時,必須進行角度的轉算[6],即將方位角θ轉換為極角α。根據幾何關系,很容易得出以下關系式:

求出α后,即可求出目標的笛卡爾坐標。

圖3 雷達掃描的坐標系

圖4 OpenGL的坐標系
3.3.2 目標的運動仿真
假設目標是以一定的航速μ和航向ξ運動的。當掃描線掃過物體點(即雷達波探測到物體)時,由于物體的位置較先前已經發生變化,因此在OpenGL中進行顯示時,點跡位置要進行相應的刷新。
1)目標在屏幕上顯示位置(x,y)的計算
假設雷達的當前量程為Dmax。已知目標的距離D和方位θ,根據公式(6),可以求出目標在屏幕上的顯示位置(x,y)為:

可以動態設置雷達的量程Dmax來改變目標的顯示位置。
2)如何判斷掃描線是否掃過目標點
判斷掃描線是否掃過目標點,只需判斷掃描線的角度是否與目標物體的方位角一致。
3)目標運動后位置的計算
目標物體下一時刻在屏幕上的顯示位置(x1,y1)和當前位置(x0,y0)的關系如公式(7)所示。

其中,ΔtS為掃描線兩次掃過物體點的時間間隔,簡化起見,可以取雷達的掃描周期T;角度經過了雷達掃描坐標系向笛卡爾坐標的轉換。航速μ和航向ξ只是目標的瞬時航速和航向,可以進行動態設置。
3.3.3 點跡的余輝效果
對于目標點跡,也應該有余輝效果:當掃描線掃過目標點時,物體點變亮,隨之物體點的顏色慢慢變淡甚至消失,直到下一次掃描線掃過目標點。點跡的這種余輝效果可以采用與掃描線余輝相同的方法來進行實現,即采用一次指數衰減曲線方程來表示點跡的亮度值。最后實現的效果如圖5所示。

圖5 點跡的余輝效果圖
利用OpenGL進行雷達顯示的仿真近年來成為熱點,相關人員進行了大量研究。文獻[3~5]給出了利用一次指數衰減曲線模型實現掃描線余輝的思路,但沒有描述具體的計算過程。文獻[2,4]給出了目標參數的計算方法,但沒有提及點跡的余輝效果。另外,文獻[7]應用OpenGL技術實現了雷達目標航跡的三維動態仿真,文獻[8,9]探討了利用OpenGL實現雷達圖像實時顯示的方法。
本文提出了利用OpenGL實現P型雷達顯示器的方法。不僅實現了掃描線的余輝效果,而且還仿真了目標點跡。仿真試驗表明,該方法實現的雷達顯示器效果逼真,而且余輝寬度(時間)、掃描周期、量程、目標航速和航向均可動態調節,達到了很好的仿真效果。
[1] 郭兆榮,李菁,王彥.Visual C++OpenGL應用程序開發[M].北京:人民郵電出版社,2006.
[2] 丁鷺飛,耿富錄.雷達原理(第三版)[M].西安:電子科技大學出版社,2002.
[3] 樊世友,楊作賓,孫書鷹,等.基于余輝模型的P型雷達顯示器計算機仿真[J].計算機仿真,2003,20(4):6-8.
[4] 王宏,樊世友,陳再旺,等.基于OpenGL的雷達顯示器計算機仿真的實現[J].計算機系統應用,2006(6):55-57,60.
[5] 陳靖宇,王春波,倪天權.基于OpenGL的具有余輝效果的雷達顯示器仿真[J].仿真技術,2006,22(10-1):164-166.
[6] 王立振,劉潤華.基于Visual C++和OpenGL的雷達顯示系統實現[J].空軍雷達學院學報,2003,17(4):10-12.
[7] 田甜,曹寧.基于OpenGL實現雷達目標航跡的三維動態仿真[J].河海大學常州分校學報,2006,20(2):30-33.
[8] 馬建萍,嚴恭敏,王保衛.OpenGL在雷達圖像實時顯示中的應用[J].航空計算技術,2005,35(4):72-74.
[9] 彭勁松,秦永元,嚴恭敏.OpenGL在雷達圖像實時顯示中的應用[J].兵工自動化,2006,25(1):5-6.
The Simulation of Radar Display Based on OpenGL
Zhang Jian1Yang Lei2Dong Xiao-ming1
1 China Ship Development and Design Center,Wuhan 430064,China 2 Shenyang Representative Office of the Naval Equipment Department,Shenyang 110031,China
The simulation of radar display is important and difficult in the simulation of radar system.On the basis of briefly introducing OpenGL and radar display,this paper proposes the simulation idea of P-type radar display using OpenGL,and introduces the simulation method of brightness scan and object dot in detail.For brightness scan,the paper proposes implementation means via mathematics modeling,and deduces the computation formulas of time attenuation constant and scan period.For object dot,it deduces computation formulas of angular conversion and object position,and realizes the dot brightness.The results show that the method proposed achieves a good simulation effect.
OpenGL;radar display;brightness scan;simulation
TN957.8
A
1673-3185(2009)05-71-04
2008-04-11
海軍“十一五”預研課題
張 劍(1981-),男,助理工程師,碩士。研究方向:系統仿真。E-mail:zhangjian99@tsinghua.org.cn