李劍汶 章宇棟 童 峰 黃惠祥
(廈門大學(xué)水聲通信與海洋信息技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,廈門,361100)
隨著音/視頻會(huì)議、語音增強(qiáng)和智能家居系統(tǒng)等領(lǐng)域需求的不斷提升,麥克風(fēng)陣列已成為語音信號(hào)研究領(lǐng)域的熱點(diǎn),而良好的聲源定位技術(shù)是保證麥克風(fēng)陣列具有較好工作性能的前提。傳統(tǒng)的聲源定位算法主要分為基于最大輸出功率的可控波束形成的定位算法[1]、時(shí)延估計(jì)定位算法[2]和基于高分辨率譜估計(jì)的定位算法[3]三大類。
可控波束形成的定位算法對(duì)語音信號(hào)和噪聲信號(hào)的頻譜特性有較強(qiáng)的依賴性,運(yùn)算量復(fù)雜,使得該算法的應(yīng)用范圍較小[4];時(shí)延估計(jì)定位算法運(yùn)算量較小,李芳蘭等[5]用時(shí)延補(bǔ)償構(gòu)造可調(diào)波束形成器對(duì)聲源方向進(jìn)行估計(jì),利用陣列的空間增益來提高麥克風(fēng)陣列定位性能。但是,在混響及噪聲較強(qiáng)的實(shí)際應(yīng)用環(huán)境下,麥克風(fēng)陣列獲取精確時(shí)延值的難度較大,同時(shí)其定位精度會(huì)受到信號(hào)采樣率影響[2]?;诟叻直媛首V估計(jì)的定位算法主要針對(duì)窄帶遠(yuǎn)場(chǎng)信號(hào)進(jìn)行處理,然而目前大部分的語音信號(hào)主要為寬帶自然語音信號(hào),極大限制了該算法的應(yīng)用范圍[6]。
近年來,隨著壓縮感知領(lǐng)域的不斷發(fā)展,壓縮感知也逐漸被應(yīng)用于麥克風(fēng)陣列聲源定位中。Wang等[7]針對(duì)語音信號(hào)子頻帶發(fā)生局部畸變的情況,利用最大相關(guān)熵準(zhǔn)則對(duì)傳統(tǒng)多任務(wù)貝葉斯壓縮感知聲源定位算法進(jìn)行改進(jìn)。仿真實(shí)驗(yàn)表明,改進(jìn)后的算法與傳統(tǒng)的多任務(wù)貝葉斯壓縮感知聲源定位算法相比,具有更高的定位準(zhǔn)確率和魯棒性。針對(duì)強(qiáng)混響、強(qiáng)噪聲環(huán)境傳統(tǒng)聲源定位算法性能急劇下降的問題[8],趙小燕等[9]提出了一種基于壓縮感知的麥克風(fēng)陣列聲源定位算法。該算法以室內(nèi)混響環(huán)境下的麥克風(fēng)陣列接收信號(hào)的稀疏性建立模型,將不同位置的房間沖激響應(yīng)作為特征來構(gòu)建字典,通過正交匹配追蹤(Orthogonal matching pursuit,OMP)算法[10]重構(gòu)稀疏信號(hào),對(duì)目標(biāo)聲源進(jìn)行定位。仿真實(shí)驗(yàn)表明,與基于聯(lián)合控響應(yīng)功率和相位變換(Steered response power phase transform,SRP-PHAT)聲源定位算法[11]相比,該算法的定位準(zhǔn)確率更高。但在實(shí)際遠(yuǎn)場(chǎng)環(huán)境下,由于聲源指向性、混響等原因,麥克風(fēng)陣列接收信號(hào)的稀疏度存在塊稀疏特性,導(dǎo)致該算法的精度下降。
在傳統(tǒng)壓縮感知理論[12]中,稀疏信號(hào)的稀疏分布特性較為理想,但在實(shí)際麥克風(fēng)陣列遠(yuǎn)場(chǎng)聲源定位等應(yīng)用場(chǎng)景中,由于遠(yuǎn)場(chǎng)聲源自身的指向性不夠尖銳、混響等影響因素,壓縮感知麥陣聲源定位中聲源方向向量稀疏性呈現(xiàn)一定的塊稀疏結(jié)構(gòu)。此時(shí),采用本質(zhì)上是l1范數(shù)優(yōu)化的OMP算法或其他基于常見l0,l1范數(shù)的稀疏恢復(fù)方法將由于l0,l1范數(shù)本身無法很好地描述塊稀疏特性,從而導(dǎo)致稀疏恢復(fù)性能下降。
文獻(xiàn)[13]基于塊稀疏分布規(guī)律特性[14],提出了一種能夠識(shí)別塊稀疏結(jié)構(gòu)的塊稀疏似零范數(shù)?;趬K稀疏似零范數(shù)(Block approximatedl0,BAL0)的壓縮感知恢復(fù)算法是通過引入塊稀疏似零范數(shù)約束項(xiàng),推導(dǎo)出復(fù)數(shù)域塊稀疏似零范數(shù)恢復(fù)迭代算法,對(duì)塊稀疏似零范數(shù)進(jìn)行梯度下降迭代并將梯度解投影至空間解來獲得稀疏估計(jì)解[14]。
本文針對(duì)麥克風(fēng)陣列實(shí)際應(yīng)用,在壓縮感知算法的基礎(chǔ)上,考慮到遠(yuǎn)場(chǎng)聲源自身的指向性不夠尖銳、混響等因素,引入塊稀疏似零范數(shù)進(jìn)行聲源方向向量重構(gòu),進(jìn)而獲取目標(biāo)聲源方位。實(shí)驗(yàn)結(jié)果表明:該方法相比于傳統(tǒng)的聲源定位算法和基于OMP的壓縮感知聲源定位算法具有更高的定位精度。
對(duì)于室內(nèi)遠(yuǎn)場(chǎng)環(huán)境,令M元麥克風(fēng)陣列的第m個(gè)麥克風(fēng)的接收信號(hào)為xm(n)(m=1,2,…,M),則
式中:n表示時(shí)間坐標(biāo);hm(rs,n)表示聲源位置rs到第m個(gè)麥克風(fēng)的房間傳輸響應(yīng);s(n)表示聲源位于rs處的語音信號(hào);ωm(n)表示第m個(gè)麥克風(fēng)接收到的噪聲信號(hào)。麥克風(fēng)信號(hào)在頻域下可表示為
式中Xm(k),Hm(rs,k),S(k),Wm(k)分別為xm(n),hm(rs,n),s(n),ωm(n)的離散傅里葉變換,可用矢量表示為
式中:X(k)為頻域的麥克風(fēng)接收信號(hào)矢量;H(rs,k)為聲源位置rs處的房間頻域響應(yīng)矢量,W(k)為頻域的噪聲矢量。
令聲源的空間位置集為{r1,r2,…,rI},其中空間位置集個(gè)數(shù)I遠(yuǎn)大于目標(biāo)聲源個(gè)數(shù),則冗余的房間頻域響應(yīng)矩陣為
將冗余的房間頻域響應(yīng)矩陣D(k)稱為字典,式(3)可改寫為
文獻(xiàn)[9]通過仿真證明了理想環(huán)境下采用OMP的壓縮感知方法能有效地通過麥克風(fēng)陣列對(duì)單聲源進(jìn)行定位。但在實(shí)際環(huán)境中,由于聲源指向性不夠尖銳、混響等原因,聲源方向向量可能呈塊稀疏分布特性,如圖1所示。圖1(a)為經(jīng)典稀疏模型,圖1(b)為呈現(xiàn)塊稀疏分布特性的稀疏模型。在實(shí)際應(yīng)用場(chǎng)景中,由于聲源存在一定的波束寬度,同時(shí)考慮到混響等因素,聲源方向的鄰近角度也會(huì)不同程度存在語音聲信號(hào)能量,即聲源方向向量在具有稀疏性的同時(shí)呈現(xiàn)塊稀疏的分布特性。考慮到傳統(tǒng)壓縮感知聲源定位算法以聲源方向向量具有理想稀疏特性為前提,塊稀疏特性的存在會(huì)影響傳統(tǒng)壓縮感知定位算法的定位性能。
圖1 稀疏模型結(jié)構(gòu)示意圖Fig.1 Illustration of sparse model structure
對(duì)于源信號(hào)向量S,其塊稀疏度定義為
式中:‖s‖表示對(duì)向量s求歐式范數(shù),supp表示對(duì)應(yīng)向量的支持集,|supp(·)|表示支持集的個(gè)數(shù)。式(6)表示源信號(hào)向量非零稀疏塊的個(gè)數(shù),且n=Ld,其中d為塊長度,并假設(shè)共有L個(gè)塊。用s[l]表示第l個(gè)塊,則
若滿足‖s‖2,0≤κ,稱S為塊稀疏度為κ的信號(hào)。
由式(5)可得,源信號(hào)向量的塊稀疏信號(hào)恢復(fù)可表示為
式中ε是與噪聲能量有關(guān)的非負(fù)實(shí)數(shù)。BAL0算法則首先對(duì)信道進(jìn)行分塊并對(duì)所分塊進(jìn)行塊稀疏識(shí)別,最后對(duì)所選稀疏塊進(jìn)行抽頭估計(jì)。
考慮到源信號(hào)向量的復(fù)數(shù)域情況,定義一個(gè)計(jì)算塊稀疏的函數(shù)為
文獻(xiàn)[14]給出了采用梯度下降及梯度解投影混合迭代的塊稀疏似零范數(shù)稀疏恢復(fù)算法。本文采用文獻(xiàn)[14]算法進(jìn)行塊稀疏似零范數(shù)稀疏恢復(fù)的迭代求解。求解過程為:令A(yù)+表示對(duì)矩陣A求偽逆,則有初始值
迭代過程為
更新:σl+1=βσl。設(shè)σth為終止閾值,則當(dāng)σj<σth時(shí),停止迭代并輸出估計(jì)結(jié)果。
為了驗(yàn)證本文算法的有效性,在廈門大學(xué)翔安校區(qū)希平樓大廳進(jìn)行了麥陣聲源定位實(shí)驗(yàn)。大廳尺寸為16 m×16 m×3 m,為較典型的辦公、家用結(jié)構(gòu),墻壁和地面均為大理石和瓷磚并有若干玻璃門窗分布。實(shí)驗(yàn)采用七元麥克風(fēng)均勻圓形陣列,陣列直徑為15 cm。實(shí)驗(yàn)語音信號(hào)為測(cè)試者語音聲信號(hào)。聲源距離麥陣為5 m,設(shè)置聲源以間隔15°分別放置在環(huán)繞1周的24個(gè)不同方向進(jìn)行麥克風(fēng)陣列聲源定位測(cè)試。語音信號(hào)原始信噪比為11.58 dB,實(shí)驗(yàn)中通過疊加實(shí)錄背景環(huán)境噪聲構(gòu)成不同信噪比的測(cè)試語音,用于評(píng)估分析不同信噪比下的各種定位算法的定位性能。
實(shí)驗(yàn)比較了時(shí)延累加算法(Delay-and-sum,DS)、SRP-PHAT算法、OMP壓縮感知方法和本文BAL0壓縮感知定位算法(下文簡稱BAL0算法)的性能。實(shí)驗(yàn)中用到的參數(shù)如表1所示。
表1 實(shí)驗(yàn)參數(shù)Tab.1 Experimental parameters
本文對(duì)實(shí)際采集到的信號(hào)進(jìn)行指向性分析處理,結(jié)果如圖2所示,可以看出,在聲源實(shí)際方位的相鄰角度存在的一定的能量,呈現(xiàn)出塊稀疏特性。采用均方根誤差(Root mean square error,RMSE)來評(píng)估各個(gè)算法的定位性能,其計(jì)算公式為[15]
式中:θi為算法得到的定位角度值,θr為聲源的真實(shí)角度值;N為DOA算法分辨的空間角度數(shù)。
圖2 指向性分析結(jié)果Fig.2 Directivity analysis result
不同信號(hào)信噪比下各種算法的DOA性能評(píng)估值RMSE如表2所示。可以看出,在不同信號(hào)信噪比下,采用BAL0算法的RMSE值最低;在信噪比為11.58 dB和5.56 dB的情況下,DS算法的RMSE值優(yōu)于OMP算法,且均優(yōu)于SRP-PHAT;在信噪比為2.03 dB的情況下,DS算法的RMSE值優(yōu)于SRP-PHAT算法,且均優(yōu)于OMP算法,可見BAL0的算法性能優(yōu)于其他算法。同時(shí),在不同信噪比下,BAL0算法的RMSE值較為穩(wěn)定,說明BAL0算法對(duì)于不同信噪比情況下的定位性能具有較好的魯棒性。
表2 不同信噪比下各種算法的DOA估計(jì)的RMSE值Tab.2 RMSE of DOA estimate of different algorithms at different SNRs
實(shí)驗(yàn)還針對(duì)本文算法的部分參數(shù)的敏感性進(jìn)行分析評(píng)估,包括使用不同語音信號(hào)頻點(diǎn)數(shù)以及不同塊搜索長度下的BAL0算法的定位性能分析。由于人說話的語音信號(hào)頻率主要分布在300~3 400 Hz,對(duì)接收語音信號(hào)選用合適的頻點(diǎn)數(shù),可以充分利用人語音信號(hào)的頻率特性,更好地對(duì)聲源方向向量進(jìn)行稀疏恢復(fù)。同時(shí),不同搜索塊長度會(huì)影響到算法對(duì)塊稀疏多徑特征的檢測(cè)性能,進(jìn)而影響到算法聲源方向向量的稀疏恢復(fù)能力。
采用不同語音信號(hào)頻點(diǎn)數(shù)下BAL0算法的DOA性能如表3所示??梢钥闯?,當(dāng)使用頻點(diǎn)數(shù)較少時(shí),BAL0算法的RMSE值相對(duì)較高;當(dāng)頻點(diǎn)數(shù)設(shè)置為14~16點(diǎn)時(shí),BAL0算法的RMSE值有所下降;當(dāng)頻點(diǎn)數(shù)進(jìn)一步增加時(shí),BAL0算法的RMSE值又明顯提高。為了保證BAL0算法的定位性能,同時(shí)為了降低計(jì)算量,實(shí)驗(yàn)過程中,將BAL0算法的使用頻點(diǎn)數(shù)參數(shù)設(shè)置為14,即選取麥克風(fēng)接收信號(hào)矢量X(k)中頻率為0~1.75 kHz的語音信號(hào)部分,為測(cè)試者語音信號(hào)能量較高的頻率分段。
采用不同搜索塊長度下的BAL0算法的DOA性能如表4所示。可以看出,當(dāng)BAL0算法在搜索塊長度為1時(shí),退化為AL0算法,其RMSE值相對(duì)較高;當(dāng)BAL0算法搜索塊長度設(shè)置為3時(shí),RMSE值相對(duì)較低;當(dāng)BAL0算法進(jìn)一步增加時(shí),RMSE又明顯提高,這是由于當(dāng)算法的搜索塊長度設(shè)置過大時(shí),不利于算法對(duì)塊稀疏特征的檢測(cè),導(dǎo)致定位精度下降。為了保證BAL0算法的定位性能,實(shí)驗(yàn)過程中將BAL0的搜索塊長度參數(shù)設(shè)置為3。
表3 不同頻點(diǎn)數(shù)下BAL0算法的DOA性能Tab.3 DOA performance of BAL0 algorithm at different frequency points
表4 不同搜索塊長度下BAL0算法的DOA性能Tab.4 DOA performance of BAL0 algorithm at different search block lengths
本文還對(duì)各種算法的計(jì)算復(fù)雜度進(jìn)行比較。在算法參數(shù)設(shè)置不變的情況下,基于WIN7的64位機(jī)操作系統(tǒng)和MATLAB(R2008a)版本進(jìn)行了算法運(yùn)行時(shí)間的測(cè)試。測(cè)試硬件配置為:英特爾酷睿i5處理器3.30 GHz,內(nèi)存16 GB。測(cè)試時(shí)將每種算法運(yùn)行4次后,分別記錄運(yùn)行時(shí)間并求平均,得到的算法運(yùn)行時(shí)間如表5所示??梢钥闯?,本文BAL0算法的運(yùn)行時(shí)間略高于OMP算法,這是因?yàn)锽AL0算法中引入了塊稀疏似零范數(shù)的非線性計(jì)算,使得計(jì)算量有所提高。
表5 各種算法的運(yùn)行時(shí)間Tab.5 Running time of different algorithms ms
由于聲源方向向量具有稀疏性,壓縮感知技術(shù)被引入用于麥克風(fēng)陣列聲源方向估計(jì)。但是在麥克風(fēng)陣列遠(yuǎn)場(chǎng)聲源定位實(shí)際應(yīng)用場(chǎng)景中,考慮到聲源具有一定的波束寬度以及存在混響等因素導(dǎo)致聲源方向向量稀疏度呈現(xiàn)塊稀疏分布特征的特點(diǎn),引入塊稀疏似零范數(shù)進(jìn)行聲源方向向量的壓縮感知稀疏估計(jì)來改善稀疏恢復(fù)性能,提高定位性能。實(shí)驗(yàn)結(jié)果驗(yàn)證了本文方法的有效性,且本文方法在較低信噪比情況下,具有較好的魯棒性。