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