邢傳璽,張東玉,宋 揚,吳耀文,謝李祥
(1.云南民族大學(xué)電氣信息工程學(xué)院,云南昆明 650500;2.哈爾濱工程大學(xué)水聲技術(shù)重點實驗室,黑龍江哈爾濱 150001;3.哈爾濱工程大學(xué)水聲工程學(xué)院,黑龍江哈爾濱 150001)
目前,關(guān)于水聲學(xué)研究的熱點主要集中在水下定位、目標(biāo)探測以及聲吶系統(tǒng)性能的研究[1]。聲速作為最為基礎(chǔ)的水聲環(huán)境參數(shù),是了解和研究水聲信道結(jié)構(gòu)和水聲傳播的重要前提。采用直接測量的方法測量水聲環(huán)境中的聲速,需要耗費大量的物力人力,采用反演的方法能節(jié)省資源[1]。對于匹配場處理,海洋聲速剖面的估計需要使用有限的聲學(xué)數(shù)據(jù)對聲場進(jìn)行反演[2]。這樣的反問題是一個非線性且不確定性很高的問題[3]。經(jīng)驗正交函數(shù)(Empirical Orthogonal Function,EOF)方法也稱特征向量分析方法,被普遍應(yīng)用在聲速剖面的表示上,按照聲速剖面樣本矩陣得到經(jīng)驗正交函數(shù),并取前n階表示聲速擾動,換言之,使用n個正交基表示海區(qū)的聲速擾動[4]。為了在調(diào)整參數(shù)搜索大小的同時確保物理上可行的解決方案,至少需要將聲速剖面(Sound Speed Profile,SSP)建模為前三階EOF的總和來對SSP反演進(jìn)行正則化[2]。但是,這種正則化方法對前幾階EOF系數(shù)具有最小能量約束,得到的 SSP估計值通常分辨率比較低。
已經(jīng)有學(xué)者將K-奇異值分解(K-Singular Value Decomposition,K-SVD)字典學(xué)習(xí)應(yīng)用于水聲領(lǐng)域,用于在聲傳播實驗中對聲速剖面進(jìn)行表示[5]。K-SVD算法是一種流行的字典學(xué)習(xí)方法,它通過找到向量的字典,以最佳方式對訓(xùn)練集中的數(shù)據(jù)進(jìn)行分區(qū),使用少數(shù)字典向量描述每個原始信號。K-SVD字典學(xué)習(xí)方法主要有兩個階段[5]:構(gòu)建字典階段以及利用構(gòu)建的字典對樣本進(jìn)行稀疏表示階段。這兩個階段的任何一個階段都有許多不同算法可供選擇。相對于使用主成分分析(Principal Component Analysis,PCA)得出的EOF,K-SVD算法得到的學(xué)習(xí)字典(Learning dictionary,LD)并不限于正交。因此LD能提供更好的信號壓縮,由于矢量是平均的,因此更接近原始信號。
結(jié)合以上分析,本文討論了利用K-SVD算法在聲速剖面反演中的應(yīng)用和稀疏表示方法,使用K-SVD算法生成了描述測量的聲速剖面觀測值的一維海洋SSP數(shù)據(jù)的LD,對K-SVD字典學(xué)習(xí)算法進(jìn)行了說明,并根據(jù)K-SVD方法評估了重建性能。給出了LD和EOF的SSP重建結(jié)果。結(jié)果表明,與在相同數(shù)據(jù)上訓(xùn)練的前幾階EOF相比,所得LD中的每個字典原子都說明了更多的SSP變化,有更小的重構(gòu)誤差,反演精度更高。
利用水聲傳播實驗的結(jié)果對海洋環(huán)境中的聲速進(jìn)行建模反演,傳播模型的計算精度決定了反演結(jié)果的精度,因此選擇合適的傳播模型進(jìn)行建模十分重要[6]。在海洋環(huán)境中,從水聽器的垂直線陣列(Vertical Line Array,VLA)觀察到的聲壓使用射線理論進(jìn)行正向建模。聲線模型的解是波動方程的近似解。
在直角坐標(biāo)系下,射線模型中s處的聲壓可表示為[7]
使ω的同次項相等得到聲源s0到接收點s1的傳播時間[7]:
其中,T0為稀疏系數(shù),也稱其為稀疏度[10]。
此時優(yōu)化問題可描述為[10]
結(jié)合字典學(xué)習(xí)K-SVD方法,首先對實測得到的聲速剖面在N個時間點進(jìn)行采樣,聲速剖面在深度上具有M個值,得到聲速剖面訓(xùn)練信號的集合,從獲得的數(shù)據(jù)中訓(xùn)練SSP字典,根據(jù)式(8),利用稀疏方法中的OMP表示出訓(xùn)練信號的稀疏向量,對于k個元素的字典,OMP能夠以k步收斂到字典元素跨度上的投影[8]。在進(jìn)行有限次數(shù)的迭代之后,OMP會針對字典的所選子集提供最佳的稀疏向量值,表示聲速剖面。
本文所述的反演過程實質(zhì)就是利用K-SVD更新得到目標(biāo)函數(shù)中最優(yōu)的稀疏系數(shù)和最優(yōu)字典,生成聲速剖面的表示模型。
K-SVD算法反演的數(shù)據(jù)處理和聲速剖面表示的流程圖如圖1所示。算法的輸入為聲速剖面訓(xùn)練樣本C。輸出為字典D和稀疏表示系數(shù)A。
計算的具體步驟如下:
(1)獲取訓(xùn)練信號集:從實際測量的聲速剖面中獲得N個聲速剖面,并采用插值法,插值得到深度上等距離離散的聲速值,轉(zhuǎn)化到K個垂直標(biāo)準(zhǔn)層,得到聲速矩陣CM×N,即SSP訓(xùn)練樣本集C。
(3)稀疏編碼:使用OMP算法求解式(1)的目標(biāo)方程,得到稀疏系數(shù)矩陣A。
(4)K-SVD字典更新:依次更新字典的原子,經(jīng)過k次迭代后得到字典Dk。
(5)算法停止準(zhǔn)則:停止條件設(shè)置為迭代次數(shù)或者重構(gòu)信號和原信號之間的誤差率,以決定迭代是否繼續(xù)。
(6)算法逐列更新完字典后,用新字典Dk做稀疏分解,并判斷是否達(dá)到停止條件,如果達(dá)到終止條件,得到最優(yōu)字典和稀疏系數(shù)矩陣。
圖1 K-SVD算法流程圖Fig.1 The flow chart ofK-SVD
聲速剖面反演實質(zhì)就是將測量的聲場數(shù)據(jù),通過一定的代價函數(shù)和搜索策略,估計待反演的參數(shù),再重構(gòu)形成反演后的聲速剖面[11]。
仿真采用的海洋環(huán)境如下:海底為液體海底,聲速為1 700 m·s-1、密度為1.5 g·cm-3、吸收為0.5 dB·λ-1(λ為波長),海水深度為25 m。發(fā)射信號頻率采用200~600 Hz、長度為3 s的加Blackman窗進(jìn)行幅度調(diào)制的線性調(diào)頻脈沖,且聲源位于水下深度10 m處,收發(fā)距離為1 km,采用1列8個均勻間隔的垂直線陣列單元,在6~20 m范圍內(nèi)接收聲信號。
式中,tb為背景聲速下的聲傳播時間;dk為沿背景聲速下特征聲線的積分小項[12]。
采用式(11)作為代價函數(shù)P:
圖2 進(jìn)行敏感度分析的聲速剖面Fig.2 A sound velocity profile for sensitivity analysis
從圖3中可看出代價函數(shù)對于待反演參數(shù)的敏感性良好,且在實際值的位置出現(xiàn)了最大值。
聲速剖面反演流程如圖4所示,步驟如下:
(1)使用K-SVD算法生成的字典,來計算聲速剖面;
(2)將計算的聲速剖面代入射線傳播模型中,進(jìn)行拷貝場計算,計算得到本征聲線的傳播時間,并將計算結(jié)果代入代價函數(shù)與測量真值進(jìn)行匹配[14],根據(jù)代價函數(shù)的計算結(jié)果,重新生成字典,重新生成一個新的聲速剖面;
圖3 反演參數(shù)對應(yīng)的敏感度因子Fig.3 Sensitivity factors of inversion parameters
圖4 聲速剖面反演流程圖Fig.4 The flow chart of SSP inversion
(3)重復(fù)步驟(2),在沒有達(dá)到設(shè)定的閾值G前不斷計算;
(4)完成初始設(shè)定的代數(shù)計算后,如果得到的結(jié)果最優(yōu)值收斂在某數(shù)值附近,則說明反演算法穩(wěn)健[6],將代價函數(shù)取得最優(yōu)值時的字典代入式(9)求解聲速剖面,并將其作為最終的反演結(jié)果。
為了驗證字典學(xué)習(xí)方法優(yōu)于EOF方法,利用中國黃海某海域進(jìn)行的聲速剖面反演實驗測量的聲速剖面數(shù)據(jù)進(jìn)行EOF和K-SVD方法的驗證。聲速剖面取自作者分別于2013~2015年期間在中國黃海某海域利用溫鹽深系統(tǒng)(Conductivity,Temperature,Depth,CTD)測量的實際數(shù)據(jù)。該數(shù)據(jù)記錄了0~25 m深度范圍的CTD測量數(shù)據(jù),深度分辨率為0.1 m。通過將原始CTD數(shù)據(jù)轉(zhuǎn)換為SSP并減去平均值,可以從數(shù)據(jù)集中獲得訓(xùn)練樣本。將采樣序列中的50(N=50)個聲速剖面作為訓(xùn)練集。使用保形三次樣條插值將配置文件統(tǒng)一下采樣至K=25點[13-15]。SSP樣本集如圖5所示。
首先檢驗K-SVD方法對訓(xùn)練樣本的重構(gòu)性能,用50個聲速剖面樣本集來訓(xùn)練K-SVD算法的LD,圖6分別顯示了使用EOF和K-SVD方法生成的經(jīng)驗正交函數(shù)和字典原子對聲速變化的方差貢獻(xiàn)率。從圖6可以看出,EOF方法生成的經(jīng)驗正交函數(shù)只有前5階經(jīng)驗正交函數(shù)的系數(shù)可以提供有關(guān)海洋SSP變化的信息,采用K-SVD方法生成的所有字典原子都能夠提供海洋聲速變化的有用信息。
圖5 聲速剖面樣本及其2維圖像Fig.5 Sound speed profile samples and their two dimensional representation
圖6 EOFs階數(shù)和字典原子數(shù)對聲速變化的方差貢獻(xiàn)率Fig.6 Variance contribution rates of EOFs order and number of dictionary atomics to variation of sound velocity
采用一個隨機矩陣作為訓(xùn)練的初始字典,將實際測量的 50個樣本作為訓(xùn)練字典的樣本數(shù)據(jù)集,用除去樣本集外的其他測量數(shù)據(jù),來進(jìn)行聲速剖面的反演實驗。
測量數(shù)據(jù)來源于2013年在中國黃海某海域測量的數(shù)據(jù),實驗分別采用爆炸聲和線性調(diào)頻信號作為聲源信號,其中線性調(diào)頻信號頻率為 200~600 Hz,聲源位于水下10 m深處,利用矢量水聽器和4元垂直陣接收信號,矢量水聽器位于水下9 m深處,4元垂直陣的深度范圍為5~10 m,收發(fā)相距10 km。字典原子數(shù)K設(shè)為20,稀疏度T設(shè)為2,每次實驗的迭代次數(shù)為120次。反演了10條聲速剖面,反演結(jié)果如圖7所示。
為了進(jìn)一步驗證字典學(xué)習(xí)方法對于聲速剖面反演的優(yōu)點,使用EOF方法生成的第一個經(jīng)驗正交函數(shù)的系數(shù)作為K-SVD算法的初始字典,對實測的聲速剖面進(jìn)行反演。
使用SSP數(shù)據(jù)集Y來訓(xùn)練EOF和LD,使用平均誤差(Mean Error,ME)來度量兩者的重構(gòu)性能。平均誤差EM可表示為[13]
圖8(a)是使用EOF方法選前3階經(jīng)驗正交函數(shù)作為基函數(shù)得到的反演剖面。圖8(b)是使用K-SVD方法得到的一組反演剖面。同等條件下,進(jìn)行30組反演實驗,EOF方法的重構(gòu)平均誤差為0.690 4 m·s-1,K-SVD方法重構(gòu)的平均誤差為0.110 2 m·s-1。從圖7給出的兩種方法的仿真結(jié)果以及計算的平均誤差來看,K-SVD方法的重構(gòu)效果優(yōu)于EOF方法。結(jié)果表明,K-SVD方法僅用一個字典就可以實現(xiàn)EOF方法搜索選擇3個以上EOF系數(shù)相同的甚至更小的平均誤差。
圖7 10條實測聲速剖面的K-SVD反演結(jié)果Fig.7 Inversion results of 10 measured sound speed profiles byK-SVD method
同時使用文獻(xiàn)[6]中的混合優(yōu)化算法對兩種方法進(jìn)行反演參數(shù)尋優(yōu),在不同的聲速剖面下 EOF方法通常需要的迭代次數(shù)約是K-SVD方法的5倍。圖9顯示了K-SVD方法和EOF方法的平均誤差收斂曲線,經(jīng)過30次的迭代,EM降低了近70%。從圖9中可以看出,對于K-SVD方法,收斂速度要快得多,并且EOF方法至少需要三個尋優(yōu)參數(shù),K-SVD方法只有兩個尋優(yōu)參數(shù),計算效率更高。
圖8 EOF方法和K-SVD方法聲速剖面反演結(jié)果Fig.8 Inversion results of the measured SSP by EOF andK-SVD methods
圖9 兩種方法的聲速平均誤差收斂曲線Fig.9 Convergence curves of mean error of sound velocity by the two methods
使用字典學(xué)習(xí)可以生成最佳字典,以稀疏地重建給定的信號。由于這些LD對正交性沒有強制要求,因此生成的字典原子可以更好地擬合原始數(shù)據(jù)。相比于EOF,每個LD基函數(shù)對于信號的變化規(guī)律都是有益的。提高了基函數(shù)對于數(shù)據(jù)分布的貢獻(xiàn),使用很少的基函數(shù)即可近似重構(gòu)信號,獲得更好的反演精度。
采用K-SVD字典學(xué)習(xí)算法處理了實際測量的聲速剖面數(shù)據(jù)。與EOF方法進(jìn)行了對比,K-SVD算法比EOF算法使用更少的基函數(shù)即可很好地描述SSP的變化。LD中僅用一個系數(shù)即可描述每個觀測到的SSP中幾乎所有的變化。LD中更多的信息元素可實現(xiàn)這種性能提升。說明,在保證精度的前提下,K-SVD方法相比于傳統(tǒng)EOF算法簡化了算法流程,計算效率更高,平均誤差降低了約50%。