新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于可編程渲染管線的雷達圖像分層模型設(shè)計與實現(xiàn)

基于可編程渲染管線的雷達圖像分層模型設(shè)計與實現(xiàn)

作者: 時間:2009-05-14 來源:網(wǎng)絡(luò) 收藏

摘 要:高分辨率顯示是雷達計算機模擬的重要環(huán)節(jié),對圖像的逼真度和實時性有著極高的要求。采用技術(shù)進行雷達顯示系統(tǒng)模擬,能有效實現(xiàn)模型,充分利用CPtJ和GP[J的并行處理能力,大幅降低CPU的運算復(fù)雜度。在生成高質(zhì)量的同時滿足系統(tǒng)實時性要求。
關(guān)鍵詞:雷達仿真;;余輝;著色器;雷達圖像

本文引用地址:http://m.butianyuan.cn/article/188915.htm


0 引 言
雷達顯示系統(tǒng)用于顯示接收機輸出的回波圖像,以及信息處理機產(chǎn)生的二次信息和符號,是雷達操作員獲取信息的主要途徑。雷達的計算機模擬是雷達設(shè)計、分析以及訓(xùn)練的有效方法。而顯示系統(tǒng)的模擬作為雷達計算機模擬的最終輸出結(jié)果,其逼真度、實時性直接影響著系統(tǒng)的整體性能。顯示系統(tǒng)模擬的主要任務(wù)包括:對接收機輸出的回波數(shù)據(jù),信息處理機產(chǎn)生的ARPA信息,以及各種符號等進行轉(zhuǎn)換,合成為顯示器2D光柵圖像;對生成的回波圖像模擬余輝效果;控制合成圖像的亮度、對比度等。
對顯示系統(tǒng)的模擬一般方法:在雷達圖像刷新過程中對全屏像素逐一進行坐標(biāo)變換(光柵圖像的直角坐標(biāo)轉(zhuǎn)換為回波數(shù)據(jù)的極坐標(biāo))以查找對應(yīng)的回波脈沖幅值,形成屏幕像素顏色值;衰減像素亮度,模擬顯示器余輝效果(涉及到色飽和計算);設(shè)置像素顏色,生成逼真度非常高的雷達圖像。但這種方法需要存取大量的像素,難以滿足實時性的要求。例如,雷達顯示器分辨率為1 000×1 000,則每幀需存取3.14×5 002=785 000個像素。而要保持畫面流暢,幀速率應(yīng)保持在30 f/s以上,即每秒需要進行23 550 000次像素存取。而這才僅僅模擬了雷達的顯示系統(tǒng)。
為了提高效率,一些改進的算法被提出:預(yù)先建立坐標(biāo)映射表,利用查表方法減少坐標(biāo)變換的運算;嵌入MMX指令減暗顏色;利用DirectX等圖形API直接存取顯存等。這些方法減少了單個像素的處理時間,但由于像素存取次數(shù)多,仍然占用大量的CPU時間。
要大幅提高雷達顯示系統(tǒng)模擬的效率,必須降低幀間隔內(nèi)需要處理的像素總數(shù)。本文提出的方法基于現(xiàn)代顯卡的管線技術(shù),將回波圖像更新、余輝效果仿真、ARPA符號繪制與最終的圖像合成過程隔離開來,并充分利用cPU和GPU并行處理。在幀間隔內(nèi)由CPU完成對掃描線轉(zhuǎn)過的區(qū)域進行圖像更新和少量的余輝亮度計算,GPU完成圖像合成,避免了對全屏海量像素的存取,極大地提高了顯示模擬的效率。以某艦載導(dǎo)航搜索雷達為例,顯示器分辨率為1 000×1 000,天線轉(zhuǎn)速為20 r/m,模擬程序幀速率為30 f/s,天線旋轉(zhuǎn)一周產(chǎn)生4 096條方位刻線。則模擬程序每幀需要存取785 000×20/(60×30)△8 700個像素。再加上設(shè)置4 096條方位刻線余輝亮度,總計存取次數(shù)不到原先的1%,效果十分顯著。


1 可編程與Direct3D 9
可編程管線(Programmable Pipeline)是現(xiàn)代高性能顯卡的一個重要技術(shù)特征。所謂可編程管線,是指可以編寫一段運行于GPU(圖像處理單元)的代碼,對輸入顯卡的原始數(shù)據(jù)進行加工處理后再輸出到顯示器上。這樣的代碼稱為著色器(shader),包括頂點著色器(vertex shader)和像素著色器(pixel shader),分別用于對要繪制模型的頂點和紋理進行變換和混合。由于著色器代碼獨立運行在顯卡中,不占用CPU時間,而且GPU專門針對圖像計算進行了優(yōu)化,因此代碼的運行效率高,圖像處理的速度快。盡管可編程渲染管線設(shè)計的目的是滿足日益復(fù)雜的3D應(yīng)用環(huán)境,但由于其結(jié)構(gòu)靈活,采用適當(dāng)?shù)姆椒ň帉懘a,在2D環(huán)境中仍然能發(fā)揮出顯卡的繪圖能力。
Direct3D是微軟提供的基于組件對象模型(COM)的底層繪圖API,它建立在硬件抽象層(HAL)之上。Direct3D檢查顯卡的能力,并以標(biāo)準(zhǔn)的COM接口將顯卡功能暴露給開發(fā)人員,從而使其能夠安全地直接訪問顯卡硬件,提高應(yīng)用程序的渲染速度。Direct3D 9全面支持可編程渲染管線,并引入高級著色語言(HLSL)來編寫著色器代碼。利用Direct3D 9 SDK來編寫雷達模擬器的顯示系統(tǒng)代碼,可充分發(fā)揮顯卡硬件的能力。
為了能夠在雷達顯示的2D環(huán)境中使用Direct3D,只需要做如下處理:將雷達圖像繪制在紋理上,用三角形扇來模擬圓形,將三角形頂點的紋理坐標(biāo)設(shè)置成雷達圖像紋理的對應(yīng)數(shù)值。將紋理和頂點告知Direct3D,便可渲染出雷達顯示器圖像來。如圖1所示。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉