陳 兵,楊志坤,賈 睿,韓依萌,李 軍,陳 丹,丁 可
(1.重慶九洲星熠導(dǎo)航設(shè)備有限公司,重慶 400037; 2.四川九洲技師學(xué)院,四川 綿陽 621000)
完好性監(jiān)測最初來源于民用航空用戶對航空系統(tǒng)高可靠性的需求。在飛機(jī)進(jìn)離飛機(jī)場階段,飛機(jī)飛行的高度、所處的氣象條件及地理環(huán)境等因素都會導(dǎo)致飛行事故的發(fā)生,主要原因是缺乏完備可靠的完好性監(jiān)測服務(wù)。
1987年R.M.Kalafus首次提出了接收機(jī)自主完好性監(jiān)測(receiver autonomous integrity monitoring,RAIM)的概念(即一致性校驗冗余監(jiān)測技術(shù))并從理論上證明了故障檢測與故障識別所需的最少衛(wèi)星數(shù)[1]。1986年Lee提出了偽距比較法(range comparison method)[2],通過比較冗余數(shù)據(jù)的預(yù)測觀測值與實際觀測值來進(jìn)行故障檢測。同年Brown提出了基于卡爾曼濾波的RAIM算法[3]。1988年P(guān)arkinson提出了一種基于最小二乘的完好性監(jiān)測方法即最小二乘殘差(least squares residual, LSR)法[4],通過對觀測點偽距觀測方程進(jìn)行最小二乘估計,構(gòu)造偽距殘差,根據(jù)偽距殘差統(tǒng)計量的卡方分布特性計算檢測統(tǒng)計量及門限,從而判斷衛(wèi)星是否存在故障。同年,Sturza提出了奇偶空間矢量法(parity space vector method)[5],Sturza認(rèn)為基于偽距殘差矢量的一致性檢測中,殘差矢量中的4個分量之間存在一定的關(guān)聯(lián)性,其關(guān)聯(lián)性會掩蓋信息中的不一致部分,而通過奇偶變換可以消除這種關(guān)聯(lián)。算法主要思路是對系數(shù)矩陣進(jìn)行QR分解,使用奇偶矢量表示觀測量的粗差,從而可以簡單直觀地進(jìn)行粗差的檢測與識別。文獻(xiàn)[6]證明了上述三種方法具有等價性,且只適用于單星故障監(jiān)測,統(tǒng)稱為“快照”算法。Walter等人[7]提出了加權(quán)最小二乘RAIM算法,通過考慮觀測噪聲獲得的加權(quán)矩陣輔助最小二乘估計進(jìn)行故障檢測。高文寧等人[8]利用慣導(dǎo)的輔助數(shù)據(jù)設(shè)計了一種基于多級Kalman濾波的北斗接收機(jī)完好性監(jiān)測方案,給出了衛(wèi)星導(dǎo)航接收機(jī)的RAIM濾波器結(jié)構(gòu)與故障檢測和隔離方法,并對其可用性進(jìn)行了推導(dǎo)。該方案可有效檢測并隔離單星階躍、慢速漂移、慢速隨機(jī)等北斗衛(wèi)星偽距和偽距率故障,但算法復(fù)雜度高。楊傳森等人[9]考慮了偽距觀測模型線性化過程存在的截斷誤差和噪聲因素,提出了一種改進(jìn)的總體最小二乘RAIM算法,使得殘差更精確、數(shù)據(jù)更可靠,具有一定的可用性。隋葉葉等人[10]在分析了最小二乘殘差法和奇偶矢量法的原理和方法的基礎(chǔ)上,提出了一種基于最小二乘法構(gòu)造檢測統(tǒng)計量的奇偶矢量改進(jìn)方法,從而提高了算法運(yùn)行效率。王煜東等人[11]采用斜率加權(quán),根據(jù)衛(wèi)星特征斜率的大小構(gòu)建加權(quán)矩陣,實驗結(jié)果表明基于斜率加權(quán)的最小二乘法的故障檢測率優(yōu)于最小二乘法。
由于偽距定位精度的影響,基于偽距觀測量的完好性最高只適用于I類精密進(jìn)近[12],本文研究基于偽距觀測量的完好性算法。隨著機(jī)載對精密進(jìn)近的需求,特別是II/III類精密進(jìn)近,很多學(xué)者開始研究基于載波相位觀測量的完好性算法[13]。胡杰等人[14]提出了一種雙頻地基增強(qiáng)系統(tǒng)(ground based augmen-tation system,GBAS)的無碼載偏離載波相位平滑偽距算法,解決了單頻單星座GBAS無法滿足飛機(jī)III類精密進(jìn)近與著陸導(dǎo)航性能需求的問題,并且提升了系統(tǒng)的可用性。Li等人[15]提出使用雙差載波相位觀測量構(gòu)造星歷故障檢驗統(tǒng)計量的方法,該方法同時考慮了星歷故障的影響和無幾何模糊度解算失敗的影響,從而抑制了星歷故障監(jiān)測方法的虛警和漏檢誤差。實驗結(jié)果表明,該方法可以實現(xiàn)對A型和B型星歷故障[16]的實時監(jiān)測。
上述文獻(xiàn)大多數(shù)是從偽距殘差矢量進(jìn)行衛(wèi)星故障的探測,但由于偽距殘差矢量中各分量具有一定的關(guān)聯(lián)性,掩飾了某些重要的不一致性信息。因此,本文提出了一種新的基于奇異值分解的接收機(jī)自主完好性監(jiān)測(singular value decomposition to receiver autonomous integrity monitoring,SVD-RAIM)算法?;谄娈愔悼臻g矢量構(gòu)造能夠直接反映故障衛(wèi)星偏差信息的檢驗統(tǒng)計量,從而可以簡便地進(jìn)行粗差的監(jiān)測,更好地滿足完好性監(jiān)測的需求。鑒于實際中完好性故障包含運(yùn)控系統(tǒng)故障、導(dǎo)航系統(tǒng)故障、信號傳播異常以及地面接收處理故障等多類因素[17],仿真中以脈沖型和階躍型兩種故障方式進(jìn)行SVD-RAIM算法對故障檢測與識別的驗證,結(jié)果表明,所提出的方法能夠正確檢測、識別故障,在特定參數(shù)下能夠達(dá)到很好的故障識別率。
SVD-RAIM算法整體框架如圖1所示,主要由構(gòu)造檢驗統(tǒng)計量和衛(wèi)星故障檢測識別兩個部分構(gòu)成。
圖1 基于奇異值分解的接收機(jī)自主完好性監(jiān)測算法Fig.1 Receiver autonomous integrity monitoring algorithm based on singular value decomposition
(1)
由于每顆衛(wèi)星的觀測噪聲互不相關(guān),那么第n顆衛(wèi)星的噪聲協(xié)方差矩陣C可表示為
(2)
此時,W=C-1。
根據(jù)衛(wèi)星導(dǎo)航定位原理,偽距觀測方程可表示為
y=Hx+ε
(3)
其中,y為n×1維偽距觀測值的殘差矢量;n為可視衛(wèi)星數(shù);x為4×1維用戶狀態(tài)矢量,包括3個用戶接收機(jī)位置矢量修正數(shù)和1個接收機(jī)時鐘修正量;ε為n×1維觀測偽距噪聲矢量;在衛(wèi)星導(dǎo)航定位解算模型中,系數(shù)觀測矩陣H是由各衛(wèi)星到接收機(jī)視線軸的方向余弦矢量以及第4列全為1的常量組成。
對偽距觀測方程中的觀測系數(shù)矩陣H進(jìn)行奇異值分解(SVD),即H=UDVT,可得
y=UDVTx+ε
(4)
其中,U為n×n維正交矩陣;D為n×4維對角奇異值矩陣;V為4×4維正交矩陣,表示觀測系數(shù)矩陣H的特征矢量。
對式(4)兩邊左乘UT,可得
UTy=DVTx+UTε
(5)
(6)
(7)
其中,Up定義為奇異值空間矩陣;奇異值空間矢量p為觀測偽距噪聲矢量在奇異值空間矩陣Up上的投影矢量,能夠直接反映故障衛(wèi)星的偏差信息。
由式(7)可知,奇異值空間矢量p反映了故障衛(wèi)星的偏差信息,即觀測信息誤差,本文基于奇異值空間矢量構(gòu)造檢驗統(tǒng)計量,將奇異值空間矢量的數(shù)量積ppT作為檢驗統(tǒng)計量,進(jìn)行衛(wèi)星故障檢測。
式(7)中,觀測偽距誤差ε是通過奇異值空間矩陣Up的列向量反映到奇異值空間矢量上的,因此本文以ε和Up之間的幾何關(guān)系進(jìn)行衛(wèi)星的故障識別。
將奇異值空間矢量的數(shù)量積ppT作為檢驗統(tǒng)計量,那么加權(quán)奇異值空間矢量和WSSE可表示為pWpT,即
WSSE=pWpT
(8)
(9)
存在二元假設(shè)
(10)
在無衛(wèi)星故障時,檢測結(jié)果應(yīng)正常,若出現(xiàn)告警信息,則為誤警。給定誤警概率PFA,可確定門限值Td滿足
(11)
其中,fχ2(n-4)(x)表示自由度為n-4的卡方分布的概率密度函數(shù)。
(12)
檢測的目的是為了將檢測到的故障進(jìn)行更好的識別和剔除。本文采用巴爾達(dá)數(shù)據(jù)粗差探測方法。該探測方法認(rèn)為粗差衛(wèi)星是特征偏差線與奇異值空間矢量p重合的衛(wèi)星。本文為了最大化偏差的可見性,將p投影到Up的列矢量并進(jìn)行歸一化,從而得到識別檢驗統(tǒng)計量
τi=|pTUp,i|/(σ0|Up,i|)
(13)
(14)
已知PFA,可計算得到Tτ。將每個檢測統(tǒng)計量與Tτ比較,若τi>Tτ,則表明該衛(wèi)星有故障。
為了驗證SVD-RAIM算法在衛(wèi)星故障監(jiān)測中的有效性,使用IGS數(shù)據(jù)中心提供的觀測站數(shù)據(jù):brdc2000.06n、madr2000.06o和igs13843.sp3,總觀測歷元長度為2 850 s。圖2和圖3分別為觀測歷元內(nèi)GPS衛(wèi)星的可見性分布和可見衛(wèi)星數(shù)。從圖3可知,該觀測歷元內(nèi)衛(wèi)星數(shù)都大于等于6顆,滿足接收機(jī)自主完好性故障檢測和識別條件。
圖2 不同歷元下的可見衛(wèi)星分布Fig.2 The visible satellite distribution under different epochs
圖3 可見衛(wèi)星個數(shù)Fig.3 The number of visible satellite
圖4所示為無故障情況下的檢驗統(tǒng)計量與檢測限值。由圖4可以看出,整個觀測歷元內(nèi)檢測統(tǒng)計量總是低于檢測限值,即觀測過程不存在故障衛(wèi)星。本文檢測限值由式(11)與式(12)獲得,其中,誤警概率PFA設(shè)置為1×10-5/h。
圖4 無故障情況下的檢驗統(tǒng)計量與檢測限值Fig.4 The test statistics and the test value under the non-fault condition
實際中,接收機(jī)觀測量數(shù)據(jù)異常多體現(xiàn)在有異常跳點或者一段時間內(nèi)有較大誤差。因此,本文采用脈沖型和階躍型兩種故障模式進(jìn)行SVD-RAIM算法仿真驗證。
本文以觀測歷元內(nèi)的3號衛(wèi)星為例,在第200個歷元處引入幅值為15σ0的脈沖故障,即在原偽距觀測量上增加幅值為15σ0的異常值,使用SVD-RAIM算法得到故障檢測和故障識別結(jié)果分別如圖5和圖6所示。其中,衛(wèi)星可視狀態(tài)為當(dāng)前歷元可觀測到用于參與定位的衛(wèi)星數(shù)。
圖5 脈沖型故障:3號衛(wèi)星故障檢測結(jié)果Fig.5 The pulse fault: fault detection results of satellite 3
圖6 脈沖型故障:3號衛(wèi)星故障識別結(jié)果Fig.6 The pulse fault: fault identification results of satellite 3
本文在第200個歷元處加入脈沖故障,由圖5可以看出,在第200個歷元處檢驗統(tǒng)計量超出檢測門限,即此時出現(xiàn)衛(wèi)星故障,與本文設(shè)置故障歷元一致;圖6中相應(yīng)的識別檢驗統(tǒng)計量也超出識別門限,即此時識別出了故障衛(wèi)星。由此可以看出,本文所提算法對脈沖型故障具有很好的魯棒性。
以3號衛(wèi)星為例,在觀測的第200~450個歷元內(nèi)加入幅值為15σ0的階躍故障,使用SVD-RAIM算法得到階躍故障檢測與識別結(jié)果分別如圖7和圖8所示。
圖7 階躍型故障:3號衛(wèi)星故障檢測結(jié)果Fig.7 The step fault: fault detection results of satellite 3
圖8 階躍型故障:3號衛(wèi)星故障識別結(jié)果Fig.8 The step fault: fault identification results of satellite 3
如圖7所示,在第200~450個歷元處出現(xiàn)統(tǒng)計檢驗量超出檢測門限的情況,即在這段歷元內(nèi)存在故障衛(wèi)星;如圖8所示,識別統(tǒng)計量超出了識別門限,并成功識別出故障衛(wèi)星。由此可得,本文所提算法對階躍型故障具有很好的魯棒性。
偽距誤差σ0也會對故障的檢測與識別產(chǎn)生影響。當(dāng)可見星大于7顆時,分別引入15、20、25、30和35 m階躍故障(以3號衛(wèi)星為例,在觀測的第200~450個歷元內(nèi)加入相應(yīng)誤差的階躍故障)時,偽距誤差σ0對故障識別的影響如表1所示。
表1 σ0對故障識別的影響Table 1 The effect of σ0 on fault identification
從表1可以看出,當(dāng)誤警概率PFA設(shè)置為1×10-5/h、σ0為3 m、引入階躍故障誤差為20 m時,算法能夠?qū)崿F(xiàn)100%的故障識別率;當(dāng)誤警概率PFA設(shè)置為1×10-5/h、σ0為4 m、引入階躍故障誤差為25 m時,算法能夠?qū)崿F(xiàn)98.8%的故障識別率;當(dāng)誤警概率PFA設(shè)置為1×10-5/h、σ0為5 m、引入階躍故障誤差為30 m時,算法能夠?qū)崿F(xiàn)96%的故障識別率。其中,故障識別率為本方法檢測識別出的存在故障歷元個數(shù)與存在故障的歷元總數(shù)的比值??梢钥闯?本文算法在特定參數(shù)下能夠達(dá)到很好的故障識別率。
與2.2節(jié)中相同的運(yùn)行環(huán)境及參數(shù)設(shè)置情況下,針對傳統(tǒng)的基于奇偶矢量RAIM算法和本文所提方法進(jìn)行了仿真對比。測試主要從算法故障監(jiān)測性能方面進(jìn)行了兩種方法的驗證對比,其中,監(jiān)測引入故障采用階躍故障。實驗對比結(jié)果如圖9所示。
圖9 階躍型故障下兩種算法性能對比Fig.9 Performance comparision of two algorithm under step fault
圖9所示為階躍故障下,本文算法與奇偶矢量RAIM算法的性能對比。從比對結(jié)果可知,在故障檢測方面,相同故障檢測門限下,SVD-RAIM算法對故障異常檢測更敏感,對相同的故障偏差具有較大的檢測統(tǒng)計量,易于檢測。在故障識別上,兩種算法都能夠正確識別故障衛(wèi)星。
常見的完好性故障包含運(yùn)控系統(tǒng)故障、導(dǎo)航系統(tǒng)故障、信號傳播異常以及地面接收處理故障等,本文基于奇異值分解的RAIM算法系統(tǒng)分析了脈沖型和階躍型兩種故障模式下衛(wèi)星故障的檢測和識別。使用IGS數(shù)據(jù)中心提供的觀測站數(shù)據(jù)進(jìn)行算法仿真驗證,結(jié)果表明,基于奇異值分解的RAIM算法計算量小且能夠正確檢測和識別故障衛(wèi)星,算法在特定參數(shù)下能夠達(dá)到很好的故障識別率,滿足完好性監(jiān)測需求。本文只研究了算法在單星故障情況下的故障檢測,未來將繼續(xù)研究本文算法在雙星、多星故障、漸變故障以及基于載波相位的精密進(jìn)近方面的故障監(jiān)測性能。