李 孟,周榮艷
(南陽理工學院,河南 南陽 473000)
聲音感知技術具有全向性、探測距離較遠、不受光線影響,且由于采用被動探測方式,具有隱蔽性強、不易受電子干擾、成本低和安全性高等特點,近年來日益受到研究人員的重視[1-2]。現有的聲音感知技術主要是使用麥克風陣列來實現聲音感知。受限于單一麥克風陣列聲源定位系統的特點,該類系統雖然基本實現了聲源目標的探測和定位,但由于傳感器陣列孔徑有限,系統在目標距離估計方面存在較大誤差,使得定位效果不是很理想。同時,在一些應用場合如區域安防監控、搶險救災等,單一聲源定位系統在功能性能上顯得力不從心。分布式聲源定位技術作為當下聲源定位系統的熱門研究方向,具有探測范圍廣、定位精度高、系統可靠性強等優勢,一定程度上彌補了單一陣列的不足[3-4]。李曉飛等設計的機器人可以根據聲源定向的結果調整自身姿態,使頭部攝像頭轉向說話人,采用視覺定位進一步提升了目標的定位性能[5]。2009年,河北工業大學陳濤等提出了利用機器人頭部結構對聲源信號的影響和轉動自由度進行聲源前后方位的判斷,結合耳廓結構進行聲源目標水平方位和俯仰角度的計算,借助機器人聲音感知系統和機器人頭部自由度,利用多種定位線索,多角度多方面實現了三維空間目標方位估計[6]。聲源定位技術在軍事領域也有廣泛應用,如槍聲定位識別系統、直升機和裝甲車聲源目標跟蹤系統等[7],都具有良好的效果。
本文介紹一種基于測向交叉算法的聲源定向系統設計,采用TMS320F2812處理器,在Code Composer Studio 5.5集成環境上開發設計[8]。聲源定向采用基于平面四元十字陣列的廣義互相關時延定向算法,通過獲取聲源目標中相對于系統中傳感器節點的方向信息和各個陣列節點的坐標信息,實現目標聲源的方位估計。該設計采用測向交叉定向算法,分別獲得方向角與方位角的信息發送至微控制器進行定向。
測向交叉定位方法[9]通過測量方向角,利用幾何的方法確定目標位置。如圖1所示,平面內的兩個傳感器陣列節點S1和S2,其間距遠遠大于傳感器節點的陣元間距。假設兩節點測得的方向角分別為θ1和θ2,從節點S1和S2沿著θ1和θ2的方向作直線,則兩條線的交點M即為目標位置。由于存在測量誤差,估計的目標位置M與真實位置N存在一定誤差。

圖1 兩節點測向交叉定位模型
當平面內的節點數目增加時,情況會更復雜。圖2為同一平面內的S1、S2、S3三個節點組成的三角陣模型。假設三個十字陣測得的角度分別為θ1、θ2和θ3,則三條定向線L1、L2、L3會圍成一個三角形ABC,目標很大可能出現在三角形內。假設三角形ABC內點P為目標的估計位置,可以通過取三角形ABC的重心、垂心、內心、外心和旁心等方法確定P點的位置。

圖2 三節點測向交叉定位模型
下面以取三角形的重心為例,計算P的位置。
在XOY坐標系中,令節點S1、S2、S3的坐標分別為 (x1、y1)、(x2、y2)、(x3、y3),則:

整理,可得:

其中
假設三條直線L1、L2、L3的交點A、B、C的坐標分別那么從式(2)所示的方程聯立方程組,可以解得:

設BC、AC、AB的中點D、E、F的坐標分別為則:

則得到目標探測器的等效距離為:

假設各個節點測量的方向角的標準差分別為Δθ1、Δθ2、Δθ3,當 Δθi非常小時,目標到定向線的距離等效為:

根據Jacobin定理,已知三定向線交點
其中 i=1、2、3。和可以得到目標點P的位置為:

其中,為決定性因子:

以上是2個或3個節點對目標聲源的定位。當節點數量為3個以上時,通過幾何方法確定聲源位置的計算復雜度將大大增加,此時通常用最小二乘算法進行求解。
當有N個節點時,假設其坐標分別為估計的定向結果為則用最小二乘法得到的目標位置為則:

其中:

通過上述推導分析可知,測向交叉算法通過獲取聲源目標相對于系統中不同麥克風陣列節點的方向信息和各個麥克風陣列節點的坐標位置信息,實現目標方位估計,因此計算量小、實時性強[10]。
聲源定向為基于聲源定向單元TMS320F2812處理器的嵌入式軟件,在Code Composer Studio 5.5集成環境上開發設計[11]。聲源定向軟件包含聲音信號采集、聲音信號預處理和聲源定向三個主要模塊。
程序啟動后,從main函數開始,按圖3所示流程執行。程序執行完系統初始化后,進入while(1)死循環。隨后一直在while(1)中反復執行,除非被定時器CpuTimer0中斷打斷。在中斷發生后,在定時器中斷服務函數中調用數據采集模塊進行數據采集。執行完定時器中斷服務函數后,返回主程序while(1)中剛剛被打斷的位置繼續執行。當完成特定點數的聲音信號采集后,關閉定時器中斷,調用信號預處理模塊對聲音信號進行預處理和檢測。當檢測到目標聲音信號后,置位信號檢測標志位,中斷服務子函數結束,程序返回主程序調用聲源定向模塊進行聲源定向。圖3為聲源定向軟件的主程序流程。

圖3 聲源定向軟件主程序
本系統中,模數轉換芯片AD7606-4工作在并行接口模式下,同步采集。在TMS320F2812的定時器CPU_Timer0周期觸發下進行A/D采樣,定時器周期設置為50 μs,保證數據采樣率為20 kSPS。在定時器中斷服務函數中,TMS320F2812通過引腳GPIOF11向AD7606-4的引腳CONVSTA和CONVSTB輸出一個下降沿,控制AD7606-4芯片開始AD轉換。
當數據轉換完成后,AD7606-4芯片BUSY引腳產生一個上升沿,以觸發TMS320F2812外部中斷1。TMS320F2812在外部中斷1的服務子函數中,通過讀取存儲空間Zone2的任意地址(0x80000~0x100000之間),使外部接口XINTF控制的片選引腳和自動產生相應的時序波形。此時,TMS320F2812從數據總線XD[15:0]即可依次讀取4個通道的來自AD7606-4并行數據接口DB[15:0]的采樣轉換數據。
實際中,麥克風陣列接收到的聲音信號為包含噪聲和混響的非平穩寬帶信號。單個陣元接收到的信號信噪比不高。處理前一般先對聲音信號進行去均值歸一化、加窗分幀和端點檢測[12]。聲音信號預處理流程如圖4所示。
2.2.1 去均值歸一化
由于聲源到各個麥克風的距離和各個麥克風的一致性都存在差異,導致不同的麥克風接收到的聲音信號存在較明顯的幅度差異。本系統中將AD采樣得到的原始數據累加求和取平均得到信號近似的直流分量,其次將原始數據減去該直流分量得到信號序列,最后將得到的序列統一除以序列的最大值實現歸一化。
2.2.2 加窗分幀
通常認為,10~30 ms的時間里,聲音信號近似為平穩信號。本系統使用長度為N的矩形窗w(n)截取信號,得到短時信號序列。矩形窗w(n)的定義如下:

本文中N取256點。在20 kSPS采樣率下,對應每一幀的持續時間為12.8 ms,近似為平穩信號。

圖4 聲音信號預處理流程
2.2.3 端點檢測
實際中,聲源目標的出現是隨機的,如果對接收到的信號不加區分,連續處理必然造成系統資源的浪費。同時,可以通過合理的端點檢測,盡可能獲得聲音信號的直達波信號,避免混響和反射對系統聲源定向的干擾。本系統采用短時能量和短時過零率的雙重門限檢測聲音信號。
聲源定向模塊采用基于平面四元十字陣列的廣義互相關時延定向算法。該算法具體分為時延估計和聲源定向兩部分。
2.3.1 時延估計
廣義互相關時延估計算法的基本原理,如圖5所示。設xi(n)、xj(n)為麥克風陣列中的某兩路信號,FFT表示快速傅里葉變換,( )*表示共軛運算,Hij(ω)為頻域加權函數。頻域差值可以提高定向分辨率,IFFT表示快速傅里葉逆變換,|·|表示取實部運算,τij表示兩信號時延差[13]。

圖5 廣義互相關函數法時延估計原理
此算法可以表示為:

其中Gxixj(ω)為xi(n)與xj(n)之間的互功率譜。在工程應用中,一般根據噪聲、混響以及接收到的信號特點,選擇合適的加權函數使具有尖銳的峰值,通過峰值檢測得出兩路信號的時延差
考慮到PHAT(Phase Transform)加權在噪聲抑制效果、運算量、實時性等方面的優異性能,以及本文針對的聲源類型,采用基于PHAT加權的廣義互相關算法。PHAT加權函數[13]如下:

帶入式(22),得到:

圖6為在DSP計算得到某兩路信號的廣義互相關波形。

圖6 在DSP中計算得到某兩路信號的廣義互相關波形
2.3.2 聲源定向
聲源目標的方向角φ與時延τij之間的關系為:

將上述時延估計得到的時延τij帶入式(24),即可計算得到聲源目標方向角。
本實驗在室外空曠場所進行,大小為30 m×30 m,現場背景噪聲屬于安靜級(40~50 dB)。標定參考坐標系,選取大小30 m×30 m的正方形區域,以正方形中心為圓心,用米尺輔助得到半徑為15 m、10 m、5 m的三個同心圓。選取同心圓其中的一條直徑作為0°(180°)參考線,逆時針依次選取45°、90°、135°、180°、225°、270°、315°、360°半徑線,與15 m、10 m、5 m同心圓得到24個交點,選為聲源放置點。將調試好的單個目標聲源放置在圓心位置,通過串口線與電腦相連。
將聲源依次放在選取的聲源放置點位置上,開啟聲源定位系統,打開串口調試助手,聲源連續播放拍手聲。每個位置通過串口記錄50條以上的定位結果,包括聲源方位角?和俯仰角θ,如圖7所示。調試窗口的每一條數據,最前面三位是聲源定向的序號,中間數據是計算得到的聲源方位角?,后一個數據是聲源俯仰角θ,中間以逗號間隔。

圖7 聲源定向系統實驗數據
本系統主要關心聲源方位角,通過分析聲源在15 m處時計算得到的聲源方位角,得出系統定向性能如表1所示。表1對定向結果與真實角度誤差小于1°的測試結果視為正確,大于1°視為錯誤。可以看到,在信噪比較高的情況下,系統整體定向性能穩定,精度較高。

表1 靜止聲源定向性能分析
本文介紹了一種基于TMS320F2812處理器的聲源定向系統,主要包括聲音信號采集、聲音信號預處理和聲源定向三個模塊。聲源定向采用基于平面四元十字陣列的廣義互相關時延和測向交叉定向算法,通過獲取聲源目標中相對于系統中傳感器節點的方向信息和各個陣列節點的坐標信息,實現目標聲源的方位估計。該設計通過采用廣義互相關時延與測向交叉定向算法,分別獲得方向角與方位角的信息發送至微控制器進行定向。實驗結果分析表明,本設計在信噪比較高的情況下,系統整體定向性能較穩定,精度較高。
[1] HUANG Jie,Tadawute S,Ikutaka T,et al.A modelbased Sound Localization System and Its Application to Robot Navigation[J].Robotics and Autonomous Systems,1999,27(04):199-209.
[2] Valin J M,Michaud F,Hadjou B.Robust Localization and Tracking of Simultaneous Moving Sound Sources Using Beam-forming and Particle Filtering[J].Robotics and Autonomous Systems,2007,55(03):216-228.
[3] 閆青麗.非平穩聲源穩健分布式定位技術研究[D].西安:西北工業大學,2015.YAN Qing-li.Study on Non-stationary Sound Source Robust Distributed Location Technology[D].Xi'an:Northwestern Polytechnical University,2015.
[4] 馬馳.聲源分布式實時定位技術研究[D].西安:西北工業大學,2014.MA Chi. Research on Distributed Real-time Location of Sound Sources[D].Xi'an:Northwestern Polytechnical University,2014.
[5] 李曉飛,劉宏.機器人聽覺聲源定位研究綜述[J].智能系統學報,2012,7(01):9-20.LI Xiao-fei,LIU Hong.Summary of Research on Robot Auditory Source Localization[J].Journal of Intelligent Systems,2012,7(01):9-20.
[6] 陳濤,張明路,付靈麗.移動機器人空間聲源目標定位[J].計算機應用研究,2009,26(10):3703-3705.CHEN Tao,ZHANG Ming-lu,FU Ling-li.Spatial Source Localization of Mobile Robots[J].Application Research of Computers,2009,26(10):3703-3705.
[7] 程萍.穩健的寬帶聲源實時定向技術研究[D].西安:西北工業大學,2012.CHENG Ping.Research on Robust Broadband Sound Source Real-time Orienting Technology[D].Xi'an:Northwestern Polytechnical University,2012.
[8] 伏智超.基于Cortex-A8嵌入式系統的聲源定位技術研究與實現[D].南京:東南大學,2015.FU Zhi-chao.Study and Implementation of Sound Source Location Based on Cortex-A8 Embedded System[D].Nanjing:Southeast University,2015.
[9] 汪珺.測向交叉定位技術[J].電子科技,2011,24(07):129-132.Wang Hao.Determination of cross-positioning technology[J].Electronic Science and Technolo gy,2011,24(07):129-132.
[10] Tamai Y,Kagami S,Amemiya Y,et al.Circular Microphone Array for Robot’s Audition[C].IEEE International Conference on Sensors,Vienna,Austria,2004:565-570.
[11] 鄭紅,隋強強,周星.DSP應用系統設計實例[M].北京:北京航空航天大學出版社,2008.ZHENG Hong,SUI Qiang-qiang,ZHOU Xing.Design Example of DSP Application System[M].Beijing:Beijing University of Aeronautics and Astronautics Press,2008.
[12] Rodemann T,Ince G,Joublin F,et al.Using Binaural and Spectral Cues for Azimuth and Elevation Localization[C].IEEE/RSJ International Conference on Intelligent Robots and Systems,2008:2185-2190.
[13] Aarbi P.Self-localizing Dynamic Microphone Arrays[J].IEEE Transactions on System, Man, and Cyberneti cs,2002,32(04):474-484.
[14] Simmons R,Smith T,Bernardine D M,et al.A Layered Architecture for Coordination of Mobile Robots[J].Multi Robot Systems from Swarms to Intelligent Automata Proceedings from the Nrl Workshop on Multi Robot Systems,2002:103-112.