劉海濤,陳永華,林艷明,周 新
(1.華東交通大學(xué)機(jī)電與車輛工程學(xué)院 南昌,330013)(2.清華大學(xué)蘇州汽車研究院 蘇州,215131)
近幾十年來(lái),聲源定位一直是研究熱點(diǎn),引起了眾多學(xué)者的關(guān)注。聲源定位在噪聲源識(shí)別、目標(biāo)聲源跟蹤、遠(yuǎn)程會(huì)議系統(tǒng)及智能機(jī)器人等諸多領(lǐng)域中得到廣泛應(yīng)用[1-4]。聲源定位一般采用麥克風(fēng)陣列來(lái)估計(jì)聲源位置。聲源定位方法可歸納為3類:①波束形成[5-6],傳統(tǒng)波束形成是將各個(gè)麥克風(fēng)接收到的聲壓信號(hào)進(jìn)行對(duì)應(yīng)的延時(shí)求和,在真正的聲源方向的各個(gè)延時(shí)信號(hào)將會(huì)同相位疊加形成一個(gè)峰值,從而可以識(shí)別聲源的方向;②聲全息方法[7-8],它通過(guò)求解聲源的逆?zhèn)鞑?wèn)題,并重建聲場(chǎng);③參數(shù)測(cè)量[9-12],如到達(dá)時(shí)差、到達(dá)時(shí)間(time of arrival,簡(jiǎn)稱TOA)、達(dá)波方向(direction of arrival,簡(jiǎn)稱DOA)和接收信號(hào)強(qiáng)度(received signal strength,簡(jiǎn)稱RSS)等,利用獲得的定位參數(shù)構(gòu)建非線性多元方程組求解,來(lái)獲取聲源位置。傳統(tǒng)的波束形成方法和聲全息方法都是在重建的二維聲場(chǎng)平面上識(shí)別聲源,為獲得精準(zhǔn)的聲源三維位置坐標(biāo),需要進(jìn)行大量的復(fù)雜運(yùn)算[13]。另外,為了獲得高分辨率的聲場(chǎng)重構(gòu)平面圖,陣列中需要大量的麥克風(fēng)數(shù)量,而TDOA方法用少量的麥克風(fēng)即可實(shí)現(xiàn)聲源定位。
對(duì)于單聲源,Chan等[14]提出兩步加權(quán)最小二乘算法,可求解出較精確聲源位置。但對(duì)于多聲源,陣列中任意一麥克風(fēng)對(duì),利用互相關(guān)算法估計(jì)的TDOA與每個(gè)聲源的關(guān)聯(lián)是未知的,從而產(chǎn)生虛假聲源,并降低聲源定位的精度[9]。針對(duì)這一問(wèn)題,相關(guān)研究人員已經(jīng)提出一些解決方法。Mukae等[15]利用檢測(cè)到的聲源信號(hào)和麥克風(fēng)位置信息來(lái)構(gòu)造一致性函數(shù),通過(guò)快速搜索算法估計(jì)函數(shù)的最大值,最大值對(duì)應(yīng)的位置為真實(shí)聲源位置,但該方法計(jì)算效率低,且沒(méi)有直接消除虛假聲源問(wèn)題,導(dǎo)致的位置估計(jì)不準(zhǔn)確。Stotts等[16]基于結(jié)構(gòu)分析實(shí)現(xiàn)多聲源定位,該方法的計(jì)算時(shí)間隨著監(jiān)測(cè)區(qū)域的增大而增加,定位精度受網(wǎng)格大小的影響。Shen等[17]基于凸優(yōu)化方法來(lái)消除虛假聲源,消除虛假聲源的本質(zhì)是向量中每列的測(cè)量值相同或者近似相同對(duì)應(yīng)同一聲源。Venkateswaran等[18]采用并行和分層的方法消除虛假聲源。該方法的定位精度會(huì)受到傳播距離的影響,而且假設(shè)聲源發(fā)射的次數(shù)多,會(huì)影響計(jì)算效率。以上消除虛假聲源定位方法都存在定位精度不高和計(jì)算效率低等問(wèn)題。
但佳壁[19]采用了在麥克風(fēng)陣列中構(gòu)造校驗(yàn)麥克風(fēng),并利用校驗(yàn)麥克風(fēng)與聲源之間的相對(duì)位置關(guān)系,獲得真實(shí)聲源位置。然而該研究中校驗(yàn)陣列麥克風(fēng)未能參與聲源定位計(jì)算,降低了陣列麥克風(fēng)的利用效率,多聲源的定位精度還有提升空間。在但佳壁的研究基礎(chǔ)上,筆者提出一種改進(jìn)多聲源定位的虛假聲源消除方法。通過(guò)構(gòu)建麥克風(fēng)陣列分組定位校驗(yàn)?zāi)P陀行摷俾曉矗@取初始真實(shí)多聲源位置。再構(gòu)建全陣列TDOA序列校驗(yàn)?zāi)P停?jì)算初始真實(shí)多聲源位置到全陣列麥克風(fēng)的TDOA序列來(lái)近似匹配出全陣列正確TDOA序列。將全陣列的正確TDOA序列帶入空間聲源定位模型來(lái)獲取最終真實(shí)多聲源位置,充分利用陣列麥克風(fēng)的數(shù)量來(lái)提升多聲源定位精度。仿真和實(shí)驗(yàn)結(jié)果表明,本方法有效地消除了虛假聲源,同時(shí)提升了多聲源定位精度。
基于TDOA方法建立了空間聲源定位模型。TDOA方法實(shí)質(zhì)上是三角測(cè)量方法。假設(shè)聲源的坐標(biāo)為S=(x,y,z),聲源與麥克風(fēng)的距離差表達(dá)式為
其中:r0為聲源與參考麥克風(fēng)M0之間的距離;ri為聲源與其他麥克風(fēng)Mi之間的距離;Nm為除參考麥克風(fēng)外的其他麥克風(fēng)的數(shù)量。
通過(guò)構(gòu)建聲源到參考麥克風(fēng)M0和其他麥克風(fēng)Mi的TDOA,可以得到聲源的空間定位模型。表達(dá)式為
其中:c為聲速;τi,0為聲源到Mi和M0的TDOA。
τi,0可 以 用 互 相 關(guān) 算 法[20]來(lái) 估 計(jì),設(shè)ui(t)和u0(t)分別為麥克風(fēng)Mi和M0采集到的聲源信號(hào)。兩個(gè)信號(hào)之間的互相關(guān)函數(shù)為
空間聲源定位模型由一組非線性多元方程組成。通常是將其轉(zhuǎn)化為線性多元方程組來(lái)求解,對(duì)式(1)中ri進(jìn)行平方處理,表達(dá)式為
由式(4)進(jìn)行展開得
式(6)可寫成矩陣形式,如式(7)所示
當(dāng)其他麥克風(fēng)數(shù)量Nm=3時(shí),理論上滿足直接求 解空間聲源位置 條 件。當(dāng)Nm≥4時(shí),Chan等[14]提出了一種精度合理、有效的求解算法,該算法使用兩次加權(quán)最小二乘法給出較準(zhǔn)確的聲源位置。因此,文中采用Chan的方法求解來(lái)獲取聲源位置。
當(dāng)只有一個(gè)聲源時(shí),式(3)只有一個(gè)峰值,將獲取的麥克風(fēng)陣列所有TDOA值可直接來(lái)定位目標(biāo)聲源。當(dāng)有多個(gè)聲源時(shí),式(3)會(huì)產(chǎn)生多個(gè)峰值,每個(gè)峰值代表一個(gè)真實(shí)聲源信息。然而,在缺乏其他聲源特性信息的情況下,這些峰值的順序是不確定的,不能將這些峰值與聲源一一對(duì)應(yīng)。兩個(gè)麥克風(fēng)檢測(cè)3個(gè)聲源的混合信號(hào)的互相關(guān)估計(jì)結(jié)果如圖1所示。
圖2 虛假聲源產(chǎn)生的示意圖Fig.2 The diagrammatic sketch of false source generation
從圖1可以看出,聲源數(shù)量與出現(xiàn)峰值的個(gè)數(shù)相等,解決本研究提出的虛假聲源消除方法過(guò)程中所需要的聲源數(shù)量先驗(yàn)知識(shí)。從圖2可以看出和的組合一共生成9個(gè)聲源,其中只有3個(gè)是真實(shí)聲源,另外6個(gè)虛假聲源需要識(shí)別和消除,這也是本研究的重點(diǎn)。
對(duì)于多聲源定位,可以利用聲源與麥克風(fēng)的相對(duì)位置關(guān)系來(lái)分離目標(biāo)聲源。本研究將陣列麥克風(fēng)分為兩組。第1組麥克風(fēng)用于定位多個(gè)聲源,為了減少計(jì)算量,第1組只需滿足基于Chan算法求解的陣列麥克風(fēng)最小數(shù)量要求。第2組麥克風(fēng)用于消除虛假聲源,通過(guò)陣列麥克風(fēng)與聲源之間的相對(duì)位置關(guān)系,構(gòu)建麥克風(fēng)陣列分組定位校驗(yàn)?zāi)P?,并確定真實(shí)聲源的位置。
第1組麥克風(fēng)可能的定位結(jié)果數(shù)為Np=NNms,由于計(jì)算時(shí)間隨著麥克風(fēng)數(shù)量的增加呈指數(shù)增長(zhǎng),除了參考麥克風(fēng)外,還有4個(gè)麥克風(fēng)構(gòu)成第1組麥克風(fēng)陣列,這是基于Chan的方法能夠在三維空間中給出具有合理精度定位結(jié)果的最小麥克風(fēng)數(shù)量要求。從真實(shí)聲源到第1組麥克風(fēng)陣列的TDOA如式(8)所示
從真實(shí)聲源到第2組麥克風(fēng)陣列的TDOA如式(9)所示
一個(gè)可能的聲源可以從Tfirst矩陣的每一列中選擇一組TDOA序列,再基于Chan算法求解得到?;谂帕薪M合的知識(shí),可以從矩陣Tfirst中得到N4s可能的聲源。所有可能的聲源都由Sp表示,即
需要一個(gè)校驗(yàn)矩陣來(lái)識(shí)別Np個(gè)聲源中的真實(shí)聲源。校驗(yàn)矩陣的元素從矩陣Tsecond中選擇。選擇矩陣的準(zhǔn)則定義為校驗(yàn)矩陣表達(dá)式為
其中:UNs(u)為前Ns個(gè)u的值,代表真實(shí)聲源;ARankNs[?]表示按升序排列,并獲取前Ns個(gè)結(jié)果的函數(shù)為矩陣的列向量為矩陣的列向量為2-范數(shù)。獲得的初始真實(shí)聲源表示為
以上僅有5個(gè)麥克風(fēng)用于定位來(lái)獲取初始的真實(shí)聲源,增加定位的麥克風(fēng)數(shù)量會(huì)提升定位精度。文中利用初始真實(shí)聲源位置信息,構(gòu)建了全陣列TDOA序列校驗(yàn)?zāi)P停梢岳盟嘘嚵宣溈孙L(fēng)來(lái)提升多聲源的定位精度。
由式(8)和式(9)可以得到,真實(shí)聲源到所有陣列麥克風(fēng)的TDOA,如式(16)所示
幅流風(fēng)機(jī)出風(fēng)口處設(shè)置有送風(fēng)格柵,幅流風(fēng)機(jī)向下吹風(fēng),經(jīng)過(guò)格柵進(jìn)行風(fēng)向的分列,用來(lái)增強(qiáng)吹風(fēng)作用效果。扇葉長(zhǎng)1.1 m,直徑為8 cm,蝸殼上部開設(shè)有進(jìn)風(fēng)口,下部平面處為出風(fēng)口。蝸殼以扇葉圓柱中心線為軸做來(lái)回圓弧擺動(dòng),使得出風(fēng)口的位置不斷變化,進(jìn)而形成“掃風(fēng)”的過(guò)程。
矩陣Tall中每一行元素的順序是不確定的,這就需要識(shí)別真實(shí)聲源對(duì)應(yīng)的正確TDOA序列,而利用初始真實(shí)聲源位置可以識(shí)別出全陣列正確TDOA序列。初始真實(shí)聲源到所有陣列麥克風(fēng)的TDOA,如式(17)所示
由于初始真實(shí)聲源的坐標(biāo)與最終真實(shí)聲源的坐標(biāo)很接近,因此可以利用矩陣T?all對(duì)矩陣Tall的每一行進(jìn)行重新排序。重新排序準(zhǔn)則如式(18)所示
最后,獲得的最終真實(shí)聲源定位的重排TDOA矩陣為
選擇矩陣T˙all的每一列,再基于Chan算法求解可以獲得最終的真實(shí)多聲源定位結(jié)果。
實(shí)際場(chǎng)景中的絕大多數(shù)音頻噪聲都是有色噪聲。為了更好地模擬實(shí)際聲源定位場(chǎng)景,文中采用有色噪聲來(lái)構(gòu)建各種目標(biāo)聲源信號(hào)。陣列幾何關(guān)系與聲源頻率特性有關(guān)[4]。對(duì)于單頻聲源定位,為了避免相位纏繞,陣列設(shè)置需要滿足以下條件:dmax<c2fsingle,其中dmax為參考麥克風(fēng)與其他麥克風(fēng)之間的最大距離,c為聲速,fsingle為單頻聲源的頻率。對(duì)于寬帶和脈沖聲源,可以忽略相位纏繞現(xiàn)象,陣列幾何關(guān)系將不受限制。文中選用麥克風(fēng)陣列中的最大間距約為0.5 m,僅對(duì)單頻聲源具有頻率上限,可實(shí)現(xiàn)絕大部分聲源頻率特性的聲源定位。為了模擬實(shí)際聲源的復(fù)雜多樣性,不同聲源設(shè)置為不同頻帶且部分頻帶重疊。圖3為由高斯白噪聲構(gòu)成的4個(gè)聲源的聲譜圖,分別由2,3,4個(gè)聲源構(gòu)成3種多聲源定位場(chǎng)景。利用這3種多聲源定位場(chǎng)景,來(lái)驗(yàn)證筆者提出的方法有效性。表1為3種場(chǎng)景中的聲源坐標(biāo)位置和頻帶信息。文中一共采用8個(gè)麥克風(fēng),以建立的參考坐標(biāo)系的坐標(biāo)原點(diǎn)為參考麥克風(fēng),另選4個(gè)麥克風(fēng)構(gòu)建定位麥克風(fēng)陣列實(shí)現(xiàn)多聲源定位,其余3個(gè)麥克風(fēng)為校驗(yàn)麥克風(fēng)。麥克風(fēng)陣列的坐標(biāo)位置如表2所示。
圖3 4個(gè)聲源的聲譜圖Fig.3 The spectrogram of four sound sources
表1 3種定位場(chǎng)景的聲源坐標(biāo)和頻帶信息Tab.1 Coordinate position and frequency band in?formation of the three localization scenarios
表2 麥克風(fēng)陣列的坐標(biāo)Tab.2 The coordinates of the array microphones
3個(gè)聲源和陣列麥克風(fēng)構(gòu)成的定位場(chǎng)景如圖4所示。在某一合理噪聲水平下,分別對(duì)3種定位場(chǎng)景,將參考麥克風(fēng)與另一定位麥克風(fēng)構(gòu)成的一組麥克風(fēng)對(duì),利用互相關(guān)算法估計(jì)的TDOA如圖5所示,其中圖(a)~(c)表示不同的定位場(chǎng)景。基于互相關(guān)算法估計(jì)所有TDOA,再利用文中提出的消除虛假聲源方法實(shí)現(xiàn)多聲源定位,第1組麥克風(fēng)獲取的初始真實(shí)多聲源定位的結(jié)果如圖6所示,其中圖(a)~(c)表示不同的定位場(chǎng)景。將第1組麥克風(fēng)經(jīng)蒙特卡羅循環(huán)處理,目的是消除隨機(jī)噪聲對(duì)單次定位結(jié)果的影響,再利用所有陣列麥克風(fēng)獲得的最終真實(shí)多聲源定位結(jié)果,與第1組麥克風(fēng)的獲得初始真實(shí)多聲源定位結(jié)果進(jìn)行比較,對(duì)比結(jié)果如表3所示。通過(guò)計(jì)算定位結(jié)果的平均誤差來(lái)衡量定位的精度。平均定位誤差定義為
圖4 陣列麥克風(fēng)和定位場(chǎng)景2Fig.4 Microphone array and localization scenario 2
其中:ME為定位結(jié)果的平均定位誤差;si為原始聲源的坐標(biāo);s'i為定位結(jié)果的坐標(biāo)。
經(jīng)蒙特卡羅過(guò)程可以表示為
其中:MEL為經(jīng)蒙特卡羅處理后的多聲源定位誤差,MEL值越小多聲源定位精度越高;q為仿真實(shí)驗(yàn)過(guò)程中蒙特卡羅次數(shù),仿真過(guò)程令q=1 000。
圖5 3種定位場(chǎng)景的互相關(guān)結(jié)果Fig.5 The cross-correlation results for the three localization scenarios
圖6 初始真實(shí)多源定位結(jié)果Fig.6 The results of initial real multi-sources localization
表3 定位結(jié)果對(duì)比Tab.3 The comparison of the localization results
從圖5可以看出,在不同定位場(chǎng)景下,聲源數(shù)量等于峰值的數(shù)量。從圖6中可以看出,3個(gè)定位場(chǎng)景中的多個(gè)聲源有效地分離和定位,且定位誤差合理,但是僅用5個(gè)麥克風(fēng)來(lái)獲得初始真實(shí)聲源,沒(méi)有充分利用麥克風(fēng)數(shù)來(lái)定位,聲源定位精度還有待提升。從表3可以看出,3種定位場(chǎng)景下,所有陣列麥克風(fēng)參與定位計(jì)算的最終定位結(jié)果精度均大幅提升,驗(yàn)證了筆者方法的有效性。
為了驗(yàn)證筆者提出的基于TDOA多聲源定位的虛假聲源消除方法,在空曠的運(yùn)動(dòng)場(chǎng)上搭建實(shí)驗(yàn)測(cè)試系統(tǒng)對(duì)筆者提出方法進(jìn)行驗(yàn)證。構(gòu)造具有重疊頻帶的不同聲源信號(hào),所有聲源的頻帶范圍為300~1 650 Hz,將構(gòu)造聲源信號(hào)的音頻文件導(dǎo)入至揚(yáng)聲器播放。整個(gè)實(shí)驗(yàn)過(guò)程中忽略風(fēng)速,設(shè)置聲速c=343 m/s。實(shí)驗(yàn)麥克風(fēng)及聲源位置如表4所示,在聲源s1~s4中分別選擇前2個(gè)、前3個(gè)和前4個(gè),構(gòu)成定位場(chǎng)景1、場(chǎng)景2和場(chǎng)景3。實(shí)驗(yàn)過(guò)程的采樣頻率fs=10 kHz。實(shí)驗(yàn)場(chǎng)景由聲源、信號(hào)采集裝置和麥克風(fēng)陣列三部分組成,如圖7(a)~(c)所示。圖8是對(duì)前5個(gè)麥克風(fēng)通道經(jīng)傅里葉變換獲得的頻譜圖,其中圖8(a)~(e)表示每個(gè)通道的圖譜圖。將每個(gè)麥克風(fēng)檢測(cè)的信號(hào)利用互相關(guān)算法估計(jì)出TDOA,并基于Chan算法求解出所有可能聲源位置,再利用校驗(yàn)麥克風(fēng)與聲源的空間位置關(guān)系來(lái)消除虛假聲源,得到初始的真實(shí)聲源位置,定位結(jié)果如圖9所示,其中圖9(a)~(c)表示不同的定位場(chǎng)景。圖10是在3種定位場(chǎng)景下,本方法獲得的最終真實(shí)聲源與初始真實(shí)聲源的平均定位誤差對(duì)比。
表4 陣列麥克風(fēng)和聲源空間位置坐標(biāo)Tab.4 The coordinates of the array microphones and sound sources
圖7 實(shí)驗(yàn)場(chǎng)景Fig.7 The experiment scene
圖8 前5個(gè)麥克風(fēng)通道經(jīng)過(guò)傅里葉變換后的頻譜圖Fig.8 Spectrum of the first five microphone channels after Fourier transform
由圖8可以看出,檢測(cè)的聲信號(hào)主頻帶在300~1 650 Hz之間,測(cè)試環(huán)境存在背景噪聲。從圖9可以看出,本方法成功消除了虛假聲源,實(shí)現(xiàn)了多聲源定位,且定位誤差合理。從圖10可以看出,在不同的定位場(chǎng)景下,本方法獲得最終真實(shí)聲源位置相比初始真實(shí)聲源位置的平均定位誤差均有所減小,本方法提升了多聲源定位精度,實(shí)驗(yàn)與仿真結(jié)論一致。然而,實(shí)驗(yàn)過(guò)程中存在麥克風(fēng)位置測(cè)量誤差的影響,而且聲源和陣列的相對(duì)位置與仿真有所不同,因而本方法在實(shí)驗(yàn)驗(yàn)證中的定位精度提升率比仿真稍有下降。
圖9 本方法獲取的初始真實(shí)聲源的實(shí)驗(yàn)定位結(jié)果Fig.9 The experimental results of the initial real sound source obtained by the proposed method
圖10 不同場(chǎng)景下最終真實(shí)聲源位置與初始真實(shí)聲源位置的平均定位誤差對(duì)比Fig.10 Comparison of the average positioning errors between the final real source position and the initial real source position under different scenarios
1)利用麥克風(fēng)陣列分組定位校驗(yàn)?zāi)P陀行У叵颂摷俾曉?,?shí)現(xiàn)多聲源分離和定位。
2)利用全陣列TDOA序列校驗(yàn)?zāi)P瞳@得的最終真實(shí)多聲源平均定位誤差比分組定位校驗(yàn)?zāi)P瞳@得的初始真實(shí)多聲源平均定位誤差更小。本方法充分利用了陣列麥克風(fēng),并有效提升了多聲源定位精度。
3)文中多聲源定位方法的實(shí)驗(yàn)驗(yàn)證僅在空曠的測(cè)試環(huán)境下進(jìn)行,該場(chǎng)景混響和其他干擾噪聲影響較少;同時(shí)僅實(shí)現(xiàn)近場(chǎng)多聲源定位。今后可研究存在麥克風(fēng)位置誤差以及遠(yuǎn)場(chǎng)和復(fù)雜噪聲環(huán)境下的多聲源定位方法。