黃慧,汪飛,夏偉杰,王靜嬌,楊成
(南京航空航天大學(xué) 電子信息工程學(xué)院,南京210016)
成像聲納[1-6]往往工作在近場。在近場范圍內(nèi),聲波近似為球面波,指向性是距離的函數(shù),所以必須作近場聚焦進行校正[7-11]。本文采用所有波束都聚焦的方法,提前計算好聚焦在不同距離的補償相位并存儲在存儲器中,以供波束形成時調(diào)用。近場聚集多波束形成示意圖如圖1所示。
根據(jù)參考文獻[11],近場條件為:
其中,λ為波長,R為圓陣的半徑。
以聚焦在R0距離(R0為聚焦面到圓心的距離)、波束預(yù)成方向為θi為例,均勻半圓陣由180 個相同的陣元構(gòu)成。波束輸出可表示成:
圖1 近場聚集多波束形成示意圖
其中,xk(t)是第k個水聽器在時刻t時的信號。ω0是輸入信號的角頻率,為了獲得較高的分辨率,參考國外同類產(chǎn)品的指標,采用了較高的信號發(fā)射頻率450kHz。N 是形成一個波束所采用的陣元數(shù),本文中取為91。Ak是第k個水聽器的幅度加權(quán)系數(shù),采用余弦平方加權(quán)來抑制旁瓣:
τk是第k個水聽器相對于接收陣圓心的延時,φk是為了在θi方向形成波束,第k個水聽器需要補償?shù)南辔弧?/p>
根據(jù)余弦定理有:
其中rk為聚焦點到第k個陣元的距離。
將上式對R 在0點進行泰勒級數(shù)展開,可以將rk簡化為:
則第k個陣元相對于圓心的延時為:
其中c為水中聲速,R 為圓陣的半徑,為了避免出現(xiàn)方位角模糊現(xiàn)象[12],取0.12m。
在允許主瓣方向有0.001°誤差、旁瓣電平小于-14 dB和主瓣寬度不大于1°的情況下需要7個聚焦面就能完成近場(r<18m)范圍的波束形成,聚焦距離1~18m(1 m 以內(nèi)為盲區(qū),不考慮),焦面之間的距離不是均勻的,而是隨著聲源距離的增加而增加。
以基陣所處位置為圓心,目標所處位置用(距離,方位)來表示。假設(shè)聲源位于(1m,45°),選取不同聚焦面對波束形成的影響如圖2所示,其中理想情況下,采用與實際所處位置相同的聚焦距離(1.1m)進行聚焦時的1#波束方向圖,其波束指向為45°,主瓣寬度為0.901 0°,旁瓣電平為-14.47dB。聲納系統(tǒng)實際工作情況下,按照上述8個聚焦面對實際距離進行近似選取,采用1.05m 聚焦時的1#波束方向圖。兩種情況下的波束方向圖吻合得很好,因此雖然只取了7個聚焦面做近場波束形成,但對波束形成的效果影響不大,卻可以大大提高系統(tǒng)資源的利用效率。
圖2 聚集波束形成的1#波束方向圖
數(shù)字多波束形成(DBF)主要完成復(fù)數(shù)乘法和復(fù)數(shù)加法運算,每路輸入信號為經(jīng)過下變頻后輸出的基帶I/Q 分量。采用91個陣元的單波束DBF 要完成實數(shù)的364個乘法和363個加法運算,而在FPGA 里影響計算速度和資源消耗的主要是乘法器。若僅采用并行處理方法,產(chǎn)生540個波束需要540×91×4=196 560個乘法器,需要消耗大量的乘法器資源,在一片F(xiàn)PGA 上實現(xiàn)不了。另一方面,單通道數(shù)據(jù)輸入波束形成器的速度為30kHz,而FPGA 的芯片處理速度通??蛇_幾百兆,因此可以利用FPGA 的高速性能,充分利用乘法器資源,通過時分復(fù)用乘法器(TDM)實現(xiàn)多通道數(shù)據(jù)多系數(shù)乘法運算。采用90個波束91個系數(shù)共用一個乘法器,實現(xiàn)8 190倍復(fù)用,產(chǎn)生540個波束所需乘法器的數(shù)量減少到24。
數(shù)字多波束形成分為6個模塊,每個模塊采用同一組加權(quán)系數(shù)產(chǎn)生90個波束,如圖3所示。
圖3 DBF整體功能框圖
beam1~beam6模塊功能相同,唯一的區(qū)別是輸入加權(quán)矢量數(shù)據(jù)不同,因此以beam1 模塊為例說明其FPGA實現(xiàn)過程?;贔PGA 的多波束形成器由存儲模塊、控制模塊、乘法累加模塊等幾部分實現(xiàn),系統(tǒng)的組成結(jié)構(gòu)框圖如圖4所示。
前端處理后的數(shù)據(jù)采用乒乓操作實現(xiàn)數(shù)據(jù)不間斷的寫入和輸出,實部數(shù)據(jù)和虛部數(shù)據(jù)使用獨立的雙端口RAM 存儲,如圖4中實部RAM1和虛部RAM2。因為需要緩沖的數(shù)據(jù)為180通道上的16位數(shù)據(jù),所以乒乓RAM的容量應(yīng)為所需要緩沖數(shù)據(jù)的2倍,即16×180×2×2=11.25Kb。
圖4 波束形成FPGA實現(xiàn)功能模塊
乒乓RAM 的寫地址以180 為周期計數(shù),即信號X[1,1],X[2,1],…,X[179,1],X[180,1]寫入乒乓RAM的地址0~179;信號X[1,2],X[2,2],…,X[179,2],X[180,2]寫入乒乓RAM 的地址180~359(原來地址基礎(chǔ)上+180);再接下來信號X[1,3],X[2,3],…,X[179,3],X[180,3]寫入乒乓RAM 的地址0~179,覆蓋之前的數(shù)據(jù),以此類推。其中X[m,t](1≤m≤180,t≥1)表示第m 個陣元的時間軸上第t個復(fù)信號。
乒乓RAM 的讀順序比較特殊:為了加速和節(jié)約乘法器資源,用4個實數(shù)乘法器來實現(xiàn)90個波束91個系數(shù)的復(fù)用,所以讀時鐘是寫時鐘的90×91/180=45.5倍。讀順序如下:讀取0~99地址單元的信號數(shù)據(jù)用于產(chǎn)生1#波束,然后讀取1~100地址單元的信號數(shù)據(jù)用于產(chǎn)生7#波束……讀取88~187地址單元的信號數(shù)據(jù)用于產(chǎn)生529#波束,最后讀取89~188地址單元的信號數(shù)據(jù)用于產(chǎn)生535#波束。讀完這些數(shù)據(jù)之后正好下一時刻的信號數(shù)據(jù)已寫入180~359地址單元,此時在上述讀地址的基礎(chǔ)上加180后,讀取數(shù)據(jù)用于產(chǎn)生下一時刻的540個波束數(shù)據(jù),循環(huán)往復(fù)。
片內(nèi)ROM 存儲波束加權(quán)系數(shù)矢量,6個波束形成模塊使用各自的系數(shù)ROM。其讀時鐘與乒乓RAM 相同,讀地址相對比較簡單,重復(fù)地址0~90,根據(jù)數(shù)據(jù)點位置確定該調(diào)用哪個聚焦面的加權(quán)系數(shù)矢量。
控制模塊產(chǎn)生讀寫地址信號和控制信號,對乒乓RAM 和系數(shù)ROM 的讀寫地址的控制按照上文所述內(nèi)容設(shè)計;控制信號部分主要是產(chǎn)生控制運算部分和存儲部分的運行使能控制信號。
信號數(shù)據(jù)與對應(yīng)的加權(quán)數(shù)據(jù)讀取出之后以270M 的速率串行進入乘法累加模塊。其中復(fù)數(shù)相乘是其中最重要的運算操作。假設(shè)第i接收通道的信號表示為:
其對應(yīng)加權(quán)系數(shù)矢量中第i個系數(shù)表示為:
則相乘之后得到:
首先,1~91通道的數(shù)據(jù)串行進入乘法累加器,進行91次復(fù)乘和90次復(fù)加之后,得到一個包含實部和虛部的波束數(shù)據(jù);之后,2~92 通道的數(shù)據(jù)進入乘法累加器,得到第二個波束數(shù)據(jù)。如此,形成90個波束,只需要一個復(fù)數(shù)乘法器,即4個實數(shù)乘法器。
乘法累加采用Xilinx的IP核實現(xiàn),如圖5所示,其中各個參數(shù)的含義如表1所列。
圖5 乘法累加器IP核
表1 乘法累加IP核各參數(shù)含義
通過控制BYPASS信號來控制乘法累加過程:當(dāng)濾波后數(shù)據(jù)和加權(quán)系數(shù)有效時,使BYPASS維持一個周期的高電平后變?yōu)榈碗娖剑嫈?shù)100 周期后再次變?yōu)楦唠娖?,開始下一個波束數(shù)據(jù)的計算,因此BYPASS的周期為1.35 MHz。
波束數(shù)據(jù)輸出速率為2.7 MHz,對應(yīng)著單個波束輸出速率為30kHz,計算結(jié)果與MATLAB仿真結(jié)果一致。各個波束實部和虛部輸出后,通過乘法運算得到波束的模平方。
信號從基陣90°方向射向基元,1?;?80?;邮盏叫盘枺ㄟ^基元與波束點的延遲,得到各基元處的信號。180個基元的信號同時采集,一個周期采集4 個點,采集到的數(shù)據(jù)作為標準信號源。系統(tǒng)設(shè)計時,將標準信號源數(shù)據(jù)存在信號處理單元。系統(tǒng)運行過程中,如果信號處理單元接收到使用標準信號源的命令,就讀出標準信號源數(shù)據(jù)進行濾波抽取和多波束形成運算。將系統(tǒng)的波束輸出結(jié)果與MATLAB仿真結(jié)果對比,可檢測系統(tǒng)是否工作正常。
圖6所示為Chipcsope采集到的采用標準信號源測試時某個時刻的540個波束的波束值,具有良好的指向性。
圖6 Chipscope驗證標準信號源測試
圖7所示為實際系統(tǒng)采用標準信號源測試,將波束數(shù)據(jù)通過千兆網(wǎng)上傳至PC 機得到的顯示圖像,為90°方向上的一條亮條紋。
圖7 標準信號源測試圖像
本文提出的改進算法只需要6組加權(quán)系數(shù)矢量即可產(chǎn)生540個波束,有效降低了對存儲資源的要求。通過乒乓操作實現(xiàn)了不間斷的數(shù)據(jù)輸入/輸出,以及流水并行處理,能夠?qū)崿F(xiàn)實時處理。通過多通道多系數(shù)復(fù)用技術(shù),將乘法器資源使用量降低到24個,大大節(jié)省了FPGA 的硬件資源。數(shù)字多波束形成所使用的FPGA 資源僅僅使用了整個芯片資源的一小部分,為成像聲納系統(tǒng)其余模塊的實現(xiàn)提供了很大的空間。
本文提出一種利用FPGA 實現(xiàn)高速多通道的多波束形成方法。通過乒乓操作、流水并行處理提高速度;通過多通道多系數(shù)復(fù)用乘法器和模塊復(fù)用技術(shù),僅采用24個乘法器完成180通道數(shù)據(jù)的540個波束實時產(chǎn)生,有效降低了FPGA 資源利用量,適用于工程上實現(xiàn)多波束形成系統(tǒng)。
編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。
[1]揚長根,張殿倫.基于FPGA 的聲成像算法研究與實現(xiàn).[D].哈爾濱:哈爾濱工程大學(xué),2009.
[2]王曉峰,桑恩方,卞紅雨,等.96通道圖像聲納測試系統(tǒng)的設(shè)計[J].電子測量技術(shù),2008(9):54-57.
[3]高群福,陳星,程越.基于FPGA 的DDR SDRAM 控制器設(shè)計與實現(xiàn)[J].電子測量技術(shù),2011(8):56-59.
[4]王海軍.多波束形成算法和硬件實現(xiàn)研究[D],西安:西北工業(yè)大學(xué),2007.
[5]徐祥,蔣哲,王威廉.基于FPGA 的高速數(shù)據(jù)采集、緩存與處理系統(tǒng)[J].電子測量技,2013(4):68-71.
[6]張岳.高速視頻光纖傳輸系統(tǒng)[J].電子測量技術(shù),2012(9):74-76.
[7]Moritz N.Time and Frequency Domain SONAR Beamforming in the Near-Field[D].Karlsruhe:University of Applied Sciences,2007.
[8]諶穎,葉青華,黃海寧.采用分級聚焦波束形成的快速聲成像算法[J].應(yīng)用聲學(xué),2008,27(3):207-211.
[9]Chen P Tian X,Chen Y W.Optimization of the Digital Near-Field Beamforming for Underwater 3-D Sonar Imaging System[J].IEEE Transactions on Instrumentation and Measurement,2010,59(2).
[10]Moritz N.Time and Frequency Domain SONAR Beamforming in the Near-Field[D].Karlsruhe:University of Applied Sciences,2007.
[11]丁峰.水下目標三維聲成像仿真研究[D].哈爾濱:哈爾濱工程大學(xué),2008:24-27.
[12]吳矗,陳輝.兩種均勻圓陣角度模糊特性分析[J].空軍雷達學(xué)院學(xué)報,2011,25(2):91-96.