朱宇,衛(wèi)巍
(西安科技大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安 710054)
基于ARM的聲源定位技術(shù)研究與方案設(shè)計(jì)
朱宇,衛(wèi)巍
(西安科技大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安710054)
為了能夠準(zhǔn)確判斷目標(biāo)的方位,并且不易受干擾和有源設(shè)備探測(cè),設(shè)計(jì)出基于ARM的聲源定位系統(tǒng)。主要采用基于傳聲器陣列的被動(dòng)聲源定位技術(shù),系統(tǒng)由傳聲器及其外圍電路、聲音信號(hào)采集電路、處理器外圍電路、LCD驅(qū)動(dòng)和外圍電路及系統(tǒng)電源電路五部分組成,根據(jù)接收的聲音信號(hào)確定目標(biāo)的位置。介紹了目前常用的聲源定位的研究方法,并且分析了現(xiàn)有的聲源定位技術(shù)的不足。并針對(duì)現(xiàn)有方法的缺點(diǎn),提出了在混響環(huán)境下,可以有效的進(jìn)行定位的改進(jìn)時(shí)延估計(jì)算法。本設(shè)計(jì)采用四元傳聲器陣列方法,利用傳聲器陣列拾取聲音信號(hào)、時(shí)延估計(jì)算法判斷聲源位置。經(jīng)過(guò)實(shí)踐檢驗(yàn),該系統(tǒng)較好的完成了預(yù)計(jì)的要求。
聲源定位;時(shí)延估計(jì);傳聲器陣列;混響
雷達(dá)、激光等有源設(shè)備易被探測(cè),且易受干擾,而被動(dòng)聲源定位則可以有效的避免這些問(wèn)題。由于聲波的特性,比如隱蔽性較強(qiáng)、受環(huán)境影響較小等優(yōu)點(diǎn),使聲源定位在軍事和民用系統(tǒng)中應(yīng)用廣泛。傳聲器陣列是由3個(gè)或3個(gè)以上傳聲器根據(jù)一定的結(jié)構(gòu)陣列形成。相對(duì)于單個(gè)傳聲器來(lái)說(shuō),多個(gè)傳聲器組成的傳聲器陣列可以從聲音的各個(gè)方向拾取高質(zhì)量的信號(hào),并且可以抑制其他非相關(guān)聲音和環(huán)境噪聲,空間選擇性較強(qiáng)[1]。聲源目標(biāo)的位置獲得,主要是通過(guò)對(duì)各個(gè)路徑的聲音信號(hào)進(jìn)行分析和處理,在空間中確定一個(gè)或多個(gè)聲源的平面或空間坐標(biāo)。
本設(shè)計(jì)采用的聲源定位算法是基于時(shí)延估計(jì)(TDOA)的聲源定位算法,在ARM嵌入式系統(tǒng)下,計(jì)算量較小,并且能夠進(jìn)行實(shí)時(shí)處理。TDOA定位算法是近年來(lái)被動(dòng)定位技術(shù)中主要采用的方法之一。時(shí)延估計(jì)的精確度直接決定了聲源定位的準(zhǔn)確度,所以時(shí)延估計(jì)精度是算法的核心部分。此方法是通過(guò)計(jì)算不同傳感器采集信號(hào)的到達(dá)時(shí)間差來(lái)確定聲源的位置。主要采用基于廣義互相關(guān)函數(shù)的時(shí)延估計(jì),根據(jù)接收信號(hào)的互相關(guān)函數(shù)得到時(shí)延。但是在混響環(huán)境中,定位精度受到很大影響。針對(duì)混響問(wèn)題,文中也提出一種基于線性回歸的時(shí)延估計(jì)的方法[1]。
目前普遍使用的聲源定位算法基本可以分為3大類:基于最大化可定向波束形成器輸出功率的聲源定位、基于高分辨率譜估計(jì)的聲源定位和基于時(shí)延估計(jì)算法的聲源定位[1-2]。本設(shè)計(jì)采用第三類方法,即時(shí)延估計(jì)算法。
1.1通用時(shí)延估計(jì)算法
時(shí)延估計(jì)算法是利用時(shí)延估計(jì),來(lái)完成目標(biāo)的聯(lián)合測(cè)向和測(cè)距,其中時(shí)延就是兩個(gè)傳聲器和聲源之間由于距離不同而產(chǎn)生的時(shí)間差。根據(jù)傳聲器陣列的各組時(shí)延值和傳聲器相互之間的幾何位置關(guān)系就可以分析出聲音的傳播來(lái)源,得到聲源的位置。
時(shí)延估計(jì)算法分兩步進(jìn)行:
第一步,先進(jìn)行時(shí)延估計(jì),計(jì)算來(lái)自同一個(gè)聲源信號(hào)到達(dá)不同位置接收器的時(shí)間差。常用的是LMS自適應(yīng)算法和廣義互相關(guān)(GCC)估計(jì)算法。
第二步,利用TDOA進(jìn)行定位估計(jì),根據(jù)接收器相互之間的幾何位置關(guān)系確定聲源位置。在這一階段,一般采用最大似然法(ML),一方面可以根據(jù)搜索的方式,另一方面也可以通過(guò)次最優(yōu)的方法進(jìn)行搜索,也可以利用空間幾何的定位算法算出聲源位置,球型插值法就是根據(jù)這種方法進(jìn)行定位的?;跁r(shí)延估計(jì)的聲源定位方法原理如圖1所示:A、B傳聲器接收固定聲源P的時(shí)間恒定不變,根據(jù)聲音到達(dá)二者的時(shí)間差和相互的幾何位置關(guān)系即可得到聲源P的準(zhǔn)確位置[3]。
圖1 基于時(shí)延估計(jì)的聲源定位方法原理圖
圖1中A、B間的距離L為孔徑,A和B到原點(diǎn)的距離相等,均為L(zhǎng)/2,目標(biāo)方向角Φ的計(jì)算公式為:
式子中,d為聲音到達(dá)A、B之間的聲程差,c為聲音的傳播速度。根據(jù)公式進(jìn)行逆向推理可知,要確定聲源目標(biāo)的方位角Φ,必須知道聲音到達(dá)A、B的聲程差d。由此可得,只要計(jì)算出A和B之間的時(shí)延時(shí)間t,便可以間接求出聲音到達(dá)A、B的聲程差,就可以得到聲源的位置。
本設(shè)計(jì)采用四元傳聲器陣列,平面結(jié)構(gòu)如圖2所示[3]。
圖2 平面結(jié)構(gòu)圖
根據(jù)公式推導(dǎo),可得聲源位置計(jì)算公式:
根據(jù)Φ,θ的值就可以確定聲源的位置,判斷聲源信號(hào)是否存在主要依靠采集到的聲源信號(hào)的閾值,通過(guò)判斷采集的聲音信號(hào)的閾值與系統(tǒng)設(shè)定的閾值的大小,判斷是否有聲源信號(hào)輸入,如果采集的信號(hào)閾值大于設(shè)定的閾值,那么就說(shuō)明有信號(hào)輸入,然后開始進(jìn)行定位估計(jì)。如果采集的信號(hào)閾值小于設(shè)定的閾值,即判定采集的信號(hào)無(wú)效,再次采集。
1.2混響環(huán)境下的時(shí)延估計(jì)算法
在混響環(huán)境下,由于條件的限制,基于廣義互相關(guān)函數(shù)的時(shí)延估計(jì)算法不能很好的克服不利因素,定位效果不佳。這種情況下,采用基于線性回歸的時(shí)延估計(jì)方法[1]。這種方法假設(shè)聲音傳播的路徑基本滿足線性波動(dòng)方程,并且在一定時(shí)間段內(nèi),環(huán)境的各個(gè)因素保持不變,設(shè)聲源信號(hào)為s(t),傳聲器陣列接收到的信號(hào)分別為x1(t)和x2(t),其中:
這里h1(t)和h2(t)為房間脈沖響應(yīng),τ為待延時(shí)估計(jì),n1(t)和n2(t)為環(huán)境噪聲[1-2]。
在頻域上,可得:X1(ω)=H1(ω)S(ω)+N1(ω)
可得信號(hào)互功率譜的相位為:
其中?(ω)是由于噪聲引起的相位誤差。因?yàn)榛祉懎h(huán)境下的各個(gè)因素,多條傳播路徑相互干擾,必然使相位不能準(zhǔn)確判斷,必然存在一定的誤差,為了盡量避免出現(xiàn)此類狀況,采用回歸函數(shù)的方法[1]。
根據(jù)回歸函數(shù),可得時(shí)延估計(jì)為:
該函數(shù)能消除額外信號(hào)帶來(lái)的相位差。包含在ρBI中的S (ω),也可改善誤差空間。結(jié)果表明,在混響環(huán)境下,利用線性回歸函數(shù)進(jìn)行時(shí)延估計(jì)相對(duì)于通用的時(shí)延算法的準(zhǔn)確度更高,效果更明顯。
2.1整體設(shè)計(jì)方案
硬件電路設(shè)計(jì)主要包括傳聲器及外圍電路、聲音信號(hào)采集電路、處理器外圍電路、LCD驅(qū)動(dòng)和外圍電路以及系統(tǒng)電源電路5部分。系統(tǒng)首先通過(guò)傳聲器陣列接收聲源發(fā)出的聲音信號(hào),聲音信號(hào)采集電路完成對(duì)聲音信號(hào)的放大和A/D轉(zhuǎn)換,系統(tǒng)將放大轉(zhuǎn)換后得到的數(shù)字信號(hào)發(fā)送到處理器,CPU對(duì)轉(zhuǎn)換后的數(shù)字信號(hào)進(jìn)行計(jì)算并得出最終結(jié)果,最后將最終結(jié)果顯示在LCD上[3]。整體設(shè)計(jì)方案如圖3所示。
圖3 整體設(shè)計(jì)方案圖
2.2模塊設(shè)計(jì)
2.2.1傳聲器陣列
傳聲器陣列主要包括3種隊(duì)形,分別為線形陣列、平面陣列和立體陣列3種。線形陣列一般為直線型,不能判斷聲源目標(biāo)的方向性;而立體陣列位置多變,定位復(fù)雜;相對(duì)而言,平面陣列可以在整個(gè)平面對(duì)聲源目標(biāo)進(jìn)行定位,也可以對(duì)陣列所在平面為界的半個(gè)空間進(jìn)行定位[4]。假設(shè)傳聲器陣列由N個(gè)傳聲器組成,則至少可以得到N-1個(gè)獨(dú)立的時(shí)延,根據(jù)多個(gè)時(shí)延確定聲源位置。在平面陣列中,要想對(duì)聲源進(jìn)行定位,至少需要3個(gè)傳聲器。本設(shè)計(jì)采用四元傳聲器陣列。
2.2.2信號(hào)調(diào)理、采集電路設(shè)計(jì)
利用LM324運(yùn)算放大器完成傳聲器輸出信號(hào)的放大,運(yùn)算放大器要滿足系統(tǒng)所需要的增益、帶寬要求,并且電源電壓的工作范圍較寬,要保證放大電路有很寬的線性工作區(qū)域。設(shè)計(jì)采用兩級(jí)放大,第一級(jí)設(shè)計(jì)為固定放大倍數(shù),第二級(jí)設(shè)計(jì)為可調(diào)放大倍數(shù),這樣設(shè)計(jì)可以獲得合適的放大倍數(shù)。不僅方便控制放大倍數(shù),還可以調(diào)整輸出信號(hào)的偏置電壓[3]。
由于處理器不能處理模擬信號(hào),所以將信號(hào)傳到處理器之前必須進(jìn)行A/D轉(zhuǎn)換,將模擬聲音信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),采用TVL2541作為A/D轉(zhuǎn)換芯片來(lái)實(shí)現(xiàn)信號(hào)的數(shù)據(jù)采集。
2.2.3系統(tǒng)電源設(shè)計(jì)
電源電路的設(shè)計(jì)在整個(gè)設(shè)計(jì)中也尤為重要,只有提供合適的電源才能保證系統(tǒng)正常運(yùn)行。本設(shè)計(jì)主要有4個(gè)電源模塊,包括+5 V的系統(tǒng)電源、+3.3 V的模擬電源、+3.3 V的數(shù)字電源和-5 V的模擬電源[3]。
3.1硬件實(shí)現(xiàn)
設(shè)計(jì)采用四元傳聲器陣列實(shí)現(xiàn)定位,信號(hào)調(diào)理電路如圖4所示[3]。運(yùn)用LM324運(yùn)算放大器完成傳聲器輸出信號(hào)的放大。電位器R8調(diào)整放大倍數(shù),R7調(diào)整輸出信號(hào)的偏置電壓。
處理器只能處理數(shù)字信號(hào),所以要先將模擬聲音信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。本設(shè)計(jì)采用TLV2541作為A/D轉(zhuǎn)換芯片實(shí)現(xiàn)信號(hào)的數(shù)據(jù)采集,信號(hào)采集電路如圖5所示[3]。
圖4 信號(hào)調(diào)理電路圖
3.2軟件實(shí)現(xiàn)
傳聲器首先接收來(lái)自各個(gè)方向的聲音,判斷信號(hào)閾值是否大于系統(tǒng)設(shè)定的閾值。如果大于,視為有效信號(hào),經(jīng)過(guò)A/D轉(zhuǎn)換傳給處理器進(jìn)行處理并顯示;如果不大于,則視為無(wú)效信號(hào),繼續(xù)接收。定位算法的仿真結(jié)果如圖6所示。峰值最高點(diǎn)即為聲源的位置,顯示的是聲源的坐標(biāo)。
圖5 信號(hào)采集電路圖
圖6 定位仿真圖
本設(shè)計(jì)的聲源定位方案實(shí)現(xiàn)了聲源信號(hào)的實(shí)時(shí)采集和數(shù)據(jù)處理,對(duì)聲源目標(biāo)可以實(shí)時(shí)定位。相比較現(xiàn)有的聲源定位技術(shù)在混響環(huán)境下,不能有效的進(jìn)行定位,本設(shè)計(jì)可以有效的定位聲源目標(biāo),基于線性回歸的時(shí)延估計(jì)在一定范圍內(nèi)能更佳地消除多條路徑傳播引起的相位差。經(jīng)測(cè)試,本系統(tǒng)方案具有測(cè)試準(zhǔn)確、穩(wěn)定可靠、良好的實(shí)用性等特點(diǎn),達(dá)到了設(shè)計(jì)要求。
[1]嚴(yán)素清,黃冰.傳聲器陣列的聲源定位研究[J].電聲技術(shù),2004(12):27-30.
[2]郭俊成.基于傳聲器陣列的聲源定位技術(shù)研究 [D].南京:南京航空航天大學(xué),2007.
[3]王濤.基于ARM的聲源定位技術(shù)研究[D].沈陽(yáng):沈陽(yáng)航空航天大學(xué),2012.
[4]馮振宇.基于聲傳感器陣列的移動(dòng)目標(biāo)定位技術(shù)研究[D].沈陽(yáng):沈陽(yáng)理工大學(xué),2013.
[5]張莉.基于傳聲器陣列的聲源定位方法研究 [D].成都:電子科技大學(xué),2007.
[6]柯昆.聲源定位技術(shù)研究 [D].西安:西安電子科技大學(xué),2010.
[7]張俊.聲音定位系統(tǒng)[D].杭州:浙江理工大學(xué),2013.
[8]苗晟,周維,唐浩,等.一種聲源定位系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)科學(xué),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稿件編號(hào):201507075
朱 宇(1955—),男,遼寧鐵嶺人,副教授。研究方向:嵌入式系統(tǒng)、計(jì)算機(jī)控制。