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

?

基于GPU的OFDM波形外輻射源雷達信號處理研究

2021-09-24 05:32趙志欣張凱凱
現(xiàn)代電子技術(shù) 2021年17期
關(guān)鍵詞:輻射源信號處理線程

趙志欣,翁 濤,張凱凱,李 存

(南昌大學(xué) 信息工程學(xué)院,江西 南昌 330031)

0 引 言

外輻射源雷達是一種特殊的雙(多)基地雷達系統(tǒng),其利用第三方非合作民用輻射源對目標進行跟蹤與定位。與傳統(tǒng)雙基地雷達相比,具有成本低、覆蓋范圍廣、隱蔽性高、抗干擾性強等優(yōu)點,并因此吸引了國內(nèi)外相關(guān)學(xué)者對此進行研究[1?6]。一般來說,外輻射源雷達可以利用模擬、數(shù)字電視和無線電信號,以及移動電話基站、GPS衛(wèi)星等信號作為照射源。而這些通信照射源大都采用正交頻分復(fù)用(Orthogonal Frequency Division Multiplexing,OFDM)技術(shù),再加上比特交織、編碼糾錯等手段,能有效減輕多徑傳輸產(chǎn)生的問題,為外輻射源雷達提供了可靠的第三方照射源。

外輻射源雷達信號處理流程復(fù)雜、運算量大,對設(shè)備計算能力的要求也高[7],而隨著高性能技術(shù)的高速發(fā)展,圖形處理器(GPU)已經(jīng)被廣泛應(yīng)用于深度學(xué)習(xí)、物理化學(xué)實驗仿真、生物特征模擬、信號處理等領(lǐng)域的大規(guī)模高速并行計算[8]。NVIDIA公司是提供圖形卡的生產(chǎn)商之一,它提供帶有多核的GPU并推出了一種通用并行計算架構(gòu)CUDA,開發(fā)人員可以使用C語言為CUDA架構(gòu)編寫程序,所編寫的程序可以在支持CUDA的GPU上高性能運行,從而方便用戶進行GPU編程。因此,利用GPU并行加速處理外輻射源雷達信號,為外輻射源雷達實時處理提供了可能。

目前,已有部分文獻提出了在不同雷達體系下的信號處理GPU并行方案。文獻[9]研究了GPU架構(gòu)下陣列雷達信號處理的實現(xiàn)方案,但波束形成實現(xiàn)時未考慮線程的連續(xù)訪存問題,還存在優(yōu)化的空間。文獻[10]研究了外輻射源雷達雜波抑制算法——分塊擴展抑制算法(Extensive Cancellation Algorithm Bathes,ECA?B)[11]在GPU下的并行實現(xiàn);文獻[12]研究了基于CPU+GPU異構(gòu)下的電視外輻射源雷達信號處理整體方案,并取得了較好的加速效果,但針對OFDM波形的外輻射源雷達信號處理,若能充分利用OFDM波形特征并行加速,則能進一步減少信號處理所需的時間。此外,對于有序長恒虛警檢測算法(Order Statisic Constant False Alarm Rate,OSCFAR)的GPU并行實現(xiàn)上還具有較大的改進空間。基于此,本文將結(jié)合OFDM波形特性,通過選取更合適并行的信號處理算法,建立基于OFDM波形特征的外輻射源雷達并行化處理方案,并在充分利用共享內(nèi)存等GPU高速緩存資源和減少訪存的基礎(chǔ)上設(shè)計出高效的核函數(shù),以降低整個信號處理在GPU上運行的時間。

本文首先介紹OFDM波形外輻射源雷達信號處理算法的基本原理以及算法的選取思路;然后根據(jù)算法的結(jié)構(gòu)給出CUDA架構(gòu)下流程中每個算法的優(yōu)化思路與具體實現(xiàn)方案;最后通過對比Matlab上程序的運行時間與數(shù)據(jù),進行結(jié)果驗證與性能對比。

1 OFDM波形外輻射源雷達信號處理

外輻射源雷達信號處理的主要目的是從接收到的信號中提取目標信息。而由于采用了地面廣播電視信號作為照射源,其天線波瓣主要射向地面,導(dǎo)致空中的期望目標回波信號遠小于直達波信號,以致目標被掩蓋,故首先要抑制直達波信號和強多徑回波,再對信號進行后續(xù)處理。針對OFDM波形外輻射源雷達,本文建立了從接收信號到恒虛警檢測的并行化處理方案,具體流程如下:

1)假設(shè)多通道陣列接收信號Ssurv為M×N的復(fù)數(shù)矩陣,其中M為陣元數(shù),N為時域采樣點數(shù)。對陣列接收信號進行波束形成后得到M×1的復(fù)數(shù)參考信號Sref;

2)結(jié)合信號特性選用適合并行實現(xiàn)的分載波的擴展抑制算法(Extensive Cancellation Algorithm Carrier,ECA?C)[13]作為雜波抑制算法,將監(jiān)測信號與參考信號按OFDM符號時間長度劃分為K個載波,每個載波符號長度為L,對每個載波并行抑制直達波與多徑雜波;

3)按同樣的分段方式進行距離多普勒匹配濾波;

4)通過二維的OSCFAR恒虛警檢測獲取目標,流程圖如圖1所示。

圖1 OFDM波形外輻射源雷達信號處理流程

1.1 參考信號的獲取

在對信號處理前首先需要獲得參考信號,對于OFDM波形外輻射源雷達來說,常見的有波束形成和信號重構(gòu)兩種方法,而GPU更適合大量的輕量級、控制簡單的任務(wù),因此本文選用簡單且基本能滿足OFDM波形無源雷達要求的波束形成方法來獲取參考信號。

波束形成又稱空域濾波器,通過設(shè)計濾波器權(quán)值,讓某些期望方向的信號通過濾波器,同時抑制其他方向的信號。假設(shè)直達波方位為θtx,其對應(yīng)的陣列導(dǎo)向矢量為a(θtx)。合適的陣列權(quán)矢量就是直達波信號的導(dǎo)向矢量,即:

為獲取參考信號向量,將陣列權(quán)矢量W的共軛轉(zhuǎn)置(其中(·)Η表示矩陣的共軛轉(zhuǎn)置)與陣列監(jiān)測信號Ssurv相乘,使陣列輸出在直達波方向上的信號增益最大,得到參考信號向量:

1.2 直達波和多徑雜波抑制

直達波和多徑雜波抑制有多種實現(xiàn)方法,常見的有最小均方誤差(LMS)類算法、遞歸最小二乘(RLS)算法以及基于時域正交子空間投影理論的擴展抑制方法(Extensive Cancellation Algorithm,ECA)[11]等算法,而從并行角度看,ECA類算法相比LMS、RLS等常規(guī)自適應(yīng)時域算法,無需考慮收斂和迭代等問題,且數(shù)據(jù)之間的耦合性低,更適合于并行實現(xiàn)。此外,文獻[13]通過利用OFDM波形的調(diào)制特性,在ECA算法的基礎(chǔ)上提出了一種基于分載波ECA方法,即ECA?C,相比于ECA算法,其有以下優(yōu)點:總體計算量大大降低;雜波子空間的維度僅為L×1,因此子空間投影計算時無需進行矩陣求逆運算,而矩陣求逆由于行變換、消元和列變換等操作存在的數(shù)據(jù)依賴性[10]會破壞子空間投影整體的并行性。故本文選取ECA?C算法作為直達波抑制的算法。

ECA?C算法的主要思想是對監(jiān)測信號與參考信號有效數(shù)據(jù)部分進行離散傅里葉變換(DFT),將數(shù)據(jù)變換至載頻域,通過矩陣運算將解調(diào)后的監(jiān)測信號投影到參考信號的正交子空間,然后通過離散傅里葉逆變換(IDFT)恢復(fù)信號,從而得到濾除直達波與多徑的信號。其中,子空間投影矩陣運算的公式為:

式中:Xk和Yk分別代表參考信號與監(jiān)測信號的載波k(k=1,2,…,K)對應(yīng)的頻域信號向量;IL代表維度為L的單位矩陣;(·)′,(·)-1符號分別代表矩陣轉(zhuǎn)置和矩陣求逆。

1.3 匹配濾波

雷達的匹配濾波就是將監(jiān)測信號通過距離維與多普勒維的匹配濾波器后,使目標回波在其相應(yīng)的延時和多普勒上形成最強增益,表現(xiàn)為單個尖峰,從而突顯目標。

匹配濾波有多種實現(xiàn)方法,常用的有互模糊函數(shù)法、“距離相關(guān)+多普勒變換”法[14?16]。本文采用計算量更小、對內(nèi)存要求低、便于并行的“距離相關(guān)+多普勒變換”法。此外,在并行實現(xiàn)的過程中,根據(jù)OFDM波形特性,通過設(shè)計合理的分段方式,還能實現(xiàn)數(shù)據(jù)復(fù)用,以減少系統(tǒng)整體的運行時間。具體操作為:將參考信號和經(jīng)雜波抑制后監(jiān)測回波的OFDM信號的N個采樣點按符號劃分成K個子段,每個子段長度為L,“距離相關(guān)+多普勒變換”法的二維匹配濾波過程可表示為:

由式(4)可看出,“距離相關(guān)+多普勒變換”的匹配濾波實現(xiàn)可視為將相干積累時間內(nèi)的參考信號和目標回波信號分成若干段,每段先進行距離相關(guān),從而將不同延遲信號分開,再利用特定延遲在段間的DFT變換獲得多普勒信息,從而獲取目標的時延τ與速度v。

1.4 恒虛警檢測

恒虛警檢測模塊的功能是判斷雷達接收信號中是否包含目標回波信號并確定目標距離,它在保持虛警概率恒定的同時,根據(jù)被檢測點的背景噪聲和雜波強度自適應(yīng)調(diào)整檢測門限,使目標檢測概率最大。根據(jù)背景噪聲和雜波功率的估計方法,常用的恒虛警算法主要包括單元平均(CACFAR)、選大(GOCFAR)、選小(SOCFAR)以及有序統(tǒng)計(OSCFAR)。在雷達復(fù)雜多變的工作環(huán)境下,OSCFAR方法對邊緣檢測和遮蔽效應(yīng)呈現(xiàn)很好的適應(yīng)性,因此本文選用適應(yīng)力較強的二維OSCFAR方法進行恒虛警檢測。

OSCFAR方法將參考單元按從小到大排序,并選取第m大的值經(jīng)過門限因子校正后作為閾值與待檢測的單元比較判決,通過遍歷整個距離維與多普勒維,從而完成距離多普勒二維的恒虛警檢測,其中參考單元的選取方式如圖2所示。

圖2 二維恒虛警檢測窗

2 信號處理算法CUDA實現(xiàn)與優(yōu)化

目前GPU編程模型最常用的是CUDA C,CUDA將并行任務(wù)分解到不同線程(thread)執(zhí)行,若干個線程組成一塊(block),每塊block共享一份內(nèi)存。此外GPU上還擁有豐富的數(shù)學(xué)函數(shù)庫,例如線性代數(shù)庫CUBLAS、傅里葉變換庫CUFFT、CUSOLVER矩陣分解庫等。基于此,本節(jié)將介紹OFDM外輻射源雷達信號處理算法在CUDA模型下的并行實現(xiàn)方案,并在考慮連續(xù)合并的訪存、使用共享內(nèi)存、去除冗余計算等優(yōu)化思路下對算法的實現(xiàn)過程進行改進。

2.1 波束形成CUDA實現(xiàn)

監(jiān)測信號Ssurv為M×N的復(fù)數(shù)矩陣,假設(shè)方向?qū)蚴噶縜(θtx)為M×1的復(fù)數(shù)向量,波束形成所需的計算可看成矩陣與向量的乘法計算,那么便可直接利用CUBLAS庫中的函數(shù)cublasCgemv實現(xiàn)這部分運算。但通常來說,CUBLAS函數(shù)庫更適合用在矩陣大小都比較大的情況下,但此情境下N要遠遠大于M,且M一般在8~32之間,若直接使用庫函數(shù)則無法充分發(fā)揮GPU的性能,因此考慮通過自己編寫核函數(shù)實現(xiàn)。文獻[9]中給出了波束形成的一種實現(xiàn)方法,但給出的方案沒考慮到訪存連續(xù)的因素,而GPU訪存不連續(xù)會極大地影響并行效果。基于此,本文提出兩種波束形成的并行實現(xiàn)方式,為方便對比,兩種方法的核函數(shù)分別命名為DBF_1和DBF_2。

DBF_1方法的實現(xiàn)原理如圖3所示,根據(jù)采樣點數(shù)開辟N個線程,每個線程內(nèi)通過M次循環(huán)累加計算參考信號的一個值。但需注意的是,由于監(jiān)測信號通常以M所在的維度為主方向存儲,實現(xiàn)時會出現(xiàn)同一塊block下不同線程訪存不連續(xù)的問題,且考慮到N一般較小,因此采用將監(jiān)測信號進行轉(zhuǎn)置的方法避免訪存問題,其中,矩陣轉(zhuǎn)置的實現(xiàn)還需考慮利用共享內(nèi)存來避免不連續(xù)的數(shù)據(jù)存取問題。

圖3 波束形成內(nèi)核實現(xiàn)過程(DBF_1)

DBF_2核函數(shù)實現(xiàn)思路如圖4所示,通過考慮線程束的大小來固定block中的線程數(shù),假設(shè)每塊block中有t個線程,則每塊block利用共享內(nèi)存規(guī)約計算t M個參考信號元素,總共有N t塊block。此外,GPU線程執(zhí)行是以線程束(warp)為單位進行調(diào)度的,每個warp(32個線程)執(zhí)行同一條指令,因此在通道數(shù)小于32的情況下還能進一步減少同步帶來的開銷。同時,此方法避免了第一種方法塊中同一塊block不同線程訪存不連續(xù)的問題,且無需進行矩陣轉(zhuǎn)置。

圖4 波束形成內(nèi)核實現(xiàn)過程(DBF_2)

2.2 ECA?C的CUDA實現(xiàn)

ECA?C算法流程大致可以分為兩部分:一部分是對信號進行DFT與IDFT,此部分可以利用CUFFT庫中的函數(shù)實現(xiàn),通過使用cufftPlan1d函數(shù)指定進行快速傅里葉變換(FFT)和快速傅里葉逆變換(IFFT)的長度L和運算次數(shù)K;ECA?C算法另一部分為子空間投影的矩陣運算,而此部分的實現(xiàn)方式則是此算法能否高效移植的關(guān)鍵。

一般來說,對于ECA?C算法,每個載波下Yk與雜波子空間Xk為L×1的復(fù)向量,而式(3)中計算結(jié)果為一實數(shù),其值為Xk中每一個復(fù)數(shù)元素模的累加。此外,對于與Yk的內(nèi)積,其結(jié)果為一復(fù)數(shù),值為與Yk中每一元素對應(yīng)相乘的累加。因此式(3)可改寫為:

核函數(shù)具體實現(xiàn)方法為:首先將整個任務(wù)分解為N個線程,并按載波長度將線程劃分為K=N L塊block,每塊包含L個線程,這樣就可以在同一block中進行同一載波下的矩陣運算,而不同載波即不同block之間的計算相互獨立。核函數(shù)偽代碼如下所示:

其中:輸入形參x,y分別對應(yīng)參考信號與監(jiān)測信號的頻域矩陣;sharedr與sharedc代表共享內(nèi)存矩陣;XX函數(shù)功能為將輸入元素自乘,XY函數(shù)為將輸入的對應(yīng)元素進行復(fù)數(shù)相乘。核函數(shù)通過在共享內(nèi)存內(nèi)同時進行兩次低線程規(guī)約算出系數(shù),最后經(jīng)過一次復(fù)數(shù)運算得到Y(jié)′k對應(yīng)的元素。此外,考慮到連續(xù)訪存問題,核函數(shù)執(zhí)行前后還需要兩次矩陣轉(zhuǎn)置。

2.3 匹配濾波算法的CUDA實現(xiàn)

根據(jù)式(4),匹配濾波分段進行距離相關(guān),然后另一維變換至頻域來獲取多普勒信息,其中相關(guān)運算還可以利用FFT加速實現(xiàn)。這里FFT和IFFT運算依然使用CUFFT庫實現(xiàn),因此匹配濾波的處理步驟如下:

1)利用cufftPlan1d函數(shù)分別對直達波抑制后的監(jiān)測信號SECA?C與參考信號補零并進行長度為2×L的FFT變換。

2)對變換后的信號通過核函數(shù)進行共軛相乘,接著通過IFFT運算完成距離維的相關(guān)運算。

3)對相關(guān)后的數(shù)據(jù)進行多普勒維上的FFT。

此外,需要注意的是,利用FFT實現(xiàn)互相關(guān)時,需要將互相關(guān)的兩個信號至少補零至長度為2×L-1以上再進行FFT,而之所以設(shè)計為2×L的FFT運算,是因為在ECA?C實現(xiàn)過程中已經(jīng)對參考信號進行了長度為L的FFT運算,而長度為L的FFT運算結(jié)果是補零至長度為2×L的FFT中的奇數(shù)元素,因此在考慮系統(tǒng)達到最好的加速效果條件下,可在將ECA?C實現(xiàn)時直接進行兩倍長度的FFT來優(yōu)化對此部分的計算。

2.4 恒虛警檢測的CUDA實現(xiàn)

要將OSCFAR算法在GPU中并行實現(xiàn),首先需考慮的是參考信號的讀取,因為每個核函數(shù)除了讀取自身的數(shù)據(jù)外,還讀取了周圍的數(shù)據(jù),每一塊block中存在數(shù)據(jù)復(fù)用的情況,因此可以先將塊內(nèi)所有的數(shù)據(jù)存入共享內(nèi)存中進行加速。而對于超出矩陣維度的邊界情況,本文采用邊界鏡像拓展處理。

OSCFAR的實現(xiàn)除了反復(fù)讀取檢測信號周圍的數(shù)據(jù)外,耗時最長的操作就是對參考單元排序。而GPU相比CPU來說,GPU對邏輯判斷和循環(huán)支持的執(zhí)行效率較差,如果在每個核函數(shù)中都進行排序,必定影響并行的效率,故本文提出一種替代的方法對待檢測的信號進行判決。

假設(shè)對于某個待判決的檢測單元來說,其參考單元的數(shù)量為p,而OSCFAR算法是將第M大的參考單元值與待檢測單元乘以門限值后進行比較,因此只需將待檢測單元與每個參考單元進行1次比較,通過判斷比檢測單元大的參考單元數(shù)量是否大于M來判決目標是否存在。此方法的時間復(fù)雜度僅為O(N),且無需在核函數(shù)內(nèi)部進行排序。核函數(shù)偽代碼實現(xiàn)如下所示:

其中:形參x對應(yīng)待判決的矩陣;coeff代表門限因子;p為參考單元的長度。

3 仿真結(jié)果分析與加速比測試

3.1 實驗環(huán)境

本文使用的GPU型號為費米架構(gòu)的NVIDIA GeForce 820M,計 算 能 力2.1,擁 有96個CUDA核 心(CUDA Cores),顯存為2 GB,核心頻率為625 MHz,CUDA版本為7.5。CPU型號為Intel I5?4200M,主頻2.5 GHz。操作系統(tǒng)為Ubuntu 16.04,對比平臺為CUDA與Matlab,之所以選用Matlab是因為Matlab在矩陣運算上實現(xiàn)了高效優(yōu)化,例如在Intel上利用MKL(Math Kernel Library)加速,因此對比結(jié)果也更具有代表性。

實驗數(shù)據(jù)采用OFDM調(diào)制的數(shù)字調(diào)幅廣播模式B標準的仿真信號數(shù)據(jù),并加入直達波、多徑、目標和噪聲來仿真監(jiān)測。目標設(shè)定為兩個,多普勒頻移為8 Hz、-5 Hz,采樣點延時數(shù)據(jù)為-50、10,通道數(shù)為16,每個通道采樣點數(shù)為163 840,設(shè)定最大雙基地探測距離為4 000 km,采樣率為12 kHz,按照一個完整OFDM符號時間采樣點長度可將各通道采樣點數(shù)劃分為320個載波域復(fù)數(shù)數(shù)據(jù),每個載波共得到512個OFDM符號數(shù)據(jù),這樣監(jiān)測信號可以看成16×320×512的復(fù)數(shù)矩陣。

3.2 結(jié)果分析

表1顯示的是波束形成在不同環(huán)境下的運行時間,其中,未優(yōu)化指的是按照文獻[9]實現(xiàn)波束形成核函數(shù),DBF_1和DBF_2分別代表本文提出的波束形成核函數(shù)的兩種實現(xiàn)方法,其中,DBF_1方法的計時包括矩陣轉(zhuǎn)置所需的時間。對比可以看出,在GPU上進行波束形成即使直接利用CUBLAS函數(shù)庫,所需時間也優(yōu)于Matlab版本的2.9倍,而本文提出的兩種方法在此情景下性能都優(yōu)于直接利用CUBLAS函數(shù)庫計算。此外,對比未優(yōu)化版本與DBF_1的核函數(shù)運行時間,可以看出非連續(xù)合并的內(nèi)存訪問對核函數(shù)性能有較大影響,DBF_1通過轉(zhuǎn)置解決訪存問題對性能有將近2倍的提升,而單從波束形成算法的實現(xiàn)來說,本文提出DBF_2實現(xiàn)方法明顯要優(yōu)于DBF_1,加速比達到了5倍多。

表1 波束形成運行時間對比 ms

表2是ECA?C算法與匹配濾波處理16個通道的數(shù)據(jù)所需的運算時間,其中ECA?C算法與匹配濾波算法在Matlab中的實現(xiàn)也已經(jīng)按照2.2節(jié)、2.3節(jié)所提到的優(yōu)化思路進行優(yōu)化,對比可以看出,ECA?C加速效果良好,達到了25倍,而匹配濾波也有15倍的加速。

表2 雜波抑制與匹配濾波運行時間對比 ms

對于某一維度的OSCFAR,參考單元長度設(shè)置為20,保護單元長度設(shè)置為2,表3顯示的是單張距離多普勒圖經(jīng)過二維OSCFAR所需的運行時間,其中表3中排序指的是按照OSCFAR原始算法對參考單元進行排序在對應(yīng)平臺下的實現(xiàn),而優(yōu)化版本是指根據(jù)2.4節(jié)所提出的不進行排序方法進行的優(yōu)化實現(xiàn)。對比CPU上運行時間,可以看出本文針對OSCFAR算法提出的優(yōu)化方法,在CPU上提升效果不明顯,只有1.17倍的提升,而對比在GPU上的運行時間,優(yōu)化后有140倍的提升,而對比CPU,加速比更是達到1 800倍,說明本文提出的方法能有效提高OSCFAR在GPU上的并行檢測性能。

表3 OSCFAR運行時間對比 ms

圖5為CPU和GPU上運行經(jīng)過整個信號處理流程得到的目標檢測圖,可以看到設(shè)定的兩個目標都被找到,證實了整個信號處理并行方案的有效性。

圖5 CPU和GPU恒虛警檢測判決圖

4 結(jié) 語

本文設(shè)計了基于GPU的OFDM波形外輻射源雷達信號處理整體方案,并對各處理模塊算法在GPU架構(gòu)下的高效實現(xiàn)方法進行了深入研究。在考慮GPU訪存連續(xù)的前提下提出了兩種波束形成實現(xiàn)方案,實現(xiàn)了GPU下結(jié)合OFDM信號特性的雜波抑制方法ECA?C,完善了一種在GPU下的CFAR判決方法。相比于傳統(tǒng)CPU實現(xiàn)方法,本文提出的GPU并行實現(xiàn)方案能有效地減少系統(tǒng)對信號處理所需的時間,對比來說,信號處理中波束形成、直達波抑制、匹配濾波法都有5~25倍的提升,而改進的OSCFAR算法加速比能達到1 800倍,極大地提高了外輻射源雷達系統(tǒng)運行的效率,為實時處理OFDM波形外輻射源雷達提供了可能。

猜你喜歡
輻射源信號處理線程
基于博弈論的GRA-TOPSIS輻射源威脅評估方法
數(shù)字電視外輻射源雷達多旋翼無人機微多普勒效應(yīng)實驗研究
《信號處理》征稿簡則
《信號處理》第九屆編委會
《信號處理》征稿簡則
《信號處理》第九屆編委會
外輻射源雷達直升機旋翼參數(shù)估計方法
淺談linux多線程協(xié)作
基于遷移成分分析的雷達輻射源識別方法研究
基于上下文定界的Fork/Join并行性的并發(fā)程序可達性分析*