一種用於水聲被動定位的信號到達時延差跟蹤算法的製作方法
2023-07-25 22:34:11 2
專利名稱:一種用於水聲被動定位的信號到達時延差跟蹤算法的製作方法
技術領域:
本發明涉及水聲信號處理技術領域中的水聲被動定位方法,尤其涉及一種用於水聲被動定位的信號到達時延差跟蹤算法。
背景技術:
水聲被動定位是水聲信號處理領域的一項重要課題,也是一項難題。目前,水聲被動定位的方法主要有三類:基於到達時延差(TDOA)的方法、目標運動分析(TMA)方法和匹配場處理方法(MFP)。基於TDOA的方法是最常用的水聲被動定位算法之一,並廣泛應用於實時水聲被動定位系統中。該算法根據到達水聽器陣列不同基元的信號相對時延來進行目標方位、距離和深度參數的估計。根據 所使用的參數估計方法不同,基於TDOA的目標參數估計可以分為最大似然估計(MLE)和最小二乘方法(LSE)估計[1]。最小二乘估計不需要任何先驗知識,並能給出閉合形式(closed form)的解,通常用來求解超定方程組,因此在需要實時處理的被動定位系統中得到了廣泛的應用。在無幹擾噪聲的情況下,根據r維空間中r+Ι個基元間的r個信號到達時延差就能夠唯一確定目標聲源的位置[2]。有噪聲存在時,信號到達時延的測量會產生誤差,為了彌補幹擾噪聲造成的影響,定位所使用的基元個數要多於r+Ι個。在水聲被動定位實時處理系統中,TDOA通常首先採用估計兩個基元信號的互相關函數,然後尋找互相關函數的最大值對應時延作為信號的到達時延差 ]。Knapp和Cater對互相關法進行了改進,提出了廣義互相關法[4],以克服互相關函數估計可能存在的偏差的影響。廣義互相關法雖然對TDOA的估計性能有所改進,但該方法也增加了 TDOA估計的計算量。此外,在接收信號中存在經過多條路徑傳播到達的信號相疊加時,廣義互相關法的性能也受到影響。多路徑幹擾導致相關函數中可能出現多個極大值(稱為相關峰),由於相關函數的最大值有可能對應於「偽」相關峰(非同類性質的多徑信號相關導致),因此直接通過尋找互相關函數的最大值計算得到的TDOA通常會發生錯誤,這種情況在水聲信號傳播過程中是普遍存在的。因此,必須採取措施尋找真實的相關峰對應的TD0A。參考文獻[I]Huang Y., Benesty J., Elko G.ff., Mersereau R.M.Real-Time PassiveSource Localization:A Practical Linear-Correction Least-Squares Approach[J].1EEE Transaction on Speech and Audio Processing, 2001, 9(8):943-955.
[2]Smith J.0., Abel J.S.The Spherical Interpolation Method of SourceLocalization[J].1EEE Journal of Oceanic Engineering, 1987, 12(1):246-252.
[3]張賢達.現代信號處理(第二版)[M].北京:清華大學出版社,2002 =328-330.
[4]Knapp C.H., Carter G.C.The Generalized Correlation Method forEstimation of Time Delay[J].1EEE Transaction on Acoustics, Speech and SignalProcessing, 1976, 24(4): 320-327.
發明內容
發明目的:針對現有技術中存在的問題與不足,本發明提供一種用於水聲被動定位的信號到達時延差跟蹤算法。在基於TDOA的水聲被動定位算法處理過程中,利用相關函數全局最大值和最小值之間的幅度、時延等相對關係,辨別相關峰的真偽,從而找到真實的信號到達時延差,並對該時延差進行跟蹤,輸出穩定的信號到達時延差估計值。技術方案:一種用於水聲被動定位的信號到達時延差跟蹤算法,步驟如下:(I)變量初始化,對信號進行分幀;(2)採用離散傅立葉變換方法估計兩個水聽器接收到的信號幀的互相關函數值序列;(3)搜索互相關函數值序列的全局最大值,利用互相關函數值序列的下標與到達時延差之間的對應關係,確定當前信號幀到達兩個水聽器的時延差;(4)重複步驟(2)和(3),直至得到連續5個穩定的到達時延差估計值,將最新的到達時延差估計值作為跟蹤初始值;(5)使用離散傅立葉變換方法估計新一幀信號的互相關函數值序列,在跟蹤初始值對應的相關函數值序列下標的附近搜索互相關函數值序列的局部最大值並計算到達時延差,作為新一幀信號到達時延差的估計值,並更新跟蹤初始值;(6)重複步驟5,直至所有信號幀處理完成。詳細實施步驟為:1、步驟(I)具體為:
I)定義一個數組TraceArray含有5個元素,初值都置為O ;定義計數器變量Counter,置為O ;定義計數器變量FrameCounter,置為I ;2)設兩個水聽器之間的距離為d(m),水中聲速為cUXs—1),對兩個水聽器接收到的水聲信號的採樣頻率為fs(Hz),信號長度為每個通道L點,&為極大值搜索門限,每幀數據長度為N點,N>0.1fs且N〉(d+gL) fs/c+l,幀數M為不大於L/N的最大正整數;令gff=d *fs/c,P為不大於gw的最大正整數;gP為相關函數序列全局最大值與最小值時間差的絕對值門限;3)數字濾波器H的階數為k,下限頻率為& (Hz),上限頻率為fH (Hz),且有4〈fH〈fs/4,數字濾波器採用FIR濾波器的窗函數法設計。2、步驟(2)具體為:I)設各水聽器接收到的第FrameCounter巾貞信號為Sij, i表示通道序號,i=l, 2, j表示數據巾貞號,j=FrameCounter ;2)對Sij通過數字濾波器H,得到經過濾波的信號S』 u ;3)取S』 !j和S』 2J這兩個通道的信號,採用互相關函數的傅立葉變換估計法計算s』 ijPS』 2」兩個通道的互相關函數值序列R21(HI),m為整數,且有-(N-1) ^ N-103、步驟(3)具體為:I)求取R21 (m)在下標區間[_ (N-1) +P,N-1-P]內的最大值Rmax,Rmax對應的下標為IHmax _(N~l) +P ^ HImax ^ N_1_P,對應的信號到達兩個水聽器的時延差為mMX.c/fs ;2)求取R21 (m)在下標區間[-(N-1)+P,N-1-P]內的最小值RMIN,Rmin對應的下標為mMiN, _ (N-1) +P ^ mMIN ^ N-1-P。
4、步驟(4)具體為:I)如果 |mMAX_mMIN| 彡 gP.fs,則 Counter 值力卩 I,並且令TraceArray (Counter) =Himax.c/fs ;2)如果 |mMX_mMIN| <gP. ;,若 IRmaxI 彡 | Rmin | ,則 Counter 值加 I,並且令 TraceArray的第 Counter 個元素 TraceArray (Counter) =HimaxC/fs ;若 I Rmax I〈 I Rmin I,則 Counter 值置為 O ;3)如果 Counter 值為 5,則進行第 5)步;如果 Counter〈5,則 FrameCounter 加 I,取第 FrameCounter 巾貞數據 Sij (i=l, 2, j=FrameCounter);4)重複步驟(2)和(3),以及步驟(4)的第I) 3)步,直至Counter值為5 ;5)令 δ 丨=I TraceArray(2)-TraceArray (I) |, δ 2= TraceArray(3)-TraceArray (2)I,δ 3= TraceArray(4)-TraceArray (3) |,δ 4= TraceArray(5)-TraceArray (4) | ;6)若均小於 gL, Counter 置為 0,令 FrameCounter 加 I,令跟蹤初始時延差為τ Q=TraceArray (5)/c,進行步驟(5);7)若 δ 1、δ 2、δ 3、δ 4 不均小於 gL, Counter 置為 O,令 FrameCounter 加 I,返回至步驟(2)。5、步驟(5)具體為:I)設各水聽器接收到的第FrameCounter巾貞信號為Sij, i表示通道序號,i=l, 2, j表示數據巾貞號,j=FrameCounter ;
2)對Sij通過數字濾波器H,得到經過濾波的信號S』 u ;3)取S』 !j和S』 2J這兩個通道的信號,採用互相關函數的傅立葉變換估計法計算s』 ijPS』 2」兩個通道的互相關函數值序列R21(HI),m為整數,且有-(N-1) ^ m ^ N-1 ;4)令P。為不大於τ。.fs的最大正整數,Q0為不大於gL.fs/c的最大正整數,求取 R21(m)在下標區間[P0-Q0, P0+Q0]內的最大值 R』 max 及下標 m』 mx, P0-Q0 < m』 Mx < P0+Q0,輸出當前巾貞時延差估計結果T=m』MX/fs,令Ttl=T ;6、步驟(6)具體為:FrameCounter加I,若FrameCounter ^ M,則返回至步驟(5);否則,結束處理。為了進一步說明本發明,現將本發明的原理介紹如下:在水聲傳播環境中,聲源發出的信號到達兩個水聽器所經過的路徑是不同的,傳播所經過的時間延遲也是不同的。當兩個水聽器距離在一定的範圍內,這兩個水聽器接收到的信號能夠保持較好的相關性,通過尋求兩個水聽器接收到的信號的最大相似性發生的時間差,就可以得到信號到達兩個水聽器的時延差,這就是基於互相關函數的TDOA估計算法的基本原理。但是,聲源發出的信號到達某個水聽器的路徑也不是單一的,有可能存在直達路徑(D,即聲波在傳播中沒有和海底或海面發生碰撞)、海面反射路徑(S1,聲波與海面碰撞一次後,經過反射到達水聽器)、海底反射路徑(B1,聲波與海底碰撞一次後,經過反射到達水聽器)、海面-海底反射路徑(S1B1,聲波先與海面碰撞一次,再與海底碰撞一次,然後到達水聽器)、海底-海面反射路徑(B1S1,聲波先與海底碰撞一次,再與海面碰撞一次,然後到達水聽器)以及多次反射路徑(SnBn,聲波與海底、海面發生多次碰撞後,到達水聽器)等多種傳播路徑,通常情況下D路徑的傳播時延是最小的。經過這些路徑傳播的信號之間也具有一定的相關性,因此在採用互相關法估計TDOA時,可能這樣的情況:A水聽器接收到的信號中的D路徑與B水聽器接收信號中的B1路徑相關性較好,導致互相關函數的最大值對應於B的B1路徑相對於A的D路徑的時延差,而真實的傳播時延應該是A水聽器接收到的信號中的D路徑與B水聽器接收信號中的D路徑的時延差,這時TDOA估計就發生了錯誤。理論分析表明,同種性質的路徑相關得到的時延差幾乎相同,其估計誤差可以忽略(例如A水聽器接收到的信號中的B1路徑與B水聽器接收信號中的B1路徑相關得到的時延差,與兩個水聽器的D路徑相關得到的時延差可認為是相同的)。由於海底和海面的界面並不是平整的,經過海底反射路徑和海面反射路徑傳播的信號幅度並不穩定,因此這種由於不同性質的路徑相關得到的到達時延差通常不是穩定存在的,某些時刻比較明顯,某些時刻不明顯;而直達路徑不和界面發生作用,經過該路徑傳播的信號相對比較穩定,直達路徑之間相關得到的時延差是比較穩定的。鑑於水聲信號傳播的這種特性,可以比較連續幾次的TDOA估計結果,如果這幾次的估計值比較接近,則可認為是同種性質的路徑相關得到的,是正確的TDOA估計值。此外,聲波經過海面反射後,其相位通常會發生180度的相移,因此D路徑與S1路徑相關得到的值一般小於零,即對應於相關函數的最小值,根據這一點可以進行D路徑與S1路徑相關峰的分辨。有益效果:與現有技術相比,本發明提供的用於水聲被動定位的信號到達時延差跟蹤算法,能夠有效地解決基於到達時延差的水聲被動定位算法中的多路徑幹擾問題,且不需要人工指定跟蹤算法的到達時延差初始值,輸出的TDOA估計值穩定。
圖1為本發明實施例的方法流程圖;圖2為水聽器A接收的水聲信號;圖3為水聽器B接收的水聲信號;圖4為經過帶通濾波的水聽器A接收信號;圖5為經過帶通濾波的水聽器B接收信號;圖6為經過帶通濾波的第I幀水聽器A接收信號和水聽器B接收信號互相關序列,圖7為經過帶通濾波的第2幀水聽器A接收信號和水聽器B接收信號互相關序列;圖8為經過跟蹤處理的信號到達時延差;圖9為未經過跟蹤處理的信號到達時延差。
具體實施例方式下面結合具體實施例,進一步闡明本發明,應理解這些實施例僅用於說明本發明而不用於限制本發明的範圍,在閱讀了本發明之後,本領域技術人員對本發明的各種等價形式的修改均落於本申請所附權利要求所限定的範圍。根據圖1,介紹本實施例的用於水聲被動定位的信號到達時延差跟蹤算法,包括如下步驟:( I)變量初始化,對信號進行分巾貞;具體為:I)定義一個數組TraceArray含有5個元素,初值都置為O ;定義計數器變量Counter,置為O ;定義計數器變量FrameCounter,置為I ;
2)設水聽器A和水聽器B之間的距離d=22.7 (m),水中聲速c=1530 (mXs-1),對兩個水聽器接收到的水聲信號的採樣頻率fs=200 (kHz),信號長度為每個通道L點,L=19064509點,極大值搜索門限gL=0.3,每幀數據長度為N點,N=40000點,幀數M=476 ;gff=2967.3, P=2967, gP=0.00025 (s);3)數字濾波器H的階數k=512,下限頻率4=4 (kHz),上限頻率fH=12 (kHz);數字濾波器採用FIR濾波器的窗函數法設計。(2)採用離散傅立葉變換方法估計兩個水聽器接收到的信號幀的互相關函數值序列;水聽器A的接收信號用Su表示,S11的波形如圖2所示,水聽器B的接收信號用&表示,S21的的波形如圖3所示;S』 n的信號波形如圖4所示,S』 21的信號波形如圖5所示;S』 n和S,21的互相關序列R21如圖6所示,-39999 ^ m ^ 39999 ;(3)搜索互相關函數值序列的全局最大值,利用互相關函數值序列的下標與到達時延差之間的對應關係,確定當前信號幀到達兩個水聽器的時延差;Rmx=475.1,mMX=1842,Rmin=-484.6, mMIN=275 ;(4)重複步驟(2)和(3),直至得到連續5個穩定的到達時延差估計值,將最新的到達時延差估計值作為跟蹤初 始值;mMX-mMIN| =1570>gP.fs=50,則 Counter 值加 I, TraceArray (I) =mMX.c/fs=14.0913 ;當 Counter 值為 5 時,TraceArray (2) =-14.0925, TraceArray (3) =-14.0886,TraceArray(4)=-14.0896, TraceArray(5)=-14.0949, δ ^0.0012, δ2=0.0039, δ 3=0.001,δ 4=0.0053 ; δ ^ δ 2> δ 3> δ 4 均小於 gL,貝丨J Counter 置為 0, FrameCounter 加 I,令跟蹤初始時延差為Ttl=-0.009212。此處到達時延差為負值,表示信號到達B水聽器的時間早於到達A水聽器的時間;(5)使用離散傅立葉變換方法估計新一幀信號的互相關函數值序列,在跟蹤初始值對應的相關函數值序列下標的附近搜索互相關函數值序列的局部最大值並計算到達時延差,作為新一幀信號到達時延差的估計值,並更新跟蹤初始值;S,12 和 S,22 的互相關函數值序列 R21 如圖 7 所示,P0=1842, Q0=39, R,Mx=524.4,m,Mx= 1842, R,MIN=-460.0, m,MIN=1826, τ =m』 mx/fs=-0.009212,令 τ 0= τ ;(6)重複步驟5,直至所有信號幀處理完成;FrameCounter 加 I,若 FrameCounter ^ 476,則返回至步驟(5);否則,結束處理。最後得到的信號到達時延差序列如圖8所示,此處為了顯示跟蹤處理的效果,將未經跟蹤處理的信號到達時延差估計結果也一併畫出,如圖9所示。
權利要求
1.一種用於水聲被動定位的信號到達時延差跟蹤算法,其特徵在於步驟如下: (1)變量初始化,對信號進行分幀; (2)採用離散傅立葉變換方法估計兩個水聽器接收到的信號幀的互相關函數值序列; (3)搜索互相關函數值序列的全局最大值,利用互相關函數值序列的下標與到達時延差之間的對應關係,確定當前信號幀到達兩個水聽器的時延差; (4)重複步驟(2)和(3),直至得到連續5個穩定的到達時延差估計值,將最新的到達時延差估計值作為跟蹤初始值; (5)使用離散傅立葉變換方法估計新一幀信號的互相關函數值序列,在跟蹤初始值對應的相關函數值序列下標的附近搜索互相關函數值序列的局部最大值並計算到達時延差,作為新一幀信號到達時延差的估計值,並更新跟蹤初始值; (6)重複步驟5,直至所有信號幀處理完成。
2.如權利要求1所述的用於水聲被動定位的信號到達時延差跟蹤算法,其特徵在於步驟(I)具體為: 1)定義一個數組TraceArray含有5個元素,初值都置為O;定義計數器變量Counter,置為O ;定義計數器變量FrameCounter,置為I ; 2)設兩個水聽器之間的距離為d(m),水中聲速為c (mX s—1),對兩個水聽器接收到的水聲信號的採樣頻率為fs(Hz),信號長度為每個通道L點,&為極大值搜索門限,每幀數據長度為N點,N>0.14且唚((^^4/(3+1,幀數1為不大於1^的最大正整數;令8 =(1.^/c,P為不大於gw的最大正整數;gP為相關函數序列全局最大值與最小值時間差的絕對值門限;` 3)數字濾波器H的階數為k,下限頻率為fjHz),上限頻率為fH(Hz),且有4〈fH〈fs/4,數字濾波器採用FIR濾波器的窗函數法設計。
3.如權利要求2所述的用於水聲被動定位的信號到達時延差跟蹤算法,其特徵在於步驟(2)具體為: 1)設各水聽器接收到的第FrameCounter巾貞信號為Sij,i表示通道序號,i=l, 2, j表示數據巾貞號,j=FrameCounter ; 2)對Sij通過數字濾波器H,得到經過濾波的信號S』u ; 3)取S』!j和S』 2J這兩個通道的信號,採用互相關函數的傅立葉變換估計法計算S』 !j和S』 2J兩個通道的互相關函數值序列R21 (m), m為整數,且有-(N-1)彡m彡N-1。
4.如權利要求3所述的用於水聲被動定位的信號到達時延差跟蹤算法,其特徵在於步驟(3)具體為: 1)求取R21(Hi)在下標區間[-(N-l)+P,N-1-P]內的最大值Rmx,Rmax對應的下標為IHmax _(N~l) +P ^ HImax ^ N_1_P,對應的信號到達兩個水聽器的時延差為mMX.c/fs ; 2)求取R21(Hi)在下標區間[-(N-l)+P,N-1-P]內的最小值Rmin,Rmin對應的下標為mMiN, _ (N-1) +P ^ mMIN ^ N-1-P。
5.如權利要求4所述的用於水聲被動定位的信號到達時延差跟蹤算法,其特徵在於步驟(4)具體為:I)如果 I mMX-mMIN I 彡 gP.fs,則 Counter 值加 I,並且令 TraceArray (Counter) =mMX.c/fs;.2 )如果 I HImax-HImin I <gP.fs,若 I Rmax I ≥ I Rmin I,則 Counter 值加 I,並且令 TraceArray 的第 Counter 個元素 TraceArray (Counter) =mMxc/fs ;若 I Rmax I〈 I Rmin I,則 Counter 值置為 O ; .3)如果Counter值為5,則進行第5)步;如果Counter〈5,則FrameCounter加I,取第FrameCounter 巾貞數據 Sij (i=l, 2, j=FrameCounter); .4)重複步驟(2)和(3),以及步驟(4)的第I) 3)步,直至Counter值為5;.5)令S1=ITraceArrayO-TraceArray(I) , δ 2= | TraceArray (3) -TraceArray (2) |,δ.3=I TraceArray (4)-TraceArray (3) |,δ 4= TraceArray(5)-TraceArray (4) | ; .6)若δρ δ 2、δ 3、δ 4均小於gL, Counter置為0,令FrameCounter加I,令跟蹤初始時延差為 τ Q=TraceArray (5)/c,進行步驟(5); .7)若δ^ δ δ δ 4不均小於gL, Counter置為O,令FrameCounter加I,返回至步驟(2)。
6.如權利要求5所述的用於水聲被動定位的信號到達時延差跟蹤算法,其特徵在於步驟(5)具體為: .1)設各水聽器接收到的第FrameCounter巾貞信號為Sij,i表示通道序號,i=l, 2, j表示數據巾貞號,j=FrameCounter ; .2)對Sij通過數字濾波器H,得到經過濾波的信號S』u ; .3)取S』!j和S』 2J這兩個通道的信號,採用互相關函數的傅立葉變換估計法計算S』 !j和S』 2J兩個通道的互相關函數值序列R21 (m), m為整數,且有-(N-1) ≤ m ≤ N-1 ; .4)令Ptl為不大於τ^ 的最大正整數,Qtl為不大於*fs/c的最大正整數,求取R21 (m)在下標區間[P0-Q0,VQ0]內的最大值R, Αχ及下標m』祖,P0-Q0≤m』 Mx≤Pq+Qq,輸出當前中貞時延差估計結果τ =m』 MAX/fs,令τ f τ。
7.如權利要求6所述的用於水聲被動定位的信號到達時延差跟蹤算法,其特徵在於步驟(6)具體為: FrameCounter加I,若FrameCounter ≤ Μ,則返回至步驟(5);否則,結束處理。
全文摘要
本發明公開了一種用於水聲被動定位的信號到達時延差跟蹤算法,能夠有效地解決基於到達時延差的水聲被動定位算法中的多路徑幹擾問題,且不需要人工指定跟蹤算法的到達時延差初始值。包括如下步驟(1)變量初始化,對信號進行分幀;(2)採用離散傅立葉變換方法估計兩個水聽器接收到的信號幀的互相關函數值序列;(3)確定當前信號幀到達兩個水聽器的時延差;(4)將最新的到達時延差估計值作為跟蹤初始值;(5)估計新一幀信號的互相關函數值序列,在跟蹤初始值對應的相關函數值序列下標的附近搜索互相關函數值序列的局部最大值並計算到達時延差,作為新一幀信號到達時延差的估計值,並更新跟蹤初始值,直至所有信號幀處理完成。
文檔編號G01S5/18GK103176166SQ20131008064
公開日2013年6月26日 申請日期2013年3月14日 優先權日2013年3月14日
發明者安良 申請人:東南大學