林青,廖逢釵
(三明學院數學與計算機科學系,福建三明365004)
二值子帶加權時延估計及其應用
林青,廖逢釵
(三明學院數學與計算機科學系,福建三明365004)
闡述了基于廣義互相關(GCC)的互功率譜相位(CPSP)時延估計算法的基本原理,指出它在處理麥克風陣列接收信號時,使用整個頻帶估計時延存在的不足.提出了二值子帶加權互功率譜相位時延估計算法(BSBW-CPSP).首先,在時域對所有通道的接收信號進行子帶分解;之后,根據目標信號非活動時,各個子帶的能量大小,給每個子帶賦予一個二值權重;接著,在所有權重為1的子帶分別利用CPSP算法估計時延;最后,求它們的平均值作為最終的時延估計值,并把它應用于聲源定位.實驗結果表明,與CPSP算法相比,BSBW-CPSP時延估計算法具有更高的精度,算法是有效可行的.
麥克風陣列;聲源定位;二值子帶加權;廣義互相關;時延估計
聲源定位技術是根據傳聲器接收到的數據自動確定聲源的位置.聲源定位技術具有廣闊的應用前景,它在魯棒語音識別[1]、智能機器人、可視電話、視頻會議、助聽設備等領域有著廣泛的應用[2].目前,利用麥克風陣列的聲源定位是最常見的方法,它經過分析與處理麥克風陣列采集的多路聲音信號,估計出一個或多個聲源在平面或空間中的坐標.
麥克風陣列信號處理的核心思想是:在時域和頻域的基礎上增加一個空間域,對接收的聲源信號進行空時處理.基于麥克風陣列的聲源定位技術大致可分為三類:基于最大輸出功率的可控波束形成的定位技術[3,4];基于子空間的定位技術;基于時延估計(Time Delay estimation,TDE)的定位技術[2].其中,基于時延估計的聲源定位方法是應用最為廣泛的方法,它算法簡單,容易實時實現.TDE聲源定位的關鍵技術是時延估計,它的精確性直接決定了聲源定位系統的有效性.它首先估計出聲源到達麥克風陣列各陣元的相對時間差,再利用時間差算出聲源到達各陣元的距離差,最后用搜索或幾何算法確定聲源的位置[5].
本文在研究廣義互相關(Generalized Cross Correlation, GCC)時延估計的基礎上,提出了二值子帶加權CPSP時延估計算法(Binary Sub-Band Weighted Cross Power SpectruMPhase,BSBW-CPSP).并通過實驗驗證算法可以有效改善聲源定位的精度.
在不考慮空間混響等因素影響的情況下,麥克風陣列中第i個麥克風接收到的信號xi(t)可表示為

其中s(t)是目標聲源信號,αi為聲波傳播的衰減系數(0<αi<1)[6].τ是第i個麥克風接收的信號相對于第一個麥克風的時間延遲,ni(t)為第i個麥克風接收的噪聲,M是麥克風陣列的陣元數,并假設s(t)和ni(t)(i=1,2,Λ,M)彼此不相關.
廣義互相關(GCC)函數時延估計算法[7]是運用最廣泛且最簡單的一種算法.GCC算法的實現流程如圖1所示.麥克風陣列的不同陣元間接收到信號的相對時延是通過計算它們之間的互相關函數,并檢測互相關函數的峰值獲得.但在實際應用中,由于背景噪聲等因素的干擾,互相關函數相應的峰值會減弱,甚至有可能出現偽峰,這樣加大了峰值檢測的難度.廣義互相關(GCC)函數法是通過求得兩信號之間的互功率譜,并在頻域內給予一定的加權,在一定程度上抑制了噪聲和反射干擾的影響,使相關函數在時延處的峰值更為突出,再反變換到時域,得到兩信號之間的互相關函數,最終可估計出兩信號間的相對時延.
假設S為聲源,考察M1、Mi兩個麥克風,它們接收的信號分別為x1(t)、xi(t),接收的噪聲信號分別為n1(t)和ni(t).τ為目標聲源傳播到兩個麥克風的時間差.采用傳統的GCC算法,可得信號x1(t)和xi(t)的互相關函數Rx1xi(τ)為

其中,Gx1xi(ω)=E{X1(ω)Xi*(ω)}是麥克風M1、Mi接收信號的互相關譜,ψ1i(ω)是權函數,Φx1xi(ω)=ψ1i(ω)Gx1xi(ω)為廣義互相關譜,這樣x1(t)、xi(t)相對時延為

式(2)選取不同的權函數ψ1i(ω)可得到不同的時延估計算法.在實際應用中,可根據實際的聲學環境選擇相應的權函數,使得互相關函數Rx1xi(τ)有個比較尖銳的峰值,得到較好的時延估計效果.文獻[7]給出了各種GCC加權函數,并闡明了它們的優缺點.其中互功率譜相位(Cross Power SpectruMPhase,CPSP)算法使用的加權函數是:


圖1 GCC算法的實現流程圖
該加權函數相當于白化濾波,它使信號的互功率譜變得平坦,從而銳化信號的廣義互相關函數.
CPSP算法是在信號的整個頻帶上進行時延估計.在實際聲場中,有些頻帶可能噪聲很大,信噪比很低,甚至幾乎沒有目標信號成分,在這種情況下,CPSP的時延估計精度不可避免要受到影響.下面提出BSBW-CPSP算法,算法流程如圖2所示.

圖2 BSBW-CPSP定位算法的原理框圖
帶通濾波器模塊是對陣列各陣元接收的信號分別進行頻帶分解.它使用的頻帶分解濾波器是橢圓濾波器[8]:

其中,函數ellipord可以得到數字橢圓型濾波器的最小階數N和截止頻率wn,并使濾波器在通帶內(0,wp)的波紋系數小于通帶最大衰減Ap,阻帶內(ws,1)的波紋系數大于阻帶最小衰減As.ellip函數的功能是設計濾波器,它利用ellipord函數得到的最小階數N和截止頻率wn,可以設計低通、或帶通濾波器.返回參數b和a分別是橢圓濾波器系統函數分子多項式和分母多項式的系數.
VAD(Voice Activity Detect語音活動檢測)用于輔助檢測各頻帶噪聲強還是弱,決定哪些頻帶用于時延估計,哪些頻帶將被舍棄.在靜音時(目標信號非活動時),檢測各個頻帶的能量,能量大的頻帶,噪聲大,信噪比低,在時延估計時,放棄該頻帶的估計結果.據此可以得到各個頻帶的二值加權系數:

這里,k是頻帶分解后的頻帶數,下標l表示第幾個頻帶.


把所有子帶的估計結果求平均,得最終的估計結果:

算出各陣元間接收信號的相對時延后,利用三角幾何關系就可以推算聲源的位置[9].
3.1 實驗原理
實驗是在一間普通的實驗室進行.以實驗室的一個墻角為坐標原點O,建立直角坐標系,Ox和Oy分別與兩面墻與地面的兩條交線平行.實驗時,麥克風陣列的拓撲結構和聲源S的位置如圖3所示.三個麥克風M1、M2、M3的坐標分別是(0,60.7),(0,0)和(60.2,0)(單位:cm),d1、d2、d3分別是目標聲源S到M1、M2、M3的距離.
實驗裝置的原理框圖如圖4所示:由麥克風陣列、信號預處理、A/D同步數據采集和時延估計四個模塊組成.麥克風陣列是三個電容式麥克風,信號預處理模塊是三個信號放大器,數據采集模塊采用BC425同步數據采集模塊. BC425是一款USB2.0總線14位8路同步并行數據采集模塊,可以最高80KHz/通道(周期12.5μs)的速度對8個輸入通道進行模數轉換.BC425內置512K Byte FIFO緩沖區,支持實時不間斷數據采集.它提供內、外部觸發采集及多種時鐘模式.
經過BC425同步采集后的數據傳輸到時延估計模塊,該模塊中的軟件利用不同的時延估計與定位算法計算出聲源的位置.

圖4 聲源定位裝置的原理框圖
假設聲源S到M1、M2的距離差為△d12,聲源S到M2、M3的距離差△d23,e12、e23分別是△d12、△d23的估計誤差.下面實驗是通過比較不同算法△d12、△d23大小,判斷各種算法的時延估計效果.實驗時,頻帶分解后的頻帶數k=3.
3.2 實驗結果
表1至表5是實驗得到的數據和處理結果.BSBW-CPSP表示本文提出的二值子帶加權CPSP時延估計算法.實驗結果表明,在不同噪聲源位置、不同信噪比的情況下,相比于CPSP算法,使用BSBW-CPSP算法,聲源定位的效果有明顯改善.

表1 不同算法聲源定位結果比較(SNR=7.39dB,單位:cm)

表2 不同算法聲源定位結果比較(SNR=4.69dB,單位:cm)

表3 不同算法聲源定位結果比較(SNR=7.35dB,單位:cm)

表4 不同算法聲源定位結果比較(SNR=4.72dB,單位:cm)

表5 不同算法聲源定位結果比較(SNR=0.75dB,單位:cm)
麥克風陣列接收的信號在時域上分解成多個頻帶,利用VAD模塊給出各頻帶的二值權重,然后在權重為1的各個子帶上用CPSP算法估計時延,最后求它們的平均值作為最終的時延估計值.實驗結果表明,BSBW-CPSP算法,相對于CPSP算法的時延估計結果更為精確.
〔1〕Yamada,S.Nakamura and K.Shikano.Distant-talking speech recognition based on a 3-D Viterbi search using a microphone array[J].Speech Audio Processing,2000,(10): 48-56.
〔2〕廖逢釵,李鵬,劉文舉.采用聽覺濾波器的寬帶MUSIC聲源定位方法[J].聲學學報,2012(6):642-650.
〔3〕M.Wax,T.Kailat.0IptimuM10 calization of multiple sources by passiVe afrays[J].Speech and Signal Processing,1983,31(5):1210~1217.
〔4〕陳可,汪增福.基于聲壓幅度比的聲源定位[J].計算機仿真學報,2004,21(1):85~89.
〔5〕Dirk Bechler,Kristian Kroschel.Reliability Criteria Evaluation for TDOA Estimates in a Variety of Real Environments[C].Conf.Acoustics,Speech and Signal Processing(ICASSP).Pennsylvania,Philadelphia,USA,2005: 985-988.
〔6〕戎曉政,劉加.聲源定位中的時延估計方法研究[J].電聲基礎學報,2010,34(2):42-46.
〔7〕王宏禹,邱天爽,自適應噪聲抵消和時間延遲估計[M].大連:大連理工大學出版社,1999.
〔8〕張晨燕,申維新.利用MATLAB函數設計IIR數字濾波器[J].中國民航飛行學院學報,2006,17(1):24-28.
〔9〕Feng-chai LIAO,Su-xia CHEN.Intelligent mobile robots localization systeMcombined ZigBee and distributed microphone array[C].Jianping Chen.ISISE2012. USA:IEEE Computer Society CPS,2012:52-55.
TN119.7
A
1673-260X(2013)07-0116-03
福建省自然科學基金(2009J01296);三明學院大學生創新實驗項目(ZL1113/CS)