齊小剛 袁列萍 劉立芳
(1. 西安電子科技大學(xué)數(shù)學(xué)與統(tǒng)計學(xué)院,陜西西安 710071;2. 西安電子科技大學(xué)計算機學(xué)院,陜西西安 710071)
時延估計技術(shù)是近年來備受關(guān)注的研究熱點課題,在導(dǎo)航定位[1]、雷達探測[2]、智能機器人控制[3]、通信系統(tǒng)[4]等領(lǐng)域得到廣泛應(yīng)用,尤其在目標定位中,無源時差定位技術(shù)因布站靈活、設(shè)備成本低、抗干擾能力強等優(yōu)勢成為最常用的定位方法之一,該方法通過檢測目標信號到達監(jiān)測站的時延建立雙曲線方程實現(xiàn)定位,時延估計的精確度直接影響最終的定位性能,因此研究高精度的時延估計技術(shù)至關(guān)重要。目前,經(jīng)典的時延估計方法主要有最小均方(Least mean square,LMS)自適應(yīng)法[5]、子空間類時延估計方法[6]、廣義互相關(guān)(generalized cross correlation,GCC)法[7]等。LMS自適應(yīng)法無需信號和噪聲的統(tǒng)計先驗知識即可實現(xiàn)信號間時延差估計,但為達到高精度的時延估計,需要較長適應(yīng)時間,難以滿足實時性要求;子空間類法大多需要進行多徑數(shù)目估計、特征分解、譜峰搜索等操作,計算復(fù)雜度較高;GCC方法具有原理簡單、計算量小、穩(wěn)定性好,適用性強等優(yōu)勢,在時延估計領(lǐng)域受到廣泛關(guān)注。
GCC時延估計方法通過信號間互相關(guān)函數(shù)的峰值檢測估計時延,該方法基于理想信號模型,即假設(shè)噪聲與信號,噪聲與噪聲兩兩正交,對平穩(wěn)隨機信號,在高信噪比條件下可獲得精確的時延估計值。然而,在實際中,這種假設(shè)并不成立,受各種噪聲和混響的影響,GCC函數(shù)峰值不再尖銳,甚至出現(xiàn)偽峰值,使得時延估計出現(xiàn)較大偏差。為解決該問題,文獻[8-10]對其進行了改進。文獻[8]引入改進的小波閾值函數(shù)進行信號去噪與重構(gòu),采用GCC方法進行時延估計,這種方法克服了傳統(tǒng)軟硬閾值函數(shù)的缺點,提升了時延估計性能,然基于小波閾值的信號去噪受小波基選擇、分解尺度等因素制約。文獻[9]采用倒譜法分離聲門脈沖機制和聲道響應(yīng),并結(jié)合譜減法設(shè)計了區(qū)分含噪信號有用頻段的有效方案,最后利用經(jīng)驗?zāi)B(tài)分解后的本征模函數(shù)譜特性,進行信號重構(gòu),該方法顯著提高了時延估計算法的抗噪性能,但算法復(fù)雜,應(yīng)用場景單一,還需不同場景性能檢驗。文獻[10]通過加權(quán)歐式失真檢測、話音激活檢測、最小值控制遞歸平均等信號預(yù)處理及時延后處理,極大地提高了時延估計的準確性,然該時延后處理方式假設(shè)時延初值已知,但實際中這種假設(shè)并不能保證。
基于上述分析可知,接收信號中往往含有各種干擾噪聲,使得時延估計精度下降,因此提高時延估計精度需解決的關(guān)鍵問題是如何降低噪聲的影響。奇異值分解(Singular Value Decomposition, SVD)[11]方法具有去噪效果顯著,穩(wěn)定性強等優(yōu)點,利用該方法進行信號預(yù)處理既可保留信號形變信息 又可較好的過濾掉噪聲污染。鑒于此,本文提出了一種新的時延估計方法,即SVDHB-GCC (generalized cross correlation method with Hassab-Boucher based on singular value decomposition)時延估計法。該方法首先利用SVD進行信號預(yù)處理,提高信號的信噪比;其次,利用HB加權(quán)函數(shù)進行頻域互功率譜處理,銳化GCC函數(shù)峰值;最后,在時延初值未知的情況下,提出了一種基于中位數(shù)和平均數(shù)相結(jié)合的時延后處理方法,修正了時延估計中因噪聲等影響造成的異常波動,提高了時延估計的精確性。仿真實驗結(jié)果顯示,本文所提SVDHB-GCC方法與參考GCC和SVD-GCC(generalized cross correlation method based on singular value decomposition)方法相比,抗噪性更強,準確度更高。
對任意一個矩陣P(P∈Rm×n),且m≥n,rank(P)=r≤n,則它的奇異值分解為:
(1)
剔除矩陣P中的零奇異值,得到P簡化奇異值分解式為:
(2)
式(2)中,uk和vk分別表示正交矩陣U和V的第k列向量。
對于聲傳感器節(jié)點接收到的聲源信號s(i),(i=1,2,...,N),構(gòu)造Hankel矩陣Q:
(3)
式中,1 假設(shè)兩個傳聲器Sen1和Sen2接收的信號模型[13]為: s1(t)=α1s(t-τ1)+n1(t) (4) s2(t)=α2s(t-τ2)+n2(t) (5) 其中,s(t)為聲源信號,n1(t)和n2(t)表示各種環(huán)境噪聲,αi是聲信號衰減因子,即由多路徑反射噪聲引起的聲波在傳播過程中的信號損失[14],它的范圍為0~1,τ12=τ1-τ2表示Sen2相對于Sen1接收信號的時間延遲。 信號s1和s2的互相關(guān)函數(shù)可表示為: Rs1s2(τ)=E(s1(t)s2(t-τ))= α1α2E(s(t-τ1)s(t-τ2-τ))+ α1E(s(t-τ1)n2(t-τ))+ α2E(s(t-τ2-τ)n1(t))+ E(n1(t)n2(t-τ)) (6) 式(6)中,E(·)表示數(shù)學(xué)期望。 因聲源信號與噪聲信號及噪聲信號之間完全正交,則 α1E(s(t-τ1)n2(t-τ))=0 (7) α2E(s(t-τ2-τ)n1(t))=0 (8) E(n1(t)n2(t-τ))=0 (9) 從而可將式(6)簡化為 Rs1s2(τ)=α1α2E(s(t-τ1)s(t-τ2-τ)) (10) 根據(jù)相關(guān)函數(shù)的性質(zhì)可知,當且僅當τ=τ12時,Rs1s2取得最大值,即最大相關(guān)系數(shù),τ12為接收兩路信號的時延。 維納辛欽定理指出,互相關(guān)函數(shù)與其互功率譜互為傅里葉變換[14],因此互相關(guān)函數(shù)的計算公式可轉(zhuǎn)化為: (11) 式(11)中,Gs1s2(ω)為互功率譜密度函數(shù),計算公式如式(12)所示。 (12) 式(12)中,(·)*為復(fù)數(shù)共軛操作,S1,S2分別為接收信號s1和s2的傅里葉變換。 在信號噪聲先驗知識未知的前提下,HB加權(quán)的GCC時延估計方法對提高時延估計精確度、動態(tài)跟蹤時延變化等具有較好的性能[15],同時采用HB加權(quán)函數(shù)進行互功率譜處理有兩個重要優(yōu)勢[15-16]:1)乘以一個聲源信號的功率譜密度函數(shù),加重了信號功率譜密度中聲源信號的成分;2)對互功率譜除以兩個接收信號的自功率譜,本質(zhì)是對Roth(roth filter)處理器僅對一個輸入信號歸一化處理的改進,與Roth加權(quán)類似,起到對輸入聲源信號白化的作用。HB加權(quán)函數(shù)的表達式: (13) 則互相關(guān)函數(shù)的計算公式為: (14) 從而時延的估計值為: (15) 因噪聲、混響等因素干擾,時延估計值中有少量異常值波動,為去除該異常點,提高時延估計精度,提出一種基于中位數(shù)和平均數(shù)相結(jié)合的時延后處理方法: (16) 在GCC時延估計算法研究的基礎(chǔ)上,針對環(huán)境噪聲及異常值波動導(dǎo)致時延估計出現(xiàn)較大偏差的問題,本文提出了一種奇異值分解的HB加權(quán)廣義互相關(guān)算法,圖1給出了該算法的原理流程圖。 圖1 本文算法流程圖Fig.1 Procedure of the proposed algorithm SVDHB-GCC算法的實現(xiàn)步驟如下: 為了驗證提出算法的時延估計性能,本文進行了兩組實驗,第一組采用模擬信號驗證算法的高效性和抗噪性,第二組采用傳聲器進行實際真實聲源信號采集,在滿足第一組實驗性能的基礎(chǔ)上,進一步驗證算法的實用價值。其中,將GCC方法和SVD-GCC方法作為參考算法,比較分析了本文算法的優(yōu)越性,傳統(tǒng)GCC的加權(quán)函數(shù)為Hs1s2(ω)=1。 本文中采用均方根誤差(Root mean square error,RMSE)、異常點百分比(Percentage of abnormal point,PAP)和正確率(Accurate rate,AR)衡量提出算法與參考算法的時延估計性能。評價指標的表達式定義為: (1)均方根誤差 (17) (2)異常點百分比 (18) (19) (3)正確率 AR=Ncorrect/Ntotal (20) 其中,τi表示第i次實驗的時延估計值,τ為時延真實值,x是時延估計值與真實值之間的偏差,本文規(guī)定時延估計結(jié)果與真實時延結(jié)果相差超過2個采樣點時即視為異常點,Ncorrect表示時延估計完全正確的實驗次數(shù),Ntotal表示時延估計的總實驗次數(shù)。 模擬信號采用余弦信號s1及其延遲信號s2,假設(shè)延遲時間t=40Ts,其中,Ts=1/fs,采樣頻率fs=500 Hz,采樣點數(shù)N=1000,L=N/2,兩個信號表示為: s1(n)=Acos(Bπ·n/fs) s2(n)=Acos(Bπ·(n+d)/fs) 實驗中,設(shè)置系數(shù)A=20,B=20,并對s1加入信噪比SNR=-20 dB的噪聲,從而原始信號、加噪信號及奇異值分解后的降噪信號比對結(jié)果見圖2。從圖2可以看出,基于奇異值分解的信號去噪方法有效的濾掉了噪聲污染,同時保留了信號的形變信息,使降噪后的信號與原始信號更加接近,因此采用SVD方法去噪穩(wěn)定可靠。 圖2 原信號、加噪信號和降噪信號Fig.2 Primary signal, noisy signal and noise reduction signal 為驗證提出算法的抗噪性,對兩個信號s1和s2同時加入噪聲,設(shè)定信噪比變化范圍為-20 dB~10 dB,GCC、SVD-GCC及SVDHB-GCC方法的時延估計結(jié)果如圖3~圖6所示,橫坐標表示時延點數(shù),縱坐標表示相關(guān)程度。由圖3~圖6可知,在高信噪比條件下,GCC、SVD-GCC及SVDHB-GCC均可準確的估計出時延,但隨著信噪比的降低,GCC峰值周圍逐漸出現(xiàn)干擾,甚至出現(xiàn)偽峰值,造成較大時延估計誤差;SVD-GCC估計精度也逐漸出現(xiàn)偏差,但相比GCC方法,該方法中采用了奇異值分解方法對接收信號進行了噪聲抑制,時延估計誤差低于GCC方法。本文提出的SVDHB-GCC方法在既采用了SVD對接收信號進行初始降噪,又在GCC時延估計中引入HB加權(quán)處理,加強信號中的有用成分,銳化GCC函數(shù)峰值,在低信噪比條件下能夠較好的估計出時延點數(shù),展現(xiàn)出顯著的時延估計優(yōu)勢。與此同時,對信噪比范圍-20 dB~10 dB的含噪信號,分別采用GCC、SVD-GCC及SVDHB-GCC方法進行50次隨機實驗,得到不同噪聲條件下評價時延估計性能的異常點百分比、準確率及均方根誤差變化曲線,如圖7所示。圖7(a)與圖7(b)反映了不同信噪比條件下,三種算法時延估計的均方根誤差與異常點百分比,高信噪比情況下,三種算法的RMSE與PAP較小,波動較低,但隨著信噪比的降低,尤其當信噪比低于-5 dB,本文所提SVDHB-GCC算法的RMSE與PAP明顯低于傳統(tǒng)GCC方法和SVD-GCC方法;從圖7(c)可以看出,當信噪比低于0 dB時,傳統(tǒng)GCC方法的正確率驟降,而SVD-GCC與SVDHB-GCC算法的正確率下降趨勢相對平緩,且SVDHB-GCC的正確率高于SVD-GCC方法。綜合圖7的指標結(jié)果,本文所提算法時延估計性能更優(yōu)。 圖3 信噪比SNR=-20 dB的三種算法時延估計峰值對比圖Fig.3 Comparisons of peak values of three methods in -20 dB SNR 圖4 信噪比SNR=-10 dB的三種算法時延估計峰值對比圖Fig.4 Comparisons of peak values of three methods in -10 dB SNR 圖5 信噪比SNR=0 dB的三種算法時延估計峰值對比圖Fig.5 Comparisons of peak values of three methods in 0 dB SNR 圖6 信噪比SNR=10 dB的三種算法時延估計峰值對比圖Fig.6 Comparisons of peak values of three methods in 10 dB SNR 圖7 三種算法時延估計性能比較Fig.7 Performance analysis and comparison of three algorithms 采集聲音信號時,因意外聲源闖入等外界因素導(dǎo)致噪聲干擾突然增強,使得接收數(shù)據(jù)在某一瞬間污染嚴重,進而導(dǎo)致最終時延估計結(jié)果出現(xiàn)較大偏差。針對這種情況,采用分幀處理是一種有效的信號處理方法,通過分幀的方式,可獲得短時平穩(wěn)信號并進行時延估計,將這種意外干擾控制在某一幀或某幾幀信號中,然后利用后處理技術(shù),可較好的處理瞬間時延估計偏差較大的問題。本文提出了一種基于中位數(shù)和平均值相結(jié)合的時延后處理方法,設(shè)置分幀大小為1024,對同一信號源的30幀信號采用SVDHB-GCC算法進行時延估計,后處理前后的時延估計結(jié)果見圖8。 圖8 時延后處理前后結(jié)果比較Fig.8 Comparison of time delay between the proposed algorithm and the proposed algorithm without post processing 由圖8的實驗結(jié)果可知,在后處理前,計算得到的各幀時延中存在少量異常值波動,這些異常波動顯著的降低了時延估計的精度,而采用本文所提基于中位數(shù)與平均值相結(jié)合的時延后處理技術(shù)能夠有效的改善少量幀信號因噪聲突然增強干擾造成時延估計誤差較大的問題,使得時延估計值更接近真實值,提高時延估計精度。 為了驗證提出時延估計算法的實用性,進行了實際場景真實聲源信號拾取,實驗中,采用全指向性間距為25 cm的線性傳聲器陣列進行聲源信號拾取,各個節(jié)點頻響范圍為20 Hz~20 kHz,靈敏度為-28 dB。圖9給出了實測信號拾取場景及傳聲器節(jié)點的線性布設(shè)結(jié)構(gòu)。 圖10 兩路接收信號時域波形圖Fig.10 The oscillogram of time domain signals 圖11 三種算法時延峰值估計結(jié)果對比圖Fig.11 Comparisons of peak values of three methods 圖12 時延后處理前后結(jié)果比較Fig.12 Comparison of time delay between the proposed algorithm and the proposed algorithm without post processing 低信噪比條件下,傳統(tǒng)GCC方法進行時延估計會出現(xiàn)較大偏差,針對此問題,提出了一種新的時延估計方法,即奇異值分解的HB加權(quán)廣義相關(guān)。首先,對傳感器陣列接收到的聲源信號作奇異值分解處理,降低環(huán)境中各種噪聲的影響,提高信號信噪比;其次,采用GCC方法進行時延估計時,引入HB加權(quán)函數(shù),通過頻域互功率譜處理,達到銳化峰值的作用;最后,提出一種基于中位數(shù)和平均數(shù)的時延后處理方法,消除少量幀信號時延估計的異常波動,提高時延估計精度。仿真實驗結(jié)果顯示,本文所提新的時延估計算法性能明顯優(yōu)于傳統(tǒng)GCC和SVD-GCC參考算法。 在實際場景中,針對固定聲源目標,本文所提時延估計算法具有更高的精度和抗噪性能,這對基于時延估計的目標探測、定位、追蹤等應(yīng)用意義重大;下一步將本文算法應(yīng)用移動聲源目標,并進行優(yōu)化和完善,提高算法的普適性。3 SVDHB-GCC時延估計
3.1 信號模型
3.2 GCC時延估計
3.3 時延后處理
3.4 SVDHB-GCC時延估計
4 仿真實驗與性能分析
4.1 性能評價指標
4.2 模擬信號實例實驗
4.3 實測信號實驗
5 結(jié)論