,,
(1.江南大學(xué)自動(dòng)化研究所 輕工過(guò)程先進(jìn)控制教育部重點(diǎn)實(shí)驗(yàn)室,江蘇 無(wú)錫 214122;2.中國(guó)船舶科學(xué)研究中心,江蘇 無(wú)錫 214082)
浮式海洋平臺(tái)及船舶在海浪、海風(fēng)等環(huán)境因素影響下,其運(yùn)動(dòng)是一個(gè)非線性隨機(jī)過(guò)程,特別是在高海情下更加明顯。運(yùn)動(dòng)短期預(yù)報(bào)可以提前幾秒或十幾秒預(yù)報(bào)出平臺(tái)的運(yùn)動(dòng)姿態(tài)或其運(yùn)動(dòng)趨勢(shì),為鉆桿柱的主動(dòng)運(yùn)動(dòng)補(bǔ)償以及直升機(jī)起降等作業(yè)提供作業(yè)指導(dǎo),對(duì)提高平臺(tái)的工作效率和運(yùn)行安全性具有重要的意義。
近20年時(shí)間,利用時(shí)間序列分析法對(duì)船舶運(yùn)動(dòng)姿態(tài)進(jìn)行極短期預(yù)報(bào)得到了長(zhǎng)足的發(fā)展,時(shí)間序列法無(wú)需知道船舶運(yùn)動(dòng)姿態(tài)響應(yīng)的狀態(tài)方程,僅僅利用運(yùn)動(dòng)的歷史數(shù)據(jù)尋求規(guī)律進(jìn)行預(yù)報(bào)。AR模型法[1]算法簡(jiǎn)單、運(yùn)行速度快,但其假設(shè)船舶在海浪中的運(yùn)動(dòng)姿態(tài)為一平穩(wěn)的窄帶隨機(jī)過(guò)程,但實(shí)際海況下的船舶運(yùn)動(dòng)是非線性的,在預(yù)報(bào)精度上仍有待提高,艏前波法[2]建立在對(duì)即將遭遇的波浪預(yù)先測(cè)量,以及浮體對(duì)波浪激勵(lì)的運(yùn)動(dòng)響應(yīng)模型的基礎(chǔ)上,實(shí)際使用中在測(cè)量手段上存在一定的困難。近年來(lái),混沌時(shí)間序列的建模和預(yù)測(cè)已成為信息處理研究領(lǐng)域中的一個(gè)重要研究熱點(diǎn)[3-4]。本文在遞推最小二乘算法(RLS)的基礎(chǔ)上引入小波多尺度分析法,對(duì)所測(cè)船舶運(yùn)動(dòng)時(shí)間序列進(jìn)行預(yù)處理,將其分解為若干層近似意義上的平穩(wěn)時(shí)間序列,再使用Volterra自適應(yīng)預(yù)報(bào)模型對(duì)每層的單支重構(gòu)信號(hào)進(jìn)行預(yù)報(bào),最后綜合每層的預(yù)報(bào)值得到原時(shí)間序列的預(yù)報(bào)值。
給定一個(gè)時(shí)間序列x(k),選取不同的小波函數(shù)對(duì)其進(jìn)行一次小波變換,可將其分解成近似部分C1和細(xì)節(jié)部分D1,然后對(duì)近似部分C1繼續(xù)分解,可得到尺度2上的近似部分C2和細(xì)節(jié)部分D2……,如此下去,即可實(shí)現(xiàn)對(duì)時(shí)間序列x(k)的多尺度分解。
小波多尺度分析可由Mallat算法實(shí)現(xiàn)。Mallat算法如下:
1)信號(hào)分解。
(1)
式中:H,G——低通濾波器和高通濾波器;
圖1 塔式分解算法示意
cj,dj——原始信號(hào)在分辨率2-j下的近似信號(hào)和細(xì)節(jié)信號(hào)。
2)信號(hào)重構(gòu)。
cj=H*cj+1+G*dj+1
j=J-1,J-2,J-3,…,0
(2)
圖2 塔式重構(gòu)算法示意
式中:H*,G*——H和G的對(duì)偶算子。
采用Mallat算法,每次分解后得到的細(xì)節(jié)信號(hào)和近似信號(hào)比分解前的信號(hào)點(diǎn)數(shù)減少1倍,這對(duì)預(yù)報(bào)是不利的。因此對(duì)d1,d2,d3,…,dJ和cJ分別進(jìn)行單支重構(gòu),得到D1,D2,D3,…,DJ和CJ,且有
X=D1+D2+…+DJ+CJ
(3)
(4)
(5)
其中:hn(i1,…,in)——n階Volterra核;
p——Volterra濾波器階數(shù)。
這種無(wú)窮級(jí)數(shù)展開式在工程應(yīng)用中難以實(shí)現(xiàn),考慮到極短期預(yù)測(cè)的實(shí)效性,必須采用有限截?cái)嗪陀邢薮吻蠛偷男问健H《A截?cái)鄊次求和形式,則Volterra自適應(yīng)預(yù)測(cè)濾波器改寫為
(6)
在工程應(yīng)用中,Volterra自適應(yīng)濾波器階數(shù)p選取為相空間重構(gòu)的最小嵌入維數(shù)mmin, 定義二階Volterra自適應(yīng)預(yù)測(cè)濾波器的輸入矢量U(k)和系數(shù)矢量H(k)分別為
x2(k),x(k)x(k-1),…,x2(k-M+1)]T
H(k)=[h0,h1(0),h1(1),…,h1(m-1),
h2(0,0),h2(0,1),…,h2(m-1,m-1)]T
(7)
則其狀態(tài)擴(kuò)展后的系數(shù)總個(gè)數(shù)為M=1+m+m(m+1)/2。
式(6)可表示為
(8)
如果利用最小均方誤差(MSE)估計(jì)對(duì)運(yùn)動(dòng)姿態(tài)進(jìn)行實(shí)時(shí)在線辨識(shí)時(shí),隨著新數(shù)據(jù)的不斷獲取,維數(shù)將不斷增大,勢(shì)必會(huì)耗費(fèi)大量存儲(chǔ)空間,故本文采用遞推最小二乘(RLS)算法對(duì)式(7)表示的VoIterra自適應(yīng)濾波器的系數(shù)矢量H(k)進(jìn)行辨識(shí),也能得到更快的收斂速度。其算法可描述為
(9)
{X(k),k=1,2,…}為船舶運(yùn)動(dòng)姿態(tài)時(shí)間序列,對(duì)其進(jìn)行小波分解,并對(duì)各層進(jìn)行單支重構(gòu),可以得到
跟隨小組沿著開滿杜鵑花的河流前行,穿越過(guò)喜馬拉雅山白雪皚皚的山丘,攀過(guò)山脈頂峰,來(lái)到也許是世界上最高的與世隔絕的村莊。
X=D1+D2+…+DJ+CJ
(10)
式中:D1={d1,1,d1,2,…,d1,k};D2={d2,1,d2,2,…,d2,k},…,DJ={dJ,1,dJ,2,…,dJ,k}分別為第一層,第二層,……,第J層細(xì)節(jié)信號(hào)的單支重構(gòu)結(jié)果。CJ={cJ,1,cJ,2,…,cJ,k}是第J層逼近信號(hào)的單支重構(gòu)結(jié)果,則
X(k)=d1,k+d2,k+…+dJ,k+cJ,k
(11)
其n步以后的預(yù)報(bào)值為
(12)
1)對(duì)Dj(1≤j≤J)和CJ建立Volterra自適應(yīng)預(yù)報(bào)模型,利用遞推最小二乘(RLS)算法來(lái)確定VoIterra自適應(yīng)濾波器的系數(shù)。
(13)
則原來(lái)時(shí)間序列的預(yù)報(bào)值為
(14)
仿真采用某船舶分別在頂浪12 kn和艏斜浪25 kn航行過(guò)程中縱搖和橫搖運(yùn)動(dòng)的實(shí)船實(shí)測(cè)運(yùn)動(dòng)數(shù)據(jù),采樣間隔為1 s。步驟如下。
1)對(duì)實(shí)船數(shù)據(jù)進(jìn)行歸一化處理。
(15)
x(k)——?dú)w一化后的時(shí)間序列;
N——樣本序列個(gè)數(shù)。
2)選取某一特定的小波函數(shù),對(duì)歸一化處理后的時(shí)間序列x(k)按式(1)、(2)進(jìn)行小波分解,并單支重構(gòu)得式(11)。
3)對(duì)小波重構(gòu)后的d1,k,d2,k,…,dJ,k,cJ,k利用式(7)、(8) 建立Volterra自適應(yīng)預(yù)報(bào)模型,按式(9)所示的遞推最小二乘(RLS)算法計(jì)算得到式(13),最終合并各層預(yù)報(bào)值得式(14),即為最終的預(yù)報(bào)值。
首先選取100個(gè)實(shí)船所測(cè)數(shù)據(jù),按上述步驟計(jì)算得出該船在未來(lái)10 s的縱橫搖預(yù)報(bào)值,每間隔1 s引入一個(gè)新的數(shù)據(jù),向后連續(xù)預(yù)報(bào)100 s。使用Cao方法和C-C方法確定嵌入維數(shù)m=3,時(shí)間延遲τ=1,小波函數(shù)選取sym10小波。圖3~6為截取連續(xù)預(yù)報(bào)90次預(yù)報(bào)仿真曲線。
圖3 頂浪12 kn縱搖預(yù)報(bào)曲線
為了更直觀地評(píng)價(jià)算法的預(yù)報(bào)性能,以預(yù)測(cè)均方誤差作為評(píng)測(cè)標(biāo)準(zhǔn),預(yù)測(cè)均方誤差Perr定義為
(16)
圖4 頂浪12 kn橫搖預(yù)報(bào)曲線
圖5 艏斜浪25 kn縱搖預(yù)報(bào)曲線
圖6 艏斜浪25 kn橫搖預(yù)報(bào)曲線
為了更好地考察算法的連續(xù)預(yù)報(bào)性能,分別超前預(yù)報(bào)3 s、5 s、7 s、10 s,并計(jì)算每次預(yù)報(bào)的相對(duì)均方誤差,見(jiàn)表1。
表1 遞推連續(xù)預(yù)報(bào)誤差分析 %
誤差分析結(jié)果表明,隨著預(yù)報(bào)時(shí)間長(zhǎng)度的增加,預(yù)報(bào)精度明顯下降。本方法較傳統(tǒng)的時(shí)間序列分析法在預(yù)報(bào)10 s時(shí)精度依然保持在要求范圍之內(nèi)。
為進(jìn)一步對(duì)利用小波進(jìn)行運(yùn)動(dòng)預(yù)報(bào)算法的工程實(shí)用性進(jìn)行分析,選取頂浪12 kn橫搖縱搖運(yùn)動(dòng)數(shù)據(jù)進(jìn)行預(yù)報(bào),以分析小波多尺度預(yù)報(bào)算法中一些參數(shù)對(duì)預(yù)報(bào)效果的影響。
1)分解層數(shù)的選取。選擇頂浪12 kn的縱搖數(shù)據(jù)進(jìn)行預(yù)報(bào),以分析小波分解層數(shù)對(duì)預(yù)報(bào)效果的影響。選用sym10小波,前100 s為建模階段,向后一次預(yù)報(bào)10 s,小波分解層數(shù)選取1~10層,分別計(jì)算其預(yù)報(bào)誤差,分析結(jié)果見(jiàn)表2。
表2 不同小波分解層數(shù)的預(yù)報(bào)誤差(sym10小波)
仿真結(jié)果表明,小波分解層數(shù)對(duì)預(yù)報(bào)誤差有一定的影響。隨著分解層數(shù)的增加,預(yù)報(bào)誤差隨之降低;但當(dāng)分解層數(shù)增大到一定程度(5層)后,預(yù)報(bào)誤差逐漸趨于某一固定值,對(duì)預(yù)報(bào)效果基本已經(jīng)沒(méi)有影響。
2)小波函數(shù)類型的選取。選擇頂浪12 kn的橫搖縱搖數(shù)據(jù)進(jìn)行預(yù)報(bào),以分析所選小波函數(shù)類型對(duì)預(yù)報(bào)效果的影響。分解5層,前100 s為建模階段,向后一次預(yù)報(bào)10 s,選用不同類型的小波,分別計(jì)算其預(yù)報(bào)誤差,分析結(jié)果見(jiàn)表3。
表3 不同類型小波函數(shù)對(duì)應(yīng)縱搖和橫搖的預(yù)報(bào)誤差
結(jié)果表明,小波函數(shù)類型的選取非常重要,當(dāng)選擇不同類型的小波函數(shù)時(shí),相同海況下的橫搖或縱搖運(yùn)功預(yù)報(bào)誤差各不相同,同一類型小波函數(shù)對(duì)于同一數(shù)據(jù),橫搖和縱搖運(yùn)動(dòng)的預(yù)報(bào)誤差也不盡相同。
基于小波多尺度分析的混沌時(shí)間序列法比傳統(tǒng)時(shí)間序列方法具有更大的優(yōu)越性,在預(yù)報(bào)精度和預(yù)報(bào)時(shí)長(zhǎng)方面都優(yōu)于傳統(tǒng)時(shí)間序列方法,因此在實(shí)船預(yù)報(bào)中可發(fā)揮重要作用;本文選取sym10小波,為緊支集正交小波,且具有更好的對(duì)稱性,可減少重構(gòu)時(shí)的相移。
通過(guò)對(duì)實(shí)船實(shí)測(cè)數(shù)據(jù)的預(yù)報(bào)計(jì)算,發(fā)現(xiàn)小波函數(shù)類型的選取也非常重要,不同海況及航向、航速的組合具有不同的最適合的小波函數(shù),因此小波函數(shù)的選取將直接影響預(yù)報(bào)效果,如何更好地選取合適的小波類型,以后需要進(jìn)一步研究。
[1] 彭秀艷,趙希人,魏納新,等.大型艦船姿態(tài)運(yùn)動(dòng)極短期預(yù)報(bào)的一種AR算法[J].船舶工程,2001(5):6-8.
[2] 趙希人,彭秀艷,呂淑萍,等.具有艏前波觀測(cè)量的大型艦船姿態(tài)運(yùn)動(dòng)極短期預(yù)報(bào)[J].船舶力學(xué),2003,7(2): 39-44.
[3] 張家樹,肖先賜.用于混沌時(shí)間序列自適應(yīng)預(yù)測(cè)的一種少參數(shù)二階Volterra濾波器[J].物理學(xué)報(bào),2001,50(07):1248-1254.
[4] 劉長(zhǎng)德.基于時(shí)間序列的船舶運(yùn)動(dòng)建模預(yù)報(bào)方法研究[D].哈爾濱:哈爾濱工程大學(xué),2009.
[5] 翁震平,顧 民,劉長(zhǎng)德.基于二階自適應(yīng)Volterra級(jí)數(shù)的船舶運(yùn)動(dòng)極短期預(yù)報(bào)研究[J].船舶力學(xué),2010,14(7): 732-740.