国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于GPU的雷達(dá)成像加權(quán)相位自聚焦技術(shù)

2022-10-12 11:46:46張曉洋張開生
火控雷達(dá)技術(shù) 2022年3期
關(guān)鍵詞:共享內(nèi)存線程孔徑

張曉洋 張開生 張 軍

(西安電子工程研究所 西安 710100)

0 引言

近年來,伴隨著圖形處理器(Graphic Processing Unit, GPU)的快速發(fā)展,GPU已經(jīng)成為具備強(qiáng)大并行化能力的多核處理器。傳統(tǒng)雷達(dá)信號(hào)實(shí)時(shí)處理架構(gòu)主要通過FPGA(Field-Programmable Gate Array)與DSP (Digital Signal Processing)來實(shí)現(xiàn),而單片DSP的算力已無(wú)法滿足實(shí)時(shí)雷達(dá)成像算法的性能需求。因此在實(shí)際應(yīng)用中多需要通過多片DSP聯(lián)合對(duì)數(shù)據(jù)進(jìn)行處理。該做法往往無(wú)法適應(yīng)機(jī)載雷達(dá)等對(duì)功耗、尺寸有高限制的應(yīng)用場(chǎng)景。而利用GPU對(duì)雷達(dá)成像信號(hào)處理進(jìn)行軟件化實(shí)現(xiàn),不僅能夠提升信號(hào)處理速度,同時(shí)軟件化信號(hào)處理也將便于系統(tǒng)開發(fā)與維護(hù)。NVIDIA于2006年推出的基于GPU的通用并行計(jì)算架構(gòu)(Compute Unified Device Architecture,CUDA)為開發(fā)人員對(duì)GPU硬件的使用提供了便利。

目前,研究人員對(duì)雷達(dá)成像算法的GPU 并行優(yōu)化開展了大量研究。文獻(xiàn)[2]在Arm Mali-T860 GPU平臺(tái)上對(duì)雷達(dá)成像算法中的多視處理、旋轉(zhuǎn)放縮和圖像量化算法進(jìn)行了并行優(yōu)化設(shè)計(jì)。文獻(xiàn)[3]對(duì)常用機(jī)載頻域成像進(jìn)行了并行化分析與實(shí)現(xiàn)。文獻(xiàn)[4]對(duì)基于CS(Chirp scaling)原理的兩步去斜成像算法進(jìn)行了嵌入式GPU實(shí)現(xiàn)的研究。對(duì)于雷達(dá)成像過程中因平臺(tái)運(yùn)動(dòng)誤差所造成的雷達(dá)成像散焦情況,在利用慣導(dǎo)數(shù)據(jù)進(jìn)行粗補(bǔ)償?shù)耐瑫r(shí),通常采用基于回波信號(hào)的自聚焦算法實(shí)現(xiàn)精補(bǔ)償。該算法中大量快速傅里葉變換、轉(zhuǎn)置、向量點(diǎn)乘等運(yùn)算均適合利用GPU的多核結(jié)構(gòu)來實(shí)現(xiàn)高性能并行處理。文獻(xiàn)[5]對(duì)基于Tesla C2050顯卡平臺(tái)的傳統(tǒng)相位自聚焦算法進(jìn)行了并行化分析與實(shí)現(xiàn),文獻(xiàn)[8]所提加權(quán)極大似然PGA(Weighted Maximum Likelihood PGA,WML-PGA)算法能夠相比于文獻(xiàn)[5]所用傳統(tǒng)PGA算法提升了相位梯度估計(jì)的精度,同時(shí)Tesla C2050顯卡對(duì)于機(jī)載平臺(tái)的使用尺寸、功耗均不能滿足要求,故本文提出基于嵌入式GPU平臺(tái)Tx2對(duì)加權(quán)PGA算法進(jìn)行了并行化分析與實(shí)現(xiàn),并通過實(shí)驗(yàn)對(duì)本文所提技術(shù)的性能同TMS320C6678平臺(tái)進(jìn)行了對(duì)比實(shí)驗(yàn)。

1 加權(quán)相位梯度自聚焦PGA原理

相位梯度自聚焦是應(yīng)用廣泛的一種相位補(bǔ)償方法,該算法利用圖像的自聚焦性,不依賴于模型。假設(shè)同一距離單元內(nèi)的相位誤差是不隨時(shí)間變化的,通過估計(jì)不同距離單元的相位誤差梯度估計(jì)相位誤差,同時(shí)利用同一距離單元內(nèi)的相干積累減少噪聲對(duì)相位誤差梯度估計(jì)的影響。該算法基于圖像中某些特定點(diǎn)的散焦?fàn)顩r進(jìn)行自聚焦處理的,從而使整個(gè)圖像因相位誤差造成的散焦情況得到改善。而WML-PGA在此基礎(chǔ)上通過對(duì)不同距離單元的平坦度進(jìn)行加權(quán)計(jì)算,提升相干積累時(shí)平坦度高的距離向影響力,從而提升相位誤差估計(jì)精度與收斂速度,該算法具體實(shí)現(xiàn)步驟如下所述。

1.1 方位去斜

雷達(dá)成像算法中可以證明方位向信號(hào)的頻率隨著時(shí)間呈現(xiàn)線性變化,其中方位向信號(hào)斜率、二次相位分別為

(1)

(2)

在相位梯度估計(jì)之前對(duì)信號(hào)進(jìn)行方位去斜,用來去除信號(hào)的二次調(diào)頻分量。

1.2 樣本選擇

為了便于工程實(shí)現(xiàn),PGA算法將整個(gè)方位向滑動(dòng)分為個(gè)長(zhǎng)度的子孔徑波束,其中各個(gè)子孔徑之間滑動(dòng)重疊2的位置,這樣的做法可以避免相位誤差估計(jì)時(shí)各子孔徑所估計(jì)的相位之間出現(xiàn)跳變所導(dǎo)致的成像算法在方位脈壓時(shí)的性能惡化。同時(shí)為了提升相位梯度估計(jì)時(shí)的信雜比,在選擇出子孔徑樣本后通過對(duì)各個(gè)子孔徑中各距離向能量計(jì)算篩選出前能量最高的距離向單元。此步驟的子孔徑分割示意圖如圖1所示。

圖1 WML-PGA子孔徑分割示意圖

1.3 循環(huán)移位

對(duì)選擇出的×個(gè)距離向長(zhǎng)度為的距離向單元補(bǔ)償初始相位后計(jì)算頻譜最強(qiáng)幅度點(diǎn)索引,并將其循環(huán)移位至0頻位置,從而避免最強(qiáng)幅度點(diǎn)相位對(duì)相位誤差梯度估計(jì)的影響。

1.4 加窗濾波

通過對(duì)循環(huán)移位后的信號(hào)進(jìn)行加窗置0,實(shí)現(xiàn)對(duì)雜波能量的濾除,提升信號(hào)的信雜比。

1.5 權(quán)值計(jì)算

同傳統(tǒng)PGA不同的是,WML-PGA為了進(jìn)一步提升相位梯度估計(jì)的準(zhǔn)確性,通過對(duì)不同距離向的平坦度權(quán)值進(jìn)行計(jì)算,在同一距離單元內(nèi)相干積累時(shí),平坦度權(quán)值高的樣本將提升其在相干積累時(shí)候的影響,平坦度權(quán)值低的樣本將減少其在相干積累的影響。該權(quán)值的引入有效提升相位誤差估計(jì)的收斂速度與精度。

(3)

(4)

1.6 相位估計(jì)與擬合

該步驟利用了傅里葉變換的導(dǎo)數(shù)特性,即當(dāng)()和()是一對(duì)傅里葉變換,表示為{()}=(),則如式(5)所示。

(5)

在估計(jì)出相位誤差梯度后,對(duì)其進(jìn)行積分便能夠得到相位誤差,并通過擬合濾除其中線性相位。

對(duì)以上步驟進(jìn)行迭代,縮小步驟1.4所加窗的大小直至相位估計(jì)收斂。

2 PGA算法GPU并行化分析與實(shí)現(xiàn)

考慮到機(jī)載雷達(dá)成像系統(tǒng)對(duì)于系統(tǒng)功耗、尺寸、運(yùn)算能力的要求,本文所選平臺(tái)為NVIDIA嵌入式Jetson TX2平臺(tái)。該平臺(tái)擁有6個(gè)CPU核心和一個(gè)GPU。其中CPU包括四核ARM Cortex-A57和雙核Denver2處理器,通過對(duì)6個(gè)CPU不同規(guī)模的使用,最大限度的滿足不同場(chǎng)景下對(duì)嵌入式芯片的性能與功耗平衡,能夠?qū)崿F(xiàn)最低功耗7.5 W。該平臺(tái)中GPU具有256個(gè)CUDA核心,DDR3內(nèi)存達(dá)到8 GB。

2.1 內(nèi)存分配的優(yōu)化

當(dāng)利用GPU進(jìn)行運(yùn)算的并行化時(shí),往往需要將數(shù)據(jù)從CPU端通過PCIE發(fā)送至GPU內(nèi)存當(dāng)中,該操作不僅需要在CPU與GPU兩端同時(shí)開辟內(nèi)存,同時(shí)數(shù)據(jù)的傳輸速率將受到PCIE速率的限制。因此會(huì)帶來內(nèi)存與性能的雙重消耗。本文針對(duì)WML-PGA算法實(shí)現(xiàn)過程中大規(guī)模數(shù)據(jù)的調(diào)用,基于TX2的CPU與GPU內(nèi)存共享的特性,采用zero-copy技術(shù),通過頁(yè)鎖定內(nèi)存的HostAlloc分配方式達(dá)到規(guī)避數(shù)據(jù)拷貝的同時(shí)節(jié)省了內(nèi)存。同時(shí)因?yàn)門X2的CPU與GPU內(nèi)存共享的特性避免了數(shù)據(jù)的傳輸所帶來的系統(tǒng)耗時(shí)。打破了GPU開發(fā)過程中PCIE速率對(duì)系統(tǒng)性能的限制。

2.2 庫(kù)函數(shù)的使用

PGA算法中需要完成多距離單元與多子孔徑個(gè)數(shù)的信號(hào)傅里葉變換,多次調(diào)用傅里葉變換的操作可以通過調(diào)用cuFFT庫(kù)中的cufftPlanMany實(shí)現(xiàn)多個(gè)信號(hào)的傅里葉變換并行化運(yùn)算。同時(shí)針對(duì)在計(jì)算均值時(shí)多向量點(diǎn)乘累加求和的計(jì)算需求,調(diào)用cuBlas庫(kù)中的矩陣乘法函數(shù)cublasCgemm實(shí)現(xiàn)矩陣點(diǎn)乘累加求和的并行加速。

2.3 WML-PGA算法關(guān)鍵部分并行化分析

由WML-PGA算法原理可知樣本選擇會(huì)將雷達(dá)成像方位向數(shù)據(jù)分為個(gè)子孔徑,同時(shí)根據(jù)各子孔徑距離向能量大小選出能量前的距離向,具體子孔徑分割示意如圖1所示??紤]到該算法在樣本選擇后的運(yùn)算均是以子孔徑為運(yùn)算單元,因此WML-PGA算法的并行化首先考慮利用在樣本選擇后實(shí)行各子孔徑的粗并行,即在GPU中調(diào)用多線程對(duì)WML-PGA算法樣本選擇后的運(yùn)算以多子孔徑為并行運(yùn)算。

對(duì)于樣本選擇后的運(yùn)算,在子孔徑中多次用到:多復(fù)數(shù)向量的點(diǎn)乘運(yùn)算、轉(zhuǎn)置、矩陣各行最大值索引、多信號(hào)方差、均值等運(yùn)算操作。這些大規(guī)模數(shù)據(jù)運(yùn)算將通過借助共享內(nèi)存、多線程等手段對(duì)子孔徑內(nèi)運(yùn)算進(jìn)行細(xì)并行化。由上WML-PGA算法步驟1.3中系統(tǒng)需要完成×次長(zhǎng)度為子孔徑的頻譜最大值索引位置計(jì)算。因此可以將該運(yùn)算等價(jià)為行長(zhǎng)度為×列長(zhǎng)度為的矩陣各行最大值索引值的計(jì)算。

考慮到GPU的共享內(nèi)存訪問速度相比全局內(nèi)存要快的多,開始作者提出利用共享內(nèi)存加規(guī)約算法實(shí)現(xiàn)矩陣最大值索引的并行加速,具體做法為:將單個(gè)長(zhǎng)度為的向量傳進(jìn)共享內(nèi)存中,并設(shè)塊中線程數(shù)為,共計(jì)×個(gè)線程塊,借助同一塊中的線程能夠?qū)崿F(xiàn)共享內(nèi)存之間的通信這一特性,利用規(guī)約算法計(jì)算對(duì)長(zhǎng)度為的向量最大值索引。但該做法受到以下三點(diǎn)約束:當(dāng)PGA算法中的過大時(shí),無(wú)法將長(zhǎng)度為的數(shù)據(jù)全部導(dǎo)入共享內(nèi)存當(dāng)中;Tx2硬件限制了單個(gè)塊中的線程總數(shù)無(wú)法超過1024,當(dāng)大于1024時(shí),單個(gè)塊中的線程數(shù)將無(wú)法滿足規(guī)約計(jì)算的使用;規(guī)約運(yùn)算時(shí),隨著每次迭代,將會(huì)使相比于上次迭代中線程量一半的線程閑置,造成函數(shù)并行化效率不高?;谝陨先c(diǎn),本文提出將共享內(nèi)存大小固定為32,將單個(gè)塊的線程數(shù)設(shè)為32,具體線程分配示意如圖2所示,同時(shí)只將各數(shù)據(jù)的前32個(gè)點(diǎn)存入共享內(nèi)存當(dāng)中,之后調(diào)用塊中所有線程將存入共享內(nèi)存的數(shù)據(jù)同未存入的數(shù)據(jù)進(jìn)行比對(duì),最終將長(zhǎng)度為的數(shù)據(jù)中最大的32個(gè)數(shù)據(jù)與索引位置存入共享內(nèi)存中,接下來再利用規(guī)約算法,在剩余的32個(gè)數(shù)據(jù)中迭代算出最大值與其索引位置。該做法使得函數(shù)不會(huì)受到子孔徑數(shù)據(jù)長(zhǎng)度的限制,同時(shí)單個(gè)線程進(jìn)行了多次運(yùn)算,減少了線程的浪費(fèi),提升了函數(shù)實(shí)現(xiàn)的效率。

圖2 矩陣各行最大值索引運(yùn)算線程分配示意圖

3 試驗(yàn)結(jié)果與分析

3.1 cufft庫(kù)函數(shù)的性能實(shí)驗(yàn)

因PGA算法中涉及多次傅里葉變換,針對(duì)Tx2與TMS320C6678兩種不同平臺(tái)上較大數(shù)據(jù)量的多信號(hào)傅里葉變換性能進(jìn)行了實(shí)驗(yàn)統(tǒng)計(jì)。同時(shí)為了驗(yàn)證本文所提利用HostAlloc進(jìn)行GPU內(nèi)存分配避免內(nèi)存搬移開銷的可行性,對(duì)cudaMalloc、HostAlloc兩種不同GPU內(nèi)存分配方式下cufft庫(kù)函數(shù)的耗時(shí),以及在cudaMalloc分配方式時(shí)利用cuMemcpy進(jìn)行內(nèi)存搬移時(shí)的耗時(shí)進(jìn)行了實(shí)驗(yàn)統(tǒng)計(jì)。其中為傅里葉變換的長(zhǎng)度;為傅里葉變換的個(gè)數(shù)。即當(dāng)=64,=64時(shí),代表本次實(shí)驗(yàn)是同時(shí)實(shí)現(xiàn)64次64點(diǎn)FFT運(yùn)算。

Tx2平臺(tái)單次實(shí)驗(yàn)統(tǒng)計(jì)十萬(wàn)次后取平均耗時(shí)如表1所示。

表1 Tx2平臺(tái)cufft性能統(tǒng)計(jì)

TMS320C6678的8核FFT性能統(tǒng)計(jì)如表2所示。

表2 DSP 6678的FFT性能統(tǒng)計(jì)

通過實(shí)驗(yàn)發(fā)現(xiàn)GPU在實(shí)現(xiàn)傅里葉變換時(shí),加速比隨著數(shù)據(jù)量的提升而增長(zhǎng)。由表1可知,Tx2在實(shí)現(xiàn)8192×8192的FFT運(yùn)算耗時(shí)40 ms,而6678在8192×8192的耗時(shí)為230 ms,加速比5.75。同時(shí)針對(duì)Tx2的CPU與GPU內(nèi)存搬移函數(shù)耗時(shí)統(tǒng)計(jì)可以看出,當(dāng)從CPU內(nèi)存搬移8192×8192的數(shù)據(jù)至GPU內(nèi)存當(dāng)中,共計(jì)耗時(shí)約205 ms,而本文所提利用Tx2的HostAlloc內(nèi)存共享特性避免了CPU與GPU內(nèi)存之間的交換耗時(shí),并且由圖3可以看出HostAlloc與cuMalloc兩種不同內(nèi)存分配方式之間的運(yùn)算耗時(shí)并無(wú)差異,證明了利用zero Copy避免數(shù)據(jù)搬移的開銷同時(shí)未影響GPU處理的性能。

圖3 Tx2、TMS320C6678的FFT性能比較

3.2 基于GPU的WML-PGA算法性能實(shí)驗(yàn)

利用GPU對(duì)PGA算法進(jìn)行并行化加速,首先對(duì)本文所提技術(shù)的準(zhǔn)確性同Matlab結(jié)果進(jìn)行了比對(duì),由下兩幅圖可知,本文所提技術(shù)實(shí)現(xiàn)了同Matlab估計(jì)結(jié)果10×10級(jí)別的估計(jì)誤差,可以證明本文所提技術(shù)同Matlab實(shí)現(xiàn)的一致性。

圖4 GPU與Matlab相位誤差估計(jì)對(duì)比

圖5 GPU與Matlab相位自聚焦估計(jì)誤差

在對(duì)其準(zhǔn)確性驗(yàn)證后,將本文所提技術(shù)同基于八核DSP 6678的PGA性能進(jìn)行對(duì)比實(shí)驗(yàn)。分別對(duì)數(shù)據(jù)尺寸為8k×8k、8k×16k、8k×32k進(jìn)行了性能對(duì)比實(shí)驗(yàn)。單組數(shù)據(jù)一萬(wàn)次運(yùn)算統(tǒng)計(jì)取平均得到如表3所示??梢钥闯鯰x2平臺(tái)對(duì)PGA算法在數(shù)據(jù)尺寸為8k×32k時(shí)的加速比達(dá)到了4.82,同時(shí)可以發(fā)現(xiàn)當(dāng)處理數(shù)據(jù)規(guī)模越大時(shí),加速比越明顯。證明本文所提技術(shù)相比于傳統(tǒng)DSP平臺(tái)的性能優(yōu)勢(shì)明顯。

表3 Tx2、TMS320C6678的PGA處理時(shí)間統(tǒng)計(jì)

4 結(jié)束語(yǔ)

基于GPU的信號(hào)處理在近些年已經(jīng)成為趨勢(shì),利用GPU的并行化處理將更好提升雷達(dá)成像算法處理的實(shí)時(shí)性。本文所提技術(shù)通過對(duì)比實(shí)驗(yàn)證明相比于傳統(tǒng)TMS320C6678平臺(tái)而言,最大加速比達(dá)到了4.82。同時(shí)Tx2功耗與TMS320C6678功耗均在8W左右。本文所提技術(shù)對(duì)雷達(dá)成像算法在嵌入式GPU平臺(tái)的應(yīng)用奠定了基礎(chǔ)。

但受限于WML-PGA算法中運(yùn)算步驟過多,所提技術(shù)更多基于數(shù)據(jù)的粗并行實(shí)現(xiàn),該算法并行化加速仍然有很大的性能提升空間。同時(shí)Tx2平臺(tái)的內(nèi)存及性能均有提升空間,隨著硬件的發(fā)展,更高性能的硬件投入使用后,本文所提技術(shù)性能將進(jìn)一步提升。

猜你喜歡
共享內(nèi)存線程孔徑
通過QT實(shí)現(xiàn)進(jìn)程間的通信
不同滲透率巖芯孔徑分布與可動(dòng)流體研究
基于PCI總線的多處理器協(xié)同機(jī)制研究
分布式孔徑相參合成雷達(dá)技術(shù)
淺談linux多線程協(xié)作
基于子孔徑斜率離散采樣的波前重構(gòu)
大孔徑淺臺(tái)階控制爆破在重慶地區(qū)的應(yīng)用
重慶建筑(2014年12期)2014-07-24 14:00:32
QNX下PEX8311多路實(shí)時(shí)數(shù)據(jù)采集的驅(qū)動(dòng)設(shè)計(jì)
電子世界(2014年21期)2014-04-29 06:41:36
一種高效RTAI 共享內(nèi)存管理層的研究與實(shí)現(xiàn)*
Linux線程實(shí)現(xiàn)技術(shù)研究
观塘区| 饶河县| 保定市| 吐鲁番市| 衡阳市| 兰坪| 南木林县| 原阳县| 旌德县| 塔河县| 疏勒县| 德保县| 砚山县| 宝清县| 应城市| 罗城| 闽侯县| 渝中区| 江城| 竹北市| 德兴市| 曲靖市| 高雄县| 仲巴县| 辛集市| 温泉县| 越西县| 宣恩县| 霍邱县| 霍州市| 白水县| 新郑市| 建瓯市| 芒康县| 新乡市| 呈贡县| 轮台县| 皮山县| 额济纳旗| 新乡县| 驻马店市|