劉 霞,吳 崧
武漢工程大學(xué)電氣信息學(xué)院,湖北武漢 430205
聲場定位技術(shù)是確定聲源相對(duì)于傳感器的距離和位置的新技術(shù),涵蓋了語言科學(xué)、聲學(xué)、信號(hào)處理、電子學(xué)等學(xué)科,有著諸多方面的應(yīng)用.根據(jù)聲音探測方式的不同,聲音定位分為主動(dòng)聲定位和被動(dòng)聲定位兩種方式[1].主動(dòng)聲定位有發(fā)射、接收裝置,譬如雷達(dá)[2],使用雷達(dá)向外發(fā)射信號(hào),然后根據(jù)回波的性質(zhì)判斷待測目標(biāo)的位置.被動(dòng)聲定位,只有接收裝置,是利用目標(biāo)上的輻射信號(hào)進(jìn)行定位,與主動(dòng)聲定位相比較,具有隱蔽性強(qiáng)、安全性高等特點(diǎn)[3],是現(xiàn)階段聲音定位技術(shù)研究的熱點(diǎn).
聲場定位系統(tǒng)主要是利用各個(gè)傳感器接收聲音信號(hào),經(jīng)過信號(hào)濾波、放大等手段對(duì)信號(hào)進(jìn)行處理,然后根據(jù)聲音信號(hào)到達(dá)各個(gè)傳感器的時(shí)間延時(shí)差TDOA(Time Difference of Arrival,以下簡稱:TDOA)計(jì)算出聲源相對(duì)于傳感器的位置[4].利用時(shí)間延時(shí)差計(jì)算具體位置的算法有多種,最簡單的就是勾股定律,根據(jù)直角三角形三邊關(guān)系,計(jì)算出聲源相對(duì)于傳感器的位置.但是該方法求解方程非常困難,精度不高.牛頓迭代算法是牛頓在17世紀(jì)提出的一種在實(shí)數(shù)域和復(fù)數(shù)域上近似求解方程的方法,主要針對(duì)方程不存在求根公式的情況.牛頓迭代算法是求方程根的重要方法之一,其最大優(yōu)點(diǎn)是在方程f(x)=0的單根附近具有平方收斂,經(jīng)過多次迭代,即可計(jì)算出結(jié)果[5].
本系統(tǒng)在一個(gè)矩形區(qū)域的4個(gè)頂角A、B、C、D分別設(shè)置1個(gè)傳感器,矩形區(qū)域內(nèi)部設(shè)置1個(gè)可任意移動(dòng)的揚(yáng)聲器,如圖1所示.
圖1 系統(tǒng)結(jié)構(gòu)圖Fig.1 Structure diagram of system
發(fā)聲模塊發(fā)出特定頻率的聲音信號(hào),傳感器A、B、C、D接收到聲音信號(hào)后進(jìn)行信號(hào)濾波、放大等處理,單片機(jī)根據(jù)處理過的信號(hào)計(jì)算得到信號(hào)到達(dá)各點(diǎn)的時(shí)間差,再通過特定的算法,即可計(jì)算出聲源在矩形區(qū)域中的具體位置.
基于時(shí)間延時(shí)差的被動(dòng)聲音定位算法,其基本原理是在空間內(nèi),將4個(gè)傳感器分別布置成一定的形狀,來接收聲源的聲音信號(hào),通過計(jì)算每相鄰兩個(gè)傳感器之間所接收到的信號(hào)時(shí)間延時(shí)差,并結(jié)合所布置的聲學(xué)陣列的幾何關(guān)系,來計(jì)算得到聲源位置坐標(biāo).如圖2所示的示意圖中,聲源S的位置坐標(biāo)為(x,y),聲源S到4個(gè)傳感器之間的距離分別為 L1、L2、L3、L4.
圖2 系統(tǒng)坐標(biāo)示意圖Fig.2 Coordinate schematic diagram of system
設(shè)xk是f(x)=0的一個(gè)近似根,把f(x)在xk處作泰勒展開可得:
式(1)中若取前兩項(xiàng)來近似代替f(x),則得到近似線性方程:
利用上述方法,可以將牛頓迭代算法推廣到二元函數(shù),從而對(duì)系統(tǒng)的聲源位置坐標(biāo)求解.
當(dāng)聲源發(fā)聲時(shí),A、B、C、D點(diǎn)會(huì)根據(jù)聲源S的具體位置按一定先后順序接收到聲音信號(hào),例如點(diǎn)A先收到信號(hào),則B和A之間的時(shí)間差為△T1,D和A之間的時(shí)間差為△T2.設(shè)A點(diǎn)為坐標(biāo)原點(diǎn),根據(jù)三角函數(shù)關(guān)系以及聲音在空氣中傳播的時(shí)間與距離成正比的關(guān)系得到式(4)和式(5):
式(4)和式(5)中,V為聲音在空氣中傳播的速度.設(shè)
式(6)和式(7)分別對(duì)x,y求偏導(dǎo)數(shù),得:
任取一點(diǎn)(x0,y0),將式(6)和式(7)分別在該點(diǎn)處做泰勒展開,并取其一階導(dǎo)數(shù)來近似代替f(x,y),即 f(x,y)的線性化,得近似線性方程:
式(14)和式(15),就是求解坐標(biāo)的迭代公式.在求解過程中,(x0,y0)已知,可以計(jì)算出(x,y)的值,再將其帶入以上兩個(gè)方程,經(jīng)過多次迭代運(yùn)算,即可得到精確的位置坐標(biāo).
利用上位機(jī)軟件可以很方便的測試牛頓迭代算法的可行性和精確性.編寫的上位機(jī)軟件界面如圖3所示.
圖3 上位機(jī)界面Fig.3 PC interface
由于是在上位機(jī)中進(jìn)行模擬測試,所以需要設(shè)定S點(diǎn)到A、B、C、D點(diǎn)的距離數(shù)據(jù)和時(shí)間延時(shí)差△T1,△T2用于算法的測試.實(shí)驗(yàn)中,給定待測坐標(biāo)為(30,80),生成測試所需的數(shù)據(jù)為L1=85.44,L2=476.76,L3=542.033,L4=271.662,△T1=1.150 94,△T1=0.547 1.點(diǎn)擊“求解”按鈕進(jìn)行迭代運(yùn)算,位置坐標(biāo)結(jié)果見表1.
表1 上位機(jī)測試數(shù)據(jù)Table1 Test data of computer
從表1可以看出,只需經(jīng)過3次迭代運(yùn)算,即能精確得到待求的位置坐標(biāo),并且在第1次迭代運(yùn)算時(shí),得到的數(shù)據(jù)就已經(jīng)非常接近實(shí)際值.
在350 mm×500 mm的坐標(biāo)紙上進(jìn)行測試,傳感器位于矩形區(qū)域的4個(gè)頂角,聲源模塊位于矩形區(qū)域內(nèi),讓聲源發(fā)出1 s左右的聲音信號(hào),單片機(jī)接收信號(hào)并進(jìn)行運(yùn)算.編寫單片機(jī)程序用于實(shí)物測試,圖4為系統(tǒng)軟件流程圖.
圖4 程序流程圖Fig.4 Diagram of program flow
經(jīng)過多次試驗(yàn)所得結(jié)果如表2所示.
表2 實(shí)物測試數(shù)據(jù)Table 2 Test data
試驗(yàn)表明,系統(tǒng)能夠可靠的實(shí)現(xiàn)坐標(biāo)定位,但是略有誤差.這種誤差大多來源于傳感器后級(jí)的信號(hào)處理,若4個(gè)信號(hào)處理部分不能完全一致,則時(shí)間延時(shí)差就不能準(zhǔn)確測量,從而導(dǎo)致誤差的存在.但是定位精度仍能達(dá)到±15 mm,可見定位性能穩(wěn)定可靠.
筆者提出了一套被動(dòng)定位方式的聲場定位系統(tǒng),利用聲音到達(dá)的時(shí)間延時(shí)差進(jìn)行處理對(duì)聲源進(jìn)行精確定位.由于聲音頻率的局限性以及室內(nèi)具體因素的影響,目前只能用在聲音干擾小的環(huán)境且聲源聲音頻率單一的情況.但系統(tǒng)采用的牛頓迭代算法,具有非常強(qiáng)的實(shí)用性.利用牛頓迭代算法的快速收斂性,在迭代過程中,只需要迭代幾次就可以快速、精確計(jì)算得到聲源坐標(biāo).上位機(jī)模擬測試和實(shí)物測試表明,牛頓迭代算法在聲場定位中有著重要的應(yīng)用價(jià)值.
[1]吳曉,靳世久,李一博.基于麥克風(fēng)陣列聲音信號(hào)定位方法的研究[J].傳感器技術(shù)學(xué)報(bào),2010,5(23):682-684.WU Xiao,JIN Shi-jiu,LI Yi-bo.Sound source localiza-tion based on microphone arrays[J].Chinese Journal of Sensors and Actuators,2010,5(23):682-684.(in Chinese)
[2]ADAMY D.Radar warning receivers:the digital revolution[J].Electronics Defense,2000(6):45-49.
[3]肖峰,李惠昌.聲,武器和測量[M].北京:國防工業(yè)出版社,2002.XIAO Feng,LI Hui-chang.Sound,weapons and measurement[M].Beijing:National Defence Industry Press,2002.(in Chinese)
[4]陳益如,王博,鄔楊波.基于聲音導(dǎo)引的聲源定位系統(tǒng)設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2010,23(10):101-104.CHENG Yi-ru,WANG Bo,WU Yang-bo.Design of sound source localization system based on voice guidance [J].The Industrial Control Computer,2010,23(10):101-104.
[5]徐瑞民.二元非線性方程組求根的牛頓迭代法[J].山東輕工業(yè)學(xué)院學(xué)報(bào),2009,23(4):80-91.XU Rui-min.Newton’s method fourth-nonlinear function of two independent variables[J].Journal of Shandong Institute of Light Industry,2009,23(4):80-91.(in Chinese)