本發(fā)明涉及一種三維聲源定位方法,特別涉及一種基于壓縮感知的三維聲源定位方法。
背景技術(shù):
基于壓縮感知的聲源定位方法,能夠在不滿足奈奎斯特采樣定理的情況下對聲源進(jìn)行定位,而且能夠獲得超分辨率的定位結(jié)果。
文獻(xiàn)“ningf,weij,qiul,etal.three-dimensionalacousticimagingwithplanarmicrophonearraysandcompressivesensing[j].journalofsoundandvibration,2016,380:112-128.”公開了一種基于壓縮感知正交匹配追蹤(orthogonalmatchingpursuit,omp)算法的三維聲源定位方法。該方法能夠基于麥克風(fēng)陣列測量技術(shù)與壓縮感知omp算法對三維區(qū)域內(nèi)的聲源進(jìn)行定位。首先對所選三維聲源區(qū)域進(jìn)行網(wǎng)格劃分,建立網(wǎng)格節(jié)點(diǎn)與麥克風(fēng)陣列之間的測量矩陣,獲得聲源與麥克風(fēng)陣列之間的三維窄帶聲源定位稀疏表達(dá)模型。進(jìn)而通過omp算法迭代求解各網(wǎng)格節(jié)點(diǎn)的聲源強(qiáng)度,達(dá)到聲源定位的目的。雖然文獻(xiàn)所述方法能夠獲得超分辨率的結(jié)果,但是當(dāng)信噪比(signaltonoiseratio,snr)低至5db時,該方法不能對聲源進(jìn)行定位,即抗噪性能差。
綜上所述,文獻(xiàn)中采用壓縮感知omp算法的三維聲源定位方法抗噪性能差。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有三維聲源定位方法抗噪性能差的不足,本發(fā)明提供一種基于壓縮感知的三維聲源定位方法。該方法通過麥克風(fēng)陣列獲得聲源信號的測量值,經(jīng)過信號處理得到所需窄帶頻率點(diǎn)的測量數(shù)據(jù)。對選定的三維聲源區(qū)域進(jìn)行均勻的網(wǎng)格劃分,將每一個網(wǎng)格節(jié)點(diǎn)作為潛在的聲源位置。進(jìn)而根據(jù)自由場格林函數(shù)的helmholtz方程建立網(wǎng)格節(jié)點(diǎn)與麥克風(fēng)陣列之間的測量矩陣,獲得麥克風(fēng)陣列測量值與未知聲源信號之間的三維窄帶聲源定位稀疏表達(dá)模型。通過對稀疏表達(dá)模型中的麥克風(fēng)陣列測量值進(jìn)行奇異值分解,獲得變形后的聲源定位稀疏表達(dá)模型。最后采用壓縮感知omp算法對變形后的表達(dá)模型進(jìn)行迭代求解,獲得聲源區(qū)域各網(wǎng)格節(jié)點(diǎn)的聲源強(qiáng)度,對聲源進(jìn)行定位。由于采用了壓縮感知omp算法,并通過對奇異值分解的使用,提高了聲源定位方法的抗噪性能。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案:一種基于壓縮感知的三維聲源定位方法,其特點(diǎn)是包括以下步驟:
步驟一、通過由m個麥克風(fēng)傳感器組成的麥克風(fēng)陣列對三維空間的聲源信號進(jìn)行采集,獲得時域的麥克風(fēng)陣列測量數(shù)據(jù)。
步驟二、對所采集的麥克風(fēng)陣列測量數(shù)據(jù)進(jìn)行分塊、加窗以及快速傅立葉變換處理,獲得麥克風(fēng)陣列在頻域的測量數(shù)據(jù)。
步驟三、在每個麥克風(fēng)傳感器所對應(yīng)的數(shù)據(jù)塊內(nèi)選擇所需窄帶頻率點(diǎn)的測量數(shù)據(jù)y,維度為m×b,b為劃分的數(shù)據(jù)塊總數(shù)。
步驟四、建立三維窄帶聲源定位的稀疏表達(dá)模型,包括三維聲源區(qū)域網(wǎng)格的劃分和測量矩陣的建立。
對選定聲源的三維空間區(qū)域進(jìn)行網(wǎng)格劃分。以每個網(wǎng)格節(jié)點(diǎn)作為潛在聲源,構(gòu)建未知聲源信號x,維度為m×n,n為聲源區(qū)域劃分網(wǎng)格節(jié)點(diǎn)的數(shù)目。未知聲源信號x由網(wǎng)格節(jié)點(diǎn)處的聲源強(qiáng)度組成。
根據(jù)自由場格林函數(shù)的helmholtz方程建立網(wǎng)格節(jié)點(diǎn)與麥克風(fēng)陣列之間的測量矩陣a,維度為m×n。公式如下:
式中,cmn為歸一化因子,j為虛數(shù)單位,f為窄帶頻率,c為聲速,dmn為第m個麥克風(fēng)傳感器與第n個網(wǎng)格節(jié)點(diǎn)間的距離。
三維窄帶聲源定位的稀疏表達(dá)模型即為:
y=ax+e,(2)
式中,e為麥克風(fēng)陣列測量數(shù)據(jù)中包含的噪聲項(xiàng)。
步驟五、對稀疏表達(dá)模型中的麥克風(fēng)陣列測量值y進(jìn)行奇異值分解處理,獲得變形的三維聲源定位稀疏表達(dá)模型。
對稀疏表達(dá)模型中的麥克風(fēng)陣列頻域測量值y進(jìn)行奇異值分解,獲得測量值y,未知聲源信號x和噪聲項(xiàng)e的信號子空間,
ysv=y(tǒng)vdk,xsv=xvdk,esv=evdk,(3)
dk=[ik0]t,(4)
式中,v為對測量值y奇異值分解后的酉矩陣,ik為k×k階單位矩陣,0為k×(b-k)階零矩陣,k為聲源信號的稀疏度。
為便于后續(xù)壓縮感知omp算法的使用,將已建立的表達(dá)模型變形為
式中,
步驟六、通過壓縮感知omp算法對表達(dá)模型進(jìn)行迭代求解,獲得聲源區(qū)域內(nèi)各網(wǎng)格節(jié)點(diǎn)處的聲源強(qiáng)度。omp算法的求解過程如下:
(a)初始化殘差
(b)通過解決簡單的優(yōu)化問題尋找
(c)增加索引集合和所選原子的矩陣
φ0為一個空矩陣。
(d)使用最小二乘獲得新的信號估計(jì)值
(e)計(jì)算獲得新的近似并更新殘差值
(f)如果新的殘差值rt小于omp算法迭代的誤差限ε,迭代計(jì)數(shù)值t加1,并返回到步驟(b)繼續(xù)迭代求解。omp算法迭代的誤差限ε通過求解麥克風(fēng)陣列測量值中所含噪聲的l2范數(shù)獲得。
最后,將所求解的向量
本發(fā)明的有益效果是:該方法通過麥克風(fēng)陣列獲得聲源信號的測量值,經(jīng)過信號處理得到所需窄帶頻率點(diǎn)的測量數(shù)據(jù)。對選定的三維聲源區(qū)域進(jìn)行均勻的網(wǎng)格劃分,將每一個網(wǎng)格節(jié)點(diǎn)作為潛在的聲源位置。進(jìn)而根據(jù)自由場格林函數(shù)的helmholtz方程建立網(wǎng)格節(jié)點(diǎn)與麥克風(fēng)陣列之間的測量矩陣,獲得麥克風(fēng)陣列測量值與未知聲源信號之間的三維窄帶聲源定位稀疏表達(dá)模型。通過對稀疏表達(dá)模型中的麥克風(fēng)陣列測量值進(jìn)行奇異值分解,獲得變形后的聲源定位稀疏表達(dá)模型。最后采用壓縮感知omp算法對變形后的表達(dá)模型進(jìn)行迭代求解,獲得聲源區(qū)域各網(wǎng)格節(jié)點(diǎn)的聲源強(qiáng)度,對聲源進(jìn)行定位。由于采用了壓縮感知omp算法,并通過對奇異值分解的使用,提高了聲源定位方法的抗噪性能。經(jīng)測試,當(dāng)信噪比低至5db時,本發(fā)明方法仍然能夠?qū)β曉催M(jìn)行定位。
下面結(jié)合附圖和具體實(shí)施方式對本發(fā)明作詳細(xì)說明。
附圖說明
圖1是本發(fā)明基于壓縮感知的三維聲源定位方法的流程圖。
圖2是本發(fā)明方法中三維聲源定位的傳播模型。
圖3是圖1中壓縮感知正交匹配追蹤算法的流程圖。
圖4是本發(fā)明方法在信噪比為5db下的定位結(jié)果。
圖5是背景技術(shù)方法在信噪比為5db下的定位結(jié)果。
圖中,方塊表示仿真中所采用的真實(shí)聲源,圓點(diǎn)表示通過聲源定位方法所獲得的重構(gòu)聲源。
具體實(shí)施方式
參照圖1-5。本實(shí)施例采用位于s1(-0.2,0,0.43),s2(0.2,0,0.43)、s3(-0.2,0,0.74)和s4(-0.2,0,0.74)的四個單極子聲源作為仿真中的聲源信號?;趬嚎s感知的三維聲源定位方法具體步驟如下:
步驟一、首先采用陣列口徑為1m,包含60個麥克風(fēng)傳感器的陣列對仿真信號進(jìn)行采集,獲得每個麥克風(fēng)的時域測量數(shù)據(jù)。
步驟二、對所獲得的麥克風(fēng)陣列測量數(shù)據(jù)進(jìn)行分塊、加窗以及快速傅里葉變換,獲得麥克風(fēng)陣列的頻域測量數(shù)據(jù)。
在該過程中所分?jǐn)?shù)據(jù)塊的長度均為1024,對每個數(shù)據(jù)塊加漢寧窗處理,并通過快速傅里葉變換得到麥克風(fēng)陣列頻域測量數(shù)據(jù)。為了探究所提出方法的抗噪性能,仿真中對麥克風(fēng)陣列測量數(shù)據(jù)加入了高斯白噪聲。選取窄帶頻率為5000hz,snr為5db。
步驟三、建立三維窄帶聲源定位稀疏表達(dá)模型,包括對三維聲源區(qū)域的網(wǎng)格劃分和測量矩陣的建立。
首先選定0.8m×0.8m×0.68m的三維聲源區(qū)域,三維區(qū)域與陣列平面最小距離為0.4m。對所選聲源區(qū)域進(jìn)行網(wǎng)格劃分,獲得60×60×51個網(wǎng)格節(jié)點(diǎn)。然后根據(jù)自由場格林函數(shù)的helmholtz方程建立網(wǎng)格節(jié)點(diǎn)與麥克風(fēng)陣列之間的測量矩陣a,其維度為60×183600。具體公式如下:
式中,cmn為歸一化因子,j為虛數(shù)單位,f為窄帶頻率,c為聲速,dmn為第m個麥克風(fēng)傳感器與第n個網(wǎng)格節(jié)點(diǎn)間的距離。
三維窄帶聲源定位的稀疏表達(dá)模型即為
y=ax+e,(2)
式中e為麥克風(fēng)陣列測量數(shù)據(jù)中包含的噪聲項(xiàng)。
步驟四、對稀疏表達(dá)模型中的麥克風(fēng)陣列測量值y進(jìn)行奇異值分解處理,獲得變形的三維聲源定位稀疏表達(dá)模型。
對稀疏表達(dá)模型中的麥克風(fēng)陣列頻域測量值y進(jìn)行奇異值分解,獲得測量值y,未知聲源信號x和噪聲項(xiàng)e的信號子空間,
ysv=y(tǒng)vdk,xsv=xvdk,esv=evdk,(3)
dk=[ik0]t,(4)
式中,v為對測量值y奇異值分解后的酉矩陣,ik為k×k階單位矩陣,0為k×(b-k)階零矩陣,k為聲源信號的稀疏度。由于實(shí)際情況中,聲源信號的稀疏度往往是未知的。研究中發(fā)現(xiàn),稀疏度k的取值對聲源定位的結(jié)果影響很小,因而本實(shí)施例選取k=1。
為便于后續(xù)壓縮感知omp算法的使用,將已建立的表達(dá)模型變形為
式中
步驟五、采用壓縮感知omp算法對變形后的表達(dá)模型進(jìn)行迭代求解。omp算法的迭代終止條件選取誤差限,誤差限ε通過計(jì)算仿真中所加入高斯白噪聲的能量而獲得。具體步驟如下:
(a)初始化殘差
(b)通過解決簡單的優(yōu)化問題尋找
(c)增加索引集合和所選原子的矩陣
φ0為一個空矩陣。
(d)使用最小二乘獲得新的信號估計(jì)值
(e)計(jì)算獲得新的近似并更新殘差值
(f)如果新的殘差值rt小于omp算法迭代的誤差限ε,迭代計(jì)數(shù)值t加1,并返回到步驟(b)繼續(xù)迭代求解。omp算法迭代的誤差限ε通過求解麥克風(fēng)陣列測量值中所含噪聲的l2范數(shù)獲得。
最后,將所求解的向量
從圖4和圖5可以發(fā)現(xiàn),當(dāng)信噪比等于5db時,背景技術(shù)方法對聲源定位誤差過大,本發(fā)明方法能夠?qū)γ總€聲源進(jìn)行定位,提高了抗噪性能。