陸灝銘,陳 瑋,劉壽寶
(1.廣東工業(yè)大學自動化學院,廣東廣州510006;2.華中科技大學圖像識別與人工智能研究所,湖北武漢430074)
基于麥克風陣列的聲源定位廣泛應(yīng)用于具有嘈雜背景的語音通信環(huán)境,如,視頻會議、多媒體教室、車載電話等[1],以提高通信質(zhì)量;在地震研究、降噪設(shè)計、壓力容器的無損檢測[2]等諸多領(lǐng)域也有著廣泛的應(yīng)用。本文設(shè)計提出的基于麥克風陣列的聲源定位系統(tǒng)可以估算出聲源位置和方向角,并對聲源進行實時跟蹤。
聲源定位算法研究主要集中在計算機實驗仿真,采用Matlab與C語言[3]結(jié)合,難以開發(fā)出界面友好的程序,流程控制能力不理想,在數(shù)據(jù)采集、硬件控制等方面都比較繁瑣,編程難度大,而程序的通用性也受到制約。本文采用LabVIEW圖形化編程語言,方便地完成數(shù)據(jù)采集與存儲、分析與處理、硬件及儀器控制等任務(wù)。同時從平面四元方陣定位模型出發(fā),開發(fā)出一種基于虛擬儀器的實時聲源定位系統(tǒng),并配合激光筆對聲源進行實時跟蹤。該系統(tǒng)控制界面友好,定位速度較快,精度理想,基本能滿足對近場語音信號的實時定位要求。
本系統(tǒng)主要由麥克風陣列、放大電路、PXI—4472數(shù)據(jù)采集卡、PXI平臺、舵機、激光筆組成,整體構(gòu)成如圖1所示。
1.1.1 麥克風工作原理
在通信領(lǐng)域中使用的麥克風主要是動圈式和電容麥克風。電容麥克風頻率響應(yīng)平直、音質(zhì)保真、性價比高。駐極體電容麥克風是在電容麥克風優(yōu)良的基礎(chǔ)上融合了現(xiàn)代化工技術(shù)而誕生的新一代電容麥克風。
駐極體麥克風的工作原理是:當麥克風受到振動或受到氣流摩擦時,兩極板間的距離發(fā)生改變,即電容改變,從而引起電壓變化。電壓變化的大小和頻率分別反映了外界聲壓的強弱和頻率。

圖1 系統(tǒng)結(jié)構(gòu)框圖Fig 1 Block diagram of system structure
1.1.2 麥克風陣列的選擇
麥克風陣列是指由一定的幾何結(jié)構(gòu)排列而成的若干個麥克風組成的陣列,按幾何結(jié)構(gòu)可以分為線性陣列、平面陣列和立體陣列。直線陣列結(jié)構(gòu)簡單,對應(yīng)的算法復(fù)雜度較低,但是只能定位空間范圍內(nèi)的特定區(qū)域;三維陣列對空間定位性能好,但是結(jié)構(gòu)復(fù)雜,可以選擇的算法不多,且實現(xiàn)成本較高;平面陣列在平面內(nèi)定位性能優(yōu)越,在空間內(nèi)定位性能也較好,可以選擇的定位算法很多,適合于絕大多數(shù)的定位系統(tǒng)。出于對定位精度、成本和復(fù)雜度方面的考慮,本系統(tǒng)采用平面陣列。
為了測出三維空間目標的距離、方位角和俯仰角,需要有3個獨立的時延量,所以,至少需要4個麥克風。如圖2給出了一種平面四元十字陣的幾何模型,4個陣元的坐標分別為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
由于麥克風輸出的電壓信號為mV級,所以,需要設(shè)計有足夠增益的放大電路。LM324通用運算放大器滿足系統(tǒng)所要求的帶寬、增益要求,而且有較寬的電源電壓工作范圍,保證放大電路有著很寬的線性工作區(qū)域。根據(jù)信號的特點,本系統(tǒng)中的放大電路采用兩級放大,第一級放大電路為固定增益;第二級放大電路為可調(diào)增益,使每一路的麥克風均可通過第二級放大電路將其輸出放大到適合的幅度范圍。本系統(tǒng)設(shè)計的兩級放大電路如圖3所示。
A/D轉(zhuǎn)換電路是通過數(shù)據(jù)采集卡PXI—4472完成的,該采集卡是NI公司專為高通道數(shù)的聲音和振動應(yīng)用而設(shè)計的高精度數(shù)據(jù)采集(DAQ)模塊,支持8路同步采樣模擬輸入,最高采樣率達102.4 kS/s,滿足本系統(tǒng)的需求。

圖3 兩級放大電路設(shè)計圖Fig 3 Design diagram of two-stage amplifier circuit
由采集設(shè)備采集到的聲音信號中,夾雜著電子噪聲和背景噪聲,污染了聲音信號。為了抑制噪聲對后續(xù)信號分析的影響,需要進行預(yù)處理。信號預(yù)處理[4]包括帶通濾波、分幀加窗、端點檢測,具體流程如下:
1)預(yù)濾波:采用帶通濾波器濾波,以抑制輸入信號各頻域分量中頻率超出fs/2(fs為采樣率)的所有分量,防止混疊干擾,同時抑制50 Hz的電源干擾;
2)分幀:采用幀與幀重疊的方法,避免失幀;
3)加窗:用窗函數(shù)w(n)乘信號s(n),形成加窗函數(shù)sw(n)。窗函數(shù)的作用是保持幀與幀之間的連續(xù)性,本系統(tǒng)使用的是Hamming窗,其表達式如下(N為幀長)

4)計算短時能量E:若E小于門限值可認為是噪聲,否則,進入下一步

5)計算短時過零率Z0:若Z0在門限內(nèi),則表示檢測到語音

聲源定位算法[5]可以分為三類。第一類是基于波束形成的方法,該方法可以用于多聲源的定位,但存在著對初值敏感和需要聲源和背景噪聲等先驗知識的問題。第二類是基于高分辨率譜估計的方法,該方法可以隨聲源方向進行有效的估計,精度高,但是計算量比較大。第三類是基于到達時間差(time difference of arrival,TDoA)的方法,通過聲音信號到達不同陣元的時間差,建立三維聲源定位模型方程組進行定位,由于該方法原理簡單,易于實現(xiàn),計算量小,故本文所提出的系統(tǒng)采用基于TDoA的方法進行定位。
基于TDoA的聲源定位算法由兩步組成,第一步為時延估計,用于計算同一聲源的信號到達2個麥克風的時間差;第二步為位置估計,根據(jù)時延差估計值和麥克風陣元間的幾何關(guān)系確定聲源位置。
1.4.1 時延估計算法
采用廣義互相關(guān)函數(shù)(GCC)法作為時延估計方法。該方法借助于來自同一聲源的信號存在一定的相關(guān)性這一特性,通過計算麥克風陣列接收信號之間的互相關(guān)函數(shù),從而估計出TDoA值。GCC時延估計框圖如圖4所示。

圖4 GCC時延估計框圖Fig 4 Block diagram of GCC time delay estimation
麥克風接收到的信號為

其中,s(t)為聲源信號;αi,τi,ni分別表示從聲源到第i個麥克風的幅值衰減系數(shù)、延遲和加性噪聲。
廣義互相關(guān)法通過求兩信號之間的互功譜,并在頻域內(nèi)給予一定的加權(quán),對信號和噪聲進行白化處理,增強信號中信噪比較高的頻率分量,從而抑制噪聲的影響。再反傅里葉變換到時域,得到兩信號之間的廣義互相關(guān)函數(shù)

其中,Xi(w)(w)為2個麥克風接收信號xi(t)與xj(t)之間的互功率譜,Ψij(w)為權(quán)函數(shù)。時延估計為

1.4.2 位置估計算法
S(x,y,z)表示聲源。設(shè)ri表示聲源到麥克風Mi的距離,τij表示聲源到麥克風 Mi與 Mj間的時延,r,θ[0°,90°],φ[0°,360°]分別表示聲源到坐標原點的距離、俯仰角和方位角,d為麥克風陣元到原點距離,c為聲速。
在直角坐標系中,利用兩點間距離公式和速度公式,聯(lián)立如下方程組

解方程得

脈寬調(diào)制(pulse width modulation,PWM)波是一種可用程序控制占空比、周期和相位的波形。舵機是通過周期固定的脈沖信號控制的,舵機的轉(zhuǎn)位正比于脈沖的寬度,這個連續(xù)的脈沖信號可以由PWM實現(xiàn)。舵機內(nèi)部會產(chǎn)生一個頻率為若干Hz的基準信號,通過基準信號與外部所給PWM波的正脈沖持續(xù)時間進行比較,從而確定轉(zhuǎn)向和轉(zhuǎn)角的大小。PWM波可由LabVIEW編程實現(xiàn),由于PXI—6221只有I/O口,所以,使用軟件編程將模擬 I/O轉(zhuǎn)換成為PWM波,每個PWM通道都可以通過編程使能調(diào)整占空比大小,完成對舵機的控制。
本系統(tǒng)中,舵機需要2個自由度的方向驅(qū)動,采用2個舵機固連的方式,即一個舵機連接激光筆作為第一個自由度,第二個舵機連接第一個舵機與激光筆這個整體,作為第二個自由度。通過兩路PWM信號控制2個舵機的轉(zhuǎn)動,從而達到定位的目的。
基于LabVIEW圖形化[6]的編程方式,直接簡便,降低了程序的開發(fā)難度,減少了開發(fā)時間。LabVIEW程序包含2個主要組成部分,前面板(front panel)和程序框圖(block diagram)。前面板是虛擬儀器的交互式人機界面,有輸入?yún)?shù)的控制量和顯示輸出結(jié)果的指示量。程序框圖中,用數(shù)據(jù)流的連線連接前面板上控制量、指示量、結(jié)構(gòu)以及各種函數(shù)節(jié)點,實現(xiàn)儀器功能。
聲源定位系統(tǒng)的主界面包含實時數(shù)據(jù)采集與結(jié)果顯示。聲源定位軟件程序流程圖如圖5所示。

圖5 程序流程圖Fig 5 Flow chart of program
在實際聲場中,對真實的聲源進行測量,以檢驗聲源定位系統(tǒng)的定位效果。選擇空曠的室內(nèi),選用的聲源為正弦波聲源。測試結(jié)果如表1所示。從實際測量數(shù)據(jù)可知,所設(shè)計的系統(tǒng)的測量誤差較小,能滿足在混響和噪聲不是很強的視頻會議等場合。

表1 聲源坐標測量結(jié)果Tab 1 Test results of acoustic source coordinate
經(jīng)過多次實驗驗證,本系統(tǒng)定位距離為5 m半徑;距離的定位精度為±15 cm,角度的定位精度為±5°。
基于麥克風陣列的聲源定位已經(jīng)廣泛應(yīng)用于具有嘈雜背景的語音通信環(huán)境和工業(yè)噪聲檢測與降噪設(shè)計中。Lab-VIEW作為一種圖形化開發(fā)平臺,強調(diào)在通用硬件平臺的基礎(chǔ)上充分發(fā)揮計算機的能力,使用戶可以根據(jù)自己的需要定義和制造各種功能強大的儀器,為此,提供了強大的計算機數(shù)據(jù)采集和數(shù)字信號處理功能。本文將LabVIEW應(yīng)用于聲源定位,搭建了完整的硬件系統(tǒng),運用廣義互相關(guān)函數(shù)法進行時延估計,結(jié)合平面四元十字陣模型建立方程組實現(xiàn)定位。該系統(tǒng)人機界面友好,具有較強的數(shù)據(jù)分析和處理能力,實時性強,能及時跟蹤聲源的位置變化。
[1]邵懷宗.基于麥克風陣列的聲源定位研究[J].云南民族大學學報,2004(10):256-258.
[2]趙文峰.基于麥克風陣列的聲源定位系統(tǒng)研究及實現(xiàn)[D].武漢:華中科技大學,2009.
[3]楊亦春.小孔徑方陣對大氣中運動聲源的定位研究[J].聲學學報,2004(4):347-352.
[4]陳露明.嘈雜背景下的聲源定位及語音分離實現(xiàn)技術(shù)的研究[D].成都:電子科技大學,2007.
[5]孫懋珩.汽車鳴笛聲定位系統(tǒng)仿真[J].聲學技術(shù),2009(10):640-644.
[6]阮奇楨.我和LabVIEW[M].北京:北京航空航天大學出版社,2009.