周昱霖 苗振奎
(江蘇自動(dòng)化研究所 連云港 222061)
基于OpenGL的雷達(dá)終端顯示技術(shù)
周昱霖 苗振奎
(江蘇自動(dòng)化研究所 連云港 222061)
隨著雷達(dá)技術(shù)的發(fā)展,終端顯示軟件化顯得愈發(fā)重要,而對(duì)平臺(tái)的要求和計(jì)算機(jī)資源的利用成為實(shí)現(xiàn)的關(guān)鍵技術(shù)。論文提出基于WindowsXP系統(tǒng)的OpenGL接口來實(shí)現(xiàn)雷達(dá)PPI終端顯示,建立雷達(dá)余輝衰減模型,采用GPU獨(dú)有的Alpha混合技術(shù)來實(shí)現(xiàn)雷達(dá)視頻余輝衰減。方案設(shè)計(jì)實(shí)現(xiàn)后,在不同的雷達(dá)掃描周期下,顯示流暢,無頓挫感,且對(duì)平臺(tái)依賴較小,是一種方便工程化實(shí)現(xiàn)的技術(shù)方案。
終端顯示; 管線; 混合
Class Number TN957
隨著計(jì)算平臺(tái)、圖像信號(hào)處理技術(shù)的發(fā)展,采用基本的運(yùn)算平臺(tái)來實(shí)現(xiàn)雷達(dá)信息處理和視頻顯示已成為可能。這種方案設(shè)計(jì)一方面降低系統(tǒng)成本,另一方面更加方便地對(duì)雷達(dá)視頻數(shù)據(jù)進(jìn)行處理,最大程度上實(shí)現(xiàn)雷達(dá)信息多樣化的發(fā)展需求。目前雷達(dá)視頻數(shù)據(jù)的終端顯示可以利用普通計(jì)算機(jī)進(jìn)行顯示,但很多算法處理都是通過DSP等高速計(jì)算單元來實(shí)現(xiàn)的。但隨著通用計(jì)算平臺(tái)的發(fā)展,采用軟件編程來實(shí)現(xiàn)雷達(dá)終端顯示同樣可以滿足視頻處理和多樣化顯示要求,同時(shí)還可以節(jié)約系統(tǒng)造價(jià)。OpenGL技術(shù)通用GPU實(shí)現(xiàn)快速大量數(shù)據(jù)處理額一項(xiàng)優(yōu)秀成果,它具有比較完善的三維圖形標(biāo)準(zhǔn),其強(qiáng)大的圖形功能覆蓋了各種圖形圖像數(shù)據(jù)處理領(lǐng)域。本文提出了基于OpenGL數(shù)據(jù)處理的雷達(dá)終端軟件化顯示技術(shù),介紹了該方案的軟件化實(shí)現(xiàn)。
基于雷達(dá)終端顯示技術(shù)主要有以下兩種,一種是利用FPGA或DSP硬件來實(shí)現(xiàn)的,一種是基于計(jì)算平臺(tái)利用軟件程序[1]進(jìn)行開發(fā)的。前一種是基于硬件處理的,實(shí)現(xiàn)性,顯示效果已滿足需要,重點(diǎn)介紹后一種方案。如果采用Windows的多媒體軟件指令集,首先量化雷達(dá)掃描線,每條掃描線依據(jù)需求設(shè)計(jì)需要顯示的點(diǎn)數(shù),然后逐點(diǎn)填寫顏色實(shí)現(xiàn)的。這種方式對(duì)計(jì)算平臺(tái)要求較高,不利于雷達(dá)終端目標(biāo)信息融合和顯示。本文利用OpenGL[2]管線處理技術(shù)來渲染三維對(duì)象技,實(shí)現(xiàn)雷達(dá)終端顯示,并利用GPU獨(dú)有的Alpha混合技術(shù)來實(shí)現(xiàn)雷達(dá)余輝衰減。相對(duì)于前一種方法,此方案占用計(jì)算平臺(tái)資源少,能為后續(xù)的目標(biāo)點(diǎn)跡提取、目標(biāo)融合跟蹤結(jié)余大量的時(shí)間,滿足雷達(dá)終端軟件化顯示實(shí)現(xiàn)的總體要求。
雷達(dá)終端顯示技術(shù)主要包含兩個(gè)技術(shù)問題,一是渲染實(shí)現(xiàn)三維對(duì)象;二是建立雷達(dá)視頻數(shù)據(jù)余輝衰減數(shù)學(xué)模型。OpenGL管線處理技術(shù)渲染三維對(duì)象的過程分為兩個(gè)階段,第一是平面坐標(biāo)變換和光照實(shí)現(xiàn)階段(Transforming and Lighting, T&L),第二個(gè)為光柵化顯示處理階段。其處理流程如圖1所示。
圖1 渲染三維對(duì)象的兩個(gè)階段
其中T&L流水線技術(shù)經(jīng)過一系列的矩陣變換,其流程如圖2所示。
圖2 T&L流水線技術(shù)
OpenGL繪制透明材質(zhì)時(shí),通過定義一個(gè)表示材質(zhì)半透明度的Alpha值和一個(gè)透明值的計(jì)算公式,把將要繪制的材質(zhì)的顏色與顏色緩沖區(qū)內(nèi)存在的顏色進(jìn)行混合,而繪制出具有半透明效果的材質(zhì),其計(jì)算的公式如下所示:
Color=(RGBsrc·Ksrc)OP(RGBdst·Kdst)
(1)
式中Color表示Alpha混合后材質(zhì)的顏色值;RGBsrc表示源材質(zhì)的顏色值,即將要繪制的圖元的顏色值,Ksrc表示源的混合系數(shù),可以定義為材質(zhì)半透明程度的Alpha值;RGBdst表示目標(biāo)材質(zhì)的顏色值,即當(dāng)前顏色緩沖區(qū)的顏色值,Kdst表示目標(biāo)混合系數(shù),與RGBdst相乘;OP表示源計(jì)算結(jié)果與顏色緩沖區(qū)計(jì)算結(jié)果的混合。
根據(jù)以上的原理,雷達(dá)終端顯示技術(shù)實(shí)現(xiàn)需由以下步驟實(shí)現(xiàn):
1) 創(chuàng)建紋理
為實(shí)現(xiàn)雷達(dá)視頻顯示[3],需要?jiǎng)?chuàng)建兩個(gè)紋理[2],第一個(gè)是作為可操作的表面,作為PPI顯示的背景,OpenGL提供了創(chuàng)建紋理的接口opengl-Texture(),根據(jù)實(shí)際雷達(dá)PPI顯示[4]的大小來進(jìn)行創(chuàng)建;第二個(gè)是實(shí)時(shí)更新顯示的每一條方位的紋理。設(shè)置該紋理屬性為可修改的表面,以實(shí)現(xiàn)方位更新時(shí),顯示視頻數(shù)據(jù)的更新。
2) 渲染對(duì)象
傳統(tǒng)PPI顯示方法是對(duì)方位進(jìn)行量化,逐像素點(diǎn)填色的方式實(shí)現(xiàn)。由于雷達(dá)顯示視頻數(shù)據(jù)量巨大,此方法計(jì)算時(shí)間長,消耗計(jì)算設(shè)備資源較多,成為實(shí)現(xiàn)短周期雷達(dá)終端掃描顯示[5]的瓶頸。本軟件實(shí)現(xiàn)顯示技術(shù)的關(guān)鍵在使用T&L流水線處理,首先映射變換坐標(biāo),每更新一條方位線上的視頻數(shù)據(jù),更換一次坐標(biāo)變換矩陣,使攝像機(jī)繞PPI圓心(即雷達(dá)天線位置)進(jìn)行旋轉(zhuǎn),在不影響顯示效果的情況下,雷達(dá)顯示方位按照360°量化為4096條方位線,即旋轉(zhuǎn)速度以(360°/4096)/次為最佳。
3) Alpha混合技術(shù)
使用Alpha混合技術(shù),即設(shè)置兩層紋理的相關(guān)渲染狀態(tài)。第一層紋理屬性設(shè)置為PPI顯示的表面紋理,第二層設(shè)置為實(shí)時(shí)更新的紋理,在將兩次紋理的顏色按照式(1)進(jìn)行輸出。視頻余輝衰減[3]是依據(jù)每更新一幀視頻數(shù)據(jù),將原來視頻顯示顏色逐漸減弱為背景顏色(默認(rèn)為黑色)的原理實(shí)現(xiàn)的。首先設(shè)置跟第一層紋理混合的系數(shù),即opengl-color()參數(shù)的值,然后啟用Alpha混合,將第二層紋理顏色與第一層顏色相減,實(shí)現(xiàn)PPI顏色顯示的逐漸衰減。
基于以上介紹的方法,筆者使用的計(jì)算平臺(tái)配置為:雙核Intel Core Q6400 2.4GHz,Nvidia GeForce GT220,利用Visual Studio 2005創(chuàng)建基于MFC的對(duì)話框項(xiàng)目[6]。添加PPIDialog類[7],在此類里面實(shí)現(xiàn)雷達(dá)視頻數(shù)據(jù)處理與顯示。創(chuàng)建基于對(duì)話框的PPIView窗口,初始化配置OpenGL參數(shù),包括創(chuàng)建OpenGL對(duì)象、OpenGL設(shè)備對(duì)象以及需要進(jìn)行渲染的圖形對(duì)象。由應(yīng)用程序設(shè)置并啟動(dòng)一個(gè)多媒體定時(shí)器,在多媒體定時(shí)器里實(shí)現(xiàn)渲染材質(zhì)的代碼。根據(jù)不同雷達(dá)的掃描周期,設(shè)置不同的攝像機(jī)選擇速度,每進(jìn)行加速或者減速一次,繪制不同掃描周期下的視頻信息。程序設(shè)計(jì)框圖3所示。
圖3 程序?qū)崿F(xiàn)框圖
軟件實(shí)現(xiàn)后,該方法實(shí)現(xiàn)任意掃描周期下的PPI視頻數(shù)據(jù)[8]顯示,且不增加CPU的使用率。為了增強(qiáng)顯示效果,在PPIView類的窗口上設(shè)置了四個(gè)距離環(huán)和十二條方位線,以增強(qiáng)顯示的距離感和方位感。最終實(shí)現(xiàn)PPI顯示界面[9]和計(jì)算單元資源占用情況如圖4所示。
圖4 雷達(dá)終端視頻顯示和計(jì)算單位資源占用情況
圖5 視頻多級(jí)衰減情況
由以上設(shè)計(jì)實(shí)現(xiàn)可以看出,該技術(shù)方法能實(shí)現(xiàn)雷達(dá)終端軟件化顯示,并且占用計(jì)算單元的資源較少,圖中顯示僅為4.3%,還可以為后續(xù)視頻數(shù)據(jù)的處理留足資源。
利用Alpha混合技術(shù)實(shí)現(xiàn)視頻余輝衰減的選擇,可以通過改變OpenGLColor_ARGB()參數(shù),可以實(shí)現(xiàn)256級(jí)衰減。衰減情況如圖5所示。
有圖5可以看出,此方法實(shí)現(xiàn)的雷達(dá)視頻余輝衰減的效果理想,并極少的占用計(jì)算單元的資源,是一種有效和簡易的實(shí)現(xiàn)方案。
雷達(dá)終端的軟件化顯示技術(shù)是雷達(dá)裝備[10]發(fā)展的趨勢(shì),它一方面表現(xiàn)在能降低系統(tǒng)實(shí)現(xiàn)成本,另一方面表現(xiàn)在信號(hào)處理與操控方面十分靈活。OpenGL技術(shù)軟件開發(fā)工具包提供了很多優(yōu)秀的應(yīng)用程序編程接口,利用這些編程接口可以為開發(fā)者實(shí)現(xiàn)高質(zhì)量的、實(shí)時(shí)的應(yīng)用程序所需要的各種資源。合理利用OpenGL技術(shù)的渲染對(duì)象和Alpha混合技術(shù)可以很好地實(shí)現(xiàn)雷達(dá)終端軟件化數(shù)據(jù)顯示,而且可以節(jié)約更多的計(jì)算單元資源,更方便地滿足工程上雷達(dá)對(duì)實(shí)時(shí)性的要求。
[1] 王德才,楊關(guān)勝,孫玉萍,等.精通DirectX 3D圖形與動(dòng)畫程序設(shè)計(jì)[M].北京:人民郵電出版社,2009.
[2] 王立振,劉潤華.基于Visual C++和OpenGL的雷達(dá)顯示系統(tǒng)實(shí)現(xiàn)[J].空軍雷達(dá)學(xué)院學(xué)報(bào),2013,17(4):10-12.
[3] 樊世友,楊作賓,孫書鷹,等.基于余輝模型的P型雷達(dá)顯示器計(jì)算機(jī)仿真[J].計(jì)算機(jī)仿真,2014,20(4):6-8.
[4] 漆先虎.Windows操作系統(tǒng)下雷達(dá)操控終端的開發(fā)[J].火控雷達(dá)技術(shù),2015,31(2):27-31.
[5] 徐宏宇,陶然,單濤,等.一種實(shí)時(shí)雷達(dá)顯示控制終端軟件的設(shè)計(jì)[J].火控雷達(dá)技術(shù),2012(1):7-9.
[6] 侯俊杰.深入淺出MFC[M].第二版.武漢:華中科技大學(xué)出版社,2003:225-245.
[7][美]Davis Chapman.學(xué)用Visual C++6.0[M].駱長樂,譯.北京:清華大學(xué)出版社,1999:165-189.
[8] 宋銳,張靜,夏勝平,等.基于通用微機(jī)的數(shù)字化雷達(dá)顯控終端實(shí)現(xiàn)[J].系統(tǒng)仿真學(xué)報(bào),2013(5):745-748.
[9] 雷達(dá)技術(shù)編寫組.雷達(dá)顯示器[M].上海:上??茖W(xué)技術(shù)出版社,1998:168-198.
[10] 黃銀園.基于消息驅(qū)動(dòng)的光柵掃描雷達(dá)顯示器軟件設(shè)計(jì)[J].現(xiàn)代雷達(dá),2000(2):23-26.
Radar Terminal Display Technology Based on OpenGL
ZHOU Yulin MIAO Zhenkui
(Jiangsu Automation Research Institute, Lianyungang 222061)
With the development of radar technology,the terminal display of radar is becoming more and more important, and the requirements of the platform and the use of computer resources become the key technology to achieve. It is proposed that radar PPI terminal display is achieved based on the OpenGL system of WindowsXP, and the radar afterglow attenuation model is established, and GPU Alpha hybrid technology is used to achieve the radar video attenuation. In different radar scanning periods, and no sense of frustration, and has less dependence on the platform, and is a convenient engineering implementation.
terminal display, pipeline, blend
2016年8月3日,
2016年9月17日
周昱霖,男,碩士,工程師,研究方向:指揮與火控系統(tǒng)集成與應(yīng)用。苗振奎,男,碩士,工程師,研究方向:雷達(dá)信號(hào)處理和雷達(dá)終端顯示。
TN957
10.3969/j.issn.1672-9730.2017.02.021