王強(qiáng) 湯小慷 謝存 張學(xué)志 李偉強(qiáng)
【摘 要】雷達(dá)PPI顯示器主要用于顯示雷達(dá)探測(cè)到的空情信息,是雷達(dá)重要的子系統(tǒng)之一。本文介紹了GDI與雙緩沖技術(shù),并在此基礎(chǔ)上,提出了一種新的雷達(dá)PPI顯示器的仿真和實(shí)現(xiàn)方法。通過采用GDI的API實(shí)現(xiàn)了PPI顯示器的圖像和文字繪制,使顯示效果更加清晰和逼真。同時(shí)采用雙緩沖技術(shù)解決了在Win32環(huán)境下,PPI顯示器實(shí)時(shí)更新所出現(xiàn)的畫面閃爍問題。實(shí)踐證明,此種實(shí)現(xiàn)方法簡(jiǎn)便,模塊具有很強(qiáng)通用性和拓展性,為雷達(dá)顯示器的仿真和設(shè)計(jì)提供了可以借鑒的思路。
【關(guān)鍵詞】PPI顯示器;雙緩沖;GDI;仿真
0 引言
雷達(dá)PPI顯示器是雷達(dá)的重要組成部分,它為操作人員提供雷達(dá)探測(cè)到空情信息。對(duì)雷達(dá)PPI顯示器的通常采用Direct3D和OpenGL技術(shù)來進(jìn)行仿真,其存在開發(fā)流程復(fù)雜,效率較低,成本高的缺點(diǎn)。本文介紹了GDI與雙緩沖技術(shù)相結(jié)合的思路,提出了一種新的PPI顯示器的仿真方法。
1 雙緩沖繪圖的實(shí)現(xiàn)
雙緩沖在內(nèi)存中創(chuàng)建一個(gè)與屏幕繪圖區(qū)域一致的對(duì)象,先將圖形繪制到內(nèi)存中的這個(gè)對(duì)象上,再一次性將這個(gè)對(duì)象上的圖形拷貝到屏幕上,這樣能大大加快繪圖的速度。Win32環(huán)境下雙緩沖實(shí)現(xiàn)的首先,在內(nèi)存中創(chuàng)建與畫布一致的雙緩沖區(qū);然后,在雙緩沖區(qū)畫圖;其次,雙緩沖區(qū)圖像復(fù)制到顯示緩沖區(qū);最后,釋放內(nèi)存緩沖區(qū)。其流程如圖1所示。
2 雷達(dá)PPI顯示器仿真模型的設(shè)計(jì)
在雷達(dá)PPI顯示器仿真時(shí),詳細(xì)分析了PPI顯示器所要顯示信息內(nèi)容,在利用GDI繪圖進(jìn)行了分層繪制,將信息內(nèi)容清晰的顯示了出來,避免了相互遮隱。將雷達(dá)PPI顯示器界面顯示劃分為四層,如圖2所示。第一層為雷達(dá)背景、方位角刻度、底圖等的模擬顯示;第二層為距離刻度制層,該層主要用來顯示雷達(dá)距離環(huán),顯示目標(biāo)概率距離。第三層為掃描線的繪制層,從數(shù)據(jù)區(qū)實(shí)時(shí)獲取掃描線的動(dòng)態(tài)數(shù)據(jù),在雷達(dá)顯示器上繪制掃描線方位;第四層為文字信息層,將雷達(dá)的狀態(tài)、目標(biāo)的標(biāo)號(hào)等文字信息繪制出來。
3 PPI顯示器的仿真實(shí)現(xiàn)
利用坐標(biāo)變換后,將PPI顯示器360度劃分6000mil,長(zhǎng)刻度每100mil繪制一次,短刻度每50mil繪制一次,其主要實(shí)現(xiàn)代碼及算法如下:
/*繪制短刻度*/
for (double iAngle = 3.0 ; iAngle < 360.0 ; iAngle += 6.0)
{
double xPPI,yPPI;
int xPScreen,yPScreen;
xPPI= (1.03*mRadius* cos (6.283 * iAngle / 360) );
yPPI= (1.03*mRadius* sin (6.283 * iAngle / 360) ) ;
xPScreen=(int)(xPPI+xCenter);
yPScreen=(int)(-yPPI+yCenter);
MoveTo(xCenter,yCenter);
LineTo(xPScreen,yPScreen);
}
4 結(jié)論
本文在研究雷達(dá)PPI顯示器的仿真的基礎(chǔ)上,利用了GDI和雙緩沖技術(shù)解決了PPI顯示在仿真過程繪圖復(fù)雜以及頻繁更新畫面過程的圖像閃爍問題,使PPI顯示器仿真畫面清晰逼真,取得較好的效果,為雷達(dá)顯示器的仿真提供一種新的方法。
【參考文獻(xiàn)】
[1]周濤.ZHOU Tao 基于GDI+與雙緩沖的飛機(jī)姿態(tài)指示儀(ADI)仿真實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2014(16).
[2]周鳴揚(yáng),趙景亮.精通GDI+編程[M].北京:清華大學(xué)出版社,2003.
[3][美]李普曼,[美]拉茹瓦,[美]穆.C++ Primer中文版[M].李師賢,譯.4版.北京:人民郵電出版社,2006.
[4]鄒煥新,陳振林,周石琳,鄭鍵.ZOU Huan-xin.CHEN Zhen-lin.ZHOU Shi-lin.ZHENG Jian 基于OpenGL的雷達(dá)PPI顯示器仿真方法[J].火力與指揮控制,2010(8).
[責(zé)任編輯:楊玉潔]