文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190864
中文引用格式: 余秋婷,熊俊俏. 基于六元空間陣列的聲源定位系統實現[J].電子技術應用,2020,46(2):58-61.
英文引用格式: Yu Qiuting,Xiong Junqiao. Realization of sound source locating system based on six-dimensional space array[J]. Application of Electronic Technique,2020,46(2):58-61.
0 引言
聽覺是人感知外界環境,并與外界環境進行交互的重要方式,根據不同物體發出的聲音,人們可以判斷出聲源的方位。而在某些特定場合,就需要機器來準確定位出聲源的位置[1]。因此,基于麥克風陣列的聲源定位技術得到了廣泛的關注和快速的發展,對其開展研究具有很強的實踐價值[2]。
目前,常用的基于麥克風陣列的聲源定位方法有3種:基于最大輸出功率的可控波束形成定位方法[3]、基于高分辨率譜估計技術的定位方法[4]和基于時延估計的定位方法[5]。其中,基于時延估計的定位方法由于運算量小、實時性好、易于實現等優點而成為最普遍的使用方法[6]。其方法首先估計了聲源到達各個麥克風的時延,再根據幾何關系得到聲源的位置。文獻[7]提出了一種改進時延估計的聲源定位方法。該方法首先設計了四元十字型麥克風陣列,然后在廣義互相關的基礎上引入二次相關算法來削弱環境噪聲產生的干擾,同時采用自適應濾波算法來提高環境混響的時延精度,從而獲得更準確的聲源位置。但缺少界面的直觀顯示。文獻[8]首先提出了GCC-IMLPT算法,并通過仿真驗證了該算法的性能,且選取了計算量小、實時性較好的球形插值法來得到聲源位置,然后研究了麥克風拓撲結構,確定麥克風陣列的大小,最后在實際環境中測試了系統的性能,但由于系統是在計算機上實現的,不方便攜帶。當前,優化算法提高定位精度,實現界面的直觀顯示,以及方便攜帶成為考慮的熱點問題。
本文提出一種基于麥克風陣列的聲源定位系統。采用改進的廣義互相關算法獲取時延,進而得到聲程差,并根據幾何關系確定聲源在空間中的位置,最后在嵌入式平臺上進行實驗。實驗結果證明,該方法能較準確地得到聲源位置。
1 聲源定位系統原理
1.1 聲源定位原理
由于同一個聲源傳播到位置不同的各個麥克風時會產生時間差,這個時間差稱為時延。時延與聲速相乘即可得到聲程差。由雙曲線的性質可知,雙曲線上任意一點到兩個焦點的距離之差的絕對值為雙曲線的實軸長。因此,聲源在以任意兩個麥克風為焦點,聲程差為實軸長的多條雙曲線的焦點上[9]。聲源定位原理圖如圖1所示,S為聲源。
1.2 改進的廣義互相關算法
廣義互相關算法是目前最常用的一種時延估計方法。廣義互相關算法是通過將兩路聲音信號從時域變化為頻域,并求得兩信號之間的互功率譜,再進行加權,這樣可以降低噪聲和反射帶來的誤差,然后經過反傅里葉變換,將頻域轉換回時域得到互相關函數并計算峰值,峰值所對應的位置即時延[10]。廣義互相關時延估計基本原理和流程圖如圖2所示。
由于聲源不斷產生聲音信號,麥克風接收到聲源傳來的聲音信號。假設麥克風1、2接收到聲音信號的理想模型為:
在理想情況下或在弱噪聲和弱混響的環境下互功率譜可近似表示為:
互功率譜加權函數(PHAT)通過對信號互功率譜歸一化,去除信號的幅度信息,只保留了信號的相位特性,對噪聲和混響有一定的抑制作用[11]。
2 空間定位方法
目前有2種方法估計聲源位置:通過搜索的方式和通過幾何的方式。由于本文采用的是三維陣列,故采用幾何的方法估計聲源位置。
本文采用球形插值法對聲源位置進行估計。球型插值法根據多個麥克風相對參考麥克風的時延和各個麥克風的矢量位置得到一個誤差方程組,并求其最小二乘解[12]。
如圖3所示,聲源的坐標點用s(x,y,z)表示,麥克風m0放在原點處作為參考點,mi表示其他麥克風的坐標位置,i∈[1,5],各麥克風與參考麥克風之間的聲程差用di表示。
聲源s應該滿足矢量方程:
3 實驗結果與分析
3.1 實驗設備
本文系統在硬件上主要包括三維陣列、麥克風模塊、數據采集卡以及計算機。三維陣列模型如圖4所示,相鄰兩麥克風之間的距離為50 cm,麥克風采用MAX9812麥克風模塊,為全向性麥克風,20 dB固定增益放大。選用 USB DAQ多功能數據采集卡采集聲音數據,采集卡的輸入端通過6根數據線與麥克風陣列相連,輸出端通過USB連接計算機,USB DAQ采集卡具有8路差分16位高速同步模擬信號采集,8 個AD620高精度差分放大器,16路數字信號單向輸入,16路數字信號單向輸出。單通道的采樣頻率最大可達200 kHz。本實驗只使用了其中6路通道。
3.2 實驗分析
通過具體實驗對麥克風陣列以及算法進行驗證。本實驗環境內存在一定的噪聲,噪聲主要來源于室內照明設備、電腦風扇以及空調,聲源為手機播放的一段音樂。數據采集卡的采樣頻率設置為200 kHz,采樣位數為16位,采樣點數設為1×105個。
測試時,對每個位置都進行6次實驗,求取的實驗結果為6次實驗的平均值。實驗結果如表1所示。
由表1的定位結果來看,該系統實現了聲源定位的基本功能,角度的誤差在±5°以內,能夠較準確地找到聲源所在的方位,距離誤差不超過±15 cm,在所接受的范圍內。
4 結論
本文設計實現了基于麥克風陣列的聲源定位系統,該系統采用6個麥克風組成的三維陣列,并根據改進的廣義互相關算法獲取時延,再根據球形插值法確定聲源在空間中的位置。
從實驗結果與分析可以看出,該算法得到的聲源位置較準確。而且本系統能將聲源的位置信息顯示在界面上,具有更加直觀的效果。不足的是,系統不夠便攜且只能定位單聲源,后續需要進一步研究將算法移植到便攜式開發板上以及多聲源定位算法。
參考文獻
[1] 韓文革,蘇淑靖,薛彥杰.基于麥克風陣列的聲源被動定位系統設計[J].電子技術應用,2017,43(12):61-64.
[2] 姜志鵬,唐加能,梁瑞宇.實時聲源定位算法研究與實現[J].電子器件,2015,38(6):1406-1411.
[3] 葛李賀.基于波束形成算法的聲源定位研究及DSP實現[D].南京:南京信息工程大學,2015.
[4] 劉賓.基于聲源定位的靶標測量技術研究[D].西安:西安電子科技大學,2017.
[5] 劉璐.基于麥克風陣列的機器人聲源定位系統研究[D].長春:長春工業大學,2018.
[6] 伏智超.基于Cortex-A8嵌入式系統的聲源定位技術研究與實現[D].南京:東南大學,2015.
[7] 程方曉,劉璐,姚清華,等.基于改進時延估計的聲源定位算法[J].吉林大學學報(理學版),2018,56(3):681-687.
[8] 劉云飛.基于麥克風陣列的聲源定位方法的研究[D].杭州:杭州電子科技大學,2018.
[9] 陳國良,徐揚,黃曉琴.基于正四棱錐結構的機器人聲源定位系統研究[J].計算機應用研究,2018,36(4):1088-1092.
[10] 郭俊成.基于傳聲器陣列的聲源定位技術研究[D].南京:南京航空航天大學,2007.
[11] 喬健,王建明.抑制風噪聲的頻點離散值加權GCC-PHAT時延估計算法[J].電子技術應用,2018,44(3):72-76,80.
[12] 張明瀚.基于時延估計的聲源定位系統研究[D].重慶:重慶大學,2009.
作者信息:
余秋婷,熊俊俏
(武漢工程大學 電氣信息學院,湖北 武漢430205)