朱宇,衛巍
(西安科技大學 計算機學院,陜西 西安 710054)
基于ARM的聲源定位技術研究與方案設計
朱宇,衛巍
(西安科技大學 計算機學院,陜西 西安710054)
為了能夠準確判斷目標的方位,并且不易受干擾和有源設備探測,設計出基于ARM的聲源定位系統。主要采用基于傳聲器陣列的被動聲源定位技術,系統由傳聲器及其外圍電路、聲音信號采集電路、處理器外圍電路、LCD驅動和外圍電路及系統電源電路五部分組成,根據接收的聲音信號確定目標的位置。介紹了目前常用的聲源定位的研究方法,并且分析了現有的聲源定位技術的不足。并針對現有方法的缺點,提出了在混響環境下,可以有效的進行定位的改進時延估計算法。本設計采用四元傳聲器陣列方法,利用傳聲器陣列拾取聲音信號、時延估計算法判斷聲源位置。經過實踐檢驗,該系統較好的完成了預計的要求。
聲源定位;時延估計;傳聲器陣列;混響
雷達、激光等有源設備易被探測,且易受干擾,而被動聲源定位則可以有效的避免這些問題。由于聲波的特性,比如隱蔽性較強、受環境影響較小等優點,使聲源定位在軍事和民用系統中應用廣泛。傳聲器陣列是由3個或3個以上傳聲器根據一定的結構陣列形成。相對于單個傳聲器來說,多個傳聲器組成的傳聲器陣列可以從聲音的各個方向拾取高質量的信號,并且可以抑制其他非相關聲音和環境噪聲,空間選擇性較強[1]。聲源目標的位置獲得,主要是通過對各個路徑的聲音信號進行分析和處理,在空間中確定一個或多個聲源的平面或空間坐標。
本設計采用的聲源定位算法是基于時延估計(TDOA)的聲源定位算法,在ARM嵌入式系統下,計算量較小,并且能夠進行實時處理。TDOA定位算法是近年來被動定位技術中主要采用的方法之一。時延估計的精確度直接決定了聲源定位的準確度,所以時延估計精度是算法的核心部分。此方法是通過計算不同傳感器采集信號的到達時間差來確定聲源的位置。主要采用基于廣義互相關函數的時延估計,根據接收信號的互相關函數得到時延。但是在混響環境中,定位精度受到很大影響。針對混響問題,文中也提出一種基于線性回歸的時延估計的方法[1]。
目前普遍使用的聲源定位算法基本可以分為3大類:基于最大化可定向波束形成器輸出功率的聲源定位、基于高分辨率譜估計的聲源定位和基于時延估計算法的聲源定位[1-2]。本設計采用第三類方法,即時延估計算法。
1.1通用時延估計算法
時延估計算法是利用時延估計,來完成目標的聯合測向和測距,其中時延就是兩個傳聲器和聲源之間由于距離不同而產生的時間差。根據傳聲器陣列的各組時延值和傳聲器相互之間的幾何位置關系就可以分析出聲音的傳播來源,得到聲源的位置。
時延估計算法分兩步進行:
第一步,先進行時延估計,計算來自同一個聲源信號到達不同位置接收器的時間差。常用的是LMS自適應算法和廣義互相關(GCC)估計算法。
第二步,利用TDOA進行定位估計,根據接收器相互之間的幾何位置關系確定聲源位置。在這一階段,一般采用最大似然法(ML),一方面可以根據搜索的方式,另一方面也可以通過次最優的方法進行搜索,也可以利用空間幾何的定位算法算出聲源位置,球型插值法就是根據這種方法進行定位的。基于時延估計的聲源定位方法原理如圖1所示:A、B傳聲器接收固定聲源P的時間恒定不變,根據聲音到達二者的時間差和相互的幾何位置關系即可得到聲源P的準確位置[3]。

圖1 基于時延估計的聲源定位方法原理圖
圖1中A、B間的距離L為孔徑,A和B到原點的距離相等,均為L/2,目標方向角Φ的計算公式為:

式子中,d為聲音到達A、B之間的聲程差,c為聲音的傳播速度。根據公式進行逆向推理可知,要確定聲源目標的方位角Φ,必須知道聲音到達A、B的聲程差d。由此可得,只要計算出A和B之間的時延時間t,便可以間接求出聲音到達A、B的聲程差,就可以得到聲源的位置。
本設計采用四元傳聲器陣列,平面結構如圖2所示[3]。

圖2 平面結構圖
根據公式推導,可得聲源位置計算公式:

根據Φ,θ的值就可以確定聲源的位置,判斷聲源信號是否存在主要依靠采集到的聲源信號的閾值,通過判斷采集的聲音信號的閾值與系統設定的閾值的大小,判斷是否有聲源信號輸入,如果采集的信號閾值大于設定的閾值,那么就說明有信號輸入,然后開始進行定位估計。如果采集的信號閾值小于設定的閾值,即判定采集的信號無效,再次采集。
1.2混響環境下的時延估計算法
在混響環境下,由于條件的限制,基于廣義互相關函數的時延估計算法不能很好的克服不利因素,定位效果不佳。這種情況下,采用基于線性回歸的時延估計方法[1]。這種方法假設聲音傳播的路徑基本滿足線性波動方程,并且在一定時間段內,環境的各個因素保持不變,設聲源信號為s(t),傳聲器陣列接收到的信號分別為x1(t)和x2(t),其中:

這里h1(t)和h2(t)為房間脈沖響應,τ為待延時估計,n1(t)和n2(t)為環境噪聲[1-2]。
在頻域上,可得:X1(ω)=H1(ω)S(ω)+N1(ω)

可得信號互功率譜的相位為:

其中?(ω)是由于噪聲引起的相位誤差。因為混響環境下的各個因素,多條傳播路徑相互干擾,必然使相位不能準確判斷,必然存在一定的誤差,為了盡量避免出現此類狀況,采用回歸函數的方法[1]。

根據回歸函數,可得時延估計為:

該函數能消除額外信號帶來的相位差。包含在ρBI中的S (ω),也可改善誤差空間。結果表明,在混響環境下,利用線性回歸函數進行時延估計相對于通用的時延算法的準確度更高,效果更明顯。
2.1整體設計方案
硬件電路設計主要包括傳聲器及外圍電路、聲音信號采集電路、處理器外圍電路、LCD驅動和外圍電路以及系統電源電路5部分。系統首先通過傳聲器陣列接收聲源發出的聲音信號,聲音信號采集電路完成對聲音信號的放大和A/D轉換,系統將放大轉換后得到的數字信號發送到處理器,CPU對轉換后的數字信號進行計算并得出最終結果,最后將最終結果顯示在LCD上[3]。整體設計方案如圖3所示。

圖3 整體設計方案圖
2.2模塊設計
2.2.1傳聲器陣列
傳聲器陣列主要包括3種隊形,分別為線形陣列、平面陣列和立體陣列3種。線形陣列一般為直線型,不能判斷聲源目標的方向性;而立體陣列位置多變,定位復雜;相對而言,平面陣列可以在整個平面對聲源目標進行定位,也可以對陣列所在平面為界的半個空間進行定位[4]。假設傳聲器陣列由N個傳聲器組成,則至少可以得到N-1個獨立的時延,根據多個時延確定聲源位置。在平面陣列中,要想對聲源進行定位,至少需要3個傳聲器。本設計采用四元傳聲器陣列。
2.2.2信號調理、采集電路設計
利用LM324運算放大器完成傳聲器輸出信號的放大,運算放大器要滿足系統所需要的增益、帶寬要求,并且電源電壓的工作范圍較寬,要保證放大電路有很寬的線性工作區域。設計采用兩級放大,第一級設計為固定放大倍數,第二級設計為可調放大倍數,這樣設計可以獲得合適的放大倍數。不僅方便控制放大倍數,還可以調整輸出信號的偏置電壓[3]。
由于處理器不能處理模擬信號,所以將信號傳到處理器之前必須進行A/D轉換,將模擬聲音信號轉換為數字信號,采用TVL2541作為A/D轉換芯片來實現信號的數據采集。
2.2.3系統電源設計
電源電路的設計在整個設計中也尤為重要,只有提供合適的電源才能保證系統正常運行。本設計主要有4個電源模塊,包括+5 V的系統電源、+3.3 V的模擬電源、+3.3 V的數字電源和-5 V的模擬電源[3]。
3.1硬件實現
設計采用四元傳聲器陣列實現定位,信號調理電路如圖4所示[3]。運用LM324運算放大器完成傳聲器輸出信號的放大。電位器R8調整放大倍數,R7調整輸出信號的偏置電壓。
處理器只能處理數字信號,所以要先將模擬聲音信號轉換為數字信號。本設計采用TLV2541作為A/D轉換芯片實現信號的數據采集,信號采集電路如圖5所示[3]。

圖4 信號調理電路圖
3.2軟件實現
傳聲器首先接收來自各個方向的聲音,判斷信號閾值是否大于系統設定的閾值。如果大于,視為有效信號,經過A/D轉換傳給處理器進行處理并顯示;如果不大于,則視為無效信號,繼續接收。定位算法的仿真結果如圖6所示。峰值最高點即為聲源的位置,顯示的是聲源的坐標。

圖5 信號采集電路圖

圖6 定位仿真圖
本設計的聲源定位方案實現了聲源信號的實時采集和數據處理,對聲源目標可以實時定位。相比較現有的聲源定位技術在混響環境下,不能有效的進行定位,本設計可以有效的定位聲源目標,基于線性回歸的時延估計在一定范圍內能更佳地消除多條路徑傳播引起的相位差。經測試,本系統方案具有測試準確、穩定可靠、良好的實用性等特點,達到了設計要求。
[1]嚴素清,黃冰.傳聲器陣列的聲源定位研究[J].電聲技術,2004(12):27-30.
[2]郭俊成.基于傳聲器陣列的聲源定位技術研究 [D].南京:南京航空航天大學,2007.
[3]王濤.基于ARM的聲源定位技術研究[D].沈陽:沈陽航空航天大學,2012.
[4]馮振宇.基于聲傳感器陣列的移動目標定位技術研究[D].沈陽:沈陽理工大學,2013.
[5]張莉.基于傳聲器陣列的聲源定位方法研究 [D].成都:電子科技大學,2007.
[6]柯昆.聲源定位技術研究 [D].西安:西安電子科技大學,2010.
[7]張俊.聲音定位系統[D].杭州:浙江理工大學,2013.
[8]苗晟,周維,唐浩,等.一種聲源定位系統設計[J].計算機科學,2013(11):398-400.
Study and design on sound source localization based on ARM
ZHU Yu,WEI Wei
(College of Computer Science,Xi’an University of Science and Technology,Xi’an 710054,China)
In order to be able to accurately determine the location of target,and difficult to be interfered and detected by active equipment,designed a system of sound source localization based on ARM.This paper mainly uses passive sound source localization technology based on microphone array,the system is made up of five sections,that is microphone and its peripheral circuits,sound signal acquisition circuits,processor and its peripheral circuits,LCD driver and its peripheral circuits and the system power supply circuit,it determines the location of target according to the received sound signal.It introduces frequently-used method of sound source localization,and analyzes to find the disadvantages of the existing method. And contrary to the disadvantages,put forward an effective algorithm of effective time delay estimation to locate under the reverberant environment.It uses four sensor array.It utilizes microphone array to pick up sound signal and uses time delay estimate algorithm to judge sound source localization.It can be better to complete the projected requirements after being tested.
sound source localization;time delay estimation;microphone array;reverberan
TN02
A
1674-6236(2016)14-0152-03
2015-07-09稿件編號:201507075
朱 宇(1955—),男,遼寧鐵嶺人,副教授。研究方向:嵌入式系統、計算機控制。