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