?

一種雷達終端軟件化顯示方法*

2014-07-10 03:42苗振奎
現代防御技術 2014年1期
關鍵詞:海圖紋理終端

苗振奎

(江蘇自動化研究所,江蘇 連云港 222061)

0 引言

隨著計算機技術、圖像處理技術以及數字信號處理技術的發展,利用通用計算機進行雷達信息處理和視頻顯示成為一種趨勢。這種方法不僅可以降低成本而且能夠更加靈活地對雷達信息進行處理,并且可以滿足雷達信息多樣化的需求。目前雷達數據的終端顯示雖然都是利用通用微機顯示,但很多處理都是通過DSP(digital signal processing)等器件來實現的。在DSP 中實現的優點是顯而易見的,它可以實現信號的高速處理。但隨著計算機硬件技術的進步,利用軟件對雷達視頻處理也能滿足實時性需求,同時還能進一步降低成本?;贒irectX[1]開發的多媒體程序是運行在硬件抽象層上,既可以充分利用系統的硬件加速功能,又能隱藏硬件的設備特性,通過編寫與設備無關的高效代碼,DirectX程序能以最佳的方式運行,并具有效率高和易開發的優點[2]。本文提出了一種基于Direct3D的雷達終端軟件化顯示方法,并在此基礎上用C++語言加以實現。

1 Direct3D顯示技術

目前,基于Windows操作系統下雷達終端顯示的有2種方式:一種是利用FPGA(field-programmable gate array)或DSP硬件來實現的;一種是基于軟件程序開發。后一種選用基于DirectX或OpenGL,其普通做法是先量化雷達掃描線,每條掃描線分為512個點,逐點填寫顏色實現[3]。這種方式占用計算機資源較多,不利于雷達終端作后續的信號處理。本文利用Direct3D渲染三維對象技術實現雷達PPI(plane position indications)顯示,利用Alpha混合技術來實現雷達余輝衰減。相對于前一種方法,占用計算機資源較少,能為后續的目標點跡提取,目標跟蹤等節約較多的計算空間和計算時間,滿足雷達軟件化總體要求。

軟件化顯示技術包含3個方面的問題:①渲染三維對象;②利用Alpha混合技術實現雷達視頻余輝衰減;③使用紋理技術實現海圖覆蓋層。Direct3D渲染三維對象的過程分為2個階段:第1個稱為T&L(transforming and lighting)階段;第2個稱為光柵化處理。其具體關系如圖1所示。

圖1 渲染3D對象的兩個階段Fig.1 Two stages of rendering 3D objects

其中T&L流水線經過一系列的變換,如圖2所示。

圖2 T&L流水線Fig.2 T&L pipeline

Direct3D為了繪制透明物體,通過定義一個表示物體半透明度的Alpha值和一個透明的計算公式,可以把將要繪制的物體顏色與顏色緩沖區內的顏色相混合,進而繪制出具有半透明效果的物體,其計算方法為

↑Color=(RGBsrcKsrc)OP(RGBdstKdst),

(1)

式中:Color為Alpha混合后的顏色值;RGBsrc為源顏色值,即將要繪制的圖元的顏色值;Ksrc為源的混合系數,通常賦值為表示物體半透明程度的Alpha值,用來和RGBsrc相乘;RGBdst為目標顏色值,即當前顏色緩沖區的顏色值;Kdst為目標混合系數,用來和RGBdst相乘;OP表示源計算結果與顏色緩沖區計算結果的混合方法,屬于枚舉類型D3DBLEND的值。

2 方法設計

利用上面介紹的原理,雷達終端軟件化顯示方法中渲染圖形的核心方法如下:

(1) 創建紋理

該過程需要創建2個紋理[4]:一個是作為可操作的表面,作為PPI顯示的背景;一個是實時顯示每一個視角下的紋理。創建第1個紋理,Direct3D提供了創建紋理的接口D3DXCreateTextureFromFileEx(),根據實際雷達PPI顯示的大小,創建紋理。設置紋理屬性使該紋理為可操作的表面,以便后續對其進行更新處理;創建第2個紋理使用D3DXCreateTexture()接口,其寬度為表面紋理的寬度,高度為1,用來更新顯示。

(2) 渲染三維對象

傳統PPI顯示采用量化方位線,逐點填色的方式[5]。由于雷達數據量大,此方法計算時間長,成為實現短周期雷達終端顯示的瓶頸。本軟件化顯示技術的關鍵在使用T&L流水線處理,使用變換坐標的方法,每更新一條方位的視頻數據,更新一個世界變換矩陣,使攝像機繞PPI圓心進行旋轉,在不影響顯示效果的情況下,雷達數據量化為4 096條方位線,旋轉速度以(360°/4 096)/次為佳。

(3) Alpha混合技術

使用Alpha混合技術,可設置2層紋理的渲染狀態[6],利用SetRenderState()接口來實現。將第1層紋理設置為PPI表面紋理,將第2層設置為更新時的紋理,然后將2次紋理的顏色相乘輸出。視頻余輝衰減是依據每更新一幀視頻數據,原來顏色逐漸減弱為背景色(默認為黑色)的原理實現的。首先設置跟第1層紋理混合的系數,即D3DCOLOR_ARGB()參數的值,然后啟用Alpha混合,將第2層紋理顏色與第1層顏色相減,實現PPI顏色衰減顯示。

(4) 疊加海圖覆蓋層

在創建紋理的基礎上,可實現海圖覆蓋層的疊加[7],進一步滿足操控者對整個態勢的把握和掌控。設置PPI顯示的紋理、紋理階段狀態和紋理坐標索引后,利用初始化時創建的第2層紋理,即帶有海圖信息的.dds文件,設置其和PPI顯示的紋理顏色相加。使用接口函數SetTextureStageState(),可以有選擇地實現海圖覆蓋層是否顯示。

3 實現

基于上述方法,所使用計算機配置為:四核Intel Core Q8400 2.66GHz,Nvidia GeForce GT220,利用VS2005創建基于MFC的單文檔項目[8]。首先創建一個Windows窗口[9],然后初始化Direct3D,包括創建Direct3D對象、Direct3D設備對象以及要渲染的圖形對象。利用Button按鈕啟動多媒體定時器[10],進入消息循環。渲染圖形的代碼在定時器里實現,包括對頂點的變換、像素渲染、Alpha測試混合和提交顯示。其中頂點變換是對流水線中的頂點作模型矩陣,投影矩陣處理;像素渲染是對流水線中的頂點賦值雷達視頻數據的RGB值和Alpha值;Alpha測試混合是對像素渲染后的頂點Alpha值按照公式(1)進行處理,實現視頻顏色的衰減。根據不同操控方式,如不同的雷達掃描周期下,設置加速和減速2個Button按鈕,每加速或者減速一次,繪制不同掃描周期下的視頻信息。程序設計框圖3所示。

圖3 程序框圖Fig.3 Program diagram

軟件實現后,可以實現任意掃描周期下的PPI顯示,且不增加CPU的使用率。為了增強顯示效果,在整個PPIView窗口上顯示4個距離環和12條方位線。最終實現界面和占用CPU資源情況如圖4所示。

圖4 雷達終端軟件化顯示和CPU占用資源情況Fig.4 Software implementation of radar terminal display and the occupation resources of CPU

從圖4可以看出,該方法可以實現雷達終端軟件化顯示,并且使用CPU資源較少,僅為4%,為后續視頻數據的進一步處理留足了時間。

利用“衰減+”和“衰減-”2個按鈕實現視頻余輝衰減的控制,改變D3DCOLOR_ARGB()參數實現256級衰減。衰減情況及占用CPU資源情況如圖5所示。

圖5 衰減情況和CPU占用資源情況Fig.5 Attenuation and the occupation resources of CPU

由圖5可以看出,此方法實現的衰減效果理想,且不額外增加CPU占用率,是一種理想的顯示方法。

利用按鈕選擇是否添加海圖。添加海圖后的顯示結果如圖6和圖7所示。

圖6 添加覆蓋層后顯示效果Fig.6 Display effect after adding over layer

圖7 添加覆蓋層衰減后的效果Fig.7 Display effect after attenuation of over layer

由圖6可以看出,利用紋理技術和Alpha混合技術能實現雷達終端的顯示,占用CPU使用率為4%,沒有增加圖形顯示的壓力,同時不影響顯示效果。加衰減后的顯示效果如圖7所示。由圖7可以看出,添加海圖覆蓋層后,沒有增加CPU占用率,沒有影響余輝顯示效果,表明該方法是一種理想的實現手段。

4 結束語

雷達終端軟件化顯示是雷達裝備的發展趨勢,它不僅表現在成本低[11],而且在信號處理與操控方面也十分靈活。Direct3D技術是微軟公司發布的,在Windows系統下對GPU操作的顯示技術[12]。Direct3D軟件開發工具包(SDK)提供了一套優秀的應用程序編程接口(APIS),這個編程接口可以提供開發高質量、強實時性應用程序所需要的各種資源。合理利用渲染對象和Alpha混合技術可以很好地實現雷達終端軟件化,并且占用計算機資源較少,可以滿足工程上雷達實時性的要求。在此基礎上,可以繼續利用軟件進行點跡凝聚和目標跟蹤等算法的實現。

參考文獻:

[1] 王德才,楊關勝,孫玉萍,等.精通DirectX 3D 圖形與動畫程序設計[M].北京:人民郵電出版社,2009.

WANG De-cai,YANG Guan-sheng,SUN Yu-ping, et al.Proficient in DirectX 3D Graphics and Animation Programming[M].Beijing: People′s Posts and Telecommunications Press,2009.

[2] 王立振,劉潤華.基于Visual C++和OpenGL的雷達顯示系統實現[J].空軍雷達學院學報,2010,17(4):10-12.

WANG Li-zhen,LIU Run-hua. System Design of Visual C++ and OpenGL Based on the Radar Display[J]. Journal of Air Force Radar Academy,2010,17(4):10-12.

[3] 樊世友,楊作賓,孫書鷹,等.基于余輝模型的P型雷達顯示器計算機仿真[J].計算機仿真,2008,20(4):6-8.

FAN Shi-you,YANG Zuo-bing,SUN Shu-ying,et al. Type P Radar Display Persistence Model Based on Computer Simulation[J]. Computer Simulation,2008,20(4):6-8.

[4] 徐宏宇,陶然,單濤,等.一種實時雷達顯示控制終端軟件的設計[J].火控雷達技術,2009,5(1):7-9.

XU Hong-yu,TAO Ran,SHAN Tao,et al. Design of the Control Terminal Software for Real-Time Radar Display[J]. Fire Control Radar Technology,2009,5(1):7-9.

[5] 侯俊杰.深入淺出MFC[M].2版.武漢:華中科技大學出版社,2003.

HOU Jun-jie.Explain Profound Theories in Simple Language MFC[M].2nd ed.Wuhan:Huazhong University of Science and Technology Press,2003.

[6] 劉淼,張宏偉,馬俊濤,等.基于COM技術和WinSock技術的雷達顯示系統設計[J].儀表技術,2010,1(2):18-20.

LIU Miao,ZHANG Hong-wei,MA Jun-tao,et al.System Design of COM Technology and WinSock Technology Based on the Radar Display[J]. Instrumental Technique,2010,1(2):18-20.

[7] 宋銳,張靜,夏勝平,等.基于通用微機的數字化雷達顯控終端實現[J].系統仿真學報,2003,4(5):10-12.

SONG Rui,ZHANG Jing,XIA Sheng-ping,et al. Realization of Digital Radar Terminal Display and Control based on Microcomputer[J]. Journal of System Simulation,2003,4(5):10-12.

[8] Davis Chapman.學用Visual C++6.0[M].駱長樂,譯.北京:清華大學出版社,2005.

Davis Chapman.Studies with Visual C++6.0[M].LUO Chang-le,Translate.Beijing: Tsinghua University Press,2005.

[9] 黃銀園.基于消息驅動的光柵掃描雷達顯示器軟件設計[J].現代雷達,2010,6(4):18-19.

HUANG Yin-yuan. Raster Scan Radar Display Software Design Based on Message Drive[J]. Modern Radar,2010,6(4):18-19.

[10] 畢紅葵,王紅,武文,等.光柵掃描雷達顯示系統關鍵技術問題解決方案[J].系統工程與電子技術,2002, 24(5):14-15, 19.

BI Hong-kui,WANG Hong,WU Wen,et al. Solution of Key Technical Problems of the System of Raster Scan Radar Display[J]. Systems Engineering and Electronics,2002, 24(5):14-15, 19.

[11] 賀其元,張尊泉.基于DirectX和PCI總線的光柵掃描顯示系統[J].現代雷達,2003,25(2):54-56.

HE Qi-yuan,ZHANG Zun-quan. Raster Scan and Display System Based on DirectX and PCI bus[J]. Modern Radar,2003,25(2):54-56.

[12] 鄒煥新,周石琳,鄭鍵. 基于 VC++和Direct3D 的雷達PPI 顯示器仿真[J].計算機工程,2009,35(6):20-22.

ZOU Huan-xin,ZHOU Shi-lin,ZHENG Jian. Radar PPI Display VC++ and Simulation Based on Direct3D[J]. Computer Engineering,2009,35(6):20-22.

猜你喜歡
海圖紋理終端
復雜線束在雙BCI耦合下的終端響應機理
X美術館首屆三年展:“終端〉_How Do We Begin?”
紙海圖AI小改正制作模式探討
基于BM3D的復雜紋理區域圖像去噪
使用紋理疊加添加藝術畫特效
基于聲波檢測的地下防盜終端
少林功夫拳(三)
TEXTURE ON TEXTURE質地上的紋理
民用海圖編繪中數據一致性分析和改進
“吃人不吐骨頭”的終端為王
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合