翁震平,顧 民,劉長德
(中國船舶科學研究中心,江蘇 無錫 214082)
基于二階自適應Volterra級數的船舶運動極短期預報研究
翁震平,顧 民,劉長德
(中國船舶科學研究中心,江蘇 無錫 214082)
針對隨機海浪作用下船舶運動的非平穩、非線性特性,文章提出了基于卡爾曼(Kalman)濾波原理的非線性二階Volterra級數自適應預報模型。通過把Volterra級數核向量作為狀態向量,利用隨機游動模型建立系統的狀態方程,一步Volterra級數預報模型作為系統的觀測方程,從而進一步提高了Volterra級數模型的核估計的收斂速度。同時驗證了利用AIC準則對Volterra級數預報模型定階的可行性,通過迭代法實現了自適應多步預報。仿真結果表明文中提出的基于Kalman濾波算法的自適應預報模型應用于船舶運動極短期預報是可行的,該方法在理論和工程應用方面具有重要的意義。
卡爾曼濾波;二階Volterra級數;AIC準則;船舶運動預報
船舶在航行過程中,由于受海浪、海風等環境因素影響,不可避免地會產生搖擺,尤其是在惡劣的海況下對船舶的海上作業會造成很大的隱患。如果能提前幾秒或十幾秒預報出船舶的運動姿態或其運動趨勢,可以為重要設備的作業提供指導,從而可有效提高作業安全性,并在特定條件下可改善船舶的耐波性和適航性。
目前,國內外對船舶運動姿態建模預報都非常重視并展開了許多研究。文獻[1]對國內外研究現狀進行了歸納總結,其中利用時間序列分析法[2-3]對船舶運動姿態進行極短期預報越來越受到重視,這種方法的最大優點是無需知道海浪的任何先驗信息和船舶航行姿態的狀態方程,僅僅利用歷史數據尋求規律進行預報。這種方法假設船舶在海浪中的運動姿態為一平穩的窄帶隨機過程,從而利用線性回歸(AR)模型擬合這一過程,但是實際情況下的船舶運動是非線性的,文獻[4-7]利用神經網絡進行非線性建模取得了一定成效,但對輸入層以及隱層節點的選取往往通過試湊法,不宜處理時變系統,難以做到對海況實時變化的自適應。因此本文提出采用非線性二階Volterra級數預報模型,結合AIC準則實現了船舶運動的自適應多步預報。
在非線性自適應預報中,基于Volterra級數的模型已經得到了廣泛的應用。Volterra級數理論之所以具有如此大的吸引力,原因在于它與冪級數有著天然的密切聯系和相似之處且具有鮮明的物理意義,為解決非線性實際問題提供了強有力的方法和工具。張家樹、肖先賜等人[8-9]提出了多種非線性自適應預報算法來提高預報性能。其中歸一化LMS算法[8]和遞推最小二乘(RLS)算法[9-10]應用最為廣泛,文獻[8]中歸一化LMS(NLMS)算法的特點是運算簡單,無須計算相關函數,但收斂速度較慢,且在對時間序列遞推過程中,收斂參數μ的選取不容易掌握,對數據的相關陣特征值分布也比較敏感,不利于實現自適應在線預報。文獻[9-10]遞推最小二乘(RLS)算法能實現快速收斂,該算法旨在使期望輸出信號與模型輸出之差的平方和最小,有效地提高了算法的魯棒性,其收斂速度明顯高于NLMS算法,但RLS算法得到的數據自適應濾波器是對每一組輸入數據而言的,未能體現信息的完整性。本文提出利用自適應Kalman濾波算法對Volterra級數核進行估計,并結合AIC準則實現了自適應船舶運動極短期預報,自適應Kalman濾波算法的特點類似于RLS算法,但Kalman濾波算法是從總體平均導出的在均方意義上最優的濾波器,且其收斂速度更快,對數據相關陣的特征值分布具有魯棒性,能較好地實現多步預報。
設非線性離散動力系統的輸入為XT(n)={x( n- 1 ),x( n- 2 ),…,x( n- p )}(n=p+1,p+2,…,N ),輸出為(n+ 1 ),則非線性系統函數的Volterra級數展開式為

式中:p為濾波器長度,hp(m1,m2,…,mp)為p階Volterra核。
在實際應用中,這種無窮級數展開式難以實現,必須采用有限次求和的方式。最常用的是二階截斷求和形式,則用于時間序列預報的Volterra自適應濾波器的形式為



定義Volterra級數濾波器的狀態擴展的輸入矢量為系數向量為則(2)式所示非線性Volterra自適應濾波器可描述成如圖 1 所示結構。 (2)式由(3)、(4)式可以表示為


圖1 Volterra自適應濾波器結構Fig.1 Volterra adaptive filter

假設所用建模數據個數為N,預報數據的個數為M。則實時遞推預報原理如圖2所示。
Step1.利用1~N個數據建立模型,預報未來N+1~N+M個數據。
Step2.獲得第N+1個數據后,利用2~N+1個數據重新建立模型,預報N+2~N+M+1個數據。
此后一直重復這個過程,即獲得新數據后,建模數據個數始終保持為N,預報未來M個數據。

圖2 遞推預報原理示意圖Fig.2 Recursive prediction principle
實際應用中,我們采用AIC準則[2](Akaike information criterion)來確定模型的階數。該準則是一種最佳準則函數法,即確定出一個準則函數,該函數既要考慮用某一個模型擬和對原始數據的接近程度,同時又考慮模型中所含待定參數的個數,具體算法如下:
設一個最大階數M,一般我們取N1=N2,M=N/3(N為建模時所用數據個數),Sp()N 為預報模型(6)-(8)式的殘差平方和,則

設以z(t)表示t時刻離散線性系統狀態m維向量,以y(t)表示t時刻系統n維觀測數據向量,則系統的狀態空間模型如下:
狀態方程:

觀測方程:

其中,φ( t+ 1 ,t)為系統的m×m維狀態轉移陣,v1(t)為m×1過程噪聲向量,它是零均值的白噪聲過程,v1(t)的相關矩陣為Q1(t)。c(t)為已知的n×m維觀測矩陣,v2(t)為n×1維觀測噪聲向量,v2(t)的相關矩陣為Q2(t)。其中v1(t)與v2(t)是統計獨立的。
新息過程:

Kalman增益:

一步預報:

狀態估計:

狀態濾波誤差相關陣:

狀態預報誤差相關陣:

利用自適應Kalman濾波算法對Volterra級數核進行遞推估計時,因為模型參數隨時間推移而發生變化,因此我們把參數估計過程看作非平穩過程,引入過程噪聲v()n,假定Volterra級數核的狀態方程是隨機游動模型[12]:

其中,v(n)是零均值平穩隨機過程,相關陣為Q(n)=E[v( n ) vT(n)]=qI(q 為標量,是 v(n)的方差)。顯然這里的轉移矩陣為單位陣。
觀測方程為

其中,U(n)=[1,x(n),x( n- 1 ),…,x( n- p +1),x2(n),x(n) x( n- 1 ),…,x2(n- p +1)]T為量測矩陣,ε(n)均值為零,方差為,其中 {v( n )}和 {ε (n )}相互獨立。
由(21)式可以看出,觀測方程實際為一步Volterra級數預報模型。

設(20)、(21)式確立的狀態空間模型中狀態濾波誤差定義為e(n),狀態預報誤差相關陣為K(n+1,n),則由Kalman濾波算法遞推公式可得:

方程(22)-(26)式構成了自適應Kalman濾波算法對Volterra級數核的狀態估計過程。

則對應輸入向量XT(p+ 1 ),XT(p+ 2 ),…,XT(N)的希望輸出為x( p+ 1 ),x( p+ 2 ),…,x(N ) ;對應的Volterra級數的狀態擴展為U(p),U( p+ 1 ),…,U(N)。
基于Kalman濾波算法的Volterra級數核估計的具體推導過程如下:
令p=1,2,…,M/3;計算t=p,p+2,…,N-1時的


由(27)、(31)式我們可以看到在該算法過程中需預先假定:
(2) v(t)的方差q。
數據預處理的目的是使時間序列變為零均值,使其變為近似平穩序列。


本文分別采用浪向為150°和180°工況下的模型試驗數據轉化為實船后的數據進行驗證分析,采樣頻率2Hz,建模數據個數為200,采用滑動窗法,連續遞推預報次數為300(即連續預報時間長度為150s),并對這300次多步預報在未來tk=2s,4s,6s,8s時刻的預報誤差進行統計分析。
圖3、圖4分別給出了頂浪狀態下航速為18kns、24kns的縱搖數據在未來tk=6s時刻的預報曲線與實際曲線比較。

由圖3、圖4可以觀察到,在頂浪狀態高航速和低航速的縱搖預報值曲線與實測值曲線都比較接近。由表1可得,對應于tk=2s,4s,6s,8s時刻,低航速下的縱搖運動預報精度EPA要高于高航速狀態下的運動預報精度EPA,且隨著預報時間的增長,低航速下的縱搖預報精度明顯高于高航速狀態下的運動預報精度。


表1 縱搖預報誤差統計表(頂浪)Tab.1 Prediction errors statistics of pitch motion(head sea)
表示預報精度,它反映了預報曲線與真實曲線之間的形狀相似程度。EPA越接近1,表明預報曲線與實際數據曲線相似程度越高。其中,n為預報的數據個數,x(t)、(t)分別為t時刻的真實值與預報值,(t)、xm(t)分別為n個預報值和真實值的平均期望;σ、σx分別代表預報序列和期望序列的標準差。
為進一步驗證本文自適應預報模型的可行性,下面利用浪向150°、航速為18kns工況下的橫搖、縱搖數據對其進一步驗證分析。

對圖5、圖6預報值曲線與實測值曲線比較以及表2中對橫搖、縱搖誤差統計可以看出,本文方法對該船在浪向150°、航速18kns工況下的橫搖、縱搖數據同樣取得了良好的預報效果。縱搖預報精度EPA要明顯好于橫搖預報精度EPA。
利用本文方法,以頂浪、航速18kns的船舶運動縱搖數據考察模型自適應性與收斂性。
(1) 自適應性
在預報過程中,本文采用滑動窗法建模,通過引入AIC準則,結合Kalman濾波算法,模型根據輸入數據自動定階同時完成Volterra核估計,完全實現了自適應建模與預報。隨著新數據的到來,模型階數與參數自適應變化,使得一步預報模型始終保持最佳,從而極大地保證了預報精度。

表2 橫搖、縱搖誤差統計表(浪向150°,航速18kns)Tab.2 Prediction errors statistics on pitch motion and roll motion(wave direction 150°,forward speed 18kns)
(2) 收斂性
由圖7可以得出,對于連續300次滑動建模預報,利用AIC準則對每次建模進行定階,模型階數變動較大,因此,需要對每次建模進行重新定階。圖8-10分別為利用第11-210個采樣點、第151-250個采樣點、第221-420個采樣點建模時的Volterra核收斂曲線,通過圖7可以得出,對應于這三次建模的階數分別為3、6、7,其核向量收斂曲線分別如圖8-10所示。

圖8中h1(0),h1(1),h1(2)所示曲線為Volterra級數模型中對應一次項的核收斂曲線,其余為二次項對應核收斂曲線,從圖8中可以看出,在建模過程中一次項核起主要作用,二次項基本趨于零,當迭代次數為200時,Volterra核趨于收斂。圖9、圖10只畫出了一次項核收斂曲線,同理也可以看出當迭代次數為200時,Volterra核趨于收斂,因此驗證了本文選取建模數據為200是可行的。
本文基于二階Volterra級數模型,提出了利用Kalman濾波算法對Volterra級數核估計的一種新的辨識方法,并將其應用到船舶運動極短期預報當中,得出了以下結論:
(1)在頂浪狀態下高航速和低航速的縱搖預報效果都比較理想,但低航速下的縱搖運動預報精度要高于高航速狀態下的縱搖運動預報精度;斜浪狀態下的縱搖運動預報效果明顯好于橫搖運動預報效果。
(2)利用AIC準則對非線性Volterra級數定階是可行的。通過采用滑動窗法與迭代法,實現了船舶運動自適應多步預報。
(3)通過Volterra核收斂曲線驗證了Kalman濾波算法的快速收斂性,同時通過收斂性能驗證了所選建模數據個數的可行性,并作為建模數據個數選取的規范,從而在Volterra核估計中,避免了不必要的計算,同時又保證了預報精度,為今后實時在線預報提供了可行性依據。
[1]趙希人,彭秀艷.艦船運動極短期預報建模的研究現狀[J].船舶工程,2002(3):4-8.
[2]彭秀艷,趙希人,魏納新等.大型艦船姿態運動極短期預報的一種AR算法[J].船舶工程,2001(5):6-8.
[3]彭秀艷,趙希人,高奇峰.船舶姿態運動實時預報算法研究[J].系統仿真學報,2007(1):267-269.
[4]徐 培,金鴻章,王科俊等.一種新型的船舶橫搖運動實時預報方法[J].中國造船,2002,43(1):71-73.
[5]謝美萍,趙希人.基于小波網的船舶運動極短期建模預報[J].船舶力學,2002,6(2):16-20.
[6]Richards R A.Application of multipl artificial intelligence techniques for an aircraft carrier landing decision support tool[C].IEEE International Conference on Plasma Science,2002,1:7-11.
[7]Shen Yan,Xie Meiping.The extreme short prediction of ship pitch based on diagonal recurrent neural network[J].Journal of Marine Science and Application,2005,4(2):56-60.
[8]張家樹,肖先賜.用于混沌時間序列的Volterra自適應預測[J].物理學報,2000,49(3):403-408.
[9]張家樹,肖先賜.用于混沌時間序列自適應預測的一種少參數二階Volterra濾波器[J].物理學報,2001,50(07):1248-1254.
[10]孔祥玉,韓崇昭,馬紅光等.一種總體最小二乘算法及在Volterra濾波器中的應用[J].西安交通大學學報,2004,38(4):340-342.
[11]Altunkaynak A.Adaptive estimation of wave parameters by Geno-Kalman filtering[J].Ocean Engineering(2008),doi:10.1016/j.oceaneng.2008.03.010:1-7.
[12]Louka P,Galanis G,Siebert N,et al.Improvements in wind speed forecasts for wind power prediction purposes using Kalman filtering[J].Wind Eng Ind.Aero-dyn.(2008).doi.:10.1016/j.jwe-ia.2008.03.013:5-15.
Extreme short-term prediction of ship motion based on second-order adaptive Volterra series
WENG Zhen-ping,GU Min,LIU Chang-de
(China Ship Scientific Research Center,Wuxi 214082,China)
Aiming at non-stationary and non-linear nature of the ship motion,the application of Kalman filtering in non-linear second-order Volterra series model is proposed.The system’s state space model is established by taking the Volterra series kernals vector as the state vector,the observation equation can be obtained by Volterra series model.Then the convergence rate is improved further and carried out adaptive ship motion prediction combining AIC criterion.The multi-step simulation results obtained show that non-linear second-order Volterra series model based Kalman filtering is feasible in the predicting skill.The approach has vital significance in the theory and the engineering application.
Kalman filtering;second-order Volterra series;AIC criterion;ship motion prediction
U661.32
A
1007-7294(2010)07-0732-09
2010-05-05
翁震平(1958-),男,博士生,中國船舶科學研究中心研究員。