黃 雯,李立鵬,藍少敏,俞兆輝
(天津商業大學 天津300134)
聽覺是機器人智能化的重要指標之一,是信息傳輸、人機交互的關鍵技術。在一些復雜特定空間內,人們可以依托機器人平臺實現聲音的定位,完成下一步任務。當前聲音探測技術主要采用聲音傳感設備融合聲學基本原理,采集聲音傳播信息,進而實現定位以及追蹤聲源目標。基于麥克風陣列的聲源定位研究作為語音信號處理技術的研究熱點,在強噪聲復雜空間聲源定位、語音識別前端信息采集等研究方向有著較好的應用前景與意義。
該定位裝置以正四面體麥克風陣列作為聲信號采集器,實現了四元立體模型構建,通過 NI USB-9215A四路同步數據采集卡實現聲音信號采樣,在LabVIEW 平臺應用 NI-DAQ實現了數據采集、測試以及測量,經過廣義互相關算法確定了四路聲源的時延,通過構建的三維四元數學模型可以確定聲源信息的俯仰角、水平角等位置參數,進而實現了定位精準、性能可靠的聲源定位系統,較好地完成了機器人聲源定位需求,保證了機器人適應環境、人機交互的需要。
系統總體結構如圖1:

圖1 系統總體結構Fig.1 Overall structure of system
為實現立體空間聲源目標準確定位,獨立的時延值要保證在 3個以上,根據技術需求和實際需要,本裝置將4個全向麥克風排列為正四面體陣列,實現三維四元模型架構,如圖 2所示。為構建空間模型,將陣列的幾何中心設為原點。

圖2 正四面體麥克風陣列模型Fig.2 Tetrahedral microphone array model
空間模型原點O位于邊長為 a的正四面體麥克風陣列形成的外接球圓心,4個全向型麥克風在立體模型的方位用m0、m1、m2和m3表示。其中m0處于 z軸的正向,其余 3個都是在o點下側,通過投影m1落在xoy平面上x的正半軸,連接m2與m3正好同y軸平行。因此可以確定4個麥克風的立體坐標為:


將聲源設定為 s,將其投影至 xoy平面上為s′,那么os′同 x正半軸的夾角φ即為聲源的水平夾角,os和os′的夾角θ為俯仰角,發聲位置 s與原點 o距離為r。已知正四面體的邊長為a,發聲位置s到4個麥克風的聲音路程分別為d0、d1、d2和d3,發聲位置s到m1、m2和m3與到m0的聲程差分別為d10、d20、d30。已知聲速c,則 di0=c·τi0,(i=1,2,3)。式中,τi0系聲達時間差,即聲信號到mi和m0的時間差。
設聲源 s坐標為(x,y,z),通過幾何關系構建數學定位模型,具體可列出下式:


在一般應用當中,默認聲源為遠場聲信號,在忽略陣列位置變化的情況,認可2d0數值大大超過d10、d20和d30。
故簡化(12)和(13),確定遠場幾何定向模型:

1.3.1 時延獲取的原理
系統選用基于聲達時間差(TDOA)原理。首先得到時延值,接著確定聲源方位,即先求出聲源傳到陣列不同位置傳聲器的時間差,進而得到聲源到達不同位置麥克風的距離差,最終利用空間幾何模型表示出聲源方位。過程中通過兩步走的方式實現了定位。
首先需要進行時延估計,明確陣列各麥克風對的聲達時間差,正四面體麥克風陣列中的傳感器采集到聲音模擬信號,經 AD轉換之后形成數字信號,進而通過數學計算確定聲源信號到達不同麥克風的相對時延;接著,通過得出的時延估計值,利用空間幾何模型得出聲源的方位。
綜合聲源定位領域大量仿真研究,盡管時延估計算法很多,但廣義互相關(Generalized Cross Correlation,GCC)算法速度更快、實時性更強、計算量更小。其工作原理是:首先確定 2個信號間x1(w)和x2(w)的互功率譜函數,接著在頻域內通過不同的加權運算,最后將頻域的函數反變換到時域,最終得到2組信號的互相關函數。互相關函數的峰值所對應的時間就是2組信號間的時延值。具體流程如圖3所示。
所謂相關表征是指 2個信號在時域內的相似程度。假設2個傳感器獲取聲信號模型為:

式中:S(n)表示聲源的信號,n1(n)、n2(n)表示高斯白噪聲,這3種信號彼此互不相關;τ1和τ2表示信號從聲源傳播到2個不同麥克風的時間,2個不同麥克風彼此的時延值便是τ12=τ1-τ2。

圖3 廣義互相關時延估計流程Fig.3 Generalized cross correlation delay estimation process
故X1(n)和X2(n)的相關函數R12(τ)為:

將式(18)、(19)代入(20):

根據自相關函數的性質,當τ-(τ1-τ2) =0時,R12(*)為最大值,因此求得R12(τ)最大值對應的時間τ即為所求時延值τ12。
1.3.2 時延獲取的實現
LabVIEW 互相關法模塊有著運算量低、硬件需求小的特點,麥克風陣列中傳感器彼此間距不大使得互相關算法速度更快、更加便捷,實時性更強。本裝置利用一維互相關模塊,如圖 4所示,該模塊中有 X和Y兩端輸入,輸出互相關函數便是Rxy。

圖4 一維互相關圖Fig.4 One dimensional cross correlation graph
通過3組互相關模塊便能獲得M0麥克風與M1、M2和M3其他 3路麥克風的互相關函數(R10、R20、R30)。通過確定 3組互相關函數峰值對應的時間便可以確定τ10、τ20和τ30。程序框圖如圖5所示。

圖5 時延模塊程序Fig.5 Program diagram of delay module
確定了時延估計值后,利用空間幾何模型即可確定聲源的方位角。
結合上文式(16)和(17)進行程序編程即可得到聲源信號的水平角與俯仰角。函數arctg僅可以表示90°~+90°角度,但是實際水平角要覆蓋 180°~+180°角度,所以在編程中先通過時延值確定水平角象限,如果在第二象限就加上 180°,如果是第三象限就減去 180°,如果是第一、四象限便等于測量值(圖6)。最終在上位機前面板上顯示方位角。

圖6 定位計算模塊Fig.6 Positioning calculation module
在 LabVIEW 平臺上編程設計了數據采集、獲取時延以及定位計算等模塊,如圖 7所示,進一步完善前面板,最終可以展示 3路互相關函數、4路信號波形以及聲源信息的水平角、方位角。

圖7 系統總程序框圖Fig.7 General program block diagram of system
聲源定位是機器人的關鍵技術,立足當前移動機器人發展實際,本文設計開發了一種基于正四面體結構的聲源定位系統裝置,該裝置利用4個麥克風傳感器形成正四面體陣列,架構了立體空間模型。完成4路數據同步采樣之后,在 LabVIEW 平臺上獲得互相關函數進而確定時延值,最終根據既定算法確定聲源方位角。在大量實驗之后,通過數據分析比較,系統基本可行,接下來需要在多聲源、強噪聲混響等環境下作進一步改進和研究。