張煥強(qiáng),黃時(shí)春,蔣偉康
(上海交通大學(xué) 振動(dòng)、沖擊、噪聲研究所 機(jī)械系統(tǒng)與振動(dòng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,上海 200240)
近年來(lái),隨著中國(guó)經(jīng)濟(jì)的快速發(fā)展,汽車逐漸成為人們生活與工作中不可或缺的重要組成部分,各大城市的機(jī)動(dòng)車數(shù)量逐年增加。汽車保有量的增多也帶來(lái)了日益嚴(yán)重的交通噪聲污染問(wèn)題,尤其是汽車?guó)Q笛聲對(duì)市民的日常生活影響較大。公安部門頒布了相應(yīng)的法規(guī)來(lái)限制或禁止某些路段的汽車?guó)Q笛聲,交警部門常采取巡邏糾違等方式對(duì)汽車?guó)Q笛聲加以監(jiān)管,但人工執(zhí)法的方式存在執(zhí)法效率低,可靠性不高的缺點(diǎn)。而基于傳聲器陣列的聲源定位技術(shù)可以幫助交通執(zhí)法部門快速準(zhǔn)確地鎖定違章鳴笛車輛的方位。
基于傳聲器陣列的聲源定位技術(shù)可分為3類[1]:基于最大輸出功率的可控波束形成法、高分辨率譜估計(jì)法和基于到達(dá)時(shí)間差(TDOA)的聲源定位法?;谧畲筝敵龉β实目煽夭ㄊ纬煞椒ㄊ菍?duì)傳聲器接收到的信號(hào)進(jìn)行加權(quán)求和,直接控制傳聲器指向具有最大輸出功率的方向,該方法可以用于多聲源的定位,但是存在對(duì)初值敏感以及需要背景噪聲等先驗(yàn)知識(shí)的問(wèn)題;基于高分辨率譜估計(jì)的方法利用傳聲器信號(hào)之間的相關(guān)矩陣來(lái)確定方向角,可以對(duì)聲源方向進(jìn)行有效的估計(jì),但計(jì)算量比較大;基于到達(dá)時(shí)間差的聲源定位方法先求出聲信號(hào)在不同傳聲器的時(shí)間差,將時(shí)間差轉(zhuǎn)化為聲程差后用幾何法或搜索法確定聲源位置。該方法原理簡(jiǎn)單,計(jì)算量小,易于保證聲源定位的實(shí)時(shí)性,故本文研究基于到達(dá)時(shí)間差的聲源定位方法對(duì)汽車?guó)Q笛聲進(jìn)行定位。
基于到達(dá)時(shí)間差的聲源定位算法主要由兩部分組成。第一部分是時(shí)間延遲估計(jì)(TDE),確定傳聲器陣列中不同的傳聲器對(duì)同源聲信號(hào)的到達(dá)時(shí)間差(TDOA);第二部分是根據(jù)第一步估計(jì)出的時(shí)間延遲,轉(zhuǎn)化為對(duì)應(yīng)的聲程差,結(jié)合傳聲器陣列中的傳聲器位置,通過(guò)特定的聲源定位算法計(jì)算得到聲源的位置。時(shí)延估計(jì)技術(shù)又有很多方法,包括廣義互相關(guān)(GCC)方法[2],自適應(yīng)最小均方(LMS)方法[3–4],基于空間的特征值分解(EVD)方法[5]以及基于傳遞函數(shù)比(ATF-s ratio)的方法[6]等。其中,廣義互相關(guān)方法原理簡(jiǎn)單,具有一定的抗噪聲及混響性能,能夠保證估計(jì)的實(shí)時(shí)性,本文中采用此方法進(jìn)行時(shí)延估計(jì)。
本文研究的聲源目標(biāo)為汽車?guó)Q笛聲,汽車?guó)Q笛喇叭主要分為電喇叭及氣喇叭兩類,城市道路上大多數(shù)車輛安裝的喇叭為電喇叭。電喇叭又分為單音喇叭、雙音喇叭、三音喇叭等幾類,汽車?yán)劝l(fā)出的鳴笛聲是基頻范圍在240 Hz~650 Hz的短時(shí)且指向性不明確的平穩(wěn)信號(hào)[7]。
鳴笛聲的檢測(cè)與識(shí)別模塊可以由信號(hào)濾波、分幀加窗、端點(diǎn)檢測(cè)以及鳴笛聲識(shí)別等四部分組成[8],本文僅研究已有信號(hào)的鳴笛聲檢測(cè)及定位問(wèn)題。對(duì)于一段含有鳴笛聲聲的信號(hào),要對(duì)其進(jìn)行定位,首先要確定喇叭信號(hào)的位置,即端點(diǎn)檢測(cè)。目前有很多成熟準(zhǔn)確的端點(diǎn)檢測(cè)算法,如雙門限法、短時(shí)能量法、短時(shí)過(guò)零率法以及自相關(guān)法等方法。本文研究的定位算法中,端點(diǎn)檢測(cè)部分采用的是短時(shí)能量法,見(jiàn)式(1)。
式中:x(m)為傳聲器測(cè)量信號(hào),w(n-m)為所加的窗函數(shù),En為第n幀的短時(shí)能量。根據(jù)測(cè)量信號(hào)中噪聲信號(hào)與鳴笛聲信號(hào)能量的不同,設(shè)定一定的門限,即可獲得鳴笛聲的開(kāi)始及結(jié)束端點(diǎn),而環(huán)境噪聲的能量則需要根據(jù)路段的不同進(jìn)行實(shí)驗(yàn)獲得。
傳聲器陣列中任意兩個(gè)傳聲器i和j接收到的信號(hào)可用以下模型來(lái)表示
式(2)中:s(n)為傳聲器i處接收到的聲源信號(hào)ni(n)與nj(n)分別為傳聲器i和j接收到的噪聲信號(hào),τij為傳聲器i和j之間的時(shí)間延遲,α為兩個(gè)傳聲器檢測(cè)聲信號(hào)的幅值比。設(shè)xi(n)和xj(n)的傅里葉變換分別為Xi(ω)和Xj(ω),兩傳聲器接受信號(hào)的廣義互相關(guān)函數(shù)Rij(τ)可表示為
式(4)中:φij(ω)為廣義互相關(guān)加權(quán)函數(shù),用廣義互相關(guān)方法進(jìn)行時(shí)延估計(jì)的框圖如圖1所示。
圖1 廣義互相關(guān)時(shí)延估計(jì)框圖
針對(duì)不同的噪聲和反射情況,可選擇不同的加權(quán)函數(shù)φij(ω) 。當(dāng)廣義互相關(guān)的加權(quán)函數(shù)φij(ω) =1 |Gij(ω) |時(shí) ,此時(shí)為互功率譜相位(CSP)時(shí)延估計(jì)方法。其中互功率譜密度函數(shù)為信號(hào)互相關(guān)函數(shù)的傅里葉變換
由式(4)可知,互功率譜相位法對(duì)功率譜函數(shù)進(jìn)行了白化處理,僅保留信號(hào)的相位信息,使得廣義互相關(guān)函數(shù)的峰值更加尖銳,具有抑制噪聲和混響的能力,因此本算法中采用互功率譜相位(CSP)時(shí)延估計(jì)算法。
自由場(chǎng)中單極子聲源的傳播方式為球面波
式(6)中:p(r,θ,φ;t)為在球坐標(biāo)系位于(r,θ,φ) 點(diǎn)t時(shí)刻的聲壓??紤]在三維空間中布置傳聲器陣列定位汽車?yán)鹊镍Q笛聲,則聲源與傳聲器陣列的不同傳聲器之間存在聲程差,即聲信號(hào)到達(dá)各傳聲器存在時(shí)間差。對(duì)汽車?yán)茸鳇c(diǎn)聲源假設(shè),設(shè)其笛卡爾坐標(biāo)為(x,y,z),則理論上至少需要3個(gè)聲程差才能求得空間中聲源的位置。取傳聲器陣列的1號(hào)傳聲器為參考點(diǎn),其余傳聲器與1號(hào)傳聲器之間存在如下幾何關(guān)系
式(7)中:(xi,yi,zi)(i=1,2,3,4)代表第i個(gè)傳聲器的三維笛卡爾坐標(biāo),Δt1i代表第i個(gè)傳聲器與1號(hào)傳聲器之間的時(shí)間差。將上式的3個(gè)方程求平方并消去相同項(xiàng)可得
式(8)中:
重新整理式(8)可得[9]
式(9)中:
R為實(shí)際聲源到1號(hào)傳聲器之間的距離,ai、bi、ci(i=1,2,3)為已知量,時(shí)延估計(jì)完成后,ei也為已知量。對(duì)于任意給定的R值,均可得出一組對(duì)應(yīng)的假設(shè)聲源坐標(biāo)(x,y,z),結(jié)合傳聲器與假設(shè)聲源坐標(biāo)的位置關(guān)系可以得到麥克風(fēng)陣列的任意2個(gè)傳聲器之間的時(shí)延計(jì)算結(jié)果,則構(gòu)造目標(biāo)函數(shù):
式(10)中:Δt*ij為假定聲源坐標(biāo)與1號(hào)傳聲器距離為R時(shí)的時(shí)延計(jì)算結(jié)果,Δtij為通過(guò)時(shí)延估計(jì)算法得到的實(shí)際時(shí)延估計(jì)結(jié)果,N為陣列的傳聲器個(gè)數(shù),當(dāng)假定聲源位置與1號(hào)傳聲器的距離與實(shí)際聲源位置與1號(hào)傳聲器的距離最接近時(shí),J取最小值,由此條件確定的R值,代入式(9)即可求得實(shí)際聲源坐標(biāo)(x,y,z)。給定不同的R值進(jìn)行搜索屬于一維搜索問(wèn)題,實(shí)際在取值是可先給定較大的搜索間隔,得到聲源的粗略估計(jì)結(jié)果,初步縮小搜索區(qū)域,再減小搜索間隔進(jìn)行精細(xì)搜索,以減小搜索的計(jì)算量。
上述基于空間搜索的聲源定位方法需要的傳聲器個(gè)數(shù)至少為4個(gè),如果增加傳聲器的個(gè)數(shù),則定位精度會(huì)有一定的提高,但考慮到實(shí)際鳴笛聲定位系統(tǒng)的實(shí)際應(yīng)用及實(shí)時(shí)性要求,不能無(wú)限制地增加傳聲器個(gè)數(shù),因此需要在保證定位精度的同時(shí)使用較少傳聲器。
圖2 傳聲器陣列布置圖
下面以正4面體陣列為基本原型陣列,分別在該原型陣列上添加1至2個(gè)傳聲器,通過(guò)MATLAB分別仿真4傳聲器、5傳聲器和6傳聲器陣列的定位效果。仿真所用信號(hào)為基頻為510 Hz的正弦倍頻信號(hào),采樣頻率102.4 kHz,同時(shí)加入30 dB的白噪聲干擾。聲源位置為隨機(jī)產(chǎn)生的100個(gè)點(diǎn),距離坐標(biāo)原點(diǎn)距離范圍5 m~20 m,每隔0.15 m產(chǎn)生一個(gè)聲源距離值,仰角和方位角均為-60°~60°之間隨機(jī)產(chǎn)生。傳聲器的布置如圖2所示,6個(gè)傳聲器的坐標(biāo)(單位:m)設(shè)置分別為S1(0.866,0,0)、S2(0,0.5,0)、S3(0,-0.5,0)、S4(0.2887,0,0.8165)、S5(0.2887,0,0)、S6(0.2887,0,0.4082)。其中1-4號(hào)為邊長(zhǎng)為1 m的正4面體的4個(gè)頂點(diǎn),5號(hào)與6號(hào)傳聲器均布置在正4面體空間內(nèi)。
圖3、圖4、圖5分別表示當(dāng)傳聲器個(gè)數(shù)分別為4、5、6個(gè)時(shí)的仿真誤差結(jié)果圖。圖中各項(xiàng)誤差指標(biāo)的定義如下:
方位角估計(jì)誤差為
仰角估計(jì)誤差為
距離相對(duì)誤差為
式(11)、式(12)、式(13)中的φ0、θ0及R0分別為已知聲源理論位置時(shí)計(jì)算出的方位角、仰角及距離原點(diǎn)的距離。
由圖3、圖4及圖5的仿真結(jié)果分析可得,4傳感器陣列的方位角估計(jì)誤差在1.5°之內(nèi),除個(gè)別點(diǎn)外,仰角誤差均在2°之內(nèi),然而距離相對(duì)誤差很大;5傳感器陣列不論是從方位角、仰角還是相對(duì)距離方面均較4傳感器陣列有較大提高;然而在5傳感器基礎(chǔ)上再增加一個(gè)傳感器進(jìn)行分析,各角度及相對(duì)距離沒(méi)有較為明顯的提升。在實(shí)際汽車?guó)Q笛聲定位系統(tǒng)的設(shè)計(jì)中,定位的主要目的是通過(guò)定位返回的結(jié)果控制安裝在監(jiān)控路段的攝像頭,使其能夠?qū)?zhǔn)違章車輛。因此,我們更加關(guān)注方位角及仰角的估計(jì)精度,所以本算法中陣列采用在正4面體傳聲器陣列的基礎(chǔ)上改進(jìn)獲得的5傳聲器陣列。
為驗(yàn)證上述算法對(duì)汽車?guó)Q笛聲源定位的有效性,構(gòu)建一個(gè)以正四面體陣列為原型,另添加一個(gè)傳聲器的5傳聲器陣列三維聲源定位系統(tǒng),選擇一段馬路上進(jìn)行實(shí)車?guó)Q笛聲定位驗(yàn)證,實(shí)驗(yàn)中采用的車輛為五菱宏光S,旁邊平行放置一輛五菱榮光車作為干擾,驗(yàn)證定位算法能否定位準(zhǔn)確。實(shí)驗(yàn)現(xiàn)場(chǎng)如圖6所示。
圖3 4傳聲器陣列仿真誤差圖
圖4 5傳聲器陣列仿真誤差圖
圖5 6傳聲器陣列仿真誤差圖
圖6 汽車?guó)Q笛聲源定位實(shí)驗(yàn)設(shè)置圖
圖6 中規(guī)定坐標(biāo)系的X軸與汽車縱向軸線平行,且與汽車寬度方向中心線重合。Z軸豎直向上,Y軸則根據(jù)右手定則確定,圖6中1-5標(biāo)號(hào)為采用的5個(gè)傳聲器的布置位置,各傳聲器的三維坐標(biāo)(單位:m)分別為 :S1(0 ,0,1.750) 、S2(0.341,0,1.335) 、S3(- 0.170,-0.295,1.312)、S4(- 0.170,-0.295,1.312)、S5(0.050,0.020,1.505)。鳴笛聲信號(hào)經(jīng)BBM數(shù)據(jù)采集儀進(jìn)行記錄,采樣頻率102.4 kHz,圖7為鳴笛聲實(shí)測(cè)信號(hào)。
在馬路上標(biāo)記6個(gè)測(cè)點(diǎn),相對(duì)于規(guī)定原點(diǎn)的方向(仰角和方位角)如表1所示,即實(shí)際聲源的方向范圍。因?yàn)槠嚿嫌袃蓚€(gè)喇叭,兩個(gè)喇叭關(guān)于X軸對(duì)稱,表1中顯示的為兩個(gè)喇叭相對(duì)于規(guī)定原點(diǎn)的方位角范圍。而表1中仰角范圍為地面和汽車最高點(diǎn)相對(duì)于規(guī)定原點(diǎn)的仰角值。其中汽車的高度為1.7 m。實(shí)際驗(yàn)證時(shí),只要算法估計(jì)出的方向在給出的范圍內(nèi)即可認(rèn)為聲源準(zhǔn)確定位到汽車上。
圖7 實(shí)測(cè)鳴笛聲信號(hào)
表1 5傳聲器陣列定位實(shí)驗(yàn)結(jié)果
在汽車?guó)Q笛聲定位算法的研究中,我們更加關(guān)注方位角及仰角的估計(jì)精度,而對(duì)距離的精度要求較低。分析比較表1展示的定位計(jì)算結(jié)果可知,基于空間搜索法的5傳聲器陣列三維聲源定位算法在實(shí)驗(yàn)時(shí)能夠?qū)⒙曉次恢脺?zhǔn)確地定位在汽車上,能夠有效的定位汽車?guó)Q笛聲。
本文針對(duì)汽車?guó)Q笛聲的聲源定位問(wèn)題,提出了一種基于空間搜索法的五傳聲器陣列三維空間聲源定位算法。采用短時(shí)能量法檢測(cè)確定信號(hào)中的鳴笛聲的端點(diǎn)位置,通過(guò)互功率譜相位時(shí)延估計(jì)算法估計(jì)任意傳聲器之間的時(shí)間延遲,運(yùn)用空間搜索法來(lái)確定聲源位置,實(shí)際定位的計(jì)算量不大且能夠滿足定位的實(shí)時(shí)性要求,能夠快速且準(zhǔn)確地鎖定鳴笛車輛。
[1]BRANDSTEIN M S,SILVERMAN H F.A practical methodology for speech source localization with microphone arrays[J].Comput.Speech Lang,1997,11(2):91-126.
[2]KNAPP C,CARTER G.The generalized correlation method for estimation of time delay[J].IEEE Trans.Acoust.Speech Signal Process,2003,24(4):320-327.
[3]REED F A,FEINTUCH P L,BERSHAD N J.Time delay estimation using the LMS adaptive filter-Static behavior[J].IEEE Trans.Acoust.Speech Signal Process,1981,29(3):561-571.
[4]YOUN D,AHMED N,CARTER G.On using the LMS algorithm for time delay estimation[J].IEEE Trans.Acoust.Speech Signal Process,1982,30(5):798-801.
[5]BENESTY J.Adaptive eigenvalue decomposition algorithm for passive acoustic source localization[J].J.Acoust.Soc.Am,2000,107(107):384-391.
[6]GREENFIELD S,Clift M.Speaker localization in a reverberant environment[C].In Electrical and Electronics Engineers in Israel,2002.the Convention.2003:7-9.
[7]張志飛,袁瓊,徐中明,等.汽車?yán)嚷曁匦栽囼?yàn)分析[J]. 汽車工程學(xué)報(bào),2013(6):400-404.
[8]孫懋珩,俞瑩婷.汽車?guó)Q笛聲定位系統(tǒng)仿真[J].聲學(xué)技術(shù),2009(5):640-644.
[9]WU S F,ZHU N.Locating arbitrarily time-dependent sound sources in three dimensional space in real time[J].J.Acoust.Soc.Am.,2010,128(2):728.
[10]ABEL J,SMITH J.The spherical interpolation method for closed-form passive source localization using range difference measurements[C].In Acoustics,Speech,and Signal Processing,IEEE International Conference on ICASSP.1987:471-474.