姜穎穎, 潘樹國, 葉 飛, 高 旺, 馬 春, 王 浩
(東南大學儀器科學與工程學院, 江蘇 南京 210096)
全球導航衛(wèi)星系統(tǒng)(global navigation satellite systems, GNSS)/慣性導航系統(tǒng)(inertial navigation system, INS)組合導航因其精度較高、可靠性好及適應性強等特點,已在航空航天、鐵路運輸?shù)戎T多領域得到了廣泛應用。然而,時鐘漂移、衛(wèi)星軌道建模和電離干擾等因素增大了組合導航中衛(wèi)星的原始偽距觀測量發(fā)生緩變故障的可能性。該類故障在發(fā)生時幅值較小且持續(xù)時間長,早期很難被察覺,從而嚴重影響系統(tǒng)的可靠性和穩(wěn)定性。因此,研究如何及時、有效地檢測緩變故障這一問題具有十分重要的現(xiàn)實意義。
目前用于組合導航衛(wèi)星故障檢測的方法主要有以下兩類:“快照”法和“連續(xù)”法,其中“快照”檢測法只利用當前歷元信息,而“連續(xù)”法基于歷史觀測信息。典型的“快照”法包括殘差卡方檢測法(residual chi-square test method, RCTM)、多解分離法(multiple solution separation, MSS)等。其中,RCTM只對幅值較大的突變故障檢測有效。MSS法可有效檢測緩變故障,但是計算成本較高。而對于“連續(xù)”法,自主完好性監(jiān)測外推法(autonomous integrity monitoring extrapolation, AIME)和最優(yōu)故障檢測法(optimal fault detection, OFD)是兩種等效方法,且都能夠適用于緩變故障檢測的場景,但OFD工程實現(xiàn)復雜。另外,文獻[13]指出,相比于其他故障檢測方法,AIME更適合用于組合導航系統(tǒng)的緩變故障檢測。然而,濾波器的故障跟蹤作用會降低AIME算法對緩變故障檢測的敏感性。為了解決該問題,文獻[19]提出基于抗差擴展卡爾曼濾波(robust extended Kalman filter, REKF)的緩變故障檢測法,實驗表明該方法能夠提高系統(tǒng)對緩變故障的檢測能力。文獻[20]利用標準化新息構造抗差增益陣,削弱了故障跟蹤對緩變故障檢測的不利影響。但是,上述抗差估計中的等效權函數(shù)大都是基于正態(tài)分布統(tǒng)計量構造的,并沒有充分利用多余觀測信息,因此在一定程度上限制了系統(tǒng)的抗差性能。本文將該類基于正態(tài)分布的REKF方法記為REKF-N。另外,傳統(tǒng)AIME法利用卡爾曼濾波在外推過程中的新息序列構造緩變故障檢測統(tǒng)計量。因此,在緩變故障結束后,系統(tǒng)會發(fā)生一段時間的虛警現(xiàn)象,從而導致定位結果精度下降。文獻[22]基于層次濾波器設計了一種改進型AIME-RCTM的聯(lián)合故障檢測算法,通過判斷RCTM檢驗統(tǒng)計量的狀態(tài)是否滿足上一時刻有故障而當前時刻無故障的條件,對緩變故障結束時刻進行判定。然而,在緩變故障結束前,RCTM檢驗統(tǒng)計量若沒能超出檢測門限,該判定方法則失效。
本文為解決由常規(guī)擴展卡爾曼濾波器(extended Kalman filter, EKF)的故障跟蹤導致的緩變故障檢測延遲問題,設計了一種改進的REKF。該方法利用當前歷元下所有衛(wèi)星觀測值對應的新息構造服從標準分布的統(tǒng)計量,然后基于IGG-Ⅲ (Institute of Geo-desy & Geophysics Ⅲ)方案自適應卡爾曼增益陣,提升AIME算法對緩變故障檢測的靈敏度。同時,為了應對AIME因累積作用導致系統(tǒng)在緩變故障結束后仍會出現(xiàn)虛警的問題,本文對常規(guī)AIME算法加以改進。結合AIME對系統(tǒng)狀態(tài)的判定,定義了用作緩變故障結束時刻判定基本元素的統(tǒng)計量。然后,在AIME檢測出系統(tǒng)存在緩變故障的情況下,利用樣本分位數(shù)原理對序列進行異常值檢驗,從而判斷緩變故障結束時刻。仿真結果證明了所提方法的有效性。
GNSS/INS緊組合導航系統(tǒng)的狀態(tài)分別由慣導系統(tǒng)和衛(wèi)星系統(tǒng)兩部分的誤差狀態(tài)組成。同時,GNSS的偽距和INS的觀測量是組合系統(tǒng)的輸入。濾波器中的狀態(tài)向量共17維,具體定義為
(1)
EKF的狀態(tài)方程和量測方程分別為
=(-1)-1+-1
(2)
=()+
(3)
式中:是狀態(tài)向量;(-1)表示從歷元-1到的狀態(tài)轉移矩陣;為觀測向量;(·)表示狀態(tài)和觀測之間的非線性關系;是歷元的過程噪聲向量;為歷元的觀測噪聲向量,其中,相互獨立,且兩者均服從零均值的高斯分布,協(xié)方差矩陣分別用和表示。
預測和更新是EKF算法的兩個重要組成部分。
(1) 預測
(4)
(2) 更新
(5)
式中:符號“^”表示狀態(tài)的估計;表示新息,是計算緩變故障檢測統(tǒng)計量的基本元素;下標(-1)為從歷元-1轉移到;狀態(tài)估計的誤差協(xié)方差矩陣用表示;是卡爾曼增益矩陣;表示非線性矢量函數(shù)(·)的雅克比矩陣。
另外,新息的協(xié)方差矩陣用符號表示:
(6)
在EKF中,由于新息包含了量測的全部信息,并且對異常的觀測值極為敏感,因此新息是進行緩變故障檢測的重要元素。AIME的主要思想就是利用卡爾曼濾波在外推過程中的新息序列構造故障檢測統(tǒng)計量,然后基于假設檢驗原理判斷系統(tǒng)是否存在緩變故障。
外推法的故障檢測統(tǒng)計量為
(7)
(8)
平均新息的表達式為
(9)
式中:表示新息序列的窗口長度。新息外推法就是利用多個歷元(歷元+1-到當前歷元)新息序列的加權累加以提高對緩變故障的檢測能力。
由假設檢驗理論可知:
其中,是自由度為的卡方分布非中心參數(shù),表示可視星的數(shù)量;Th為故障檢測的門限值:
(10)
式中:表示故障檢測的誤警概率;(|)表示自由度為的中心卡方分布累積分布函數(shù)。誤警率的確定與應用場景相關,本文取誤警率=8×10。由式(10)可知,門限值僅取決于卡方分布的自由度和系統(tǒng)設定的誤警率。
當組合導航中的衛(wèi)星偽距發(fā)生緩變故障時,EKF的故障跟蹤現(xiàn)象會導致作為緩變故障檢測重要元素的新息無法如實地跟蹤到故障幅值的變化情況,從而延長外推法對緩變故障的檢測延遲時間。而REKF能夠通過自適應增益陣減弱發(fā)生緩變故障的觀測值對狀態(tài)估計的影響,這有利于對緩變故障進行及時檢測。本文提出基于標準分布的REKF算法,并將其記為REKF-。該方法設計的大致思路為:利用當前歷元下所有衛(wèi)星觀測值對應的新息構造服從標準分布統(tǒng)計量,然后基于IGG-Ⅲ方案自適應卡爾曼增益陣。由于在卡爾曼濾波更新過程中可以直接獲得新息,因此基于新息計算等價權矩陣相比傳統(tǒng)抗差陣的構造更為直接,簡化了計算過程。另外,分布統(tǒng)計量的設計充分利用多余觀測信息并引入自由度指標適時調整臨界值,因此系統(tǒng)的抗差性能得以提升。
REKF與 EKF的最大區(qū)別在于濾波增益矩陣的構造。REKF-算法中的抗差增益陣為
(11)
(12)
式中:臨界值,分別取(-2)分布顯著性水平為,的分位數(shù);是觀測值對應新息的標準化分布統(tǒng)計量,可通過當前歷元的新息向量和其對應的協(xié)方差矩陣計算:
(13)
(14)
由于傳統(tǒng)外推法利用多歷元觀測信息累積檢測緩變故障,因此在緩變故障結束后,系統(tǒng)會發(fā)生一段時間的虛警現(xiàn)象,影響定位結果精度?;诖?本文提出一種基于樣本分位數(shù)的改進AIME算法。在對AIME和RCTM故障檢測法進行理論分析的基礎上,將兩者故障檢測統(tǒng)計量的比率定義為新的統(tǒng)計量,并將其用作緩變故障結束判定的基本元素,利用樣本分位數(shù)原理對序列進行異常值檢測,從而判定緩變故障的結束時刻。
2.2.1統(tǒng)計量的定義
當EKF收斂到一個相對穩(wěn)定的狀態(tài),在給定時間窗口內,新息的協(xié)方差矩陣可視為不變的常矩陣?;诖?在歷元下,AIME算法便轉化為以下形式:
(15)
(16)
(17)
相應RCTM的單歷元卡方統(tǒng)計量為
(18)
(19)
結合緩變故障的特點,即隨著時間的推移,故障的幅值越來越大,其變化為一個隨著時間累積的慢變增加過程。根據(jù)式(19),在故障的緩慢變化過程中,值應在一個固定的范圍內波動。然而,當緩變故障結束時,由于AIME法的累積效應,此時的故障檢測統(tǒng)計量通常無法快速降低到門限以下,不會發(fā)生顯著變化。同時,由于RCTM統(tǒng)計量的計算僅依賴于當前歷元的觀測信息,所以該統(tǒng)計值在此時會迅速減小至系統(tǒng)未發(fā)生故障時的范圍。RCTM中卡方統(tǒng)計值的變化導致值發(fā)生較大抖動,破壞了序列相對穩(wěn)定的狀態(tài)。由以上分析可知,序列出現(xiàn)異常值的時刻即對應緩變故障的結束時刻。結合AIME對系統(tǒng)狀態(tài)的判定結果,本文將統(tǒng)計量具體定義為一個分段形式。
在歷元,統(tǒng)計量可用下式計算:
(20)
222 樣本分位數(shù)原理和緩變故障結束時刻的判定
樣本分位數(shù)法是進行異常值檢測最常用的方法之一。樣本分位數(shù)是指針對沒有分布先驗信息的總體數(shù)據(jù),在給定的概率(0<<1)下,若存在對應的,使(>)=,則為總體的上側分位數(shù)。特別地,當=50%時,對應的樣本分位數(shù)是樣本中所有數(shù)據(jù)從小到大排列后的第50%的數(shù)值,即樣本的中位數(shù)。
假設系統(tǒng)在歷元檢測到緩變故障,利用樣本分位數(shù)原理判斷緩變故障結束時刻(異常值檢測)的步驟如下。
AIME算法檢測到緩變故障后,計算后續(xù)各歷元相應的值,生成數(shù)據(jù)樣本:
(21)
設置時間序列窗口長度。的選取與所使用的樣本分位數(shù)類型和AIME算法中的滑窗長度有關。過大的窗口可能會導致計算窗口內的樣本分位數(shù)時對異常值發(fā)生漏檢,窗口過小則喪失了統(tǒng)計樣本分位數(shù)的意義。本文取窗口長度=3 s。
將序列轉換為固定時間窗口的多個時間序列片段():
(22)
對每個時間序列片段進行樣本分位數(shù)提取。結合統(tǒng)計量的特點,本文取=50%,即()中每個片段的中位數(shù)。由樣本分位數(shù)組成的數(shù)據(jù)序列:
=[,+1,…,+,…]
(23)
將窗口內的數(shù)據(jù)與提取的樣本分位數(shù)分別作差,得到序列Δ():
(24)
223 改進的AIME算法
(1) 算法的設計基于樣本分位數(shù)統(tǒng)計方法;
(2) 數(shù)據(jù)樣本()容量充足,是算法能夠正常使用的前提;
(3) 樣本稀疏可能導致算法的判定性能下降,甚至失效。
圖1 基于REKF-t和改進AIME的緩變故障檢測流程圖Fig.1 Flowchart of detection of slowly growing fault based on REKF-t and improved AIME
為證明本文所提方法的有效性,利用仿真數(shù)據(jù)進行實驗,驗證本文所提方法對緩變故障的檢測效果。在實驗過程中,假設慣導正常工作,僅考慮衛(wèi)星偽距發(fā)生緩變故障的情況。
系統(tǒng)仿真條件設置:在GNSS/INS緊組合導航系統(tǒng)中,假設陀螺隨機常值漂移為[-0.000 9°/h;0.001 3°/h;0.000 8°/h],加速度計隨機常值漂移為[30 μ;-45 μ;26 μ];GNSS偽距噪聲為2.5 m,衛(wèi)星可見數(shù)為8顆,編號分別為1~8,輸出頻率為1 Hz。飛機的飛行軌跡如圖2所示。飛行歷時418 s,其中包括兩次45°的轉彎和一次500 m的爬升??紤]到計算復雜性,取窗口長度=10 s。另取顯著性水平=0.1,=0.01。
圖2 飛機的仿真飛行軌跡Fig.2 Simulated trajectory of the aircraft
緩變故障的數(shù)學模型:
(25)
式中:表示緩變故障的速率;表示發(fā)生故障后衛(wèi)星偽距觀測值。
3.2.1 發(fā)生緩變故障的衛(wèi)星新息
在151~299 s歷元內向衛(wèi)星1加入速率為0.15 m/s的緩變故障。圖3給出由EKF和本文提出的REKF-兩種濾波算法計算的衛(wèi)星1新息值的變化情況。由圖3可知,當系統(tǒng)存在故障時,EKF算法因受故障跟蹤的影響,計算出的衛(wèi)星1新息值低于理想的新息值。而在相同的故障場景下,REKF-算法能夠明顯改善故障跟蹤的影響。仿真結果表明,在歷元299 s利用REKF-計算的衛(wèi)星1新息值可以達到22.5 m左右。因此,在緩變速率為0.15 m/s的故障場景下,使用REKF-算法能夠使發(fā)生故障的衛(wèi)星新息值反映出實際加入的緩變故障幅值。
圖3 衛(wèi)星1在EKF和REKF-t下的新息值(0.15 m/s)Fig.3 Innovations of satellite 1 under EKF and REKF-t (0.15 m/s)
為驗證本文所提算法對不同變化速率緩變故障的衛(wèi)星新息值的校正效果,在151~299 s歷元內向衛(wèi)星1分別加入速率為0.1 m/s,0.15 m/s和0.25 m/s的緩變故障。圖4給出不同緩變速率下基于REKF-計算的衛(wèi)星1的新息值。仿真結果表明,在不同的緩變故障速率下,基于本文所提的REKF-算法都能夠使得發(fā)生故障的衛(wèi)星新息值跟蹤到實際加入的緩變故障。
圖4 衛(wèi)星1在不同故障速率下的新息值(REKF-t)Fig.4 Innovations of satellite 1 at different fault rates (REKF-t)
3.2.2 緩變故障檢測統(tǒng)計量
為了驗證本文所提方法能夠改善常規(guī)AIME算法的緩變故障檢測延遲現(xiàn)象,在151~299 s歷元內向衛(wèi)星1加入速率為0.1 m/s的緩變故障。圖5給出3種故障檢測方案的變化曲線,Th為檢測門限。當檢測統(tǒng)計值超過門限,系統(tǒng)則被判定存在緩變故障。方案1為EKF聯(lián)合常規(guī)AIME故障檢測法;方案2為文獻[20]中REKF-N聯(lián)合常規(guī)AIME故障檢測法;方案3為本文所設計的 REKF-聯(lián)合改進AIME故障檢測法,在圖中分別用M1、M2和M3表示。由圖5可知,方案3的故障檢測方法最先檢測出故障,方案1和方案2則滯后于該算法。同時,方案2先于方案1發(fā)現(xiàn)故障。仿真結果表明,對于發(fā)生在151~299 s歷元內變化速率為0.1 m/s的緩變故障,3種方案分別在235 s、231 s和229 s檢測到緩變故障。方案2與基于EKF的聯(lián)合AIME算法相比,故障檢測延遲時間縮短4 s,而方案3則提前6 s檢測到緩變故障的存在。
圖5 故障速率為0.1 m/s的檢測統(tǒng)計值的變化曲線Fig.5 Change curves of test statistics at 0.1 m/s fault rate
為了驗證本文所提算法對緩變故障的檢測效果,分別對不同變化速率的緩變故障進行了檢測。圖6給出緩變故障速率為0.15 m/s和0.25 m/s場景下3種方案對應的故障檢測統(tǒng)計值,分別用虛線和實線表示兩種速率的檢測統(tǒng)計值變化。與檢測緩變速率為0.1 m/s的故障場景結果相仿,方案3的故障檢測統(tǒng)計值先于方案1和方案2超過門限,并且緩變速率越大,對應的檢測統(tǒng)計值變化越快,系統(tǒng)越容易檢測到緩變故障的存在。
圖6 故障速率0.15 m/s和0.25 m/s下檢測統(tǒng)計值的變化曲線Fig.6 Change curves of test statistics at 0.15 m/s fault rate and 0.25 m/s fault rate
表1給出0.1 m/s,0.15 m/s和0.25 m/s 3種不同故障變化率下3種故障檢測方案所對應的延遲時間的對比。由表1可以看出,緩變故障的變化速率越大,算法越容易檢測出故障的存在,故障檢測的延遲時間也就越短。在相同速率的緩變故障下,方案2和方案3先于方案1檢測到故障,方案3提前于方案2發(fā)現(xiàn)緩變故障。另外,在3種緩變故障場景下,相較于方案1,方案2分別提前了4 s,3 s和1 s檢測到緩變故障,而方案3則分別提前了6 s,5 s,3 s。通過比較可以發(fā)現(xiàn),相較于速率相對大的緩變故障,使用方案3檢測變化速率較小的緩變故障效果更優(yōu)。但是,當緩變故障的速率相對較大時,方案3的檢測性能卻有所下降,但總是先于方案2檢測到緩變故障。對于變化速率較大故障的及時檢測,將在下一步研究工作中展開。
表1 3種檢測方案延遲時間比較Table 1 Comparison of delay time under three fault detection schemes s
通過3種緩變故障場景的仿真實驗分析可知,相較于EKF聯(lián)合AIME和REKF-N聯(lián)合AIME兩種故障檢測法,本文設計的故障檢測方案對緩變故障更敏感,相應的故障檢測延遲時間更短。由此證明,本文提出的方法對組合導航系統(tǒng)衛(wèi)星緩變故障及時檢測具備有效性。
3.2.3 緩變故障結束時刻的判定
為了證明改進的AIME法能夠準確判定緩變故障的結束時刻,本文設計兩類仿真場景進行相關實驗。場景1:故障區(qū)間相同而變化速率不同;場景2:變化速率相同而故障區(qū)間不同。由于方案1(M1)和方案2(M2)都使用常規(guī)AIME算法,為了避免重復比較,在該部分僅對比分析M1和M3的結果。
(1) 場景1:同一故障區(qū)間,不同緩變速率
設置故障區(qū)間為151~299 s歷元,緩變故障速率分別為0.1 m/s,0.15 m/s和0.25 m/s。本文以變化速率為0.15 m/s的緩變故障為例,分析基于樣本分位數(shù)原理的改進AIME算法工作流程。整個飛行過程的序列如圖7(a)所示。在AIME未檢測到緩變故障前,系統(tǒng)的值始終為1。在199 s時,AIME算法檢測到緩變故障的存在,此后的序列大致穩(wěn)定在一個固定的范圍,直至算法得到緩變故障的結束時刻。由此可證明在給定的時間窗口內,AIME與相應的RCTM統(tǒng)計量之間呈近似線性關系的結論。具體的理論分析可見第2.2節(jié)。由圖7(a)可知,系統(tǒng)在199 s檢測到緩變故障的存在,因此中位數(shù)提取將從歷元201 s開始。各時間序列窗口內的50% 樣本分位數(shù)提取曲線如圖7(b)所示。仿真結果表明,中位數(shù)序列變化平穩(wěn),基本不受異常值的干擾。
圖7 0.15 m/s故障速率下改進AIME算法的工作流程Fig.7 Workflow of improved AIME algorithm at 0.15 m/s fault rate
將原始數(shù)據(jù)與圖7(b)中的中位數(shù)序列作差,結果如圖7(c)所示。當差值大于閾值時,則認為該數(shù)據(jù)為異常值,即可判定對應的歷元為緩變故障結束時刻。圖7(c)中,紅色實線表示閾值,黑色虛線表示差值。由圖7(c)可知,在歷元199~299 s,黑色曲線始終處在紅色閾值曲線之下;在歷元300 s處,差值激增,迅速超出閾值。根據(jù)判別機制,300 s為緩變故障結束時刻。
按照同樣的方法分別對速率為0.1 m/s和 0.25 m/s的緩變故障結束時刻進行判定。圖8給出3種不同變化速率下故障檢測統(tǒng)計值在故障結束時刻附近的變化曲線。由圖8可以看出,緩變速率越大,基于常規(guī)AIME檢測法導致系統(tǒng)發(fā)生虛警的現(xiàn)象越明顯。仿真結果表明,改進的AIME算法在同一故障區(qū)間、不同變化速率的3種故障場景下均能夠準確判定故障的結束時刻,并且在故障結束后的10個歷元內使用RCTM故障檢測機制,同時在第310 s歷元后恢復AIME檢測算法的使用。
圖8 兩種故障檢測方案在不同緩變速率下故障結束時刻對比圖Fig.8 Comparison diagram of ending time of different fault rates under two fault detection schemes
(2) 場景2:同一緩變速率,不同故障區(qū)間
為了進一步分析改進AIME算法對緩變故障結束時刻的敏感性,以緩變速率為0.15 m/s的故障場景為例,將故障結束時刻分別設為250 s和280 s進行實驗,相關參數(shù)設置不變。
圖9 不同故障結束時刻的差值曲線Fig.9 Difference curves of different ending time of faults
圖10 兩種故障檢測方案在0.15 m/s緩變速率下不同故障結束時刻對比圖Fig.10 Comparison diagram of different ending time of 0.15 m/s fault rates under two fault detection schemes
通過分析利用樣本分位數(shù)原理對緩變故障結束時刻的判定過程,以及比較相同故障區(qū)間不同變化速率以及相同變化速率不同故障區(qū)間兩種情形的實驗結果,可以得出:在數(shù)據(jù)樣本充足的情況下,本文提出的改進方法對組合導航系統(tǒng)緩變故障結束時刻能夠進行準確判定且緩變速率相同時,故障持續(xù)時間越長,判定性能越好。
(1) 本文提出的REKF-算法構造簡單,臨界值可變,能夠有效緩解EKF的故障跟蹤影響;
(2) 在相同的緩變故障場景下,相比于其他兩種方案,基于REKF-的檢測法能夠率先覺察到故障的存在,可明顯縮短檢測延遲時間。實驗結果表明,當緩變速率為0.1 m/s,0.15 m/s和0.25 m/s時,故障檢測延遲時間分別縮短了6 s,5 s和3 s;
(3) 本文設計的改進AIME算法實現(xiàn)了對緩變故障結束時刻的正確判斷,及時避免了傳統(tǒng)AIME方法因累積效應而導致的虛警問題。