汪高武
( 中船重工第七一六研究所,連云港 222006)
聲納是潛艇隱蔽作戰(zhàn)最重要的水聽設(shè)備,波束形成是聲吶信號(hào)處理的主要組成部分,無論是被動(dòng)聲吶還是主動(dòng)聲吶,都要有波束形成系統(tǒng)。波束形成算法是數(shù)據(jù)密集型的算法,在雷達(dá)、聲納信號(hào)處理系統(tǒng)中,通常采用DSP 軟件編程實(shí)現(xiàn)。DSP 通過使用超長(zhǎng)指令字和單指令多數(shù)據(jù)體系開發(fā)了指令集并行提高DSP 的執(zhí)行效率,但DSP 主要用于單信號(hào)處理器的設(shè)計(jì),硬件上不支持多DSP 通訊協(xié)議。因此難以應(yīng)用于波束形成網(wǎng)絡(luò)的設(shè)計(jì)與實(shí)現(xiàn)。
隨著電子技術(shù)的發(fā)展,基于可編程器件的可重構(gòu)計(jì)算系統(tǒng)誕生了??芍貥?gòu)計(jì)算兼具定制計(jì)算的靈活性與通用計(jì)算的高效性,是一種全新的計(jì)算方式??芍貥?gòu)計(jì)算系統(tǒng)包含豐富的可重構(gòu)處理單元( RPU)和數(shù)量有限的DSP 單元,并且系統(tǒng)具有良好的擴(kuò)展能力,可以訂制RPU 發(fā)布/收集來自每個(gè)附加DSP 的數(shù)據(jù),適合于大規(guī)模的波束形成網(wǎng)絡(luò)的設(shè)計(jì)和實(shí)現(xiàn)。
本文研究自適應(yīng)波束形成在可重構(gòu)計(jì)算系統(tǒng)上的設(shè)計(jì)與實(shí)現(xiàn),設(shè)計(jì)了波束形成器引擎。通過調(diào)用自適應(yīng)波束形成器引擎,在可重構(gòu)計(jì)算系統(tǒng)上訂制所需規(guī)模的波束形成網(wǎng)絡(luò)。
可重構(gòu)計(jì)算這一概念早在20 世紀(jì)60年代就已被提出[1],通過多路選擇器控制不同計(jì)算部件之間的數(shù)據(jù)傳輸通路,從而可以使用相同的硬件平臺(tái)完成不同的計(jì)算任務(wù),達(dá)到計(jì)算資源重用的目的?;赟RAM 的FPGA 的問世標(biāo)志著現(xiàn)代可重構(gòu)計(jì)算技術(shù)的開端,并極大地推動(dòng)了其發(fā)展。目前研究的可重構(gòu)計(jì)算是指從20 世紀(jì)80年代開始,通過在計(jì)算平臺(tái)中加入一些擁有編程能力的特殊硬件,并且在其上面定制不同的電路用以對(duì)不同的計(jì)算任務(wù)進(jìn)行優(yōu)化,提高整個(gè)平臺(tái)的計(jì)算性能[2]。
可重構(gòu)計(jì)算提供了時(shí)空域上的計(jì)算方式[3],允許在系統(tǒng)的柔性和執(zhí)行速度之間進(jìn)行折中,打破了傳統(tǒng)的硬件和軟件之間的劃分界線,提供了更高的計(jì)算能力和執(zhí)行速度,如圖1所示??芍貥?gòu)計(jì)算在不降低系統(tǒng)的執(zhí)行速度的基礎(chǔ)上,使用了運(yùn)行期間可被配置的硬件為系統(tǒng)提供更大柔性。利用可重構(gòu)計(jì)算系統(tǒng)的自適應(yīng)性可以開發(fā)細(xì)粒度或粗粒度的并行算法,在可重構(gòu)計(jì)算系統(tǒng)上開發(fā)算法的并行性可以獲得比傳統(tǒng)的微處理器更高的算法執(zhí)行效率。硬件的可配置性允許為特定計(jì)算定制硬件,以獲得比軟件執(zhí)行更高的計(jì)算速度。復(fù)雜的功能可以被映射到體系結(jié)構(gòu)中以提高硅芯片的利用率,并且避免取指和訪存等瓶頸。另外,可重構(gòu)計(jì)算與通用處理器、工作站甚至巨型計(jì)算機(jī)相比,在速度上都有無可比擬的優(yōu)越性,而且它的體積小、功耗小,成本相對(duì)很低,具有極高的可靠性和性價(jià)比。
圖1 可重構(gòu)計(jì)算帶來的柔性并行模式
潛艇、艦船、魚雷等水下目標(biāo)在航行或作業(yè)時(shí),推進(jìn)器和各種機(jī)械都在工作,它們產(chǎn)生的振動(dòng)通過船體向水中輻射的聲波就是目標(biāo)輻射噪聲,輻射噪聲是被動(dòng)系統(tǒng)賴以探測(cè)、跟蹤水下目標(biāo)信號(hào)。
基陣L 上的N 個(gè)陣元都是全向的,遠(yuǎn)場(chǎng)R 中有M 個(gè)頻率為f0、互不相關(guān)的正弦點(diǎn)源。遠(yuǎn)場(chǎng)R 和基陣( 接收換能器陣)L 都位于同質(zhì)介質(zhì)( 海洋環(huán)境)中,將陣元從1 到n 編號(hào),并以位于坐標(biāo)原點(diǎn)的陣元1 作為時(shí)間參考點(diǎn),如圖2 所示。
圖2 坐標(biāo)系的定義
遠(yuǎn)場(chǎng)R 中,有方位為( θi,φi)的第i 個(gè)點(diǎn)源形成的平面波,該平面波到達(dá)第l 個(gè)陣元所花費(fèi)的時(shí)間比其到達(dá)坐標(biāo)原點(diǎn)所花費(fèi)的時(shí)間多出:
其中:Rl是第l 個(gè)陣元的位置向量;( θi,φi)是方位( θi,φi)上的單位向量;c 是平面波前的傳播速度;·代表向量?jī)?nèi)積運(yùn)算。對(duì)于在x 軸上均勻等間距( 間距為d)排列、第一個(gè)陣元位于坐標(biāo)系原點(diǎn)的線性基陣,上述公式變?yōu)?/p>
遠(yuǎn)場(chǎng)R 中第i 個(gè)點(diǎn)源在坐標(biāo)原點(diǎn)處的參考陣元上產(chǎn)生的信號(hào),用復(fù)數(shù)形式的表達(dá)式表述為
其中si( t)代表調(diào)制函數(shù)。設(shè)平面波到達(dá)第l 個(gè)陣元所花費(fèi)的時(shí)間比其到達(dá)參考陣元所花費(fèi)的時(shí)間提前了τl( θi,φi)秒,則遠(yuǎn)場(chǎng)R 上的第i 個(gè)點(diǎn)源在基陣L 的第l 個(gè)陣元上產(chǎn)生的信號(hào)為
海洋環(huán)境噪聲是水聲系統(tǒng)工作的主要背景噪聲,工程上用高斯白噪聲表示。計(jì)算機(jī)模擬產(chǎn)生的海洋環(huán)境噪聲是一個(gè)高斯分布的白噪聲序列,其方差由水聲系統(tǒng)工作頻率處的環(huán)境噪聲級(jí)確定。
設(shè)xl( t)表示遠(yuǎn)場(chǎng)R 中的所有點(diǎn)源和海洋環(huán)境背景噪聲在基陣L 中第l 個(gè)陣元上產(chǎn)生的總信號(hào),則
其中,nl( t)是在第l 個(gè)陣元上產(chǎn)生的均值為0,方差為的白噪聲。若基陣陣元不是全向的,則一個(gè)點(diǎn)源在各個(gè)陣元上產(chǎn)生的信號(hào)值將隨著點(diǎn)源方向的變化而變化。
當(dāng)聲納水聽器陣列接受系統(tǒng)陣元空間布好之后,無論什么形狀的基陣,在空間布設(shè)好之后,我們可以找到一個(gè)參考點(diǎn),建立球坐標(biāo),并推導(dǎo)出與之相關(guān)的波束指向性函數(shù)。設(shè)信號(hào)的輸入方向?yàn)? θi,φi),如果保持信號(hào)的強(qiáng)度不變,那么這個(gè)系統(tǒng)的輸出D( θi,φi)就是反應(yīng)了它對(duì)不同信號(hào)的靈敏度,D( θi,φi)就是基陣系統(tǒng)的指向性函數(shù)。如果D( θi,φi)在( θi=θ0,φi=φ0)取得極大值,則稱D( θi,φi)/D( θ0,φ0)為歸一化指向性函數(shù)。指向性函數(shù)是聲吶系統(tǒng)的最基本的特征之一。指向性函數(shù)不僅與基陣形狀有關(guān),還與入射信號(hào)的方向有關(guān)。
從直觀上來說,指向性函數(shù)的概念表達(dá)了基陣和波束形成系統(tǒng)的這樣一種能力[4]:
1)把信號(hào)集中于某一方向;
2)抑制其他方向來的干擾和噪聲。
平面波以角度θ 入射到N 元等間距直線陣,可以推導(dǎo)出該系統(tǒng)的歸一化自然指向性函數(shù)為
D( θ)表明,一個(gè)多元陣輸出幅度大小隨信號(hào)入射角而變化。遠(yuǎn)場(chǎng)R 中的M 個(gè)點(diǎn)源形成的平面波,在基陣的各個(gè)陣元上均產(chǎn)生M 個(gè)信號(hào)迭加,而各個(gè)陣元上信號(hào)迭加后輸出的結(jié)果不同,一般不能形成同相相加或得到最大的輸出。對(duì)于上述直線陣來講,只有來波方向得到最大輸出。然而,任意陣形的陣經(jīng)過適當(dāng)?shù)奶幚?,可以在預(yù)定方向得到最大輸出,這就是基陣具有方向性的原理。
多個(gè)波束形成器組成波束形成網(wǎng)絡(luò),實(shí)現(xiàn)對(duì)多個(gè)目標(biāo)的跟蹤,由m 個(gè)波束形成器、每個(gè)波束形成器有n 各水聽器組成的波束形成網(wǎng)絡(luò)可以表示為
波束形成器的重構(gòu)引擎用于在可重構(gòu)計(jì)算系統(tǒng)上構(gòu)建波束形成網(wǎng)絡(luò)的一個(gè)節(jié)點(diǎn),其本質(zhì)是一個(gè)IP 核配置文件??芍貥?gòu)計(jì)算系統(tǒng)采取以下設(shè)計(jì)思路來實(shí)現(xiàn)數(shù)字波束形成網(wǎng)絡(luò)的重構(gòu)控制:首先,聲納顯控臺(tái)通過專門配置信道向可重構(gòu)信息處理系統(tǒng)發(fā)出控制指令;然后聲納顯控臺(tái)調(diào)用磁盤陣列上的波束形成IP 核、權(quán)系數(shù)優(yōu)化準(zhǔn)則IP 核,并且輸入配置參數(shù)( 如波束形成網(wǎng)絡(luò)的載荷等信息),通過配置信道發(fā)送這些IP 核與配置參數(shù)。可重計(jì)算系統(tǒng)接受IP 核文件并存儲(chǔ)在合適的存儲(chǔ)空間,由微控制單元完成自適應(yīng)波束形成器電路的定制。繼重構(gòu)完成后,通過配置信道廣播發(fā)送配置“完成”信號(hào),通知聲納顯控臺(tái)。該設(shè)計(jì)思路的關(guān)鍵技術(shù)和難點(diǎn)主要是波束形成IP 核和權(quán)系數(shù)優(yōu)化準(zhǔn)則IP 核的設(shè)計(jì)。
常規(guī)波束形成模塊要求處理速度快、數(shù)據(jù)率高、易于實(shí)現(xiàn),一般只要加權(quán)求和,而不需要計(jì)算復(fù)雜的算法;自適應(yīng)算法模塊所要求的計(jì)算量大,實(shí)現(xiàn)起來較復(fù)雜。據(jù)此,常規(guī)波束形成模塊由DSP 功能單元( 可重構(gòu)計(jì)算系統(tǒng)上提供了豐富的DSP slice)構(gòu)建,自適應(yīng)算法模塊由RPU 構(gòu)建。自適應(yīng)算法模塊僅以最小均方誤差算法為例說明權(quán)系數(shù)優(yōu)化準(zhǔn)則IP 核的設(shè)計(jì)。
如圖3 所示,整個(gè)自適應(yīng)波束形成器分為兩大模塊: 權(quán)系數(shù)優(yōu)化模塊和波束形成模塊。權(quán)系數(shù)優(yōu)化模塊通過調(diào)用最小均方誤差I(lǐng)P、最小信噪比IP、最大似然IP、最小噪聲方程IP 對(duì)RPU 區(qū)域重構(gòu),實(shí)現(xiàn)自適應(yīng)算法的切換。波束形成模塊由控制器、雙端口RAM 和FIR 濾波器組成。
1)控制模塊
整個(gè)系統(tǒng)有兩個(gè)控制模塊: 頂層控制模塊、存儲(chǔ)控制模塊。頂層控制模塊的功能包括:產(chǎn)生系統(tǒng)時(shí)鐘控制信號(hào)并觸發(fā)各模塊的啟動(dòng)、初始化各模塊、產(chǎn)生控制信號(hào)并控制各個(gè)模塊完成特定功能、協(xié)調(diào)各個(gè)模塊的操作。如圖4 所示。
存儲(chǔ)控制模塊的功能包括:為自適應(yīng)算法模塊和雙端口RAM 模塊提供使能信號(hào),產(chǎn)生存儲(chǔ)器讀/寫地址。如圖5所示。
圖5 同步控制模塊
2)雙端口RAM 模塊
聲納水聽器基陣接受的信號(hào)經(jīng)A/D 轉(zhuǎn)換后,采樣所得的數(shù)字信號(hào)存儲(chǔ)在雙端口RAM 模塊中;另外,權(quán)系數(shù)優(yōu)化模塊產(chǎn)生的自適應(yīng)權(quán)重向量也存儲(chǔ)于雙端口RAM 模塊中。FPGA 芯片上有豐富的存儲(chǔ)資源,并以原語模板的方式供給用戶編程使用。
3)FIR 濾波器模塊
每個(gè)基陣有n 個(gè)水聽器,則基陣接受的信號(hào)為
其中
基陣的權(quán)值向量W 由自適應(yīng)算法模塊生成
其中
則一個(gè)平板陣輸出的信號(hào)為
從式(12)可以看出,波束形成器是利用高速時(shí)鐘來驅(qū)動(dòng)復(fù)數(shù)乘加器,實(shí)現(xiàn)對(duì)陣元信號(hào)的處理。每路陣元輸入信號(hào)是對(duì)水聽器接受信號(hào)進(jìn)行下變頻處理后的輸出基帶分量。一個(gè)11 元線陣的數(shù)字波束形成器需要完成44 個(gè)乘法和42 個(gè)加法運(yùn)算。FIR 濾波器主要組件包括:加法器、乘法器、存儲(chǔ)器和時(shí)延元素。FPGA 協(xié)處理器上的DSP48 slice 包含了上述所有元素,因此DSP48 slice 是實(shí)現(xiàn)FIR 濾波器的理想組件。
FIR 濾波器模塊有兩個(gè)輸入端口,一個(gè)端口接受來自一個(gè)聲納水聽器的輸入信號(hào)xm,另一個(gè)端口接受自適應(yīng)權(quán)值產(chǎn)生模塊輸出的權(quán)值wm,它們都是復(fù)數(shù),因此乘積也是復(fù)數(shù)形式:xmr×wmr,xmi×wmi,xmr×wmi,xmi×wm,前兩項(xiàng)的差為乘積結(jié)果的實(shí)數(shù)部分,后兩項(xiàng)的和為乘積結(jié)果的虛數(shù)部分。在Xilinx ISE 平臺(tái)上用一片DSP48 Slice 實(shí)現(xiàn)乘法器生成的RTL如圖6。
圖6 Xilinx ISE 環(huán)境下乘法器綜合后的RTL
4 片DSP48 Slice( 分別實(shí)現(xiàn)上述xmr×wmr,xmi×wmi,xmr×wmi,xmi×wmr四個(gè)乘法)可以組成一個(gè)復(fù)數(shù)乘法器,用并行加法樹或串行累加運(yùn)算,最終形成濾波器的輸出。
自適應(yīng)算法的功能是產(chǎn)生并調(diào)整舷側(cè)三元子陣各陣元的權(quán)值,使波束形成陣列對(duì)期望信號(hào)有效接受,對(duì)干擾信號(hào)盡量抑制。最小均方自適應(yīng)算法( least mean square,LMS)較其他自適應(yīng)算法具有結(jié)構(gòu)簡(jiǎn)單,計(jì)算量小,易于實(shí)現(xiàn)等特點(diǎn)。目前,LMS 算法被廣泛用于估計(jì)波束形成基陣的優(yōu)化權(quán)系數(shù)。LMS 算法是在已知期望信號(hào)d 的條件下,利用隨機(jī)梯度法最小化誤差e( k)
從而得到權(quán)向量的迭代公式
其中,μ 為步長(zhǎng)因子,它決定了算法的收斂速度。在可重構(gòu)信息處理平臺(tái)上,利用RPU 開發(fā)LMS 算法,如圖7 所示。
波束形成IP 核由兩片DSP48 分別完成信號(hào)的實(shí)部與虛部的處理?,F(xiàn)以一片DSP48 為對(duì)象,進(jìn)行典型信號(hào)跟蹤性能仿真,在System Generator 環(huán)境下其仿真框圖如圖8 所示。
遠(yuǎn)場(chǎng)點(diǎn)源發(fā)出的離散脈沖信號(hào)如圖9 所示,單片F(xiàn)IR 濾波器與寄存器組成的系統(tǒng)輸出結(jié)果信號(hào)如圖9( b)所示。從圖9 可以看出,原始信號(hào)與系統(tǒng)輸出的信號(hào)之間:圖9( a)信號(hào)強(qiáng)度有損失,圖9( b)信號(hào)存在時(shí)延。仿真結(jié)果驗(yàn)證了系統(tǒng)功能的正確性。
圖10 是Xilinx ISE 平臺(tái)上,經(jīng)綜合、布線后,系統(tǒng)分析硬件芯片的使用情況報(bào)告。
本文通過可重構(gòu)計(jì)算技術(shù),實(shí)現(xiàn)對(duì)波束形成網(wǎng)絡(luò)載荷的靈活控制。設(shè)計(jì)并實(shí)現(xiàn)了波束形成器的IP 核,通過仿真驗(yàn)證了方案的正確性與可行性。
[1]Estrin G,Bussel B,Turn R,et al. Parallel Processing in a restructurable computer system[J]. In IEEE Trans Elect Comput,1963:747-757.
[2]沈英哲.可重構(gòu)計(jì)算系統(tǒng)中軟硬件代碼劃分技術(shù)研究[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué),2007.
[3]Kathering Compton,Scott Hauck. Reconfigurable Computing:A Survey of Systems and Software[J].ACM Computing Surveys.2002,34(2):171-210.
[4]田坦,劉國(guó)枝,孫大軍.聲納技術(shù)[M].哈爾濱:哈爾濱工程大學(xué)出版社,2000.