陸智輝,蘭昀弢,鄭郁正,劉凱,唐國璇
(成都信息工程大學通信工程學院,四川成都 610225)
現如今,聲源定向技術在會議展覽、醫療診斷等諸多行業發揮著巨大的作用。由于聲源定向技術本身具有精度和速度難以兼顧的難點,所以聲源定向技術的后續發展除了要關注定向技術本身的精準度以外,還需對定向系統的實時性能提出更高的要求。
MEMS(Micro Electro Mechanical System)麥克風具有良好的抗噪性能以及對溫度、濕度、振動等環境因素不敏感的優點,能夠更高效地采集聲源數據[1-2]。Zynq 平臺的可編程邏輯(Programmable Logic,PL)具備并行處理數據的優勢,能夠確保聲源數據被高速地接收并存儲,且不易丟失。Zynq 平臺的可編程系統(Programmable System,PS)則可以借助TCP 通信速率高的優勢完成數據的實時傳輸。
聲源定向系統在利用MUSIC 算法[3]進行空間譜測向時存在譜峰搜索時間過長、實時性能偏低的缺陷,所以該系統引入蜜蜂進化遺傳算法(BEGA)對MUSIC 算法進行改進,在軟件層面提升系統的實時性能。
系統的硬件平臺負責聲源數據的采集與傳輸。數據采集由MEMS 麥克風均勻圓陣和Zynq 共同完成。前者作為數據采集前端,后者則進行數據接收與存儲。數據傳輸由PS 通過TCP 完成。
1.1.1 MEMS麥克風均勻圓陣
系統采用深圳矽速科技有限公司推出的“Sipeed_R6+1”麥克風陣列作為數據采集前端。該陣列在半徑為40 mm 的圓周上均勻地分布6 個麥克風,相鄰麥克風之間的角度差為60°。麥克風型號為MSM261S4030H0。根據I2S 總線協議[4-5],將麥克風分為三組,每組共用一根時鐘線(SCK)和數據線(DATA),麥克風分別記作左通道(LEFT)和右通道(RIGHT),其電路原理圖如圖1 所示。

圖1 每組麥克風的工作電路
Zynq 的JA4 端口向麥克風圓陣輸入WS 信號,JA5 端口輸入SCK 信號,圓陣則通過JA1,JA2,JA3 端口向Zynq 輸出3 組數據。I2S 總線協議的工作時序為:當WS 為低電平的前32 個SCK 周期,將LEFT 采集的聲源數據以32 位二進制補碼格式加載至DATA,當信號線WS 為高電平的后32 個SCK 周期,將RIGHT 采集的聲源數據以同樣格式加載至DATA,即一組麥克風在一個WS 周期可采集2 路數據,三組共6 路數據。
1.1.2 Zynq平臺
該系統使用的Zynq 平臺[6-7]是Xilinx 公司推出的ZedBoard 開發板[8]。該開發板搭載的是XC7Z020-CLG484 芯片。其中PL 代表FPGA,PS 代表ARM。
在該系統中,首先利用I2S 協議、狀態機以及AXI-Stream FIFO-IP 核的Valid-Ready 握手機 制[9]編寫Verilog 代碼,構建數據采集模塊。該模塊的主要功能:設計32 位的二進制流水號作為數據幀的幀頭,再將6 路數據依次從數據線上提取至數據幀中,保證每個數據幀共包含7×32 bits 的數據,并能夠準確無誤地傳遞至FIFO-IP 核中。
PL 和PS 協同工作完成數據接收與存儲功能,工作流程如圖2所示。DMA-IP核和FIFO-IP核在PL中實現,PS 則負責控制S_AXI_HP 接口和M_AXI_GP接口。數據幀按照流水號的順序傳遞至FIFO-IP 核中暫存,該IP 核為數據的實時傳遞提供了一個動態的緩存空間。當PS 通過M_AXI_GP 向PL 發送啟動命令后,DMA-IP 核遵循先進先出的原則,依次從FIFO-IP 核中讀取數據。S_AXI_HP 負責將數據高速傳輸至DDR 進行儲存。

圖2 數據接收與存儲流程
數據傳輸流程如圖3 所示。PS 作為TCP 客戶端發送數據,數據處理單元作為TCP 服務端接收數據[10]。每完成一次TCP 傳輸,通過M_AXI_GP 向PL發送一次啟動命令。由此形成“存儲-發送-再存儲”的循環機制,確保數據能實時傳輸且不易丟失。并設計有串口檢測功能對TCP 狀態和數據傳輸狀態進行實時監測,若出現網絡連接異?;驍祿鬏斿e誤等狀況,ARM 會發送相應信息至串口進行錯誤提示。

圖3 數據傳輸流程
數據處理單元為該系統基于PC 機搭建的Matlab 軟件平 臺[11],PC 機 配置了8 核3.2 GHz 的CPU和16 GB 運行內存。
結合“Sipeed_R6+1”麥克風陣列的結構,繪制真實的遠場窄帶聲源信號入射至麥克風均勻圓陣的三維模型,如圖4 所示[12-13]。由圖可知,入射方向角包括方位角θ∈[0°,360°]和俯仰角β∈[0°,90°];第m個麥克風的坐標為聲源入射方向向量為(cosθsinβ,sinθsinβ,cosβ)。

圖4 聲源入射麥克風均勻圓陣的三維模型
由于信號到達第m個麥克風與到達原點的時間存在延遲,所以可通過時延計算信號到達兩點的相位差。根據第m個麥克風的坐標與聲源的入射方向向量可推得信號到達第m個麥克風與到達原點的時延為:
式中,c為信號的入射速度,即聲速340 m/s,M為麥克風總數,該系統中值為6。相位差為:
式中,λ為信號波長。均勻圓陣的導向矢量為:
式中,a(φM)=e-jφm。觀測信號向量為:
式中,xM(k) 為第M個麥克風的第k次快拍接收信號。X(k)在快拍數為k時的協方差矩陣為:
對協方差矩陣進行特征值分解:
再根據特征值的分布情況,將酉矩陣U按照列向量分為兩部分:
信號子空間S由信號特征值對應的特征向量構成,噪聲子空間G由噪聲特征值對應的特征向量構成。根據酉矩陣性質和子空間的構造方法,可知兩空間正交。推得導向矢量所構成的矩陣A同噪聲子空間的關系:
式(8)說明了導向矢量與噪聲子空間正交:
由于在實際應用中,一般求得的噪聲子空間無法與導向矢量完全正交,所以通過構建空間譜估計函數以遍歷的方式進行譜峰搜索,再求得譜峰所對應的入射方向角,這便是MUSIC 算法的基本原理[14-15]??臻g譜估計函數如式(10)所示:
相較于基本的遺傳算法,BEGA 從兩方面進行了優化:一是引入“隨機雄蜂”提高算法的勘探能力,避免陷入局部最優解,二是通過“蜂王競爭”保留最優個體,提升獲取全局最優解的速度。所以利用BEGA 的種群迭代方式對MUSIC 算法進行改進,可以有效提升譜峰搜索的速度。算法改進后,構建空間譜估計函數的流程如圖5 所示。數據預處理階段,解碼可獲取6 路帶符號的十進制數據;為排除噪聲干擾,需檢測6 路數據的頻譜是否均在某一固定頻率f出現譜峰;截取窄帶頻譜時,設定截取中心頻率為fc,截取帶寬小于0.1×fc[16];通過傅里葉逆變換獲得6 路窄帶實信號。窄帶實信號通過Hilbert 變換變為解析復信號,噪聲子空間則基于MUSIC 算法獲取,最后結合導向矢量構建空間譜估計函數。

圖5 構建空間譜估計函數流程
算法模塊中基因種群設置如圖6 所示。種群個體數為N,個體基因由22 位二進制編碼構成,方位角基因為12 位,俯仰角基因為10 位。

圖6 基因種群設置
BEGA 利用種群迭代方式對空間譜估計函數進行快速譜峰搜索的具體流程如下:
1)建立的基因種群為A(t),t為種群進化代數,初始值為0,個體數為N,交叉概率為Pc,變異概率為Pm,雄蜂引入參數為γ;
2)計算A(t)中所有個體關于空間譜估計函數的適應度,再以適應度大小對個體排序,并記最優個體為Queen_1;
3)若t達到最大進化代數,則輸出Queen_1,求得入射方向角,否則執行步驟4);
4)為保證適應度越大的個體存活的概率越高,利用“輪盤賭”方式從A(t)中選出Nγ/2 個個體,再隨機產生N(1-γ)/2 個新個體;
5)將步驟4)中N/2 個體與Queen_1 進行交叉運算,得到個體數為N的新種群B(t);
6)B(t)進行變異運算,得到C(t);
7)計算C(t)的個體適應度,并排序,記最優個體為Queen_2。若Queen_2 的適應度大于Queen_1,則C(t)替換A(t),Queen_2 替換Queen_1;否則,Queen_2替換A(t)中適應度最小的個體,構成新的A(t);
8)更新t:t=t+1,并返回步驟1)。
為驗證硬件平臺的性能,利用麥克風圓陣在空曠室內對頻率為1 kHz 的固定聲源進行采集,采樣頻率為64 kHz,采樣時間控制在18 s 左右。以采集數據的幀數為橫坐標,流水號為縱坐標,繪制如圖7 流水號與數據幀數相關圖。

圖7 流水號與數據幀相關圖
圖像為一條直線,斜率為1,橫縱坐標的最大值均為1 154 250,并且:
說明在大約18 s 內共采集到1 154 250 個數據幀,符合采樣率的設定,同時證明了硬件平臺具有不掉幀、延遲低的優良性能。
從Data_Buffer 中隨機提取1 000 幀連續數據,即提取每個麥克風的數據量為32×1 000 bits,經解碼和歸一化后,繪制6 個麥克風所對應的6 路時域波形和正頻率部分頻譜,如圖8 所示。

圖8 6路數據的時域波形和正頻率部分頻譜
由圖8(a)可知,以64 kHz 的采樣頻率采集1 000幀數據需耗時15.625 ms,且6 路數據波形之間存在時延;由圖8(b)可知,6 路數據的頻譜譜峰均出現在1 kHz 附近。上述兩點正符合后續算法處理的要求,說明硬件平臺的搭建是成功有效的。
雖然MUSIC 算法使用遍歷方式進行譜峰搜索相對耗時,但遍歷結果精確度相對較高,所以為了驗證數據處理單元的定向精準度,在對比實驗中近似認為遍歷結果所對應入射方向即為聲源方向。首先對來自某一方向的固定聲源進行數據采集,并存儲10組數據,每組數據量為12 800 幀,系統再分別使用遍歷方式和種群迭代方式對每組數據進行譜峰搜索對比實驗,將遍歷結果記為(θMUSIC,βMUSIC),種群迭代結果記為(θBEGA,βBEGA),得到條件如式(12)所示:
如滿足式(12),則認為數據處理單元定向成功,否則記為失敗。每組實驗結果記錄如表1所示。具體參數設置:聲源頻率固定為1 kHz,采樣率為64 kHz,快拍數為12 800,種群個體數為50,變異概率為0.003,交叉概率為0.7,雄蜂引入參數為0.2,最大進化代數為100,角度值精確到0.1°。
由表1 可知,在式(12)的誤差標準下,數據處理單元定向成功率可以達到100%,說明將種群迭代方式應用于譜峰搜索的改進方案仍保留了MUSIC 算法定向精準度高的優點,并證明數據處理單元具備精準的定向性能。
使用種群迭代方式對第一組數據進行實驗時,種群最優適應度在迭代50 次后完成收斂,收斂過程如圖9 所示。

圖9 適應度收斂過程
使用遍歷方式對聲源的第一組數據進行實驗時,繪制的空間譜三維圖如圖10 所示。

圖10 空間譜三維圖
對比兩圖可知,適應度在逼近空間譜峰值的過程中逐步完成收斂。因此,為驗證數據處理單元的定向速度,記錄適應度完成收斂時的代數以及系統分別使用種群迭代方式和遍歷方式完成每次實驗所消耗的時間,其結果見表2。

表2 兩種方式的實驗耗時與收斂代數統計表
由表2 可知,使用種群迭代方式的實驗耗時在0.16 s 左右,遠低于使用遍歷方式,說明BEGA 大幅提升了MUSIC 算法搜索譜峰的速度;而以64 kHz 采樣率采集同等數據量的一組數據需耗時0.2 s,證明系統具備實時處理的能力;適應度完成收斂的最大代數為53,且通過計算可得收斂代數的均值為28.9,說明最大進化代數仍可在100 的基礎上適當縮減,進而再次縮短定向時間。
針對聲源定向系統利用MUSIC 算法測向時存在精準度高,但實時性偏低的問題,基于Zynq 和BEGA,設計了一款兼顧定向精度與速度的聲源實時定向系統。系統的硬件平臺利用MEMS 麥克風均勻圓陣和Zynq 進行聲源數據的采集和傳輸。作為軟件平臺的數據處理單元則引入BEGA 對MUSIC 算法進行改進,摒棄遍歷方式,提升MUSIC 算法搜索譜峰的速度。實驗結果表明,硬件平臺具有不掉幀、延遲低的優良特性,同時數據處理單元利用BEGA 大幅縮短了譜峰搜索的時間,并在0.5°的誤差標準下使定向成功率達到100%。