陸灝銘,陳 瑋,劉壽寶
(1.廣東工業(yè)大學(xué)自動(dòng)化學(xué)院,廣東廣州510006;2.華中科技大學(xué)圖像識(shí)別與人工智能研究所,湖北武漢430074)
基于麥克風(fēng)陣列的聲源定位廣泛應(yīng)用于具有嘈雜背景的語(yǔ)音通信環(huán)境,如,視頻會(huì)議、多媒體教室、車載電話等[1],以提高通信質(zhì)量;在地震研究、降噪設(shè)計(jì)、壓力容器的無(wú)損檢測(cè)[2]等諸多領(lǐng)域也有著廣泛的應(yīng)用。本文設(shè)計(jì)提出的基于麥克風(fēng)陣列的聲源定位系統(tǒng)可以估算出聲源位置和方向角,并對(duì)聲源進(jìn)行實(shí)時(shí)跟蹤。
聲源定位算法研究主要集中在計(jì)算機(jī)實(shí)驗(yàn)仿真,采用Matlab與C語(yǔ)言[3]結(jié)合,難以開發(fā)出界面友好的程序,流程控制能力不理想,在數(shù)據(jù)采集、硬件控制等方面都比較繁瑣,編程難度大,而程序的通用性也受到制約。本文采用LabVIEW圖形化編程語(yǔ)言,方便地完成數(shù)據(jù)采集與存儲(chǔ)、分析與處理、硬件及儀器控制等任務(wù)。同時(shí)從平面四元方陣定位模型出發(fā),開發(fā)出一種基于虛擬儀器的實(shí)時(shí)聲源定位系統(tǒng),并配合激光筆對(duì)聲源進(jìn)行實(shí)時(shí)跟蹤。該系統(tǒng)控制界面友好,定位速度較快,精度理想,基本能滿足對(duì)近場(chǎng)語(yǔ)音信號(hào)的實(shí)時(shí)定位要求。
本系統(tǒng)主要由麥克風(fēng)陣列、放大電路、PXI—4472數(shù)據(jù)采集卡、PXI平臺(tái)、舵機(jī)、激光筆組成,整體構(gòu)成如圖1所示。
1.1.1 麥克風(fēng)工作原理
在通信領(lǐng)域中使用的麥克風(fēng)主要是動(dòng)圈式和電容麥克風(fēng)。電容麥克風(fēng)頻率響應(yīng)平直、音質(zhì)保真、性價(jià)比高。駐極體電容麥克風(fēng)是在電容麥克風(fēng)優(yōu)良的基礎(chǔ)上融合了現(xiàn)代化工技術(shù)而誕生的新一代電容麥克風(fēng)。
駐極體麥克風(fēng)的工作原理是:當(dāng)麥克風(fēng)受到振動(dòng)或受到氣流摩擦?xí)r,兩極板間的距離發(fā)生改變,即電容改變,從而引起電壓變化。電壓變化的大小和頻率分別反映了外界聲壓的強(qiáng)弱和頻率。
圖1 系統(tǒng)結(jié)構(gòu)框圖Fig 1 Block diagram of system structure
1.1.2 麥克風(fēng)陣列的選擇
麥克風(fēng)陣列是指由一定的幾何結(jié)構(gòu)排列而成的若干個(gè)麥克風(fēng)組成的陣列,按幾何結(jié)構(gòu)可以分為線性陣列、平面陣列和立體陣列。直線陣列結(jié)構(gòu)簡(jiǎn)單,對(duì)應(yīng)的算法復(fù)雜度較低,但是只能定位空間范圍內(nèi)的特定區(qū)域;三維陣列對(duì)空間定位性能好,但是結(jié)構(gòu)復(fù)雜,可以選擇的算法不多,且實(shí)現(xiàn)成本較高;平面陣列在平面內(nèi)定位性能優(yōu)越,在空間內(nèi)定位性能也較好,可以選擇的定位算法很多,適合于絕大多數(shù)的定位系統(tǒng)。出于對(duì)定位精度、成本和復(fù)雜度方面的考慮,本系統(tǒng)采用平面陣列。
為了測(cè)出三維空間目標(biāo)的距離、方位角和俯仰角,需要有3個(gè)獨(dú)立的時(shí)延量,所以,至少需要4個(gè)麥克風(fēng)。如圖2給出了一種平面四元十字陣的幾何模型,4個(gè)陣元的坐標(biāo)分別為M1(d,0,0),M2(0,d,0),M3(-d,0,0),M4(0,-d,0)。
圖2 平面四元十字陣定位原理圖Fig 2 Positioning principle diagram of planar four-element crossing array
由于麥克風(fēng)輸出的電壓信號(hào)為mV級(jí),所以,需要設(shè)計(jì)有足夠增益的放大電路。LM324通用運(yùn)算放大器滿足系統(tǒng)所要求的帶寬、增益要求,而且有較寬的電源電壓工作范圍,保證放大電路有著很寬的線性工作區(qū)域。根據(jù)信號(hào)的特點(diǎn),本系統(tǒng)中的放大電路采用兩級(jí)放大,第一級(jí)放大電路為固定增益;第二級(jí)放大電路為可調(diào)增益,使每一路的麥克風(fēng)均可通過(guò)第二級(jí)放大電路將其輸出放大到適合的幅度范圍。本系統(tǒng)設(shè)計(jì)的兩級(jí)放大電路如圖3所示。
A/D轉(zhuǎn)換電路是通過(guò)數(shù)據(jù)采集卡PXI—4472完成的,該采集卡是NI公司專為高通道數(shù)的聲音和振動(dòng)應(yīng)用而設(shè)計(jì)的高精度數(shù)據(jù)采集(DAQ)模塊,支持8路同步采樣模擬輸入,最高采樣率達(dá)102.4 kS/s,滿足本系統(tǒng)的需求。
圖3 兩級(jí)放大電路設(shè)計(jì)圖Fig 3 Design diagram of two-stage amplifier circuit
由采集設(shè)備采集到的聲音信號(hào)中,夾雜著電子噪聲和背景噪聲,污染了聲音信號(hào)。為了抑制噪聲對(duì)后續(xù)信號(hào)分析的影響,需要進(jìn)行預(yù)處理。信號(hào)預(yù)處理[4]包括帶通濾波、分幀加窗、端點(diǎn)檢測(cè),具體流程如下:
1)預(yù)濾波:采用帶通濾波器濾波,以抑制輸入信號(hào)各頻域分量中頻率超出fs/2(fs為采樣率)的所有分量,防止混疊干擾,同時(shí)抑制50 Hz的電源干擾;
2)分幀:采用幀與幀重疊的方法,避免失幀;
3)加窗:用窗函數(shù)w(n)乘信號(hào)s(n),形成加窗函數(shù)sw(n)。窗函數(shù)的作用是保持幀與幀之間的連續(xù)性,本系統(tǒng)使用的是Hamming窗,其表達(dá)式如下(N為幀長(zhǎng))
4)計(jì)算短時(shí)能量E:若E小于門限值可認(rèn)為是噪聲,否則,進(jìn)入下一步
5)計(jì)算短時(shí)過(guò)零率Z0:若Z0在門限內(nèi),則表示檢測(cè)到語(yǔ)音
聲源定位算法[5]可以分為三類。第一類是基于波束形成的方法,該方法可以用于多聲源的定位,但存在著對(duì)初值敏感和需要聲源和背景噪聲等先驗(yàn)知識(shí)的問(wèn)題。第二類是基于高分辨率譜估計(jì)的方法,該方法可以隨聲源方向進(jìn)行有效的估計(jì),精度高,但是計(jì)算量比較大。第三類是基于到達(dá)時(shí)間差(time difference of arrival,TDoA)的方法,通過(guò)聲音信號(hào)到達(dá)不同陣元的時(shí)間差,建立三維聲源定位模型方程組進(jìn)行定位,由于該方法原理簡(jiǎn)單,易于實(shí)現(xiàn),計(jì)算量小,故本文所提出的系統(tǒng)采用基于TDoA的方法進(jìn)行定位。
基于TDoA的聲源定位算法由兩步組成,第一步為時(shí)延估計(jì),用于計(jì)算同一聲源的信號(hào)到達(dá)2個(gè)麥克風(fēng)的時(shí)間差;第二步為位置估計(jì),根據(jù)時(shí)延差估計(jì)值和麥克風(fēng)陣元間的幾何關(guān)系確定聲源位置。
1.4.1 時(shí)延估計(jì)算法
采用廣義互相關(guān)函數(shù)(GCC)法作為時(shí)延估計(jì)方法。該方法借助于來(lái)自同一聲源的信號(hào)存在一定的相關(guān)性這一特性,通過(guò)計(jì)算麥克風(fēng)陣列接收信號(hào)之間的互相關(guān)函數(shù),從而估計(jì)出TDoA值。GCC時(shí)延估計(jì)框圖如圖4所示。
圖4 GCC時(shí)延估計(jì)框圖Fig 4 Block diagram of GCC time delay estimation
麥克風(fēng)接收到的信號(hào)為
其中,s(t)為聲源信號(hào);αi,τi,ni分別表示從聲源到第i個(gè)麥克風(fēng)的幅值衰減系數(shù)、延遲和加性噪聲。
廣義互相關(guān)法通過(guò)求兩信號(hào)之間的互功譜,并在頻域內(nèi)給予一定的加權(quán),對(duì)信號(hào)和噪聲進(jìn)行白化處理,增強(qiáng)信號(hào)中信噪比較高的頻率分量,從而抑制噪聲的影響。再反傅里葉變換到時(shí)域,得到兩信號(hào)之間的廣義互相關(guān)函數(shù)
其中,Xi(w)(w)為2個(gè)麥克風(fēng)接收信號(hào)xi(t)與xj(t)之間的互功率譜,Ψij(w)為權(quán)函數(shù)。時(shí)延估計(jì)為
1.4.2 位置估計(jì)算法
S(x,y,z)表示聲源。設(shè)ri表示聲源到麥克風(fēng)Mi的距離,τij表示聲源到麥克風(fēng) Mi與 Mj間的時(shí)延,r,θ[0°,90°],φ[0°,360°]分別表示聲源到坐標(biāo)原點(diǎn)的距離、俯仰角和方位角,d為麥克風(fēng)陣元到原點(diǎn)距離,c為聲速。
在直角坐標(biāo)系中,利用兩點(diǎn)間距離公式和速度公式,聯(lián)立如下方程組
解方程得
脈寬調(diào)制(pulse width modulation,PWM)波是一種可用程序控制占空比、周期和相位的波形。舵機(jī)是通過(guò)周期固定的脈沖信號(hào)控制的,舵機(jī)的轉(zhuǎn)位正比于脈沖的寬度,這個(gè)連續(xù)的脈沖信號(hào)可以由PWM實(shí)現(xiàn)。舵機(jī)內(nèi)部會(huì)產(chǎn)生一個(gè)頻率為若干Hz的基準(zhǔn)信號(hào),通過(guò)基準(zhǔn)信號(hào)與外部所給PWM波的正脈沖持續(xù)時(shí)間進(jìn)行比較,從而確定轉(zhuǎn)向和轉(zhuǎn)角的大小。PWM波可由LabVIEW編程實(shí)現(xiàn),由于PXI—6221只有I/O口,所以,使用軟件編程將模擬 I/O轉(zhuǎn)換成為PWM波,每個(gè)PWM通道都可以通過(guò)編程使能調(diào)整占空比大小,完成對(duì)舵機(jī)的控制。
本系統(tǒng)中,舵機(jī)需要2個(gè)自由度的方向驅(qū)動(dòng),采用2個(gè)舵機(jī)固連的方式,即一個(gè)舵機(jī)連接激光筆作為第一個(gè)自由度,第二個(gè)舵機(jī)連接第一個(gè)舵機(jī)與激光筆這個(gè)整體,作為第二個(gè)自由度。通過(guò)兩路PWM信號(hào)控制2個(gè)舵機(jī)的轉(zhuǎn)動(dòng),從而達(dá)到定位的目的。
基于LabVIEW圖形化[6]的編程方式,直接簡(jiǎn)便,降低了程序的開發(fā)難度,減少了開發(fā)時(shí)間。LabVIEW程序包含2個(gè)主要組成部分,前面板(front panel)和程序框圖(block diagram)。前面板是虛擬儀器的交互式人機(jī)界面,有輸入?yún)?shù)的控制量和顯示輸出結(jié)果的指示量。程序框圖中,用數(shù)據(jù)流的連線連接前面板上控制量、指示量、結(jié)構(gòu)以及各種函數(shù)節(jié)點(diǎn),實(shí)現(xiàn)儀器功能。
聲源定位系統(tǒng)的主界面包含實(shí)時(shí)數(shù)據(jù)采集與結(jié)果顯示。聲源定位軟件程序流程圖如圖5所示。
圖5 程序流程圖Fig 5 Flow chart of program
在實(shí)際聲場(chǎng)中,對(duì)真實(shí)的聲源進(jìn)行測(cè)量,以檢驗(yàn)聲源定位系統(tǒng)的定位效果。選擇空曠的室內(nèi),選用的聲源為正弦波聲源。測(cè)試結(jié)果如表1所示。從實(shí)際測(cè)量數(shù)據(jù)可知,所設(shè)計(jì)的系統(tǒng)的測(cè)量誤差較小,能滿足在混響和噪聲不是很強(qiáng)的視頻會(huì)議等場(chǎng)合。
表1 聲源坐標(biāo)測(cè)量結(jié)果Tab 1 Test results of acoustic source coordinate
經(jīng)過(guò)多次實(shí)驗(yàn)驗(yàn)證,本系統(tǒng)定位距離為5 m半徑;距離的定位精度為±15 cm,角度的定位精度為±5°。
基于麥克風(fēng)陣列的聲源定位已經(jīng)廣泛應(yīng)用于具有嘈雜背景的語(yǔ)音通信環(huán)境和工業(yè)噪聲檢測(cè)與降噪設(shè)計(jì)中。Lab-VIEW作為一種圖形化開發(fā)平臺(tái),強(qiáng)調(diào)在通用硬件平臺(tái)的基礎(chǔ)上充分發(fā)揮計(jì)算機(jī)的能力,使用戶可以根據(jù)自己的需要定義和制造各種功能強(qiáng)大的儀器,為此,提供了強(qiáng)大的計(jì)算機(jī)數(shù)據(jù)采集和數(shù)字信號(hào)處理功能。本文將LabVIEW應(yīng)用于聲源定位,搭建了完整的硬件系統(tǒng),運(yùn)用廣義互相關(guān)函數(shù)法進(jìn)行時(shí)延估計(jì),結(jié)合平面四元十字陣模型建立方程組實(shí)現(xiàn)定位。該系統(tǒng)人機(jī)界面友好,具有較強(qiáng)的數(shù)據(jù)分析和處理能力,實(shí)時(shí)性強(qiáng),能及時(shí)跟蹤聲源的位置變化。
[1]邵懷宗.基于麥克風(fēng)陣列的聲源定位研究[J].云南民族大學(xué)學(xué)報(bào),2004(10):256-258.
[2]趙文峰.基于麥克風(fēng)陣列的聲源定位系統(tǒng)研究及實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2009.
[3]楊亦春.小孔徑方陣對(duì)大氣中運(yùn)動(dòng)聲源的定位研究[J].聲學(xué)學(xué)報(bào),2004(4):347-352.
[4]陳露明.嘈雜背景下的聲源定位及語(yǔ)音分離實(shí)現(xiàn)技術(shù)的研究[D].成都:電子科技大學(xué),2007.
[5]孫懋珩.汽車?guó)Q笛聲定位系統(tǒng)仿真[J].聲學(xué)技術(shù),2009(10):640-644.
[6]阮奇楨.我和LabVIEW[M].北京:北京航空航天大學(xué)出版社,2009.