999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CUDA架構的混合測向算法研究

2018-05-24 02:32:00
雷達科學與技術 2018年2期

, ,

(1.西安電子科技大學雷達信號處理國家重點實驗室, 陜西西安 710071;2.航天南湖電子信息技術股份有限公司, 湖北荊州 434000)

0 引言

早期雷達進行目標的波達方向估計主要采用數字波束形成(DBF),而DBF的角度分辨率和天線的孔徑成反比,也就是說,為了能夠達到較好的角度分辨率,需要增大雷達天線的陣列孔徑,但當角度分辨率要求很高時,再增大陣列孔徑就難以實現了。對于米波雷達來說,在低仰角區直達波和多徑信號均位于同一波束寬度內,導致無法分辨,最終導致測角模糊[1]。也就是說,采用DBF測角算法簡單、運算速度快,但是只能夠測出目標大致方向,但是測角精度無法滿足雷達系統要求。為了能夠提高測角精度,彌補DBF低仰角區測角不足,學者們研究出了一類子空間擬合算法:最大似然(ML)算法,這種算法在目標信噪比(SNR)較低、快拍數較少的條件下,相比于其他算法而言,可以達到更好的測角性能。但是,ML算法實現過程中,需要進行空域的多維搜索,所以運算量較大。為了減少運算量,學者們對該算法進行了改進,最終形成了合成導向矢量(SVML)算法[2-3]。基于上述DBF和SVML算法的優缺點分析,本文采用DBF算法與SVML算法相結合,先用DBF算法估測出目標大致方位,然后再采用SVML進行精測。即采用DBF算法減少角度搜索范圍,再利用SVML算法在低仰角區的測角優勢,加快測角速率并提高測角精度。

針對測角過程中SVML算法需要進行多維空域搜索,整個計算過程時間復雜度較高這一問題,GPU引入通用計算,通過并行運算提高運算效率[4-5]。相對CPU而言,GPU一方面具有很強的數據并行處理能力,另一方面則具有很高的數據處理帶寬,一經研發便被廣泛應用于通用計算機領域。2006年11月,英偉達公司推出一種新的并行編程模型和指令集架構的通用計算架構CUDA,CUDA架構的一大優勢就是能夠利用GPU的并行計算引擎完成許多復雜任務的計算。它包含一個讓開發者能夠使用C語言作為高級編程語言的軟件環境,使得熟悉標準編程語言的程序員保持一個比較低的學習曲線[1,6]。除此之外,相對CPU而言,GPU將更多的資源用于數據運算,而非緩存和數據流控制,使GPU的浮點計算能力和內存帶寬都遠高于CPU,所以對于密集型以及高度并行化的計算,GPU優勢明顯。本文中將GPU用于目標的波達方向估計,利用GPU特有的CUBLAS矩陣處理庫,提高測角速率,實現數據的實時處理。

1 DBF與SVML算法基本原理

1.1 算法性能分析

圖1為DBF和SVML算法的測角結果對比。通過對實測數據進行仿真分析得到:當來波方向大于2.5°時,兩種算法的誤差均為0.2左右,但當角度小于2.5°時,DBF測角誤差達0.599,而SVML算法測角誤差為0.063。

以上數據驗證了在高仰角區DBF算法和SVML算法均能取得較好的測角效果,但是相對而言,DBF測角算法更簡單、速度更快,所以高仰角區采用DBF算法測角。低仰角區SVML的測角誤差更小、測角精度更高。

具體而言,如圖2和圖3所示,以目標真實仰角分別為5.5°和0.8°為例來進行討論。圖2和圖3均采用的是某目標的實測數據。圖2中目標真實仰角為5.5°。可以看出,當目標在高仰角區時,采用兩種算法均可較為準確地估計其來波方向。從圖2(b)可以看出,SVML的波瓣比DBF更窄,因此相對DBF算法而言,角度分辨率更高一些。圖3中目標的真實仰角為0.8°。從圖3(b)可以看出,SVML的波瓣比DBF更窄。因此,當目標處于低仰角區時,對于DBF算法來說,直達波反射波都處于一個波束寬度內,很難進行分辨,進而導致角度模糊,而SVML算法的波瓣使其對直達波和反射波有更高的分辨率。

基于上述仿真分析可得,在高仰角區直接采用DBF算法進行測角就可以滿足雷達系統的要求,但是在低仰角區測角不能滿足分辨率要求,測角結果出現很大誤差。雖然SVML算法的窄波瓣使其擁有更高的測角精度,但是該算法復雜度高、運算實時性差。所以本文中采用DBF和SVML相結合的混合測角方法,一方面為了提高低仰角區的測角精度,另一方面則是為了提高測角速率。

1.2 DBF算法基本原理

DBF方法是指采用數字信號處理方法,針對某一方向的雷達回波信號,通過對因為傳感器在空間位置的不同而引起的傳播波程差導致的相位差進行補償,最終實現同相疊加,使該方向上接收到的能量最大,形成該方向上的波束,以實現期望信號的接收[7-8]。進一步地,可以通過改變權值來實現波束掃描。在實際工程實現中,因為目標的高度測量只與目標的仰角相關,與方位角無關,所以,數字波束的形成只進行仰維的。另外,工程只為了使波束能夠指向空間的不同方向,可以通過改變陣元權值來實現,然后,分別針對每個入射角θ來計算DBF模值,達到對空域搜索的目的。

陣列輸出信號模型為

Y(t)=W1×NX(t)N×P

(1)

W=[1,ejκdsinθ,…,ejκd(N-1)sinθ]

(2)

式中,W表示導向矢量,X(t)表示經過A/D采樣和數字脈沖壓縮處理后的雷達回波信號,κ=2π/λ表示雷達波數,d表示相鄰陣元間距離,N表示陣元數,P表示脈沖數。假設搜索的仰角范圍為α∈[α1,α2],令α1<α2,入射角θ每隔一定的步進Δθ遍歷搜索[α1,α2],并計算[α1,α1+Δθ,…,α2]對應的幅度值,最大的DBF幅度值對應的α為入射角θ的仰角位置。

1.3 SVML算法基本原理

合成導向矢量(SVML)算法是在ML的基礎上作了一些改進,以提高其測角速率[9-10]。SVML算法的準確性與安放雷達附近的地形息息相關,該算法充分考慮了地形反射系數、目標與雷達的直達距離以及雷達天線的高度等信息[11]。當合理利用雷達附近地形信息對測角結果進行修正,就可以較為準確地計算出目標的波達方向。SVML算法的基本思想是[12-13]:首先,通過采集到的雷達回波信息,對雷達周圍360°方位對應的地形信息進行估計,為后續地形修正做好數據準備;其次,利用等效的球面模型和目標的相關參數信息,一方面,計算得到反射波的角度,另一方面,計算出直達波與反射波的波程差;然后,根據入射角計算得到直達波和反射波的導向矢量,再根據上述得到的反射系數和波程差計算得到合成導向矢量[14];最后,根據計算得到的導向矢量進一步計算得到關于入射角的SVML函數,搜索找出最大譜峰對應的角度,即為所求目標仰角。

根據等效的球面模型計算得到的目標高度ht為

(3)

目標與天線的地心夾角φ及水平距離g為

(4)

g=φ(re+hr)

(5)

綜合式(3)~式(5)得

(6)

式(6)的解為

(7)

(8)

(9)

(10)

得到反射路徑ri1和ri2為

(11)

(12)

式(13)中,Δr為反射路徑ri1和ri2計算得到的反射波與直達波的波程差:

Δr=ri1+ri2-rd

(13)

得反射角θi為

(14)

根據Δr和θi計算得到的合成導向矢量a(θ):

(15)

式中,ad(θ)表示直達波的導向矢量,ai(θ)表示反射波的導向矢量,ρ表示反射系數,常取-0.95。然后,利用a(θ),計算正交投影矩陣P(θ):

P(θ)=a(θ)[aH(θ)a(θ)]-1aH(θ)

(16)

最后,求入射角θ的最大似然函數為

(17)

式中,R為回波信號的自相關矩陣。

需要注意的是,SVML算法與雷達附近地形要求很嚴格,其測角精度也受地形影響嚴重,只有當地形匹配時,也就是對測角結果進行合適的地形修正時,該算法的測角精度才高。因此在使用SVML算法時,建立合適的地形數據是必要的[15]。

2 CUDA編程模型

CUDA編程模型中,主要包含3個重點抽象:線程組層次,即一組線程構成線程塊,一組線程塊構成線程格,實現多層次并行結構;共享存儲器,主要用來實現線程間通信以及加速并行計算;柵欄同步,其主要作用是實現程序流程按照指定順序執行,得到期望結果[16]。根據CUDA線程劃分的特點,可以將復雜問題進行劃分,先劃分為較大且獨立的子問題,在線程塊內執行;然后,將每個子問題劃分為更小的子問題,在線程內進行處理[17];最終,通過多層次并行,實現通用計算加速。

綜上所述,在CUDA編程架構下,一段代碼被分為兩部分進行執行,分別為在CPU上執行的主機代碼和在GPU上執行的設備代碼。通常在主機端將數據進行初始化,數據準備好后,通過PCIE總線復制到設備端完成運算,設備端完成計算后,將計算結果再復制回主機。在整個計算過程中,CPU因為具有很多緩存單元以及流控制單元,主要負責整個算法流程控制,而GPU因為具有很多運算單元,則主要負責一些復雜運算。CUDA編程模型如圖4所示。所有線程同時運行相同的Kernel并根據各自的線程ID接入不同的內存地址進行運算,最終達到并行運算的目的。

接下來介紹整個測角流程。首先,主機端采用相應的內存管理函數為數據分配CPU端所需的內存以及數據在GPU端所需的顯存,并實現數據初始化。數據初始化完畢后,將數據復制到GPU,由設備代碼完成主要計算過程。在GPU上,先進行DBF粗測。為了降低副瓣對測角結果的影響,DBF粗測前進行加窗處理。這里可以采用線程塊索引(blockIdx)來控制測角數目,線程索引(threadIdx)來控制脈沖數,充分利用塊內線程可以相互通信這一特點,加快運算效率。即DBF粗測完成后,得到目標波達方向的大致范圍,接著采用SVML算法進行精測。SVML算法的主要流程如圖5所示,首先要根據地球模型計算反射角和相位差,然后進行最大似然估計,最終找出最大似然值所對應的角度值就是要估計的波達方向。

每個線程計算一個似然值,也就是說,每個線程進行如圖5所示的流程,最終每個線程計算得到一個似然值。即可以采用以下索引方式:

int tid=threadIdx.x+blockIdx.x*blockDim.x;

while(tid

∥ang_num為搜索角度數目

/**根據地球反射模型計算反射角和相位差

/**計算最大似然函數值

tid+=blockDim.x*gridDim.x;}

經過上述分析,可以得出整個測角流程,如圖6所示。

3 仿真結果及分析

本次仿真采用的操作系統為Windows 7 SP1,顯卡是計算能力為2.0的NVIDIA Tesla C2050,該顯卡支持雙精度浮點運算,滿足雷達系統對精度的要求。本文中,為了提高運算精度,數據處理均采用雙精度浮點數。

例如該設計中對某一目標的真實仰角為1.4°,則對應DBF粗測結果如圖7和圖8所示。

從圖7和圖8可以看出,GPU上DBF粗測結果同CPU一致,并且在低仰角區時,波束形成結果相差甚微,所以很難根據波束形成結果確定對應角度,從而出現測角模糊。采用混合測角方法以及GPU并行計算,減小了運算量,加快運算速率。SVML譜圖如圖9和圖10所示。

圖9和圖10分別表示CPU,GPU上生成的SVML譜圖,圖11則是在原值基礎上換算成分貝值得到的。從圖中可以看出,在CUDA平臺上利用GPU進行波達方向估計結果與CPU上估計結果是一樣的,但是通過測量可以發現,兩者的處理速度有很大差別。表1所示為處理相同數據CPU與GPU所用時間對比。

ms

從表1可以看出,GPU比CPU的數據運算效率更高。要說明的是,DBF粗測一欄括號內數字表示總時間0.242 ms內有0.096 ms用于數據傳輸,也就是說,GPU有很大一部分時間都是用在數據傳輸上,所以,在GPU運算過程中,應當盡量減少數據傳輸時間。

4 結束語

實驗表明,通過在GPU上估計來波方向,不僅達到了和CPU上一樣的效果,而且加快了運算速度,提高了運算效率。但是在CUDA程序中,主機與設備之間的數據傳輸會耗費很多時間,所以,可以采用以下3種方法減少傳輸時間。

方法1:盡量減少在主機和設備之間進行數據傳輸,盡量減少傳輸的數據量。

方法2:可以采用紋理存儲器來保存一些地形數據、窗函數、角度搜索表等,可以使用紋理內核函數來讀取紋理存儲器。因為紋理存儲器帶有緩存機制且只讀,所以速度很快。

方法3:可以采用流來實現計算與數據傳輸的重疊,即支持設備重疊功能的GPU能夠在執行一個CUDA C核函數的同時,還能在設備與主機之間執行復制操作。

總的來說,利用CUDA處理數據相比CPU而言,很好地滿足了目前信息處理對高精度、實時性、大數據的要求。

參考文獻:

[1] 董玫. 米波雷達測高算法及應用研究[D]. 西安: 西安電子科技大學, 2008.

[2] SHAN T J, KAILATH T. Adaptive Beamforming for Coherent Signals and Interference[J]. IEEE Trans on Acoustics, Speech and Signal Processing, 1985, 33(3):527-536.

[3] 王布宏, 王永良, 陳輝. 相干信源波達方向估計的加權空間平滑算法[J]. 通信學報, 2003, 24(4):31-40.

[4] 張慶科, 楊波, 王琳, 等. 基于GPU的現代并行優化算法[J]. 計算機科學, 2012, 39(4):304-311.

[5] SABDERS J, KANDROT E. GPU高性能編程CUDA實戰[M]. 聶雪軍, 等譯. 北京: 機械工業出版社, 2011.

[6] 朱偉. 米波數字陣列雷達低仰角測高方法研究[D]. 西安: 西安電子科技大學, 2013.

[7] 吳向東. 米波雷達低仰角測高算法及相關技術研究[D]. 西安: 西安電子科技大學, 2008.

[8] 李娜. 幾種超分辨算法在米波雷達測高中的應用[D]. 西安: 西安電子科技大學, 2013.

[9] 劉張林, 陳伯孝, 楊雪亞, 等. 米波雷達最大似然超分辨測高技術研究[J]. 雷達科學與技術, 2011,9(4):308-310.

[10] 張裕峰. 多徑傳播條件下的波達方向估計算法研究[D]. 合肥: 中國科學技術大學, 2010.

[11] 汪坤. 某米波雷達測高方法的改進及工程實現[D]. 西安: 西安電子科技大學, 2015.

[12] 丁鷺飛, 耿富錄. 雷達原理[M]. 3版. 西安: 西安電子科技大學出版社, 2002.

[13] MAHAFZA B R. 雷達系統分析與設計: MATLAB版[M]. 2版. 陳志杰, 羅群, 沈齊, 等譯. 北京: 電子工業出版社, 2008.

[14] 胡曉琴, 陳建文, 王永良. 米波雷達測高多徑模型研究[J]. 電波科學學報, 2008, 23(4):651-657.

[15] 吳順君, 梅曉春. 雷達信號處理和數據處理技術[M]. 北京: 電子工業出版社, 2008.

[16] 吳志輝, 徐小紅, 朱同林. 基于CUDA的直方圖問題并行優化[J]. 現代計算機, 2015(13):58-61.

[17] 劉星, 孫文君, 曹雅楠, 等. 基于GPU的異構并行環境下程序優化策略研究[J]. 湖北第二師范學院學報, 2010, 27(8):88-91.

主站蜘蛛池模板: 狠狠色丁婷婷综合久久| 亚洲天堂高清| 日韩一区精品视频一区二区| 国产欧美日韩另类精彩视频| 亚洲一区毛片| 高清视频一区| 制服丝袜在线视频香蕉| 中文字幕亚洲电影| 欧美日韩资源| 91福利一区二区三区| 色亚洲激情综合精品无码视频 | 欧美一区精品| 久久精品aⅴ无码中文字幕| 日韩欧美国产精品| 国产女人在线| 国产成人精品第一区二区| 久久久久国色AV免费观看性色| 国产网站免费看| 亚洲国产午夜精华无码福利| 国产福利拍拍拍| 亚洲天堂2014| 小蝌蚪亚洲精品国产| 国产人成在线观看| а∨天堂一区中文字幕| 在线免费亚洲无码视频| 国产在线专区| 亚洲高清中文字幕在线看不卡| 久热中文字幕在线| 福利在线不卡一区| 亚洲精品久综合蜜| 亚洲综合色区在线播放2019| 亚洲天堂区| jizz国产视频| 伊人激情综合网| 欧美成人午夜在线全部免费| 91无码视频在线观看| 国产视频入口| 国产成人综合久久精品尤物| 欧美国产日产一区二区| 国产福利在线观看精品| 欧美曰批视频免费播放免费| 国产不卡一级毛片视频| 色天堂无毒不卡| 国产大片喷水在线在线视频| 99热这里只有免费国产精品| 九九这里只有精品视频| 中文字幕一区二区视频| 精品无码日韩国产不卡av| 国产精品无码翘臀在线看纯欲| 成人综合在线观看| 国产情侣一区| 伊人无码视屏| 亚洲精品成人7777在线观看| 亚洲性一区| 亚洲高清资源| 免费无码又爽又刺激高| 国产精品免费入口视频| 亚洲性日韩精品一区二区| 99免费视频观看| 亚洲国产午夜精华无码福利| 亚洲精品黄| 国产成人精品高清不卡在线 | 一级爱做片免费观看久久| 熟女成人国产精品视频| 国产精品女熟高潮视频| 亚洲欧美极品| lhav亚洲精品| 91在线国内在线播放老师| 亚洲精品无码在线播放网站| 白丝美女办公室高潮喷水视频| 国产在线97| 欧美国产日产一区二区| 欧美在线国产| 911亚洲精品| 国产三级国产精品国产普男人| 亚洲欧美不卡中文字幕| 粉嫩国产白浆在线观看| 国产精品久久久久久久伊一| 国产成人一区在线播放| 91丝袜乱伦| 欧美日韩激情| 久久亚洲国产视频|