馮國君,單志龍,2,項(xiàng) 婉
(1. 華南師范大學(xué)計(jì)算機(jī)學(xué)院,廣東廣州510631;2. 華南師范大學(xué)網(wǎng)絡(luò)教育學(xué)院,廣東廣州510631)
在高精度水聲定位系統(tǒng)中,目標(biāo)與聲源的距離通過聲速和傳播時(shí)延來確定。然而海洋環(huán)境復(fù)雜多變,聲速隨溫度、鹽度和深度變化而變化。此外,聲波在非均勻海洋介質(zhì)中傳播時(shí)產(chǎn)生折射現(xiàn)象,聲線傳播規(guī)律符合斯涅爾定律,聲線向最小聲速區(qū)域彎曲。因此,在海洋中聲線并非沿直線傳播,聲速并非固定不變。在長距離傳輸過程中,如果采用恒定聲速與傳播時(shí)延的乘積計(jì)算距離容易產(chǎn)生較大誤差,對定位精度影響較大。
修正彎曲聲線能夠減少誤差,因此提出了如有效聲速法[1-2]、查表法[3]、等效聲速剖面法[4]和聲線跟蹤法[5-11]等多種方法。其中,聲線跟蹤法基于聲速分層假設(shè),利用海洋聲速剖面數(shù)據(jù),采用分層計(jì)算、合計(jì)累加的思想對彎曲聲線進(jìn)行補(bǔ)償[10]。聲速分層越多,定位精度越高,但計(jì)算量也隨之增加,因而需要對聲速剖面數(shù)據(jù)精簡。應(yīng)用等間隔分層或人工篩選等簡單分層方法重構(gòu)聲速剖面,不能充分保留原始聲速數(shù)據(jù)特征,分層不盡合理,定位精度不高。針對這個(gè)問題,國內(nèi)外學(xué)者提出了多種分層方法。張居成等[5]根據(jù)等效聲速剖面思想,對聲速剖面在指定精度下以最少層數(shù)進(jìn)行非等間距劃分,用等梯度分布的聲速剖面曲線代替原始聲速剖面,簡化原始聲速剖面。鄭根等[6]提出基于面積差約束分層方法,保留聲速剖面基本空間結(jié)構(gòu),實(shí)現(xiàn)對聲速剖面大幅度的精簡。但這兩種方法都事先根據(jù)聲速剖面數(shù)據(jù)梯度變化點(diǎn)將聲速剖面分層,缺乏對剖面結(jié)構(gòu)的全局考慮。張志偉等[7]應(yīng)用D-P(Douglas-Peucker)壓縮算法對聲速數(shù)據(jù)進(jìn)行壓縮,重構(gòu)聲速剖面,其所依賴的數(shù)學(xué)模型與物理模型不一致,聲速變化劇烈時(shí)效果不佳。趙荻能等[8]提出了改進(jìn)D-P算法,將距離意義映射到聲速維度上。這兩種方法在多波束測深領(lǐng)域取得了良好效果,但未有文獻(xiàn)證明其在長基線系統(tǒng)中具有良好的效果。李圣雪等[9]提出了一種適用于深海長基線定位的自適應(yīng)分層聲線跟蹤法,通過對聲速剖面數(shù)據(jù)合理精簡,合并梯度變化較小的聲速層,保留梯度較大的聲速層。該方法在確保定位精度的前提下對聲速剖面進(jìn)行精簡,但分層數(shù)較多,仍然有壓縮空間。本文針對分層數(shù)與運(yùn)算量相矛盾的問題,提出了基于最小方差的聲速剖面自適應(yīng)分層算法(Adaptive Division Based on Minimum Variance, ADMV),通過對原始聲速剖面全局搜索,找到最佳切分點(diǎn),實(shí)現(xiàn)了對聲速剖面的最優(yōu)簡化,以較少的分層數(shù)達(dá)到較高的定位精度,同時(shí)兼顧了定位時(shí)間與定位精度的問題。
長基線定位系統(tǒng)一般采用雙曲面交匯模型解算目標(biāo)位置。假設(shè)長基線定位系統(tǒng)由 4個(gè)陣元組成,聲波從陣元Wj到應(yīng)答器A(x,y,z)的傳輸時(shí)延為tj,令,則根據(jù)雙曲面交匯原理可解出目標(biāo)位置,其求解的方程組為
式中:c為恒定聲速。聲速在水下非均勻分布,使用恒定聲速解算會(huì)造成較大誤差。常梯度聲線跟蹤算法示意圖,如圖1所示。假設(shè)聲速近似由多層簡單結(jié)構(gòu)的聲速層表示,聲速在層內(nèi)均勻變化,第i層內(nèi)聲速梯度gi表示為
式中:ci為第i層的上表層聲速,Δzi為第i層的厚度。聲線在層內(nèi)傳播符合斯涅爾(Snell)定理:
式中:iα為聲速ci處的掠射角,p為Snell常數(shù)。
如圖1所示,聲線在層內(nèi)沿曲率恒定圓弧傳播,曲率半徑Ri為
圖1 聲速常梯度分層假設(shè)下的聲線跟蹤示意圖Fig.1 Schematic diagram of acoustic ray tracking under the assumption of layering the sound velocity with constant gradients
根據(jù)式(2)~(4),可得到聲線在第i層內(nèi)的傳播時(shí)間ti和水平距離xi:
應(yīng)用聲線跟蹤理論可以計(jì)算出各個(gè)陣元到目標(biāo)的距離差,代入式(1)雙曲面解算方法即可解算目標(biāo)位置。但聲線跟蹤算法計(jì)算復(fù)雜,難以求出它的解析式。文獻(xiàn)[12]提出了聲線修正解算方法,通過逐步逼近的方式對目標(biāo)位置進(jìn)行修正。聲線修正方法流程如下:
(2) 將計(jì)算時(shí)間差與實(shí)測時(shí)間差比較,若小于設(shè)定值,則給定坐標(biāo)作為最終坐標(biāo)。否則,通過差分方程求解位置的修正量。
(3) 利用求解出的修正量對目標(biāo)位置進(jìn)行修正,并以此作為最終的定位結(jié)果。
(4) 重復(fù)步驟(1)~(3),直到計(jì)算時(shí)間差與實(shí)測時(shí)間差滿足閾值條件。
由以上分析可知,長基線聲線修正定位算法的復(fù)雜程度主要取決于聲速分層的層數(shù)。應(yīng)用原始聲速剖面數(shù)據(jù)解算更符合真實(shí)水聲環(huán)境下聲波的傳播路徑,定位精度高,但聲線修正的逐步逼近方法需要多次應(yīng)用聲速剖面進(jìn)行迭代計(jì)算,聲速層數(shù)越多,計(jì)算復(fù)雜度越高。如果對聲速剖面精簡處理會(huì)導(dǎo)致彎曲聲線得不到有效補(bǔ)償。如何根據(jù)聲速變化的特點(diǎn),保留原始聲速剖面特征的同時(shí)對聲速剖面簡化,權(quán)衡計(jì)算復(fù)雜度與定位精度間的關(guān)系尤為重要。
圖2為南海某海域?qū)崪y聲速剖面[13]。由圖2可見,在一定深度范圍內(nèi),聲速與深度近似線性相關(guān)關(guān)系。而常梯度聲線跟蹤算法假設(shè)聲速近似由多層簡單結(jié)構(gòu)的聲速層組成,聲速在層內(nèi)均勻變化。因此,可將原始聲速變化線性較強(qiáng)的部分劃分為一層,這樣既保留了聲速剖面在一定區(qū)域內(nèi)呈線性變化的特征,又契合常梯度聲線跟蹤算法思想,達(dá)到簡化計(jì)算的目的。基于此,ADMV算法采用自頂向下的思想,通過對聲速剖面進(jìn)行全局搜索,在設(shè)定閾值的條件下,遞歸地將聲速剖面分成與原始數(shù)據(jù)差異最大的兩段,從而使分開的層內(nèi)擬合效果更好,更能表現(xiàn)出原始數(shù)據(jù)的特征。
有時(shí)候我也想,這個(gè)謝瑞天是不是真的對我動(dòng)了感情。沒錯(cuò),世界上有錢的男人大把,但世上漂亮迷人的女人更是不計(jì)其數(shù)。他為什么要在我身上作這么大手筆的投資呢?
圖2 聲速剖面曲線[13]Fig.2 Sound velocity profile[13]
ADMV算法分層原理如圖3所示。算法具體流程如下:
(5) 對于每個(gè)已經(jīng)分開的聲速層,重復(fù)步驟(2)~(4),直至分層結(jié)束。
圖3 自適應(yīng)聲速分層原理圖Fig.3 Principle of adaptive stratification algorithm
ADMV算法是在設(shè)定閾值的條件下,對聲速剖面進(jìn)行全局搜索。設(shè)定閾值δ作為控制分層條件,表示擬分開的兩段與原來的聲速剖面的相似程度。閾值的大小直接決定聲速剖面分層的層數(shù)。如果閾值設(shè)置得較大,分層的層數(shù)較少,不能很好地?cái)M合原始聲速的特點(diǎn),失去了分層的意義。相反,如果閾值設(shè)置得較小,分層的層數(shù)較多,導(dǎo)致計(jì)算效率降低。因此,在仿真實(shí)驗(yàn)中需探索分層數(shù)與閾值以及定位精度的關(guān)系,找到一個(gè)滿足條件的最佳閾值。
ADMV算法同時(shí)進(jìn)行自動(dòng)閾值搜索與定位。首先輸入原始聲速剖面,執(zhí)行分層算法步驟(1)~(3),在步驟(4)中,初始設(shè)定R=δ,繼續(xù)執(zhí)行分層算法得到重構(gòu)的聲速剖面。通過逼近算法對目標(biāo)進(jìn)行定位,并與原始聲速剖面定位位置比較,當(dāng)定位精度與原始定位精度一致則停止搜索,輸出閾值、層數(shù)與定位精度之間的關(guān)系。否則減小δ值,重復(fù)以上操作。
為了驗(yàn)證 ADMV算法的有效性,本文采用南海某海域 500 m深的聲速剖面數(shù)據(jù)(如圖 2)進(jìn)行定位模擬,其中,聲速剖面采樣間隔為2 m,實(shí)驗(yàn)仿真參數(shù)的選取參照文獻(xiàn)[5]。在海面部署一個(gè)邊長為1 600 m的正方形區(qū)域,在每個(gè)頂點(diǎn)各設(shè)置一個(gè)浮標(biāo),為了模擬海浪對浮標(biāo)的擾動(dòng),在浮標(biāo)的三維坐標(biāo)值上各加上2 m的余弦波動(dòng)。在海底模擬固定4個(gè)應(yīng)答器作為定位目標(biāo),以測試重構(gòu)后的聲速剖面對定位造成的影響。它們的坐標(biāo)分別為(0,0,-500)、(0,40, -500)、(40,0, -500)、(40,40, -500),單位為 m。由于原始聲速剖面采樣間隔較小,通過原始聲速剖面計(jì)算的聲線路徑更接近真實(shí)路徑。通過重構(gòu)后聲速剖面與原始聲速剖面定位的差別檢驗(yàn)分層算法的效果。仿真噪聲模擬如下:換能器的定位誤差在x、y、z軸方向上各為10 cm,應(yīng)答器時(shí)延造成8 cm的測距誤差,測量時(shí)間造成10 cm的測距誤差。為了對比說明,在滿足模擬系統(tǒng)測量誤差的環(huán)境下,首先利用原始聲速剖面數(shù)據(jù)采用文獻(xiàn)[12]的聲線修正解算方法對4個(gè)應(yīng)答器進(jìn)行定位,如表1所示。
表 1中Dx、Dy、Dz分別表示在加入噪聲情況下使用原始聲速剖面定位時(shí)x、y、z軸上的誤差,Ds為解算坐標(biāo)與真實(shí)坐標(biāo)的距離??梢钥闯?,4個(gè)應(yīng)答器在水平方向的定位誤差最大為 0.73 cm,最小為0.06 cm。垂直方向的定位誤差在20~23 cm的范圍內(nèi)波動(dòng)。由于采用逼近解算方法計(jì)算目標(biāo)位置,解算位置在水平方向上更接近目標(biāo),誤差主要集中在垂直方向上,即在深度上存在比較大的誤差,水平方向上基本可以忽略不計(jì)。表1表明分層算法在系統(tǒng)存在噪聲的條件下能達(dá)到較高的精度。
表1 原始聲速剖面定位誤差Table 1 Positioning errors based on original sound velocity profile
圖4是聲速剖面閾值的選擇與劃分層數(shù)、定位誤差之間的關(guān)系。隨著選取閾值的降低,聲速剖面被劃分的層數(shù)增加,但閾值數(shù)值與層數(shù)沒有絕對的關(guān)系,而是隨不同聲速剖面結(jié)構(gòu)的變化而變化。另一方面,當(dāng)劃分的層數(shù)由7層增加到16層時(shí),隨著層數(shù)的增加,定位誤差逐漸下降,當(dāng)聲速剖面被分為 12層時(shí),定位精度與使用原始聲速數(shù)據(jù)定位的精度一致。隨后聲速分層增加,精度達(dá)到系統(tǒng)誤差,趨于穩(wěn)定。產(chǎn)生這種現(xiàn)象的主要原因是劃分的層數(shù)越大,重構(gòu)的聲速剖面越接近于原始的聲速剖面,定位精度也越高。
圖4 定位誤差、閾值和聲速剖面分層數(shù)的關(guān)系Fig.4 Relationship between positioning error, threshold and the number of sound velocity profile layering
圖5為在不同閾值條件下,運(yùn)用ADMV算法對聲速剖面進(jìn)行分層的情況。圖5(a)~5(f)分別為聲速剖面被劃分為7~12層所對應(yīng)的剖面圖。由圖5可見,一方面,隨著劃分層數(shù)的增加,重構(gòu)聲速剖面與原始聲速剖面越來越吻合,當(dāng)被劃分為 12層時(shí),擬合的效果達(dá)到最佳。另一方面,原始聲速的變化隨著深度的增加而線性變化的規(guī)律更強(qiáng),聲速變化較大的區(qū)域主要集中在 0~380 m的深度范圍內(nèi),深度380 m以下的區(qū)域內(nèi)聲速變化趨于平穩(wěn),呈近似線性變化的趨勢。因此,隨著閾值減小,聲速剖面被劃分的層數(shù)增加,劃分區(qū)域主要集中在聲速變化較大的表面層。這樣重構(gòu)聲速剖面盡可能保留了原始聲速剖面的特征,重構(gòu)聲速剖面與原始聲速剖面更加吻合,使得定位誤差逐漸減小。
為了驗(yàn)證ADMV的性能,本節(jié)對D-P算法[4]、等間隔分層算法和本文算法進(jìn)行了定位精度的對比。D-P算法通常用于對高度復(fù)雜的多線段進(jìn)行簡化,等間隔分層算法是聲線跟蹤常用的一種分層算法,通過將海洋深度等間隔劃分從而實(shí)現(xiàn)聲速剖面重構(gòu)。如圖6所示,層數(shù)從5層增加到30層時(shí),3種分層算法都是隨著層數(shù)增加,定位誤差降低。等間隔分層算法定位精度由于受層數(shù)影響較大,分層方式過于簡單,不能反映聲速剖面的特征,定位誤差高于D-P算法和ADMV算法。D-P算法采用聲速散點(diǎn)到首尾聲速點(diǎn)連線的最大距離作為分層條件,缺少對聲速剖面的全局考慮,容易受到測量誤差的影響,因此其定位誤差高于 ADMV算法,但低于等間隔分層算法。ADMV算法通過對聲速剖面進(jìn)行全局搜索,采用全部聲速散點(diǎn)來擬合直線距離,從而尋找最佳拆分點(diǎn),因而在所分層數(shù)相等的條件下,定位精度明顯高于其他兩者。
圖5 不同分層數(shù)的聲速剖面劃分圖Fig.5 Stratification diagram of the sound velocity profile with different number of layers
圖6 不同算法聲速剖面分層數(shù)與定位誤差的關(guān)系Fig.6 Relationships between the number of sound velocity profile layering and the positioning errors for different algorithms
定位時(shí)間取決于聲速剖面所劃分的層數(shù),層數(shù)越多,定位消耗的時(shí)間就越長,定位效率降低。為了驗(yàn)證 ADMV算法在定位時(shí)間上的優(yōu)勢,本節(jié)將長基線定位的自適應(yīng)分層聲線跟蹤算法[5]與本文算法進(jìn)行對比。實(shí)驗(yàn)中使用型號為四核 Core(TM)i3-2350M、主頻為2.30 GHz的處理器。如表2所示,隨著劃分層數(shù)的增加,兩種算法的定位時(shí)間均不斷增加。長基線定位的自適應(yīng)分層聲線跟蹤算法當(dāng)分層數(shù)從 64層加到 197層時(shí),定位誤差均保持在20 cm左右,消耗的時(shí)間從31.5 s增加到97.6 s。而ADMV算法當(dāng)分層數(shù)從7層加到15層時(shí),定位誤差從59 cm降低到21 cm,消耗的時(shí)間從2.8 s增加到3.6 s。可見,達(dá)到相同穩(wěn)定的定位誤差20 cm左右時(shí),聲線跟蹤算法劃分的層數(shù)為 64層,消耗的時(shí)間為31.5 s;ADMV算法劃分的層數(shù)為15層,消耗的時(shí)間為3.6 s。造成這種現(xiàn)象的主要原因是長基線定位的自適應(yīng)分層聲線跟蹤算法將聲速剖面n個(gè)數(shù)據(jù)點(diǎn)進(jìn)行3次多項(xiàng)式擬合,計(jì)算聲速點(diǎn)的曲率以確定是否合并聲速剖面,保留主要聲速層以減少運(yùn)行時(shí)間,但它是基于局部搜索,將聲速相鄰幾層進(jìn)行合并,導(dǎo)致重構(gòu)聲速剖面層數(shù)較多。而ADMV算法是基于整個(gè)深度范圍的全局搜索,用較少的層數(shù)就可以保留原始數(shù)據(jù)特征,從而可以大大地減少定位時(shí)間。
表2 兩種算法定位時(shí)間對比Table 2 Comparison of positioning time between the two algorithms
以上實(shí)驗(yàn)選取的數(shù)據(jù)集均來自“2010年南海海洋斷面科學(xué)考察 CTD溫鹽觀測數(shù)據(jù)集”,為了驗(yàn)證ADMV算法的普適性,另在“2011年南海海洋斷面科學(xué)考察CTD溫鹽觀測數(shù)據(jù)集”和“2012年南海海洋斷面科學(xué)考察CTD溫鹽觀測數(shù)據(jù)集”共3個(gè)數(shù)據(jù)集中選取 3個(gè)數(shù)據(jù)進(jìn)行對比,分別命名為SVP1、SVP2和 SVP3,結(jié)果如圖 7所示。由圖 7可知,SVP3的定位誤差隨分層數(shù)的增加而降低,由于SVP3變化復(fù)雜,在分層較少時(shí)與原聲速剖面差異較大,導(dǎo)致定位誤差相對較大。隨著層數(shù)的增加,誤差趨于穩(wěn)定。SVP1和SVP2的定位誤差中間有小幅度的波動(dòng)。這是因?yàn)楦鶕?jù)等效聲速剖面思想,不同聲速剖面定位距離只與聲速剖面的坐標(biāo)軸圍成面積和初始掠射角有關(guān)。重構(gòu)聲速剖面與坐標(biāo)軸圍成的面積與原始聲速剖面與坐標(biāo)軸圍成的面積越接近,定位精度越高。不同分層與坐標(biāo)軸圍成的面積有所差異,但總體上定位誤差隨分層數(shù)的增加而降低。因此,ADMV算法具有一定的普適性,具有一定的工程應(yīng)用價(jià)值。
圖7 不同數(shù)據(jù)集聲速剖面分層數(shù)與定位誤差的關(guān)系Fig.7 Relationships between the number of the sound velocity profile layering and the positioning error obtained from different data sets
本文針對水聲定位系統(tǒng)中如何平衡聲線跟蹤計(jì)算效率與定位精度的問題,提出的 ADMV算法能根據(jù)聲速在有限范圍內(nèi)線性變化的特點(diǎn),采用實(shí)測的聲速數(shù)據(jù),通過分析閾值與層數(shù)以及定位精度的關(guān)系,找出符合條件的最佳閾值。在此基礎(chǔ)上,通過全局搜索、迭代分層,盡可能地保留了原始聲速剖面形態(tài)彎曲的特點(diǎn)。ADMV算法在原理上與常梯度跟蹤算法思想更加契合,因而可以更好地重構(gòu)原始聲速剖面,在提高定位精度的同時(shí)顯著提高了定位效率,并且該過程不需要人工干預(yù),實(shí)現(xiàn)了自動(dòng)化搜索分層與定位。