劉毅 程錦房 肖大為 何光進
(海軍工程大學兵器工程系,武漢 430033)
對于需要在水下長時間工作的聲信號檢測系統,通常采用電池供電,因而往往要求元器件具有較低功耗,以延長系統的運行時間。在 FPGA芯片、DSP芯片、單片機中,FPGA芯片具有低功耗和高運算速度的特性,因而更適合用于水下系統。
MUSIC算法是一個可用于波達方向(DOA)估計的經典算法,其中包含一些不規則運算步驟,它們在FPGA中不易實現,鑒于此,本文將在基于FPGA系統中運用實用改進化的MUSIC算法判斷水聲信號源的方位。
現場可編程門陣列(Field-Programmable Gate Array, FPGA)是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物,具有更高的集成度、更強的邏輯實現能力和更好的設計靈活性[1]。FPGA是由許多可編程邏輯塊組成的數字集成電路,這些邏輯塊之間用可配置的互連資源連接,用戶可以通過編程將這些邏輯塊連接起來實現不同的設計,它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點[2]。
作為一種高密度可編程邏輯器件,FPGA具有低功耗、功能強大、開發周期短、投資小、便于修改及開發工具智能化等特點,目前已被廣泛應用于通信、航天、醫療電子、汽車電子、工業控制等領域[3]。
系統的功能框圖如圖 1所示。傳感器陣列的每一個傳感器對應一路數據,同步接收聲信號后,送預處理板對信號進行放大、濾波,提高接收信號的信噪比。模數轉換模塊對預處理板輸出的每一路模擬信號轉換為數字信號,再將輸出結果送FPGA芯片運行DOA算法,計算得到信號的聲源方位。

圖1 系統的功能框圖
本系統采用M元均勻線列陣,各個陣元間距為d,以第1個陣元為坐標原點,陣列所在直線為x軸建立直角坐標系,設信號源入射方向與陣列法線的夾角為θ,對于三維空間,θ是方位角,其幾何模型如圖2所示。λ為入射波波長,第m個陣元與第 1個陣元間的波程差為 Δdm=(m-1)dsinθ,則陣列流型為:

設有D個非相干窄帶源S1、S2、…SD入射,其方位角分別為1θ、2θ、…Dθ ,則陣列流形為:


圖2 均勻線列陣幾何模型


其中 si(t)為第 i個信號源的復包絡,nm(t)為第 m個陣元上的零均值白噪聲,由于入射信號源為非相干窄帶的信號,故X(t)可近似表示為:

式中:表示D個信號源,A為陣列流形,N(t)表示噪聲。
數據經傳感器陣列采集后,送A/D轉換模塊,其中每一路數據由一片ADS5102芯片進行模數轉換。ADS5102是一種低功耗 CMOS工藝的10位模數轉換芯片,要求差分輸入,轉換速率可達60 Ms/s,它具有靈敏的供電系統,提供了斷電模式,在此模式下功耗僅為336μW[4]。本例利用 THS4501差分放大器驅動模擬輸入的電路如圖3所示。

圖3 差分放大器驅動ADS5102模擬輸入電路
模數轉換模塊由M個上述電路并聯組成,通過多路同步采集獲得各個陣元的實時數據,生成數字信號。
在所有利用空間譜估計技術來實現對波達方向(DOA)估計的方法中,MUSIC算法在對非相干信號源分辨測向方面具有高精度和高分辨率特性,被廣泛地應用于測向、通信、雷達等領域[5]。因此,本系統以MUSIC算法作為實用化改進的基礎方案,構建波達方向(DOA)計算的處理過程。
標準的 MUSIC算法包括三個主要步驟:(a)對陣列接收到的信號向量X(t)求其自相關矩陣R;(b)對R進行特征值分解,構造信號(噪聲)子空間,得到空間譜函數 Pmusic(θ);(c)對Pmusic(θ)進行譜峰搜索[6]。這三個步驟中,第一步和第三步屬于加乘規則運算,易于用FPGA實現,而第二步是不規則運算,很難用FPGA實現,故還需對第二步進行實用化改進。

式中:



式(4)表示Ruv的列向量組能由AM-D的列向量組線性表示,當D<M-D時,只要D個信號分別從不同方向入射,則有的秩為D,而rank()=rank(Rs)=D,故Ruv的列向量組和AM-D的列向量組張成同一子空間,該空間是由M-D維的信號向量張成的信號子空間[7]。
故經實用化改進后的 MUSIC算法步驟為:(1)計算采樣自相關矩陣的(M-D)×D 階子矩陣Ruv;(2)對Ruv的列向量標準正交化,所得列向量構成的矩陣記為U;(3)對空間譜函數(θ)進行譜峰搜索,對波達方向θ作出估計。
依據經實用化改進后的 MUSIC算法,信號處理模塊便可細分為三個小模塊,分別對應算法的三個步驟,以第一個小模塊“計算采樣自相關矩陣的(M-D)×D階子矩陣Ruv”為例說明程序流程,圖4是其硬件框圖。
在微控制單元的控制下,經模數轉換模塊送來的數據首先進行數據緩沖存儲,然后由多路選擇器選擇相應的待運算數據送至數據處理單元,各數據處理單元計算得到的結果匯總至輸出接口電路,然后將結果數據輸出到下一個程序模塊。需要說明的是,圖中乘法器與累加器組成的數據處理單元僅是多個并行處理單元中的一個代表,其余單元沒有畫出,其數量可根據對處理時間的需求來設置,理論上來講數量越多,程序的并行化程度越高,計算速度越快。

圖4 采樣自相關矩陣子矩陣硬件框圖
本文在空間譜估計理論的基礎上設計了一套基于FPGA的水聲信號檢測系統,用于DOA估計數據處理,該系統采用了模塊化的設計方法,具有可擴展性。文章描述了系統模型、框架結構和模塊劃分,特別針對 MUSIC算法進行了實用化改進,使其能順利應用于FPGA芯片中。本系統對長期工作于水下的信號檢測系統設計有一定參考價值。
[1]U.Meyer-Baese. Digital Signal Processing with Field Programmable Gate Arrays, Third Edition.Springer, 2007.
[2]Clive “Max” Maxfield. The Design Warrior’s Guide to FPGAs Devices, Tools and Flows.Elsevier(Singapore) Pte Ltd, 2007.
[3]王彥. 基于 FPGA 的工程設計與應用. 西安: 西安電子科技大學出版社,2007. 1986.
[4]劉延飛, 郭鎖利, 王曉戎等. 基于 Altera FPGA/CPLD的電子系統設計及工程實踐. 北京:人民郵電出版社, 2009.
[5]孟憲元, 錢偉康. FPGA嵌入式系統設計. 北京:電子工業出版社, 2007.
[6]周陬. 基于空間譜估計的無源測向技術研究. 博士論文, 華中科技大學, 2007.
[7]余繼周, 陳定昌.一種 DOA估計的快速子空間算法[J].北京:現代電子技術, 2005(12): 90-92.