張武 王洪源 靳曉蕾
摘? 要:本文提出了一種基于四元交叉陣的聲源定位方法,并設計了聲源定位系統。利用4個聲源傳感器采集聲源信號,經過放大、處理、AD轉換等步驟,采用廣義互相關函數法計算信號到達4個傳感器的時間差,從而確定聲源的位置。實驗表明,該系統在速度和精度上都能達到較好的性能。該聲源定位系統可以與具有低成本慣性傳感器的運動估計系統相結合,以提高估計精度。
關鍵詞:聲源定位? 四元交叉陣? 到達時差? 廣義互相關函數
中圖分類號:TN912.3 ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? 文章編號:1674-098X(2021)04(c)-0155-03
Acoustic Source Localization Based on 4-Element Cross Array
ZHANG Wu? WANG Hongyuan*? JIN Xiaolei
(School of Information Science and Engineering, Shenyang Ligong University, Shenyang, Liaoning Province, 110159 China)
Abstract: In this paper, an acoustic source localization method based on 4-element cross-array is presented, and an acoustic source localization system is designed. Four acoustic sensors are employed to collect the acoustic source signal, after several steps as amplifying, processing, AD conversion, generalized cross-correlation function method is used to compute the time difference of the signal arrival to the four sensors, then the position of the acoustic source can be determined. Experiments show that our system can achieve good performance in both speed and accuracy. The acoustic source localization system can be incorporated into a motion estimation system with low cost inertial sensors to increase estimation accuracy.
Key Words: Acoustic source localization; 4-element cross-array; Time difference of arrival; Generalized cross-correlation function
近些年來,在空間中尋找聲源的問題引起了科學界越來越大的興趣。聲源定位技術是利用聲傳感器陣列采集聲信號,然后用微處理器實現聲源處理算法,對信號進行分析和處理,確定聲源在三維空間中的位置。四元交叉陣是圓陣的一種特殊形式,能在平面0~360°范圍內探測目標方位,且易于布置,節省成本。
本文提出利用麥克風陣列實現近場信源定位和遠場波達方向(DOA)估計的多種算法,設計了一種可供實際應用的聲源定位系統。它可以進一步應用于具有低成本MEMS慣性傳感器的大型三維運動估計系統中。
1? 基于四元交叉陣的聲源定位原理
聲源定位技術是利用聲傳感器陣列采集聲信號,然后用微處理器實現聲源處理算法,對信號進行分析和處理,確定聲源在三維空間中的位置[1-2]。
交叉陣列,可視為兩個正交線列陣。它們由S1、S3和S2、S4組成。線陣中兩個陣元之間的距離為D,在坐標系中兩個陣元的交點設為零,如圖1所示。
當聲源與陣列中心之間的距離遠遠大于陣列元件之間的距離時,我們可以假設聲源T是一個點聲源,而聲音則以球形波的形式傳播。假設從聲源T到S1的傳播時間為t1,則S2、S3、S4與S1的相對到達時間差分別為,S2、S3、S4與S1的距離差分別為,那么我們有:
(1)
這里C是空氣中的聲速,為340m/s,如果聲源T與陣列元件S1之間的距離為r1,則:r1=Ct1。
在此假設下,聲波信號被傳播為球面波,陣元S1、S2、S3和S4正好位于以T為中心的4個球體上,分別以為半徑。因此,我們可以得到方程組:
(2)
通過對時差的測量,我們可以計算距離差,然后方程(2)可以通過求解得到聲源的位置。
下面我們推導出球坐標與時差之間的關系。
我們知道,聲源T在直角坐標系和球面坐標系中的位置之間的關系是:
(3)
其中。
根據上述方程,我們可以計算聲源與陣列中心之間的半徑r,以及聲源的方位角和螺距如下:
(4)
由于,i=2,3,4,上述方程可簡化為:
(5)
(6)
(7)
(8)
通過測量到達的時差,我們可以確定聲波的位置源T[3-5]。
2? 聲源定位系統設計實現
2.1 硬件設計
如圖2所示,根據上述聲源定位原理,設計了一種實用的平面聲源定位系統。該系統由5個模塊組成:處理模塊、傳感模塊、無線通信模塊、顯示模塊和電源管理模塊。采用ATmega328P作為微處理器,對四元交叉陣列的聲信號進行采集和處理,同時還負責控制節點中的其他模塊,處理數據、控制與計算機的通信,管理電源模式等。
無線通信模塊選擇NRF905跳頻數據傳輸芯片,傳感模塊可以包括一種或多種類型的傳感器,這里我們使用電子聲傳感器采集聲音信號,并使用可編程增益放大器對信號進行放大、濾波,然后進行A/D轉換。
2.2 時延估計算法
首先計算兩個聲信號的平均值,然后在嵌套循環中實現互相關算法,然后根據最大互相關函數值進行互相關函數值的比較,該值是兩個不同路徑的聲信號的時延。
利用這些公式,結合我們已經得到的時間延遲,可以計算出聲源的位置。
3? 聲音定位實驗
在實驗室里,溫度約為22℃,因此空氣中的聲速約為344m/s。
將聲源位置固定在(35,25),然后由微處理器計算時間延遲,最后計算聲源位置,結果如表1所示。
除第4組由于風、車、人的聲音等外界噪聲造成的假結果外,每次得到的誤差均在6cm以內。在實驗中,應將安裝誤差和觀測誤差控制在最小范圍內,以減小定位誤差。
基于微處理器的定位系統具有實用價值,處理速度可以滿足系統要求。然而,由于位數和浮點數據的精度有限,定位精度和速度受到限制。因此,可以考慮將采集到的數據直接發送到計算機上,通過運行在計算機上的軟件程序來計算時間延遲和聲源位置,從而達到更高的精度[6]。
實驗結果表明,四元交叉陣列的最大誤差約為4°,處理速度可以滿足系統要求。基于四元十字陣的定位系統具有實用價值。
4? 結語
本文提出了一種基于到達時差算法的聲源定位方法,選擇四元交叉陣列作為中心陣,并利用微處理器、無線收發芯片等電路實現了一個實用的聲源定位系統。實驗結果表明,該方法在速度和精度上都取得了較好的性能。
參考文獻
[1] 劉敏,雷鳴.改進的五元十字炸點聲定位算法研究[J].電子產品世界,2017,24(6):53-57.
[2] 王珊.聲探測定位系統的設計與實現[D].太原:中北大學,2018.
[3] Mengmeng Qin,De Hu,Zhe Chen,et al.Compressive Sensing-Based Sound Source Localization for Microphone Arrays[J].Circuits,Systems,and Signal Processing,2021:1-24.
[4] 柳雅龍.基于十字陣列被動超聲的發動機噪聲定位研究[J].艦船電子工程,2020,40(9):52-55.
[5] 王洋,張鴻濤,紀春佳.三角形五元十字混合陣列彈丸落點定位方法[J].探測與控制學報,2020,42(4):92-97.
[6] 雷鳴,陳祥杰.影響五元十字陣聲學定位精度因素分析[J].計算機與數字工程,2017,45(3):426-429.