郭顏萍,胡桐,李志乾,漆隨平,王東明
(齊魯工業(yè)大學(xué)(山東省科學(xué)院),山東省科學(xué)院海洋儀器儀表研究所,山東省海洋環(huán)境監(jiān)測(cè)技術(shù)重點(diǎn)實(shí)驗(yàn)室,國(guó)家海洋監(jiān)測(cè)設(shè)備工程技術(shù)研究中心,山東 青島 266000)
風(fēng)速風(fēng)向是船舶氣象儀觀測(cè)的重要?dú)庀笠刂唬鄬?duì)風(fēng)是指以船舶為參考,相對(duì)于系泊或航行船舶觀測(cè)到的風(fēng),真風(fēng)是指以大地正北為參考的自然界實(shí)際風(fēng)。船舶等移動(dòng)平臺(tái)上相對(duì)風(fēng)和真風(fēng)的測(cè)量精度,與多種因素有關(guān),包括傳感器技術(shù)指標(biāo)、安裝位置、船舶姿態(tài)等等。胡桐等[1]采用計(jì)算機(jī)流體力學(xué)仿真方法分析船體周?chē)g體繞流氣流場(chǎng)的分布情況,建立了相對(duì)風(fēng)偏差校正模型。王國(guó)峰等[2]分析了船舶運(yùn)動(dòng)狀態(tài)下傳感器傾角的變化對(duì)測(cè)風(fēng)結(jié)果的影響,提出了一種基于空間模型的測(cè)量誤差補(bǔ)償算法。李志乾等[3]分析了船舶相對(duì)風(fēng)和航速航向誤差對(duì)真風(fēng)計(jì)算的影響,提出了真風(fēng)解算誤差的修正方法。周揚(yáng)等[4]采用模塊化設(shè)計(jì)方法,通過(guò)軟硬件結(jié)合,自動(dòng)識(shí)別兩種測(cè)風(fēng)傳感器和2種航向來(lái)源實(shí)現(xiàn)真風(fēng)解算。周亦武等[5]分析了船舶搖擺狀態(tài)下測(cè)風(fēng)誤差產(chǎn)生的機(jī)理,提出了基于多變量非線性數(shù)據(jù)擬合及動(dòng)態(tài)補(bǔ)償?shù)男U椒?。郭顏萍等[6]采用基于小波變換和最小二乘支持向量機(jī)相結(jié)合的方法估算船面風(fēng)速和風(fēng)向。上述工作分別從不同方面,針對(duì)船舶相對(duì)風(fēng)或真風(fēng)測(cè)量誤差,提出了改進(jìn)的方法并進(jìn)行了仿真試驗(yàn)驗(yàn)證,但并未涉及通過(guò)融合算法提高船舶氣象儀相對(duì)風(fēng)的測(cè)量精度。實(shí)際上,相對(duì)風(fēng)對(duì)于提高真風(fēng)解算準(zhǔn)確性和保障船舶的安全航行意義重大。
由于船體本身以及其上建筑物和其他設(shè)備的影響,船體各處的風(fēng)速、風(fēng)向的分布值是復(fù)雜和不均勻的[7],單只傳感器測(cè)得的數(shù)據(jù)不全面,只能代表局部。大型船舶通常選擇2個(gè)或2個(gè)以上的監(jiān)測(cè)點(diǎn)安裝測(cè)風(fēng)傳感器,與單傳感器系統(tǒng)相比,多傳感器系統(tǒng)具有增強(qiáng)系統(tǒng)生存能力、擴(kuò)展空間覆蓋范圍、提高信息可信度等優(yōu)點(diǎn),特別是可以通過(guò)對(duì)來(lái)自多個(gè)傳感器的信息加以有效融合,取長(zhǎng)補(bǔ)短,從而有效提高信息探測(cè)性能[8-9]。加權(quán)平均法是將多個(gè)傳感器提供的冗余信息進(jìn)行加權(quán)平均后作為融合值??柭鼮V波是1960年Kalman RE提出的一種最優(yōu)化自回歸數(shù)據(jù)處理算法,在測(cè)量方差已知的情況下能夠從一系列存在測(cè)量噪聲的數(shù)據(jù)中,估計(jì)動(dòng)態(tài)系統(tǒng)的狀態(tài)[10-11]。本文將基于這2種方法進(jìn)行融合算法的研究??紤]到在船舶正常向前航行過(guò)程中,測(cè)風(fēng)傳感器通常情況下都是迎風(fēng)的,這意味著,如果以船舶水平面為參考坐標(biāo)系,以船首向?yàn)榱愣?,那么測(cè)風(fēng)傳感器相對(duì)船舶測(cè)量的風(fēng)向通常分布在第一、四象限內(nèi),本文著重探討這種迎風(fēng)狀態(tài)下相對(duì)風(fēng)測(cè)量數(shù)據(jù)融合的處理方法。
設(shè)隨機(jī)線性離散系統(tǒng)的方程為:
在船舶氣象儀相對(duì)風(fēng)的測(cè)量過(guò)程中,為了克服單個(gè)傳感器的不確定和局限性,往往采用兩個(gè)或兩個(gè)以上的測(cè)風(fēng)傳感器同時(shí)報(bào)告其大小和方向,充分利用每個(gè)傳感器的測(cè)量信息,才能更準(zhǔn)確地獲得船上真實(shí)的相對(duì)風(fēng)。在對(duì)多個(gè)傳感器的數(shù)據(jù)進(jìn)行融合時(shí),加權(quán)平均算法是較為常用的處理方法,即按照一定原則給每個(gè)傳感器制定權(quán)重,然后通過(guò)加權(quán)融合所有的局部測(cè)量值,從而得到一個(gè)全局的最優(yōu)估計(jì)值[12]。假設(shè)系統(tǒng)中有n個(gè)傳感器,…,,第i 個(gè)傳感器在時(shí)刻的狀態(tài)估計(jì)值表示為),各個(gè)傳感器的權(quán)重系數(shù)分別表示為,則采用加權(quán)平均算法得到的K時(shí)刻全局狀態(tài)估計(jì)值可表示為:
算數(shù)平均值方法是加權(quán)平均算法的一種特殊形式,它將各個(gè)傳感器的權(quán)重系數(shù)選取的相等,由式(6)可得,進(jìn)而得到則式(5)化為:
這種方法簡(jiǎn)單直觀,最終得到的融合值亦包含系統(tǒng)中所有傳感器的測(cè)量信息,但卻忽略了傳感器因自身差異而導(dǎo)致的測(cè)量誤差大小不一的問(wèn)題。例如,傳感器自身的精度高低可能不同;再如某些情況下由于觀測(cè)點(diǎn)周?chē)鷼饬魇艿礁蓴_而造成測(cè)量值誤差偏大等??紤]到這些情況,算數(shù)平均值方法得到的融合值能夠比測(cè)量偏差較大的傳感器效果好,但是與測(cè)量偏差較小的傳感器相比還是有一定差距。因此,為了獲取更為準(zhǔn)確的融合值,有必要對(duì)上述方法加以改進(jìn)。
基于動(dòng)態(tài)權(quán)值的加權(quán)平均融合算法,由各觀測(cè)時(shí)刻的測(cè)量數(shù)據(jù)實(shí)時(shí)計(jì)算各個(gè)傳感器的權(quán)值,從而能夠?qū)崿F(xiàn)權(quán)值的動(dòng)態(tài)分配,破除權(quán)值分配的絕對(duì)化。該算法把每個(gè)傳感器測(cè)量值的加權(quán)系數(shù)分為靜態(tài)因子和動(dòng)態(tài)因子兩部分,靜態(tài)因子是由傳感器自身參數(shù)確定的固定值,動(dòng)態(tài)因子則根據(jù)當(dāng)前狀態(tài)參數(shù)不斷改變。融合值通過(guò)下式計(jì)算:
靜態(tài)加權(quán)因子的大小取決于傳感器自身性能。傳感器自身誤差小,則其觀測(cè)的數(shù)據(jù)精確度高,因此其測(cè)量值的加權(quán)系數(shù)相應(yīng)的取大;反之傳感器自身誤差大,則其測(cè)量值的加權(quán)系數(shù)相應(yīng)的取小。由此可見(jiàn),靜態(tài)加權(quán)因子與傳感器自身誤差成反比,設(shè)傳感器的誤差△i=[δ1δ2…δm]T,定義動(dòng)態(tài)加權(quán)因子的確定基于參與融合的傳感器測(cè)量值與一個(gè)參考基準(zhǔn)的偏差,并與這個(gè)偏差成反比[13]。設(shè)當(dāng)前參考基準(zhǔn)值為,則定義。為了滿(mǎn)足式(9),使各傳感器的加權(quán)系數(shù)之和為1,引出一個(gè)調(diào)整系數(shù)則融合值的計(jì)算公式為:
其中,
卡爾曼濾波器由一組遞歸數(shù)學(xué)公式描述,其提供了一種高效可計(jì)算的方法來(lái)估計(jì)過(guò)程的狀態(tài),并使估計(jì)均方誤差最小??柭鼮V波器首先估計(jì)過(guò)程中某一時(shí)刻的狀態(tài),然后以量測(cè)更新的方式獲得反饋。因此卡爾曼濾波器可以分為狀態(tài)更新過(guò)程和量測(cè)更新過(guò)程2個(gè)部分。狀態(tài)更新方程負(fù)責(zé)向前推算當(dāng)前狀態(tài)變量和估計(jì)誤差協(xié)方差,為下一個(gè)時(shí)間狀態(tài)構(gòu)造先驗(yàn)估計(jì)。量測(cè)更新方程負(fù)責(zé)反饋,它在狀態(tài)更新方程中的先驗(yàn)估計(jì)基礎(chǔ)上,結(jié)合新時(shí)刻的量測(cè)信息來(lái)產(chǎn)生后驗(yàn)估計(jì)??柭鼮V波器包含下面5個(gè)公式,其中2個(gè)狀態(tài)更新方程,3個(gè)量測(cè)更新方程[14]。
狀態(tài)更新方程:
向前推算狀態(tài)變量
向前推算誤差協(xié)方差
量測(cè)更新方程:
計(jì)算卡爾曼增益
由觀測(cè)量更新估計(jì)
更新誤差協(xié)方差
從式(10)可以看到,基于動(dòng)態(tài)權(quán)值的加權(quán)平均融合算法的關(guān)鍵在于參考基準(zhǔn)值的確定,其選取的原則是盡可能地反映環(huán)境真實(shí)值。采用式(12)得到的參考基準(zhǔn)值只是采用當(dāng)前測(cè)量值對(duì)測(cè)量要素當(dāng)前狀態(tài)的一個(gè)大略估計(jì),如果能在參考基準(zhǔn)值的計(jì)算中糅合進(jìn)歷史測(cè)量值信息,采用卡爾曼濾波技術(shù)更新參考基準(zhǔn)值,使其本身及其變化趨勢(shì)更接近環(huán)境真實(shí)值,那么基于動(dòng)態(tài)權(quán)值的加權(quán)平均融合算法的融合效果將會(huì)更好[15]。卡爾曼濾波是一種線性最小方差估計(jì),算法采用遞推形式在時(shí)域內(nèi)濾波,只要獲知上一時(shí)刻狀態(tài)的估計(jì)值以及當(dāng)前狀態(tài)的觀測(cè)值就可以計(jì)算出當(dāng)前狀態(tài)的估計(jì)值,因此不需要記錄觀測(cè)或者估計(jì)一些歷史信息,適用于對(duì)多維隨機(jī)過(guò)程進(jìn)行估計(jì),這個(gè)估計(jì)可以是對(duì)當(dāng)前目標(biāo)位置的濾波,也可以是對(duì)于將來(lái)位置的預(yù)測(cè)。為了使基于動(dòng)態(tài)權(quán)值的加權(quán)平均融合算法得到的融合數(shù)據(jù)精度更高,首先將參與融合計(jì)算的各傳感器測(cè)量值的平均值進(jìn)行卡爾曼濾波,然后再將其作為參考基準(zhǔn)值參與后續(xù)計(jì)算,即令
將式(18)代入式(10),得到新的融合公式:
世界氣象組織建議,安裝測(cè)風(fēng)傳感器時(shí)盡量靠近安裝平臺(tái)的前部并且具有一定的高度[16],據(jù)此在船上選擇風(fēng)場(chǎng)開(kāi)闊區(qū)域安裝3臺(tái)測(cè)風(fēng)傳感器。在主桅桿上部橫桿兩側(cè)對(duì)稱(chēng)安裝2臺(tái)螺旋槳式測(cè)風(fēng)傳感器,分別稱(chēng)為左舷測(cè)風(fēng)傳感器、右舷測(cè)風(fēng)傳感器,記作S1、S2。在首甲板的開(kāi)闊區(qū)域,首尾中心線上焊接1基座,基座上安裝1根支撐桿,其高度與主桅桿上部橫桿與首甲板的垂直高度相等。超聲波測(cè)風(fēng)傳感器安裝于該支撐桿上,稱(chēng)為船首測(cè)風(fēng)傳感器,記作S3。船首測(cè)風(fēng)傳感器距離左舷和右舷測(cè)風(fēng)傳感器的水平距離約為13 m。3臺(tái)傳感器距離海平面的垂直距離均約25 m。3臺(tái)測(cè)風(fēng)傳感器精度如表1所示。
表 1 各傳感器的精度Tab. 1Precision of each sensor
表1中V均為實(shí)測(cè)風(fēng)速值。在船舶正常航行條件下,分別采集3臺(tái)測(cè)風(fēng)傳感器的相對(duì)風(fēng)速和相對(duì)風(fēng)向,采樣周期均為2 s。抽取2016年3月實(shí)船航行的測(cè)風(fēng)數(shù)據(jù)進(jìn)行試驗(yàn)驗(yàn)證與分析。
如圖1所示,以船舶首尾線為Y軸,船首為正向,與其垂直的橫向?yàn)閄軸,右舷為正向,在船舶所在的水平面內(nèi)建立直角坐標(biāo)系,分別將主桅桿上橫桿兩側(cè)傳感器的相對(duì)風(fēng)數(shù)據(jù)沿X軸、Y軸進(jìn)行分解,得到X軸方向的2個(gè)風(fēng)速分量:W1X,W2X;以及Y軸方向的2個(gè)風(fēng)速分量W1Y, W2Y。
圖 1 相對(duì)風(fēng)分解示意圖Fig. 1Diagram of the decomposition of relative wind
試驗(yàn)數(shù)據(jù)處理包括3個(gè)步驟:采用融合算法公式求出W1X,W2X的平均值WX;采用融合算法公式求出W1Y,W2Y的平均值WY;利用矢量法則求出WX和WY的合成風(fēng)速、合成風(fēng)向。由于位于船首的超聲波測(cè)風(fēng)傳感器精度更高,且所處風(fēng)場(chǎng)更為開(kāi)闊,因此這里將其測(cè)量數(shù)據(jù)作為標(biāo)準(zhǔn)值。分別計(jì)算傳感器1測(cè)量值、傳感器2測(cè)量值、融合值與標(biāo)準(zhǔn)值的誤差[17]。
1)驗(yàn)證算術(shù)平均融合算法。采用Y述的三個(gè)步驟進(jìn)行數(shù)據(jù)處理,即采用式(7)求出W1X,W2X的平均值WX;采用式(7)求出W1Y,W2Y的平均值WY;利用矢量法則求出WX和WY的合成風(fēng)速、合成風(fēng)向。圖2為算數(shù)平均融合值、S1測(cè)量值和S2測(cè)量值對(duì)比標(biāo)準(zhǔn)值的誤差曲線,包括風(fēng)速誤差和風(fēng)向誤差。可以看出,算術(shù)平均融合后,風(fēng)速、風(fēng)向的誤差均小于傳感器2,但是大于傳感器1的誤差。分析可知,采用算術(shù)平均融合算法,雖然綜合了2個(gè)傳感器的測(cè)量值,改善了測(cè)量誤差相對(duì)大的傳感器的測(cè)量效果,但是由于沒(méi)有區(qū)分測(cè)量值的優(yōu)劣進(jìn)而倚重更有利的測(cè)量信息,因此其融合后的誤差仍然較大。
2)驗(yàn)證基于動(dòng)態(tài)權(quán)值的融合算法
同樣采用上述的3個(gè)步驟進(jìn)行數(shù)據(jù)處理,不同的只是把式(7)換成了式(10)。計(jì)算結(jié)果表明,動(dòng)態(tài)權(quán)值融合后,風(fēng)速均方根誤差為1.6 m/s,較上述算術(shù)平均融合誤差減小0.7 m/s;風(fēng)向均方根誤差為5.0°,較上述算術(shù)平均融合誤差減小0.8°。圖3為動(dòng)態(tài)權(quán)值融合值、S1測(cè)量值和S2測(cè)量值對(duì)比標(biāo)準(zhǔn)值的誤差曲線。分析可知,動(dòng)態(tài)權(quán)值融合避免了權(quán)值均分固定不變的絕對(duì)化,每次融合計(jì)算之前,把當(dāng)前時(shí)刻各個(gè)傳感器的加權(quán)平均值作為基準(zhǔn)值,將傳感器的測(cè)量值與這個(gè)基準(zhǔn)值比較,并根據(jù)比較結(jié)果的優(yōu)劣算出該傳感器參與融合計(jì)算的權(quán)值,這樣準(zhǔn)確度高的數(shù)據(jù)將分配到更多的權(quán)重,因此融合精度有所改善。
3)驗(yàn)證基于動(dòng)態(tài)權(quán)值和卡爾曼濾波的融合算法
同樣采用上述的3個(gè)步驟進(jìn)行數(shù)據(jù)處理,不同的只是把式(10)換成了式(20)。計(jì)算結(jié)果表明,采用基于動(dòng)態(tài)權(quán)值和卡爾曼濾波的融合算法,風(fēng)速均方根誤差為1.3 m/s,較動(dòng)態(tài)權(quán)值融合誤差減小0.3 m/s;風(fēng)向均方根誤差為2.8°,較動(dòng)態(tài)權(quán)值融合誤差減小2.1°。圖4為基于動(dòng)態(tài)權(quán)值和卡爾曼濾波的融合值、S1測(cè)量值和S2測(cè)量值對(duì)比標(biāo)準(zhǔn)值的誤差曲線。分析可知,準(zhǔn)確度的進(jìn)一步提高歸功于卡爾曼濾波,由于每次融合前先將各傳感器的算術(shù)平均值經(jīng)過(guò)卡爾曼濾波后再作為對(duì)比的基準(zhǔn)值,因此使得到的基準(zhǔn)值糅合進(jìn)了測(cè)量值的歷史信息,對(duì)風(fēng)速、風(fēng)向數(shù)據(jù)的預(yù)估結(jié)果值更穩(wěn)定,從而使作差后的優(yōu)劣判斷參考性更強(qiáng),對(duì)于權(quán)值的動(dòng)態(tài)分配更準(zhǔn)確。
圖 4 基于動(dòng)態(tài)權(quán)值和卡爾曼濾波的融合值、S1測(cè)量值和S2測(cè)量值對(duì)比標(biāo)準(zhǔn)值的誤差曲線Fig. 4Error curves of the fusion value based on dynamic weight and Kalman,measured value of S1 and measured value of S2 against standard value
將算數(shù)平均融合記為算法1,將動(dòng)態(tài)權(quán)值融合記為算法2,將基于動(dòng)態(tài)權(quán)值和卡爾曼濾波融合記為算法3。表2列出了S1測(cè)量值、S2測(cè)量值、3種算法的融合值相對(duì)標(biāo)準(zhǔn)值的均方根誤差??梢钥闯?,3種算法的誤差逐次降低,其中前2種算法的融合結(jié)果比傳感器2好,但是不及具有更好表現(xiàn)的傳感器1;第3種算法的融合結(jié)果則超越了表現(xiàn)更好的傳感器1。
表 2 誤差數(shù)據(jù)比較Tab. 2Comparison of error data
圖5為3種融合算法的誤差曲線??梢钥闯?,相比算法1和算法2,算法3的風(fēng)向誤差顯著降低,而風(fēng)速誤差盡管有所改善,但是不太理想。分析可知,這是由于船首測(cè)風(fēng)傳感器,始終處于迎風(fēng)狀態(tài),相對(duì)于S1和S2的風(fēng)速偏大,造成作為標(biāo)準(zhǔn)值的風(fēng)速值偏大,所以導(dǎo)致風(fēng)速誤差較大且為負(fù)。而正是由于風(fēng)速較大,獲得的風(fēng)向反而更精準(zhǔn),因此作為標(biāo)準(zhǔn)值的風(fēng)向值更接近真實(shí)環(huán)境值,所以風(fēng)向誤差的融合結(jié)果更為理想。
圖 5 三種融合算法誤差比較Fig. 5Error comparison of three fusion algorithms
針對(duì)船舶氣象儀測(cè)風(fēng)傳感器相對(duì)風(fēng)的融合計(jì)算問(wèn)題,提出了一種基于動(dòng)態(tài)權(quán)值和卡爾曼濾波的融合算法。與權(quán)值固定的平均權(quán)值融合算法相比,該算法使風(fēng)速誤差減小約0.07*V(V為實(shí)測(cè)風(fēng)速值),風(fēng)向誤差降低約2°。這是由于該算法先將測(cè)量值進(jìn)行優(yōu)劣判斷再據(jù)此對(duì)權(quán)值進(jìn)行自適應(yīng)調(diào)整,因而能夠有效地去粗取精并提高測(cè)量精度。與單純的動(dòng)態(tài)權(quán)值融合算法相比,該算法使風(fēng)速誤差減小約0.03*V(V為實(shí)測(cè)風(fēng)速值),風(fēng)向誤差降低約1°。這是由于該算法引進(jìn)卡爾曼濾波優(yōu)化作為參考對(duì)比的基準(zhǔn)值,糅合了測(cè)量值的歷史信息,克服了僅僅采用當(dāng)前采樣周期數(shù)據(jù)進(jìn)行權(quán)值調(diào)整的局限性,所以能夠進(jìn)一步改善權(quán)值,提高數(shù)據(jù)融合精度。綜上該算法能夠?qū)崟r(shí)自適應(yīng)分配權(quán)重,有效降低加權(quán)融合值的誤差,從而為船舶氣象儀相對(duì)風(fēng)的測(cè)量提供了一種有效且實(shí)現(xiàn)簡(jiǎn)單的數(shù)據(jù)融合算法。