高 威, 李亞峰, 王可東,*
(1. 北京航空航天大學宇航學院, 北京 102206; 2. 北京信息科技大學自動化學院, 北京 100192)
全球衛星導航系統(global navigation satellite system,GNSS)和捷聯慣性導航系統(strapdown inertial navigation system,SINS)具有很強的互補性,將二者組合之后能夠取得比任一單獨系統更好的效果,因此GNSS/SINS組合導航系統得到了工程上的廣泛應用和學術界的深入研究[1]。
根據組合信息融合程度的不同,GNSS/SINS組合導航系統分為松組合、緊組合和深組合3種,其中深組合根據接收機跟蹤環路結構的不同,又分為標量深組合(超緊組合)和矢量深組合兩種形式[2]。超緊組合具備提升GNSS接收機動態性能的能力,這是松組合和緊組合無法實現的[3],同時相比于矢量深組合,其在工程上更易于實現,系統更易于保持穩定,是實際應用中最理想的深組合導航架構。
目前國內外關于超緊組合方面的研究大多著眼于環路的架構和濾波器設計等理論問題,例如文獻[4]提出了將超緊組合下I/Q量測作為濾波器觀測量時的模型線性化方法,在一定程度上克服了鑒相器非線性的問題;文獻[5]將改進的強跟蹤平方根容積卡爾曼濾波應用到組合導航中,以解決GNSS和SINS采樣率不同的問題;文獻[6,7]使用深度神經網絡嘗試處理傳統濾波器非線性或者GNSS不可用時的組合策略問題;文獻[8]引入因子圖這一工具,描述組合導航中的狀態轉換機制,以提升組合系統運行的魯棒性。
然而,算法理論的研究只是超緊組合導航問題的一小部分。由于GNSS接收機本身是一個高速運算和低速運算并存、硬件結構和軟件結構并重的復雜系統,超緊組合的架構特點決定了需要打開GNSS接收機的捕獲跟蹤環路,并對其進行重新設計,這為超緊組合技術走向工程應用帶來了巨大的挑戰。因此,在算法原理的設計到硬件化工業產品之間,實現具備完整功能的信號級超緊組合解算平臺不僅具有承上啟下的意義,也是其中最為關鍵和困難的一步。
多年來,也有許多國內外學者為此開展了相關工作。AKOS等人[9]在GNSS軟件接收機程序設計方面做出了許多貢獻,早些年基于全球定位系統(global positioning system, GPS)設計的單頻后處理軟件接收機平臺在初學者中頗受歡迎[10],并在后續加入了矢量跟蹤模塊,完整實現了整個矢量接收機的軟件設計工作;Xu等人[11]基于此設計了開源Matlab版本的矢量跟蹤接收機,并在城市建筑和橋梁等場景下做了實驗和測試。Liu等人[12]對比了矢量和標量跟蹤接收機在實時性和性能方面的優劣,并為在嵌入式平臺上實時應用矢量跟蹤算法提出了衛星位置解算優化方法和異步觀測差值的方法,使得超緊組合算法硬件化進程又前進了一步。Yang等人[13]完成了基于緊組合濾波模型和SINS速度輔助載波環路的GNSS/SINS超緊組合開源Matlab軟件方案,并基于車載實驗驗證了整個系統的功能性,不過該軟件方案仍然缺乏中頻數據模擬、多模多頻等功能,距離真正的面向工程應用的仿真平臺還有一段距離。
本文在相關工作的基礎上,首次構建了具備完整功能模塊的信號級GNSS/SINS超緊組合導航仿真平臺,該平臺不僅能夠克服實驗方法的場景局限性,提供相關理論問題研究的驗證工具,同時也為超緊組合技術最終邁向實際的工程應用構建了設計藍圖,具有重要的工程價值。
本文構建的信號級超緊組合仿真平臺主要包含軌跡發生器、中頻信號發生器、GNSS軟件接收機和組合導航解算器等四大模塊。前兩個模塊為源數據產生部分,在飛行軌跡數據驅動下,產生慣性測量單元(inertial measurement unit, IMU)輸出和考慮多普勒頻移的GNSS中頻信號,這兩部分數據同源且同步。后兩個模塊為數據處理模塊,主要包括如下環節:慣性導航系統(intertial navigation system, INS)解算、GNSS信號的捕獲和跟蹤、電文譯碼、單點定位解算、松組合、緊組合、超緊組合及其轉換。整個平臺總的功能結構如圖1所示。下面詳細介紹各個部分的設計思路。

圖1 GNSS/SINS超緊組合仿真平臺功能結構框圖Fig.1 Diagram of functional structure of the ultra-tightly integrated GNSS/SINS simulation platform
軌跡發生器的功能是通過設計平飛、轉彎、俯仰等機動形式產生隨時間變化的載體位置、速度、加速度、姿態角和角速度等信息。基于這些軌跡信息,能夠:① 產生加速度計和陀螺儀的輸出;② 計算GNSS中頻信號的多普勒頻移;③ 作為基準信號,用于導航性能分析。因此,軌跡發生器奠定了整個仿真平臺運行的基礎。
GNSS中頻信號發生器主要包括偽隨機碼生成、星歷產生、導航電文編碼、傳輸時間計算和數字射頻前端濾波等環節,其中最關鍵的是傳輸時間計算環節,即利用各衛星的星歷信息和軌跡發生器得到的載體信息計算GNSS信號傳輸時間。產生的GNSS中頻信號是后續GNSS軟件接收機的輸入信號。
GNSS軟件接收機是該仿真平臺最重要和最復雜的模塊,主要由以下幾個步驟組成[14]:
步驟 1捕獲。信號的捕獲是對偽碼相位、載波頻率和衛星列表的三維搜索過程。捕獲環節的意義在于利用偽隨機碼的自相關特性找出粗略的接收衛星信號的碼相位和載波頻率信息,并為后續的信號跟蹤做出初始化準備。
步驟 2跟蹤。信號捕獲結束后即進入跟蹤環節,使用鎖相環(phase locked loop, PLL)和/或者鎖頻環(frequency locked loop, FLL)跟蹤載波頻率,使用延遲鎖相環(delay locked loop, DLL)跟蹤碼相位。跟蹤成功后,即可得到精確的碼相位和載波頻率,進而可以得到精確的偽距測量值和信號發射時間,并應用于后續的定位解算部分。
步驟 3數據解碼。基于跟蹤環節得到的載波頻率和碼相位信息,完成位同步和幀同步,并根據調制信號的通信協議,解碼得到衛星星歷數據。
步驟 4導航解算。利用數據解碼環節提供的衛星星歷,得到衛星的位置和速度,再利用偽距或載波相位信息計算用戶的三維位置、速度和授時信息,完成導航解算。
組合導航解算器主要包括SINS解算器和組合濾波器兩個部分。SINS解算器利用軌跡發生器模擬的加速度計和陀螺儀輸出數據進行慣導解算,得到載體的位置、速度和姿態信息。組合濾波器部分根據松組合、緊組合和超緊組合等不同的組合模式,對SINS和GNSS軟件接收機輸出的信息進行融合。其中,松組合融合的是二者輸出的位置和速度,緊組合融合的是二者輸出的偽距和偽距率,超緊組合是在緊組合的基礎上引入SINS輔助GNSS接收機實現載波跟蹤環路功能,以達到改善軟件接收機動態性能和噪聲性能的目的。
載體軌跡是產生IMU數據和GNSS中頻信號的基礎,軌跡發生器的設計流程[15]如下:
步驟 1設計合理的飛行軌跡,包括初始姿態、位置、速度,以及每段飛行機動的形式、大小、持續時間。
步驟 2根據機動形式和大小計算載體加速度a和角速度ω,并根據機動的形式,在合適的坐標系中表示出來。




圖2 設計的載體軌跡Fig.2 Designed vehicle trajectory

圖3 理想IMU輸出數據Fig.3 Ideal IMU output datas
以下涉及的GNSS中頻信號模擬和GNSS接收機均以GPS為例。在衛星端經過標準調制得到的發射信號穿過大氣層,由于各種因素的影響,發射信號到達接收機天線時的各種信號參數已經發生了變化,例如功率、頻率、時延和相位等。本文在進行中頻信號建模時,主要研究衛星和用戶之間相對運動的影響,對電離層和對流層延時以及多路徑效應暫時不做考慮,后續可以按需添加。
忽略軍碼對應的信號部分,接收機天線端接收到的GPS的L1信號模型可以表示為
Si(tr)=AiCi(tr-τi)Di(tr-τi)·
cos[ω1(tr-τi)+φ0i]
(1)
τi=tp-δt(s)
(2)
式中:下標i表示衛星的編號;Ai表示載波的振幅;Ci(t)表示衛星i對應的偽隨機C/A碼;Dt(i)表示衛星i對應的導航電文碼;tr為接收機接收時刻;τi為信號傳播過程中的時間延遲;tp為信號到達接收機天線的傳輸延時;δt(s)為衛星鐘差;ω1為載波角頻率;φ0i為衛星i載波的初始載波相位。由天線端模擬獲得的射頻信號,需要再經過混頻、低通濾波、各通道信號合成,最終得到的軟件接收機基帶處理的中頻信號表達式為
cos(ωIFtr-ω1τi+φ0i)
(3)
式中:ωIF為期望的中頻頻率。由式(3)可知,中頻信號模擬的關鍵是計算信號時間延遲τ。實際上,衛星和載體之間的相對運動所引起的載波和偽碼多普勒頻移,在式(3)中,就是τ的變化。因此,確定了τ,便能得到在信號接收時刻tr的信號幅值和相位,以及最關鍵的多普勒頻移。而計算τ需要用到軌跡發生器和GPS星歷,前者在第1.1節中已經設計好,后者可通過GNSS服務機構網站獲取GPS實際廣播星歷。
基于上述信號模型分析,本文設計了一種靈活、實用的GPS中頻信號模擬器,其主要環節包括C/A碼生成、星歷產生、導航電文編碼、傳輸時間計算、載噪比配置和數字射頻前端等。圖4為GPS中頻信號模擬方案。圖5為仿真中頻信號帶通濾波后功率譜尖峰處的局部放大圖。

圖4 GPS中頻信號模擬方案Fig.4 Scheme of the GPS intermediate frequency signal simulation

圖5 濾波后的理想中頻信號功率譜Fig.5 Power spectrum of the filtered ideal intermediate frequency signal
從圖5可以看出,信號的功率集中在設計中頻附近,并且向外擴展的主瓣為其調制的C/A碼頻率(頻率為1.023 MHz)的2倍,濾波后超過濾波帶寬后的部分功率衰減迅速,6 MHz前端帶寬外的信號衰減典型值在-40 dB以上,符合典型中頻信號的頻域特征。
GNSS軟件接收機包含捕獲、跟蹤、電文譯碼和導航解算等4個環節。
信號捕獲的本質是在初始較大范圍內搜索,以便粗略地確定載波的多普勒頻移和碼相位,由于粗捕獲的精度通常不能滿足后續跟蹤環路的需求,因此還需要加入精捕獲環節以提升捕獲精度。本文采用基于快速傅里葉變換(fast Fourier transform, FFT)的頻域循環相關方法進行粗捕獲,采用|sinc|函數擬合法進行精捕獲[16]。
設根據粗捕獲得到的頻率計算出的超前、即時和滯后非相干積分值分別為VE、Vp和VL,定義鑒別器F為
(4)
利用三次曲線擬合|sinc|函數的思路,求解的頂峰位置即可近似得到更精細化的捕獲頻率,可以近似將粗捕獲頻率和|sinc|的頂峰位置的頻率之間的差值[16]表示為
m(F)=-4.135F3+204.5F
(5)
則精捕獲頻率可以表示為
facq=fP-m(F)
(6)
式中:fP為粗捕獲得到的頻率。圖6為某通道的捕獲結果。

圖6 某衛星通道頻率和碼相位的捕獲結果Fig.6 Acquisition results of frequency and code phaseof a satellite channel
精捕獲完成后,將轉入信號跟蹤環節,跟蹤是連續產生本地載波和偽碼并時刻鎖定當前載波和偽碼多普勒頻移的過程,只有這樣才能準確同步本地信號和輸入信號,并從輸入信號中剝離出載波和偽碼,得到最為關鍵的導航電文。跟蹤環路的噪聲性能和動態性能在很大程度上決定了整個接收機的定位精度和魯棒性。
軟件接收機分別使用碼環和載波環實現對碼相位和載波頻率的跟蹤,碼環的實現形式主要是DLL,載波環的主要實現形式是PLL和FLL。本文采用了二階FLL輔助三階PLL的載波環路結構,以及載波環輔助碼環結構。前者是高動態接收機的構成要素,能夠使接收機獨自承擔較高的動態應力,而后者能基本消除碼環所需承擔的動態應力,進而采用更窄的帶寬以提高碼相位的計算精度[14]。圖7為二階FLL輔助的三階PLL示意圖,而圖8展示了各個跟蹤通道的載波多普勒頻移解算結果。

圖7 二階FLL輔助的三階PLLFig.7 2nd-order FLL aided 3rd-order PLL

圖8 各個衛星通道的載波多普勒頻移跟蹤結果Fig.8 Tracking results of carrier Doppler frequency shift of all satellite channels
從圖8可以看出,在90~120 s的設計高動態區間內的載波多普勒頻移遠遠大于其他時刻,這與本文的載體軌跡設計相符。
跟蹤完成后,進入電文譯碼環節。在此之前還需要進行位同步和幀同步,前者是為了將連續20個1 ms的偽碼比特值組裝成20 ms的導航電文比特,后者則是尋找同步碼,并進行一系列校驗,以進一步找出電文幀頭的位置,并解決180°相位模糊度問題。
幀同步結束后,需要從連續的子幀中按照預先規范定義的格式提取導航電文信息,并根據這些電文信息解算出導航定位所關心的周內時(time of week, TOW)、衛星位置、衛星鐘差、衛星速度和鐘漂等。圖9為某衛星通道1~3號子幀的電文組裝結果,其中包含了解算所需要的導航電文信息。

圖9 某衛星通道1~3號子幀電文組裝結果Fig.9 Packaged message of No.1~No.3 subframes of a satellite channel
當上述工作完成,即可進入導航解算環節。碼相位加上TOW能夠裝訂出信號發射時間,結合衛星位置和鐘差,確定偽距,在獲得多于4顆可見星的偽距時,利用最小二乘法即可求解出載體的位置。位置確定后,將多普勒頻移轉化為偽距率,并結合衛星速度和鐘漂,可以求得載體的速度。
圖10為本文設計的軟件接收機處理第2.2節模擬的中頻信號的結果。從解算結果可知,解算的軌跡與軌跡發生器設計的軌跡一致,說明了本文中頻信號模擬和軟件接收機環節設計的正確性。

圖10 GPS軟件接收機解算結果Fig.10 Solving results of the GPS software receiver
組合導航解算器包括SINS解算器和組合濾波器兩個部分。圖11為SINS解算的流程框圖,利用模擬的IMU數據和給定的導航初始值解算出載體的位置、速度和姿態。

圖11 SINS解算框圖Fig.11 SINS solving diagram
在分別實現了軟件接收機解算和SINS解算后,進一步設計組合導航濾波器和超緊組合的反饋環節。無論是松組合、緊組合還是超緊組合,其組合導航濾波器的狀態方程是一致的。完成初始對準后,設誤差狀態量為
(7)

(8)

松組合濾波的量測量為SINS解算和接收機解算得到的速度和位置之差,因此其量測矩陣H為
(9)
式中:03和I3分別表示3×3的零矩陣和單位陣。緊組合濾波的量測量為SINS推算的和接收機導航解算的偽距和偽距率之差,因此偽距對應的量測矩陣為
(10)

(11)

超緊組合在緊組合導航濾波器的基礎上,增加了濾波解算結果反饋到接收機跟蹤環路的環節。由于SINS推算得到的偽距率直接反映了接收機相對衛星運動所產生的多普勒頻移,因此可以用來承擔絕大部分的載波環動態應力,載波環路可以采用更窄的帶寬。圖12為SINS速度輔助下的接收機跟蹤環路框圖。

圖12 SINS速度輔助下的跟蹤環路框圖Fig.12 Diagram of the SINS-velocity-aided tracking loop
為了檢驗超緊組合在載體高動態運動時的性能,本文采用兩種環路設計,并分別進行緊組合和超緊組合層次的濾波融合,以考察在高動態區間內的導航性能,兩種設計分別為:
(1) 載波環路為二階FLL輔助的三階PLL,二者帶寬分別設為10 Hz和18 Hz,碼環為帶寬2 Hz的二階DLL;
(2) 載波環路為帶寬3Hz的二階PLL,碼環為帶寬0.5 Hz的一階DLL。
對比兩種環路設計,第一種采用了二階FLL輔助的三階PLL環路,且環路噪聲帶寬較大,因而環路的動態性能好,是典型的高動態接收機參數設計策略;第二種只采用了二階PLL環路,且環路噪聲帶寬較小,動態性能差,但環路熱噪聲較低,易取得更好的解算精度。
圖13和圖14為緊組合的測速誤差,采用第一種設計的緊組合在載體進行高動態運動時仍然能正常工作,但測速誤差顯著增大;而采用第二種設計的緊組合在載體進行高動態運動時,出現了環路失鎖,導致速度誤差發散。因此,在緊組合中,接收機本身環路噪聲性能和動態性能的矛盾并沒有解決。
圖15和圖16為超緊組合的測速誤差。由圖15可知,超緊組合在高動態區間也可正常工作,但測速精度和穩定性優于圖13;對比圖15和圖16可知,超緊組合在兩種環路設計下的測速誤差十分接近,這是由于SINS輔助信息在環路中起到了主導作用。因此,在超緊組合中,由于SINS速度輔助信息的引入承擔了絕大部分的動態應力,環路的噪聲性能和動態性能的矛盾得到了徹底解決,達到了一種最佳的融合效果。

圖13 緊組合的測速誤差(設計1)Fig.13 Velocity errors of the tight integration (design 1)

圖14 緊組合的測速誤差(設計2)Fig.14 Velocity errors of the tight integration (design 2)

圖15 超緊組合的測速誤差(設計1)Fig.15 Velocity errors of the ultra-tight integration (design 1)

圖16 超緊組合的測速誤差(設計2)Fig.16 Velocity errors of the ultra-tight integration (design 2)
本文完成了信號級GNSS/SINS超緊組合導航仿真平臺的構建,基于軌跡發生器的數據驅動,模擬了GNSS中頻信號和IMU輸出數據,并進一步完成了GNSS軟件接收機、SINS解算器和組合濾波器等模塊,通過一個仿真案例,初步驗證了本平臺各模塊的功能和超緊組合在載體高動態運動時的優越性。
另外,該仿真平臺的模塊化設計,為超緊組合相關方向的研究提供了一個十分便利的驗證手段,相比實驗驗證,具有靈活、穩定、快速和場景多樣化等優勢,為相關算法的理論研究和實際工程應用奠定了良好的基礎。