唐璐楊,唐小妹,李柏渝,劉小匯
(國防科技大學(xué),電子科學(xué)學(xué)院,湖南 長沙 410073)
多源融合導(dǎo)航系統(tǒng)就是對各類導(dǎo)航源提供的導(dǎo)航信息進(jìn)行融合,旨在提高整個導(dǎo)航系統(tǒng)的精度、可靠性、魯棒性,實現(xiàn)更高效的導(dǎo)航服務(wù)。多源融合算法是多源導(dǎo)航系統(tǒng)的核心和研究重點(diǎn),其原理是將不同導(dǎo)航源的觀測信息,與系統(tǒng)內(nèi)已經(jīng)解算出來的載體狀態(tài)信息通過一定的融合方式進(jìn)行融合,形成載體當(dāng)前狀態(tài)的最優(yōu)或次優(yōu)的估計[1]。目前國內(nèi)外學(xué)者已經(jīng)提出多種多源融合算法,包括集中式卡爾曼濾波,動、靜態(tài)濾波,聯(lián)邦濾波,自適應(yīng)抗差融合濾波,人工神經(jīng)網(wǎng)絡(luò)和因子圖等,其算法特點(diǎn)各異,適用的融合條件各不相同。本文將常用的融合算法進(jìn)行分類整理,通過仿真分析,總結(jié)出各類融合算法的特點(diǎn)和適用場景,為多源融合系統(tǒng)的算法選擇和算法設(shè)計提供理論依據(jù)。
按照融合算法的結(jié)構(gòu)和融合算法的發(fā)展歷程,可將多源導(dǎo)航系統(tǒng)的融合算法分為三大類:集中式融合算法、并行式融合算法和序貫式融合算法,具體特征如表1所示。
表1 融合算法特征總結(jié)
最先應(yīng)用于多源融合導(dǎo)航系統(tǒng)的算法就是由Willner提出的集中式融合算法[2],各導(dǎo)航源將時空配準(zhǔn)后的觀測信息Z1,Z2,Z3,…,ZN,集中進(jìn)行導(dǎo)航處理和信息融合H,得到融合后的導(dǎo)航解X,其基本結(jié)構(gòu)如圖1所示。
由上圖可以得到集中式融合算法的表達(dá)式:
X=H(Z1,Z2,Z3,…,ZN).
(1)
集中式融合算法結(jié)構(gòu)簡單,并且可以在某些導(dǎo)航源的觀測信息缺乏時利用剩余導(dǎo)航源的觀測信息來進(jìn)行定位導(dǎo)航解算,由于其只融合了各導(dǎo)航源在當(dāng)前時間點(diǎn)的信息,當(dāng)某個導(dǎo)航源發(fā)生故障時,當(dāng)前異常的觀測值不會對以后的估計造成誤差累積,便于實現(xiàn)故障隔離。其代表性算法有卡爾曼濾波算法和人工神經(jīng)網(wǎng)絡(luò)等。
1.1.1 集中式卡爾曼濾波
Kalman使用一系列數(shù)學(xué)遞推公式對系統(tǒng)狀態(tài)進(jìn)行最優(yōu)估計,使系統(tǒng)狀態(tài)的估計值有最小均方誤差,這就是被廣泛應(yīng)用的卡爾曼濾波算法。但卡爾曼濾波需要假定系統(tǒng)的狀態(tài)噪聲與觀測噪聲均為高斯噪聲,并且只適用于有著線性觀測方程的線性控制系統(tǒng),而我們在實際中所遇到的問題卻經(jīng)常是非線性、非高斯的。因此出現(xiàn)了擴(kuò)展卡爾曼濾波、無跡卡爾曼濾波和粒子濾波等新型卡爾曼濾波算法[3-5]。
針對上述集中式卡爾曼濾波系列算法易發(fā)散、容錯性差的問題,學(xué)者們研究出了自適應(yīng)卡爾曼濾波算法,其中包括雙重遺忘卡爾曼濾波器[6]、基于新息的自適應(yīng)估計方法[7]和多模型自適應(yīng)估計方法[8]等。然而集中式卡爾曼濾波仍舊存在隨著觀測矩陣維數(shù)的增加,系統(tǒng)運(yùn)算量急劇增大,融合效率下降的問題。
1.1.2 人工神經(jīng)網(wǎng)絡(luò)
Pitts提出的神經(jīng)網(wǎng)絡(luò)模型開啟了人們對于人工神經(jīng)網(wǎng)絡(luò)的研究[9],而后學(xué)者們將人工神經(jīng)網(wǎng)絡(luò)應(yīng)用于信息融合技術(shù)并成功應(yīng)用于導(dǎo)航領(lǐng)域。人工神經(jīng)網(wǎng)絡(luò)將已知的系統(tǒng)狀態(tài)信息作為樣本進(jìn)行訓(xùn)練,然后把訓(xùn)練好的網(wǎng)絡(luò)作為已知網(wǎng)絡(luò),接著將導(dǎo)航源提供的信息作為輸入送入該網(wǎng)絡(luò),最后網(wǎng)絡(luò)輸出的就是融合后的導(dǎo)航解。
基于人工神經(jīng)網(wǎng)絡(luò)的融合算法具有較強(qiáng)的容錯性和自學(xué)習(xí)、自適應(yīng)能力,適用于非線性系統(tǒng),并且人工神經(jīng)網(wǎng)絡(luò)能將未知的信號通過學(xué)習(xí)推理,融合為系統(tǒng)能夠理解的準(zhǔn)確信號,進(jìn)一步擴(kuò)展了多源融合系統(tǒng)的適用場景,但人工神經(jīng)網(wǎng)絡(luò)需要事先對系統(tǒng)進(jìn)行大量的訓(xùn)練,運(yùn)算量大且實時性難以保證,多用于事后解算。
為了解決集中式算法計算效率低的問題,Speyer提出了分散濾波的思想[10],由此產(chǎn)生了并行式融合算法:在進(jìn)行信息融合之前,導(dǎo)航源先各自或者兩兩組合后在融合子系統(tǒng)中進(jìn)行并行的導(dǎo)航處理Hi,然后將各子系統(tǒng)輸出的局部導(dǎo)航解Xi進(jìn)行信息融合F,最后輸出融合導(dǎo)航解X,其基本結(jié)構(gòu)如圖2所示。
圖中Z1,Z2,Z3,…,ZN分別代表各子系統(tǒng)的觀測量,則并行式融合算法可表示為:
Xi=Hi(Zi),i=1,2,3,…,N,
(2)
X=F(X1,X2,X3,…,XN).
(3)
由圖2可以看出,并行式融合算法在信息融合前,各導(dǎo)航源的導(dǎo)航處理可以并行進(jìn)行,具有實時性強(qiáng)、融合算法負(fù)荷低的優(yōu)點(diǎn),而且各導(dǎo)航源可以采用不同的處理方式,各子系統(tǒng)之間是相對獨(dú)立的,因此并行式融合算法便于實現(xiàn)完好性監(jiān)測,其代表性算法有聯(lián)邦濾波和自適應(yīng)抗差融合濾波算法等。
1.2.1 聯(lián)邦濾波
Carlson提出的聯(lián)邦濾波算法被廣泛應(yīng)用于多源融合導(dǎo)航系統(tǒng)[11],其基本方法是:在各導(dǎo)航源中選擇一個信息全面、輸出速率高、可靠性有保證的導(dǎo)航源作為參考導(dǎo)航源,與其他導(dǎo)航源兩兩組合,進(jìn)行局部濾波,再將各局部濾波解與主濾波器按信息分享原理進(jìn)行融合,算法如圖3所示,其中,β為信息分配因子。
由圖3可以看出,聯(lián)邦濾波具有實時性強(qiáng),系統(tǒng)負(fù)荷少等優(yōu)點(diǎn);但聯(lián)邦濾波中各局部濾波器采用了相同的參考導(dǎo)航源,導(dǎo)致各濾波器輸出量之間不獨(dú)立,其解不具有嚴(yán)格性和最優(yōu)性;一旦參考導(dǎo)航源出現(xiàn)異常,將影響每個濾波器的性能,容錯性較差。
1.2.2 自適應(yīng)抗差融合濾波
為了提高并行式融合算法的容錯性,楊元喜提出了自適應(yīng)抗差濾波的理論,隨后出現(xiàn)了基于多傳感器觀測信息抗差估計的自適應(yīng)融合導(dǎo)航、基于多傳感器局部幾何導(dǎo)航結(jié)果的自適應(yīng)融合導(dǎo)航和基于方差分量估計的自適應(yīng)融合導(dǎo)航等融合算法[12],其基本方法為:先對各導(dǎo)航源的觀測信息實施抗差解算,提高系統(tǒng)的容錯能力,然后基于抗差解算提供較可靠的狀態(tài)初值,再對狀態(tài)方程進(jìn)行自適應(yīng)因子調(diào)節(jié),控制動力學(xué)模型的誤差影響,算法如圖4所示。
該算法的各局部導(dǎo)航解之間不相關(guān),融合導(dǎo)航簡單易解,可同時控制觀測異常和狀態(tài)預(yù)測異常的影響,具有很強(qiáng)的抗差性和容錯性,能夠解決各導(dǎo)航源之間信息合理分配的問題。但實現(xiàn)抗差解算需要導(dǎo)航源在同一時刻產(chǎn)生多個觀測值,所以當(dāng)導(dǎo)航源的觀測信息量不足時,無法進(jìn)行并行計算。
為了解決異步異構(gòu)導(dǎo)航源的信息融合和聯(lián)邦濾波中各濾波器之間不獨(dú)立的問題,學(xué)者們提出采用序貫式算法來進(jìn)行融合導(dǎo)航,算法首先將各導(dǎo)航源按照一定的順序進(jìn)行排列,然后依次將其觀測信息Z1,Z2,Z3,…,ZN輸入至融合子系統(tǒng),逐個進(jìn)行導(dǎo)航解算Hi,最后一個融合子系統(tǒng)的輸出即為融合結(jié)果X,其基本結(jié)構(gòu)如圖5所示。
由圖5可以得出序貫式融合算法的表達(dá)式:
X1=H1(Z1),
(4)
Xi=Hi(Xi-1,Zi),i=2,3,…,N-1,
(5)
X=HN(XN-1,ZN).
(6)
序貫式融合算法中各導(dǎo)航源的觀測量和子系統(tǒng)之間是完全獨(dú)立的,沒有相關(guān)性,因此能夠?qū)崿F(xiàn)最優(yōu)融合,但由于導(dǎo)航源的信息是逐次融合,向下傳遞,容易造成誤差累積,不利于完好性監(jiān)測和故障隔離。其代表算法有動、靜態(tài)濾波和基于因子圖的融合算法等。
1.3.1 動、靜態(tài)濾波
楊元喜提出了多源傳感器動、靜態(tài)濾波融合導(dǎo)航的理論[13],其基本方法是在第一個觀測歷元,基于動力學(xué)模型信息和第一個導(dǎo)航源的觀測信息進(jìn)行動態(tài)濾波,然后依次加入各導(dǎo)航源的觀測信息來進(jìn)行靜態(tài)濾波,最終得到全部導(dǎo)航源的融合解,其算法結(jié)構(gòu)與圖5基本一致。
當(dāng)出現(xiàn)導(dǎo)航源的進(jìn)入/退出時,動、靜態(tài)濾波算法只需增加/刪除相應(yīng)的靜態(tài)濾波過程即可實現(xiàn)下一步的融合,因此該融合算法能夠滿足多源融合系統(tǒng)關(guān)于即插即用性的要求。并且由于其狀態(tài)方程信息只在動態(tài)濾波階段使用,不用重復(fù)使用動力學(xué)模型信息,保證了融合解的最優(yōu)性。然而一旦某個導(dǎo)航源出現(xiàn)異常,誤差將會向下累積,導(dǎo)致系統(tǒng)的導(dǎo)航解誤差大。
1.3.2 基于因子圖的融合算法
因子圖是概率圖的一種,Dellaent和Kaess提出用因子圖的思想來代替擴(kuò)展卡爾曼濾波[14],隨后將因子圖應(yīng)用于多源融合導(dǎo)航系統(tǒng)?;谝蜃訄D的融合算法將各導(dǎo)航源的觀測信息設(shè)為不同的變量節(jié)點(diǎn)φ1,φ2,φ3,…,φN,各變量節(jié)點(diǎn)依次在函數(shù)節(jié)點(diǎn)f1,f2,f3,…,fN進(jìn)行局部融合,然后利用和積算法實現(xiàn)信息傳遞,最后輸出的結(jié)果即為融合后的導(dǎo)航解X,算法結(jié)構(gòu)如圖6所示。
由圖6可以看出,盡管基于因子圖的融合算法能夠處理異步異構(gòu)導(dǎo)航源的信息,可實現(xiàn)即插即用性,但仍存有誤差向下累積的問題。
為了驗證上述融合算法的性能,本文模擬了在三維勻速運(yùn)動下各類融合算法的解算過程,系統(tǒng)的運(yùn)動模型為
X=t,Y=2t,Z=t,
(7)
式中:t為運(yùn)動時間,共計1 000 s;X、Y和Z為系統(tǒng)在三維坐標(biāo)上的位置,單位為m,融合解算的周期為1 s.
采用三個相互獨(dú)立的導(dǎo)航源同時對上述運(yùn)動過程進(jìn)行三維位置觀測,采樣間隔為1 s,各導(dǎo)航源在三軸上的觀測噪聲方差陣分別為
導(dǎo)航源1:R1=diag[1,2,1];
導(dǎo)航源2:R2=diag[2,5,3];
導(dǎo)航源3:R3=diag[3,8,3].
系統(tǒng)狀態(tài)方差的初值為:P0=diag[0.1;0.1;0.1;1e-7;1e-7;1e-7]
系統(tǒng)的噪聲方差陣為:
式中: diag[]為對角矩陣;I為單位矩陣。
基于上述仿真條件,分別采用集中式卡爾曼濾波、并行式融合-反饋聯(lián)邦濾波和序貫式動、靜態(tài)濾波三種融合算法對系統(tǒng)進(jìn)行導(dǎo)航解算。
為了驗證三類融合算法的容錯性,在500 ~505 s時給導(dǎo)航源2在三軸方向上分別加入50 m的觀測誤差,其余仿真條件同上文一致,解算結(jié)果(以X方向為例)如圖7所示。
由圖7可以看出,但當(dāng)導(dǎo)航源2加入誤差后,集中式卡爾曼濾波造成誤差最大且最慢收斂,聯(lián)邦濾波的容錯性次之,動、靜態(tài)濾波的容錯性最好。
為了驗證三類融合算法的即插即用性,設(shè)置前800 s各導(dǎo)航源正常工作,800 s后導(dǎo)航源3退出導(dǎo)航系統(tǒng),無觀測量輸出,三種算法的解算結(jié)果(以X方向為例)如圖8所示。
由圖8可以看出,當(dāng)導(dǎo)航源3無觀測量輸出后,集中式卡爾曼濾波算法和并行式聯(lián)邦濾波算法均無導(dǎo)航解輸出,但序貫式動、靜態(tài)濾波算法仍然可以利用導(dǎo)航源1和導(dǎo)航源2的觀測量進(jìn)行正常解算,能夠?qū)崿F(xiàn)即插即用性。
進(jìn)行一次集中式卡爾曼濾波算法所需的乘法運(yùn)算次數(shù)為
3n3+(1+m)n2+(2m2+2m)n-
(8)
所需的加法運(yùn)算次數(shù)為
3n3+(2m-1)n2+(m2-1-2m)n+
m2+m3,
(9)
式中:n為狀態(tài)向量的維數(shù);m為觀測向量的維數(shù)[15]。
由于三種融合算法均以卡爾曼濾波算法為基礎(chǔ),則可用集中式卡爾曼濾波算法的運(yùn)算次數(shù)來計算三種融合算法的系統(tǒng)運(yùn)算時間。假設(shè)系統(tǒng)狀態(tài)向量的維數(shù)為6,每個導(dǎo)航源觀測向量的維數(shù)為3,進(jìn)行一次乘法運(yùn)算和加法運(yùn)算分別需要15 μs和5 μs,則三種融合算法的運(yùn)算時間如圖9所示。
由圖9可以看出,當(dāng)導(dǎo)航源數(shù)目較少,三種融合算法的計算量相當(dāng);當(dāng)導(dǎo)航源數(shù)目較多時,聯(lián)邦濾波算法的實時性最強(qiáng),動、靜態(tài)濾波算法次之,集中式卡爾曼濾波算法的實時性最差。
由以上分析可見,集中式融合算法結(jié)構(gòu)簡單,易于實現(xiàn),但導(dǎo)航源數(shù)目的增加會導(dǎo)致算法維數(shù)的增加,系統(tǒng)運(yùn)算量也隨之增加,從而導(dǎo)致融合效率下降,適用于導(dǎo)航源數(shù)目較少且導(dǎo)航源可靠性較強(qiáng)的應(yīng)用場景;并行式融合算法由于采用了并行濾波的結(jié)構(gòu),能夠大大縮小系統(tǒng)處理時間,但容錯性較差,適用于硬件可大規(guī)模并行運(yùn)算且實時性要求高的應(yīng)用場景;序貫式融合算法無需進(jìn)行時間配準(zhǔn),容錯性強(qiáng),可實現(xiàn)異步異構(gòu)導(dǎo)航源的融合,但容易造成誤差累積,適用于導(dǎo)航源信息可靠、對即插即用性要求較高的應(yīng)用場景。
由于理論水平和技術(shù)條件的限制,各類融合算法均存有不足,目前沒有一類融合算法能夠完全滿足多源融合導(dǎo)航系統(tǒng)的要求,因此可根據(jù)實際需求,結(jié)合應(yīng)用場景來選擇融合算法。從各類融合算法的發(fā)展歷程可以看出,融合算法囊括了數(shù)學(xué)、物理學(xué)、生物學(xué)甚至心理學(xué)等多個學(xué)科的思想,因此多源融合導(dǎo)航算法不能局限于常規(guī)的定位導(dǎo)航算法,需不斷吸收其他學(xué)科的精華,取長補(bǔ)短,相互促進(jìn),通過學(xué)科之間的相互交叉產(chǎn)生新理論新方法,從而提供全時間全空間高精度高可靠的定位、導(dǎo)航和授時服務(wù),這也是未來多源融合導(dǎo)航系統(tǒng)的發(fā)展趨勢。