王志俊,程 婧,魏 珂,李國(guó)棟
(中國(guó)水產(chǎn)科學(xué)研究院漁業(yè)機(jī)械儀器研究所,上海 200092)
漁用聲吶是一種利用聲波對(duì)周邊海域內(nèi)的漁業(yè)資源進(jìn)行探測(cè)的漁業(yè)裝備,近幾十年來(lái)在海洋漁業(yè)中發(fā)揮了重要作用。多波束漁用聲吶是一種新型漁用聲吶,可同時(shí)產(chǎn)生幾十甚至幾百個(gè)水平波束,同時(shí)掃描360°范圍內(nèi)的海域,其探測(cè)效率顯著高于傳統(tǒng)漁用聲吶。但是由于受到海上風(fēng)浪以及漁船作業(yè)狀態(tài)的共同影響,漁船的航姿在聲吶收發(fā)周期內(nèi)始終處于動(dòng)態(tài)變化之中,導(dǎo)致漁用聲吶波束的指向隨之發(fā)生偏移,無(wú)法精確地照射到目標(biāo)魚群上,從而增大誤差和漏檢率,降低魚群探測(cè)效果。為了抵消海浪的影響,需進(jìn)行姿態(tài)補(bǔ)償。
近年來(lái)不少學(xué)者提出了多波束聲吶姿態(tài)補(bǔ)償?shù)姆椒ā鹘y(tǒng)思路是通過(guò)機(jī)械方式進(jìn)行補(bǔ)償,例如李華等[1]提出根據(jù)船舶姿態(tài)解算出換能器基陣的三軸轉(zhuǎn)動(dòng)角度,再通過(guò)伺服系統(tǒng)驅(qū)動(dòng)基陣的轉(zhuǎn)動(dòng),保證基陣處于水平面。機(jī)械方式只適用于低頻聲吶,且響應(yīng)速度慢、維護(hù)成本高。隨著數(shù)字波束形成技術(shù)[2]的發(fā)展,出現(xiàn)了電子補(bǔ)償?shù)姆绞?即根據(jù)船舶姿態(tài)對(duì)聲吶波束的三維指向角進(jìn)行自適應(yīng)地校正。一些多波束測(cè)深系統(tǒng)[3]通過(guò)在陣元之間加入額外的相移來(lái)補(bǔ)償基陣的縱搖,這種方案實(shí)現(xiàn)起來(lái)較為簡(jiǎn)單,但只能補(bǔ)償縱搖運(yùn)動(dòng),無(wú)法實(shí)現(xiàn)三維波束穩(wěn)定。羅宇等[4]提出了平面陣發(fā)射波束穩(wěn)定方法,可以在三維方向控制發(fā)射波束的發(fā)射指向,但沒(méi)有探討接收波束的補(bǔ)償方式。陳若婷等[5]提出了一種基于橫搖穩(wěn)定的接收波束穩(wěn)定算法,采用了波達(dá)時(shí)刻的橫搖修正和求解波達(dá)時(shí)刻合成波束指向角相結(jié)合的方法。該方法在多波束測(cè)深系統(tǒng)中能獲得較好的精度,但是本研究針對(duì)的多波束漁用聲吶具有更多波束,帶來(lái)更大的計(jì)算量,因此該方法并不適用。
本研究根據(jù)多波束漁用聲吶的特點(diǎn)采用了電子補(bǔ)償?shù)姆桨浮J紫确治隽擞绊懖ㄊ€(wěn)定誤差的因素,然后將卡爾曼濾波和數(shù)字波束形成技術(shù)相結(jié)合,提出了一種新的三維波束穩(wěn)定算法。該算法作用于接收波束和發(fā)射波束,能夠同時(shí)補(bǔ)償橫搖和縱搖運(yùn)動(dòng),并且在不提高硬件成本的前提下了降低了補(bǔ)償誤差。
出于安全考慮,不建議漁船在較高海況下進(jìn)行捕撈作業(yè),本研究只針對(duì)四級(jí)及以下海況。通常以有義波高作為海況的指標(biāo)[6-7],四級(jí)海況對(duì)應(yīng)波高1.25~2.50 m。在海浪的作用下,船舶可能發(fā)生6種搖蕩運(yùn)動(dòng),包括橫搖、縱搖、艏搖、縱蕩、橫蕩和垂蕩。本研究主要關(guān)注對(duì)波束指向性影響較大的橫搖和縱搖運(yùn)動(dòng)。
杜一豪等[8]對(duì)不規(guī)則波浪作用下Wigley型船的運(yùn)動(dòng)響應(yīng)問(wèn)題進(jìn)行了系統(tǒng)性地研究,該模型較為精確,但大多數(shù)參數(shù)與波束穩(wěn)定算法關(guān)系不大。本研究重點(diǎn)是分析波束穩(wěn)定算法性能,因此為簡(jiǎn)化分析,將船舶的橫搖和縱搖角度分別用一定擺幅和周期的正弦信號(hào)來(lái)表征。當(dāng)海浪與某個(gè)聲吶波束的遭遇角為0°時(shí),可認(rèn)為僅有縱搖,橫搖幅度為0;當(dāng)遭遇角為90°時(shí),可認(rèn)為僅有橫搖,縱搖幅度為0;當(dāng)海浪與某波束的遭遇角為其他角度時(shí),通過(guò)橫搖、縱搖的相位差進(jìn)行反映。
李積德[9]指出,橫搖的周期只與船舶固有參數(shù)有關(guān);王馳明等[10]認(rèn)為橫搖幅度與航速和海況有關(guān),航速越低,橫搖幅度越大,海況越高,橫搖幅度越大??v搖的周期基本穩(wěn)定在波浪譜峰周期附近;縱搖幅度與航速和海況有關(guān),航速越快、海況越高,縱搖幅度越大。李晨等[11]列舉了不同海況下橫搖運(yùn)動(dòng)的典型參數(shù)。杜一豪等[8]列舉了不同海況下縱搖運(yùn)動(dòng)的典型值。本研究所模擬的場(chǎng)景為四級(jí)海況、航速8節(jié),根據(jù)文獻(xiàn)提供的典型值,設(shè)定橫搖角和縱搖角的仿真區(qū)間為幅度-15°至15°,周期6 s。
1.2坐標(biāo)系及坐標(biāo)旋轉(zhuǎn)
多波束漁用聲吶的換能器通常為圓柱陣,包含N行、M列陣元,形成S個(gè)扇區(qū)。通過(guò)數(shù)字波束形成算法,每個(gè)扇區(qū)產(chǎn)生一系列波束,S個(gè)扇區(qū)共同覆蓋-180°~+180°水平方位。
首先建立大地坐標(biāo)系,3個(gè)軸X、Y、Z分別指向正北、正西和垂直向上;再建立載體坐標(biāo)系,以船艏方向?yàn)閄正半軸、左舷方向?yàn)閅正半軸,Z軸方向遵循右手定則。最后建立扇區(qū)坐標(biāo)系,由于本聲吶采用電掃描方式,因此載體與換能器基陣的位置關(guān)系是固定的,對(duì)于第1扇區(qū),其坐標(biāo)系與載體坐標(biāo)系重合,扇區(qū)中心指向船艏方向。其他扇區(qū)的坐標(biāo)系分別為扇區(qū)1坐標(biāo)系繞Z軸旋轉(zhuǎn)相應(yīng)角度。
為便于分析,假設(shè)靜止?fàn)顟B(tài)下大地坐標(biāo)系與載體坐標(biāo)系重合(即船艏指向正北、左舷指向正西,如圖1所示)。
圖1 三個(gè)坐標(biāo)系
本研究主要分析海面起伏對(duì)扇區(qū)1各波束指向性的影響,以及波束穩(wěn)定算法對(duì)扇區(qū)1各波束的補(bǔ)償效果,其他扇區(qū)情況類似。
波束穩(wěn)定算法的整體流程如圖2所示。
圖2 波束穩(wěn)定算法流程
每隔時(shí)間T讀取姿態(tài)傳感器的讀數(shù)(橫搖及縱搖的角度、角速度、角加速度),采用卡爾曼濾波器插值使姿態(tài)值的采樣率提高1倍;通過(guò)坐標(biāo)旋轉(zhuǎn)及坐標(biāo)變換計(jì)算出每個(gè)波束的目標(biāo)指向角,最后通過(guò)數(shù)字波束形成技術(shù)產(chǎn)生相應(yīng)的聲吶波束。
卡爾曼濾波器對(duì)橫搖、縱搖姿態(tài)值分別做插值,以橫搖為例,圖3為單次卡爾曼濾波過(guò)程。
圖3 卡爾曼濾波過(guò)程
首先初始化卡爾曼濾波器參數(shù)。觀測(cè)矩陣H=I3(I3表示3階單位矩陣);系統(tǒng)噪聲Q服從均值為0、方差為σ的正態(tài)分布[12](為便于分析,取σ=0.1);測(cè)量噪聲R服從均值為0、方差為0.1的正態(tài)分布(與姿態(tài)傳感器的動(dòng)態(tài)精度有關(guān))。然后,每隔Δt=0.05 s進(jìn)行一次迭代。第k次迭代過(guò)程如下:
(1)
將橫搖、縱搖的后驗(yàn)估計(jì)值分別輸出,即為第k次迭代的卡爾曼濾波插值結(jié)果(θkal,φkal)。
設(shè)船舶在靜止水面下的傾角為(θ0,φ0),根據(jù)卡爾曼濾波插值結(jié)果,計(jì)算出船舶相對(duì)于靜止?fàn)顟B(tài)的估計(jì)偏移角度(Δθ,Δφ):
(2)
相當(dāng)于扇區(qū)坐標(biāo)系先繞X軸旋轉(zhuǎn)Δφ,再繞Y軸旋轉(zhuǎn)Δθ。式(3)為對(duì)應(yīng)的旋轉(zhuǎn)矩陣:
(3)
波束形成算法的目標(biāo)波束指向角是相對(duì)于扇區(qū)坐標(biāo)系而言的,因此各波束相對(duì)于大地坐標(biāo)系的指向角會(huì)隨著扇區(qū)坐標(biāo)系的旋轉(zhuǎn)而發(fā)生偏移。為補(bǔ)償這種偏移,需將目標(biāo)波束指向角乘以旋轉(zhuǎn)矩陣A的逆:
A-1=AT=
(4)
(4)式利用了正交矩陣的性質(zhì)。
假設(shè)波束n相對(duì)于扇區(qū)坐標(biāo)系的目標(biāo)指向角度為(θn,φn)(球坐標(biāo)系),則其對(duì)應(yīng)笛卡爾坐標(biāo)系的方向向量為An(xn,yn,zn),其中:
(5)
船舶存在姿態(tài)偏移的情況下,為使波束n相對(duì)于大地坐標(biāo)系的指向不變,需通過(guò)如下變換矩陣進(jìn)行反向旋轉(zhuǎn):
Anc=A-1·An=(xnc,ync,znc)
(6)
經(jīng)過(guò)波束穩(wěn)定處理后,波束n相對(duì)于扇區(qū)坐標(biāo)系的指向角為Anc,將其轉(zhuǎn)換回球坐標(biāo):
(7)
最后,采用程婧等[2]提出的數(shù)字波束形成方案,根據(jù)指向角(θnc,φnc)產(chǎn)生補(bǔ)償后的聲吶波束n。
由于波束穩(wěn)定計(jì)算延遲、姿態(tài)儀更新間隔、姿態(tài)儀測(cè)量精度、船舶與海浪的遭遇角等因素影響,波束穩(wěn)定補(bǔ)償后的指向角與理想角度之間存在誤差,算法設(shè)計(jì)的目標(biāo)是指向誤差不超過(guò)±1.8°。測(cè)量精度已反映在卡爾曼濾波器的測(cè)量噪聲R中,以下分別討論計(jì)算延遲、更新間隔、遭遇角等因素對(duì)指向誤差的影響。
以指向-45°的波束為例,圖4分析了縱搖角度與其指向誤差的關(guān)系,其它波束以及橫搖的情況與此類似。由圖4可見(jiàn),縱搖過(guò)零點(diǎn)時(shí)的瞬時(shí)角速度最大,計(jì)算延遲和更新間隔引入的誤差最多,因此指向誤差達(dá)到峰值??v搖達(dá)到峰點(diǎn)或谷點(diǎn)時(shí),瞬時(shí)角速度為零,計(jì)算延遲和更新間隔引入的誤差也為零。
圖4 縱搖角度與指向誤差的關(guān)系
多波束聲吶的每個(gè)扇區(qū)往往要產(chǎn)生幾十個(gè)波束,對(duì)于每個(gè)姿態(tài)值都需要計(jì)算所有波束的補(bǔ)償值,運(yùn)算量較大,因此必須考慮聲吶軟件的計(jì)算延遲。圖5分析了更新間隔0.2 s、其他因素不變的情況下,計(jì)算延遲對(duì)波束穩(wěn)定誤差的影響。
圖5 計(jì)算延遲對(duì)誤差的影響
圖中誤差曲線由上下兩部分組成,隨著計(jì)算延遲的下降,誤差峰值的下半部分由1.47°降低至0.3°,但上半部分沒(méi)有明顯改變。可見(jiàn)誤差峰值的下半部分是由計(jì)算延遲引入的,而上半部分由其他因素引入??紤]到實(shí)際情況,軟件計(jì)算延遲最低只能達(dá)到0.02 s,此時(shí)峰值誤差為3.2°,不能滿足設(shè)計(jì)目標(biāo)。
姿態(tài)傳感器的姿態(tài)更新頻率受限于接口速率以及姿態(tài)傳感器本身的性能,性能越高的傳感器越昂貴。漁用聲吶所使用的姿態(tài)傳感器通常性能一般,并且采用RS232或RS485接口,更新速率較低??紤]到姿態(tài)傳感器的實(shí)際性能,設(shè)定最小更新間隔為0.10 s。圖6分析了計(jì)算延遲固定為0.02 s、其他因素不變的情況下,姿態(tài)值更新間隔對(duì)誤差的影響。
圖6 更新間隔對(duì)誤差的影響
根據(jù)前文分析,誤差峰值的下半部分由計(jì)算延遲引入,固定為0.3°;隨著更新間隔的降低,誤差峰值的上半部分由2.9°降低至1.45°,此時(shí)總的峰值誤差為1.75°。圖7為整體變化趨勢(shì)。
圖7 整體變化趨勢(shì)
其中更新間隔分別為0.30 s、0.20 s、0.10 s,計(jì)算延遲由0.10 s降低至0.02 s,可見(jiàn)最大誤差角度隨著更新間隔和計(jì)算延遲的降低而下降。當(dāng)計(jì)算延遲為0.02 s時(shí),誤差主要由更新間隔導(dǎo)致,而由于傳感器性能限制,更新間隔無(wú)法進(jìn)一步下降,因此需對(duì)姿態(tài)參數(shù)做插值,并利用卡爾曼濾波器進(jìn)行平滑處理。
接著采用卡爾曼濾波器對(duì)原始姿態(tài)值(包括角度、角速度、角加速度)做插值,使姿態(tài)值之間的時(shí)間間隔變?yōu)?.05 s,按照插值后的姿態(tài)值對(duì)指向-45°的波束進(jìn)行補(bǔ)償。插值前后的指向誤差如圖8所示。
圖8 卡爾曼濾波插值前后的指向誤差對(duì)比
根據(jù)圖8,卡爾曼濾波器的收斂用時(shí)約1 s(時(shí)長(zhǎng)與濾波器參數(shù)有關(guān)),收斂后的指向誤差由插值前的1.75°降低為1.18°??梢?jiàn),卡爾曼濾波插值在不提高姿態(tài)儀更新間隔的情況下顯著降低了波束穩(wěn)定誤差。
當(dāng)海浪與波束指向的遭遇角不為0°時(shí),可以將其分解為繞X、Y軸的搖晃。
指向誤差與相位差的關(guān)系如圖9所示。
圖9 指向誤差與相位差的關(guān)系
多波束漁用聲吶的一個(gè)扇區(qū)通常覆蓋90°的水平角度,而扇區(qū)1的中心與X軸重合,因此其各個(gè)波束在-45°~45°之間均勻分布。以下將改變X、Y軸搖晃的相位差,分析其對(duì)各個(gè)波束插值后的補(bǔ)償誤差的影響;仿真時(shí)設(shè)定姿態(tài)更新間隔為0.1 s、計(jì)算延遲0.02 s;X、Y軸搖晃幅值均為15°,周期均為6 s。
可見(jiàn)當(dāng)波束指向-45°,橫搖、縱搖相位差0°時(shí),指向誤差出現(xiàn)最大值1.55°;相位差180°時(shí),指向誤差出現(xiàn)最小值0.75°。當(dāng)波束指向0°,指向誤差固定為1.2°,與橫搖、縱搖相位差無(wú)關(guān)。當(dāng)波束指向45°,橫搖、縱搖相位差180°時(shí),指向誤差出現(xiàn)最大值1.5°;相位差0°時(shí),指向誤差出現(xiàn)最小值0.7°
為降低計(jì)算延遲,本系統(tǒng)基于FPGA(現(xiàn)場(chǎng)可編程門陣列)進(jìn)行實(shí)現(xiàn)。其中,485接口模塊用于初始化VG600姿態(tài)儀,并且每隔0.1 s讀取一次姿態(tài)值(包含角度、角速度、角加速度);卡爾曼濾波模塊對(duì)姿態(tài)角度做1倍插值;補(bǔ)償模塊每隔0.05 s根據(jù)插值后的姿態(tài)值進(jìn)行補(bǔ)償,依次計(jì)算出每個(gè)波束的補(bǔ)償后指向角度(θnc,φnc),該指向角度同時(shí)作用于接收鏈路和發(fā)射鏈路;發(fā)射波束形成模塊按照上述指向角度產(chǎn)生發(fā)射波束,并驅(qū)動(dòng)換能器基陣進(jìn)行發(fā)射;接收波束形成模塊從換能器基陣獲取接收數(shù)據(jù),按照上述指向角度產(chǎn)生接收波束。多波束漁用聲吶系統(tǒng)如圖10所示,圖中省略了收發(fā)鏈路信號(hào)處理模塊。
圖10 多波束漁用聲吶系統(tǒng)框圖
搭建了圖11所示的測(cè)試系統(tǒng),該系統(tǒng)由FPGA板卡、VG600姿態(tài)儀、MRU5姿態(tài)儀、上位機(jī)軟件等組成。其中FPGA內(nèi)部實(shí)現(xiàn)了多波束漁用聲吶系統(tǒng);VG600是本系統(tǒng)實(shí)際使用的姿態(tài)儀,更新間隔0.1 s,動(dòng)態(tài)精度0.1°;MRU5是作為參照的高精度姿態(tài)儀,更新間隔0.05 s,動(dòng)態(tài)精度0.02°。
圖11 測(cè)試系統(tǒng)示意圖
現(xiàn)場(chǎng)圖片如圖12所示,擺臺(tái)繞X軸做幅度15°、周期6 s的正弦擺動(dòng),模擬船舶的橫搖;繞Y軸做幅度15°、周期6 s的正弦擺動(dòng),模擬船舶的縱搖。FPGA每隔0.1 s讀取VG600的姿態(tài)參數(shù),每隔0.05 s進(jìn)行一次波束穩(wěn)定計(jì)算,并通過(guò)串口輸出卡爾曼濾波結(jié)果及補(bǔ)償后的波束指向角。與此同時(shí),MRU5輸出其測(cè)定的姿態(tài)角。上位機(jī)軟件將補(bǔ)償后的指向角按照MRU5提供的標(biāo)準(zhǔn)姿態(tài)角作姿態(tài)旋轉(zhuǎn),計(jì)算旋轉(zhuǎn)后的指向角與波束的目標(biāo)指向角之間的誤差。
圖12 現(xiàn)場(chǎng)圖片
4.3.1 卡爾曼濾波器插值結(jié)果對(duì)比
使擺臺(tái)做幅值為15°、周期為6 s的縱搖(橫搖同理);對(duì)于姿態(tài)角和卡爾曼濾波結(jié)果,分別對(duì)比其仿真值與實(shí)測(cè)值,結(jié)果如圖13所示;可見(jiàn)二者幅值基本一致,插值后姿態(tài)值的更新間隔由0.10 s變?yōu)?.05 s。
圖13 卡爾曼濾波插值結(jié)果對(duì)比
4.3.2 縱搖指向誤差對(duì)比
擺臺(tái)做幅值為15°、周期為6 s的縱搖(橫搖同理),對(duì)各波束補(bǔ)償后的指向誤差進(jìn)行了測(cè)試,并與各波束在更新間隔0.10 s、計(jì)算延遲0.02 s下的仿真結(jié)果對(duì)比,結(jié)果如圖14所示。對(duì)于指向-45°、0°、45°的波束,實(shí)測(cè)最大指向誤差分別為1.20°、0.70°、0.65°。與卡爾曼濾波器收斂后的仿真結(jié)果相比,實(shí)測(cè)的指向誤差略大一些。
圖14 不同波束的指向誤差對(duì)比
仿真所采用的系統(tǒng)噪聲的方差為經(jīng)驗(yàn)值,可能與實(shí)際值有差異;作為參考的高精度姿態(tài)儀MRU5與被測(cè)姿態(tài)儀VG600在安裝時(shí)存在位置偏差,以上因素可能導(dǎo)致指向誤差偏大。
4.3.3 不同相位差下的指向誤差對(duì)比
為對(duì)比不同相位差下的指向誤差,令擺臺(tái)同時(shí)做幅值為15°、周期為6 s的縱搖和橫搖,相位差依次為0°、40°、…、320°,分別對(duì)指向-45°、0°、45°的波束進(jìn)行測(cè)試,并記錄最大指向誤差。
實(shí)測(cè)值與仿真值對(duì)比如圖15所示。實(shí)測(cè)誤差比仿真誤差大0.2°左右(原因如4.3.2節(jié)所述),各個(gè)波束在不同橫搖縱搖相位差下的最大誤差不超過(guò)±1.8°,符合波束穩(wěn)定算法的設(shè)計(jì)預(yù)期。
圖15 不同相位差下的指向誤差對(duì)比
Marszal等[13]對(duì)多波束聲吶的三維波束補(bǔ)償進(jìn)行了理論分析,并估算了W個(gè)波束情況下的計(jì)算量,但沒(méi)有考慮到實(shí)際應(yīng)用場(chǎng)景中的誤差。本研究指出,即使經(jīng)過(guò)波束穩(wěn)定補(bǔ)償后,多波束漁用聲吶的波束指向角仍然存在誤差,而這些誤差主要來(lái)源于計(jì)算延遲和姿態(tài)值更新間隔。因此,本研究提出了一種基于FPGA的波束穩(wěn)定處理架構(gòu),利用FPGA的并行計(jì)算能力大大提高了計(jì)算速度,實(shí)測(cè)計(jì)算延遲約為0.019 s。同時(shí),本研究還采用了基于卡爾曼濾波的姿態(tài)插值算法,使姿態(tài)值更新間隔降低了50%。
另一方面,陳若婷等[5]在多波束測(cè)深儀中增加接收陣橫搖穩(wěn)定,使合成波束的指向誤差范圍由±5°降低至±0.5°;相比之下,本研究提出的波束穩(wěn)定算法將多波束漁用聲吶的指向誤差范圍從±15°降低至±1.8°,誤差略大于前述方法。然而由于多波束漁用聲吶的水平波束間隔典型值為2.25°[2],應(yīng)用本方法后的誤差范圍小于波束間隔;此外,本研究在仿真參數(shù)和擺臺(tái)測(cè)試參數(shù)的選擇方面考慮了最惡劣的情況,測(cè)試平臺(tái)也引入了一定的誤差,在正常的漁業(yè)捕撈作業(yè)中,可以獲得比±1.8°更低的指向誤差。因此本研究具有較高的實(shí)用價(jià)值。
多波束漁用聲吶的波束穩(wěn)定算法能夠有效降低海浪波動(dòng)對(duì)聲吶波束指向性的影響,在四級(jí)海況下,可保證補(bǔ)償后的波束指向角度最大偏差不超過(guò)±1.8°,從而顯著提高漁用聲吶在海上作業(yè)時(shí)的魚群探測(cè)能力。本算法模塊已成功應(yīng)用在某型全方位多波束漁用聲吶中。