岳元龍,陳亞南,孫 欽,左 信
(1.中國石油大學(xué)(北京)自動化系,北京 102249;2.中海石油(中國)有限公司北京研究中心,北京 100028)
隨著電子信息技術(shù)的發(fā)展,各種面向復(fù)雜應(yīng)用系統(tǒng)的多傳感器數(shù)據(jù)融合系統(tǒng)大量出現(xiàn),需要對多種傳感器和不同信息源進(jìn)行更有效的集成,以提高數(shù)據(jù)處理的自動化程度[1]。單傳感器測量的數(shù)據(jù)往往具有不完整性和不確定性,因此多傳感器數(shù)據(jù)融合逐漸成為國內(nèi)外專家研究的焦點[2],并在目標(biāo)識別、圖像處理、故障診斷等方面得到廣泛的應(yīng)用。近些年各種數(shù)據(jù)融合算法得到廣泛研究,其中最具代表的是卡爾曼濾波算法??柭且环N線性無偏最小均方誤差估計,它只能保證在整個線性無偏估計類中是最優(yōu)的,但并不能保證在整個線性估計中仍是最優(yōu)的[3]。有偏卡爾曼可以通過引入偏差進(jìn)一步降低卡爾曼的估計均方誤差[4-5]。目前關(guān)于有偏卡爾曼濾波算法的研究比較少,雖然文獻(xiàn)[6]給出了有偏卡爾曼的構(gòu)造思想,或者只給出了某一時刻卡爾曼的有偏算法而沒考慮有偏卡爾曼濾波的迭代過程[7]。本文基于統(tǒng)一有偏估計思想,推導(dǎo)出完整的有偏卡爾曼濾波過程,然后將有偏卡爾曼分別與擴(kuò)維融合和序貫融合相結(jié)合,提出擴(kuò)維有偏卡爾曼濾波和序貫有偏卡爾曼濾波,進(jìn)一步提高多傳感器數(shù)據(jù)融合精度。
考慮單傳感器狀態(tài)方程和測量方程為:
xk=Fkxk-1+wk
(1)
zk=Hkxk+vk
(2)
式中:k為離散時間變量,k≥0;xk為狀態(tài)向量,xk∈Rnx×1;Hk為觀測矩陣,Hk∈Rp×nx;wk為系統(tǒng)噪聲,wk∈Rnx×1,滿足wk∈N(0,Qk);Qk為系統(tǒng)噪聲的協(xié)方差矩陣,Qk∈Rnx×nx;vk為觀測噪聲,vk∈Rp×1,滿足vk∈N(0,Rk);Rk為觀測噪聲的協(xié)方差矩陣,Rk∈Rp×p。
傳統(tǒng)的卡爾曼濾波模型為[8]:
(3)
(4)
(5)
(6)
(7)
通過偏置最小無偏均方誤差估計卡爾曼濾波的輸出結(jié)果,便可得到在均方誤差條件下優(yōu)于傳統(tǒng)卡爾曼的有偏卡爾曼濾波[8]。有偏卡爾曼濾波的定義如下:
(8)
式中γ稱為偏參數(shù)。
文獻(xiàn)[7]推導(dǎo)出了偏參數(shù)是單變量形式的BKF,本文把偏參數(shù)擴(kuò)展到矩陣范圍,推導(dǎo)出偏參數(shù)是矩陣形式的BKF。矩陣形式的有偏卡爾曼定義為
(9)
=(Mk-I)xk
(10)
(11)
那么偏參數(shù)為矩陣形式的BKF的均方誤差(MSE)可以表示為
(12)
(13)
(14)
(15)
將式(15)代入式(13)得:
(16)
即偏參數(shù)取最優(yōu)時,在均方誤差條件下BKF要優(yōu)于KF。偏參數(shù)為矩陣形式的BKF完整公式為:
考慮N個傳感器以相同的采樣速率對系統(tǒng)進(jìn)行觀測。系統(tǒng)的測量方程為
(17)
擴(kuò)維融合的基本思路是將各傳感器的觀測值經(jīng)過擴(kuò)維處理組成一個新的觀測量[10]。擴(kuò)維有偏卡爾曼濾波算法流程如圖1所示。
圖1 擴(kuò)維有偏卡爾曼濾波
將所有的傳感器的量測寫成擴(kuò)維向量的形式,即:
(18)
(19)
(20)
擴(kuò)維后的測量噪聲方差為
(21)
新的觀測方程為
zk=Hkxk+wk
(22)
因此,式(1)和式(22)組成了一個新的系統(tǒng),再利用BKF算法便可得到擴(kuò)維BKF融合估計器。擴(kuò)維BKF的計算過程中涉及到矩陣求逆運(yùn)算,該類運(yùn)算的時間復(fù)雜度隨著矩陣維數(shù)增加而呈指數(shù)增長,當(dāng)融合中心傳感器數(shù)量較多時,時間復(fù)雜度會急劇增大,影響了中心處理器的的執(zhí)行速度,降低了算法的實用性。
圖2 序貫有偏卡爾曼濾波示意圖
(23)
(24)
再用N個傳感器進(jìn)行循環(huán)更新處理,其中,第j個傳感器的估計值和方差矩陣為:
j=1,2,…,N
(25)
(26)
完整的序貫BKF算法為:
j=1,2,…,N
KF擴(kuò)維融合估計均方誤差矩陣的Fisher信息形式可以寫為
(27)
同理BKF擴(kuò)維融合估計誤差協(xié)方差矩陣的Fisher信息形式可以寫為:
(28)
可以用歸納法得到序貫BKF融合k+1時刻的狀態(tài)估計及其均方誤差矩陣為:
(29)
(30)
算例1是以單傳感器為例驗證有偏卡爾曼在均方誤差條件下優(yōu)于傳統(tǒng)的卡爾曼濾波,假設(shè)線性系統(tǒng)狀態(tài)轉(zhuǎn)移矩陣為
(31)
觀測矩陣為
Hk=[1 1 1 1 1]
(32)
圖3 BKF和KF的均方誤差比較
表1 2種算法的均方誤差表
由圖3可以看出,在均方誤差條件下BKF要優(yōu)于KF。由表1可以看出,隨著觀測噪聲增大,BKF與KF的NMSE相差越大,也即BKF的優(yōu)勢越突出。
算例2中,為方便描述,選擇狀態(tài)轉(zhuǎn)移矩陣為
(33)
5個觀測器的觀測矩陣分別為:
(34)
觀測量為
(35)
圖4 4種估計的均方誤差比較
表2 仿真運(yùn)行時間和均方誤差表
觀察圖4和表2可以得出以下結(jié)論:
(1)從圖4可以看出擴(kuò)維KF和序貫KF的均方誤差要大于擴(kuò)維BKF和序貫BKF,說明前兩者的濾波結(jié)果與真實值相比有較大偏差,受系統(tǒng)測量誤差影響較大,后兩者均方誤差較小,濾波結(jié)果與真實值較為接近,即擴(kuò)維BKF和序貫BKF能夠有效消除系統(tǒng)誤差,提高融合精度。
(2)從表2中各算法NMSE的標(biāo)準(zhǔn)差可以看出,擴(kuò)維BKF和序貫BKF的NMSE的標(biāo)準(zhǔn)差比較小,即濾波結(jié)果的NMSE波動比較小,誤差表現(xiàn)比較平穩(wěn)。而擴(kuò)維KF和序貫KF的NMSE的標(biāo)準(zhǔn)差比較大。相比之下,在多傳感器的情況下,擴(kuò)維BKF和序貫BKF能夠獲得更高的狀態(tài)估計精度,能夠消除未知系統(tǒng)誤差對其造成的影響。
(3)從圖4可以看出,序貫BKF的均方誤差要優(yōu)于擴(kuò)維BKF的均方誤差,即對于多傳感器來說,序貫BKF要優(yōu)于擴(kuò)維BKF。
(4)從表2中各種算法的平均運(yùn)行時間可以看出,時間復(fù)雜度從高到低分別是序貫BKF、序貫KF、擴(kuò)維BKF、擴(kuò)維KF,由于濾波算法中存在矩陣求逆,所以隨著系統(tǒng)維數(shù)增加,擴(kuò)維融合和序貫融合算法之間的時間復(fù)雜度關(guān)系會發(fā)生變化。
在均方誤差條件下有偏卡爾曼的估計精度要優(yōu)于傳統(tǒng)的卡爾曼算法。針對多傳感器數(shù)據(jù)融合,推導(dǎo)出的擴(kuò)維有偏卡爾曼濾波和序貫有偏卡爾曼濾波算法,降低了單傳感器測量的不確定性。并且與傳統(tǒng)KF融合相比能進(jìn)一減小均方誤差,提高濾波精度,而且當(dāng)觀測噪聲越大,這種優(yōu)勢越明顯。