1 引言
雷達在現(xiàn)代戰(zhàn)爭中不可或缺。雷達系統(tǒng)的仿真是雷達系統(tǒng)分析設(shè)計、模擬訓(xùn)練的一種重要手段,受到人們越來越多的重視。而雷達顯示器作為整個雷達系統(tǒng)顯示終端和人機交互界面,其仿真實現(xiàn)水平直接影響整個系統(tǒng)的仿真效果。
常見的平面位置顯示器PPI(Plane Position Indicator)仿真和航跡顯示多是基于Visual C++和OpenGl或VB直接開發(fā),工作量大,結(jié)果不直觀,開發(fā)周期長。而GL Studio是以其為底層,具有豐富的外部程序接口,且支持“照片級”的紋理,在此基礎(chǔ)上進一步開發(fā),可減少工作量,提高效率.所生成的代碼方便移植。
仿真實現(xiàn)的基本思想:在GL Studio開發(fā)環(huán)境下,對雷達顯示器上所有要顯示的圖形、符號及數(shù)字進行建模,融合頂點RGBA值模擬掃描的余輝及目標(biāo)回波。在此基礎(chǔ)上調(diào)用API函數(shù)實時顯示航跡點、繪制航跡線,最終實現(xiàn)常規(guī)和偏心PPI雷達顯示器的仿真。
2 GL Studio簡介
GL Studio是DISTI公司開發(fā)的用于建立實時、三維、照片級的交互圖形顯示界面。用戶可在圖形設(shè)計窗口以所見即所得的效果完成所需界面的設(shè)計制作。通過代碼編輯器完成課題所需的邏輯仿真。其代碼生成器能將用戶完成的設(shè)計自動轉(zhuǎn)換為C++和OpenGL代碼,這些代碼既可單獨編譯,也可嵌入到其他程序中編譯,避免大量的底層程序開發(fā)。圖1為其邏輯結(jié)構(gòu)。
3 雷達PPI顯示器及其仿真方法
3.1 雷達PPI顯示器
雷達顯示器用來直觀顯示雷達所截獲的目標(biāo)信息和情報。常見的雷達顯示器有:A型顯示器、PPI顯示器、B型顯示器和E型顯示器。其中,A型顯示器通常用在天線不掃描的測量雷達和數(shù)據(jù)收集雷達中;PPI顯示器在距離和方位角的極坐標(biāo)下示意出目標(biāo)的斜距和方位角;B型顯示器通常用于空對空場合,以直角坐標(biāo)形式反映搜索或監(jiān)視區(qū)域;E型顯示器用于地形跟隨雷達系統(tǒng)中,其橫坐標(biāo)表示距離,而縱坐標(biāo)表示俯仰角。
雷達顯示器顯示的一次信息是雷達的原始圖像,包括掃描線和目標(biāo)回波,采用徑向圓掃描;顯示的二次信息是數(shù)據(jù)處理機對一次信息進行數(shù)字處理后生成的,還包括目標(biāo)的批號、航跡、速度、航向等。
這里針對使用廣泛且仿真難度較大的PPI顯示器進行了研究,其他類型顯示器均可在GL Studio平臺上進行開發(fā),它們之間的切換是通過定義一個GL Studio的GlsPush-Button或InputDevice及其回調(diào)函數(shù)操作主界面上的按鍵來完成的。
PPI顯示器的顯示畫面主要由掃描基線、方位基線、距離基線和目標(biāo)點跡組成。在其他PPI仿真實現(xiàn)方法中,掃描線的實時繪制需采用顯示圖形重畫或“異或” 等方法擦除原來的掃描基線,這將造成畫面抖動或畫面出現(xiàn)斑點等現(xiàn)象。而采用基于GL Studio的仿真實現(xiàn)距離基線、方位基線、掃描線及其余輝的顯示均可在圖形編輯界面根據(jù)雷達探測距離和預(yù)定顯示器的大小一次完成,而它們的平移、縮放、旋轉(zhuǎn)也可方便的在GL Studio中實現(xiàn)。設(shè)置雷達顯示器底色為黃綠色以增強真實感。
3.2 掃描線余輝及旋轉(zhuǎn)的實現(xiàn)
掃描線余輝是指雷達熒光屏上的熒光質(zhì)的發(fā)光在電子束停止轟擊后仍能持續(xù)一定時間才消失的現(xiàn)象。一般將電子束停止轟擊后熒光亮度由最大值下降到其2%~5%所需的時間定義為余輝時間。由于余輝特性是隨時間非線性變化的(指數(shù)或?qū)?shù)曲線1,這里采用熒光亮度的一次指數(shù)衰減模型:
I=I0exp(-t/k) (1)
式中,I為余輝亮度,I0為涂層亮度,k為時間衰減常數(shù),t為衰減時間。
對于每種熒光質(zhì),I0和k都是常數(shù),I0越大,熒光衰減曲線越平坦,k越大則衰減時間t越長。
假設(shè)某型雷達余輝時間2 s,雷達天線轉(zhuǎn)速R(deg/s),軟件實現(xiàn)直接采用RGB值表示余輝亮度,則亮度由最大值255衰減到5需要2 s.2 s中天線轉(zhuǎn)過的角度可計算:
A=Rt(deg) (2)
式中,A位余輝扇形的角度。
在GL Studio中畫出一個A°的扇形,逐個設(shè)置其n個頂點顏色的RGBA值,利用GL Studio中的顏色融合技術(shù),得到仿真掃描線的掃描余輝。其中第i個頂點(圓點除外)的Al-pha值A(chǔ)l為:
Al=255exp(-i/k) (3)
式中,k=n/ln(255/5)
設(shè)置頂點透明度隨逆時針方向(正掃)和順時針方向(回掃)逐漸增大,可直觀看到模擬出的掃描線余輝效果。
GL Studio內(nèi)置有一個以程序運行時間為參數(shù)的虛函數(shù),將控制掃描線轉(zhuǎn)動的代碼放入該函數(shù)中,掃描線轉(zhuǎn)動角度為程序運行時間的函數(shù),這樣便可實現(xiàn)掃描基線的動態(tài)掃描。以某一扇區(qū)內(nèi)正掃為例:
//正掃描和逆掃描的掃描線顯示切換控制
scanLine一>Visibility(bool b);
//掃描基線實時旋轉(zhuǎn)控制
scanLine一>DynamicRotate(angle,Z_AXIS);
這樣既減少實時計算掃描線外端點坐標(biāo)的工作量,又消除了畫面抖動或斑點產(chǎn)生,如圖2所示。
3.3 偏心PPI顯示器
在前視雷達中,雷達限制在某一扇區(qū)內(nèi)掃描,以使在給定方向上達到最大限度的擴展掃描,這時需將PPI顯示器的中心偏離陰極射線管的中心。再采用GL Studio實現(xiàn)的常規(guī)PPI顯示器仿真畫面,通過鼠標(biāo)點擊確定偏心PPI顯示器中心點,調(diào)用鼠標(biāo)事件回調(diào)函數(shù)實現(xiàn)定位、縮放等功能,從而達到對某一假定方位扇形的擴展掃描,同時可通過將minorDi-visions顯示屬性設(shè)置為真,得到更精確的目標(biāo)方位角和距離。在PPI偏心顯示時需對顯示器的刻度位置做相應(yīng)調(diào)整,以便得到目標(biāo)更準(zhǔn)確的方位角和距離(圖2b)。
3.4 目標(biāo)回波模擬顯示
利用顏色設(shè)置函數(shù)實時改變目標(biāo)顏色的RGBA值來顯示目標(biāo)回波。圖3為目標(biāo)點跡顯示原理流程。
設(shè)定目標(biāo)在x.y方向的運動方程分別為一同定時變函數(shù)以簡化問題。實際目標(biāo)位置由飛行模塊實時傳遞的飛行參數(shù)確定,最終顯示效果為:當(dāng)目標(biāo)首次處于雷達波束范圍內(nèi)時,目標(biāo)回波以最亮的形式顯示,隨著雷達天線的轉(zhuǎn)動,目標(biāo)不在雷達波束范圍后,由于余輝效應(yīng),目標(biāo)回波逐漸變暗變淡;若目標(biāo)再次被雷達搜索到,目標(biāo)再次被點亮。如果由于目標(biāo)的運動,其超出雷達的探測距離,目標(biāo)回波就不能顯示。目標(biāo)點跡顯示效果如圖4a,b所示。
3.5 航跡線的繪制
目標(biāo)航跡仿真的步驟:先計算并保存由航跡得到的目標(biāo)實時位置姿態(tài)數(shù)據(jù),然后通過這些航跡點繪制航跡線,最終將其顯示出來。在該假設(shè)條件下,目標(biāo)在系統(tǒng)運行時間驅(qū)動下運動。當(dāng)掃描基線旋轉(zhuǎn)的角度和目標(biāo)的方位角相等時,將目標(biāo)的斜距、方位角坐標(biāo)保存到相應(yīng)數(shù)組中,由此顯示出航跡點的極坐標(biāo)并動態(tài)繪制航跡線。假設(shè)雷達轉(zhuǎn)速為6 r/min,圖4為系統(tǒng)運行時間t在不同時刻所對應(yīng)的目標(biāo)回波、航跡點和航跡線。圖4中用粗黑點表示航跡點,航跡序列中最新的一個航跡點處的深灰色短線表示雷達“掃出”的目標(biāo)回波。在GL Studio中,雖然可在內(nèi)存棧上用new()分配內(nèi)存,動態(tài)畫線卻不能回收分配的內(nèi)存??赏ㄟ^動態(tài)設(shè)置事先畫好的一條直線的位置、頂點個數(shù)及頂點參數(shù)來改變該直線形狀。適當(dāng)調(diào)整實時得到一組航跡點數(shù)據(jù)后,將其作為函數(shù)VaSetVertices()的參數(shù)來改變事先畫好的航跡線形狀。
因為函數(shù)VaSetVertices()中的頂點位置參數(shù)均為相對于航跡線中心點位置的相對數(shù)值。因此需轉(zhuǎn)換航跡點數(shù)據(jù)。關(guān)鍵代碼為:
3.6 數(shù)據(jù)顯示
在仿真雷達顯示器中,采用固定刻度。由于顯示器上只能目測獲得目標(biāo)粗略的斜距和方位角數(shù)據(jù),因此有必要提供其他的數(shù)據(jù)顯示作為補充。在仿真顯示器右側(cè)提供一個數(shù)據(jù)窗口,以顯示航跡點的極坐標(biāo)數(shù)據(jù)。在實際運用中,雷達仿真系統(tǒng)中數(shù)據(jù)處理機等傳遞來的二次信息中,目標(biāo)的其他參數(shù)(如速度、姿態(tài)角)也可在此實時顯示。
3.7 仿真實現(xiàn)與結(jié)果分析
采用C語言對GL Studio進行二次開發(fā)。單獨編譯生成的源代碼,實現(xiàn)雷達顯示的仿真。圖4為不同仿真時間的仿真截圖,由圖4看出,掃描線掃描時有逼真的余輝效果,當(dāng)波束掃到目標(biāo)時,目標(biāo)被“點亮”,隨后逐漸消失,直至再次被波束掃到。在動態(tài)繪制目標(biāo)軌跡線過程中,當(dāng)航跡點數(shù)超過航跡序列中預(yù)設(shè)數(shù)(本仿真中預(yù)設(shè)為8個) 時,序列中最早的航跡點數(shù)據(jù)自動消失,最新的航跡點數(shù)據(jù)加人到序列最前面,參見圖2a和圖4。圖2a中有7個航跡點,圖4a、4b、4c中分別有8、9、 10個航跡點,但只顯示最新的8個。結(jié)果表明:首先對所需顯示的圖符進行靜態(tài)建模。可對仿真結(jié)果有了直觀認(rèn)識?;贕L Studio的顯示器仿真開發(fā),可減少用高級語言編程實現(xiàn)所需的工作量,且畫面清晰,運動目標(biāo)軌跡流暢。生成的代碼可封裝成一個類,應(yīng)用于其他仿真系統(tǒng)中。
4 結(jié)束語
研究雷達顯示器仿真實現(xiàn)有重要意義。采用具有應(yīng)用程序接口(API)的仿真軟件GL Studio實現(xiàn)雷達顯示器的仿真。在該軟件的基礎(chǔ)上二次開發(fā)減少了工作量,且畫面美觀流暢,具有較高的真實感和實時性。可將生成的代碼添加到Vega Prime或其他基于OpenGL的環(huán)境下,加入到雷達仿真系統(tǒng)中以實時響應(yīng)其他仿真模塊傳輸來的一次、二次雷達數(shù)據(jù)。