杜道成,黃智剛,陳彥曉
(北京航空航天大學 電子信息工程學院,北京 100191)
衛星導航技術的快速發展使用戶對接收機首次定位時間要求越來越高。國外Sirf、U-Blox公司的主流導航產品熱啟動首次定位時間已達到1 s以內。近年來國內對熱啟動興起研究熱潮[1-6],使得熱啟動的首次定位時間縮短至3 s以內。
由于導航衛星信號的發射時刻是由接收機通過跟蹤、位同步和幀同步獲得的,要想減少首次定位時間,達到快速定位的目的,可以通過推測發射時間來實現。文獻[6-7]提出了一種稱為Range-Fit的時間重構法,該方法使用較為準確的本地時間對衛星的位置進行估算,再使用衛星位置和本地位置估算出偽距,直接跳過幀同步,使得首次定位時間大為縮短;但該算法需要較為精確的本地時間以及位同步,才能重構出衛星發射時間。文獻[8]則提出了一種不需要十分精確的發射時間的快速定位算法;但由于每一次進行最小二乘迭代時都需要用更新后的發射時間計算衛星位置,因此計算量較大。
本文結合全球定位系統(global positioning system,GPS)的特點,提出一種快速熱啟動算法,以期能夠在不經過位同步和幀同步的狀態下,較準確地預測出衛星的發射時間。
以GPS的中圓地球軌道(medium Earth orbit,MEO)衛星為例,對于使用偽碼測距,其衛星信號的發射時間TTOT[9]為
TTOT=TOW+Nbit·0.02+NCA·0.001+
φCA·(0.001/1 023)
(1)
式中:TOW為接收機通過幀同步后獲得的當前子幀的星期內秒,其測距精度為6 s;Nbit為接收機通過位同步后獲得的當前比特計數值,其測距精度為20 ms;NCA為接收機通過跟蹤環路獲得的碼周期計數值,其測距精度為1 ms;φCA為接收機通過跟蹤環路獲得的碼相位值,其測距精度為1/1 023 ms。
根據接收機的工作原理[10],在獲取測量信息的時候,得到的測量值往往是由小到大獲取的,即:先從跟蹤環中得到NCA和φCA的值;再經過位同步后,得到Nbit的值;最后經過幀同步后解析出TOW的值。由此可見,較大的測量值量級往往在最后才能得到,而幀同步又需要花費較長的時間;因此如何減少幀同步時間和位同步時間,甚至跳過幀同步和位同步,則成為了快速定位主要應該解決的問題。





式中c為光速。
當注入的本地位置與真實的本地位置相差在300 km以內時,可以用四舍五入方法得到推測的發射時刻[13]為

(5)
式中:Ti,chip和Ti,chip_phase分別為碼片和碼相位的觀測量;round()表示對數值的四舍五入取整運算。


式中:ri為第i顆衛星到地心的距離;Ωi為赤徑角,可以通過星歷中的相關參數計算得到;φi為第i顆衛星的緯度值,同樣可以通過星歷中的相關參數計算得到;ii為第i顆衛星的軌道傾斜角,通過星歷參數可以計算得到,其計算公式為
式中:i0為星歷參考時刻下的軌道傾斜角;(di/dt)為傾斜角的變化率。


根據式(8),可以得到衛星發射時刻的位置誤差為

用戶與衛星的相對位置如圖1所示。

圖1 用戶與衛星的相對位置

根據余弦定理,并對θ求偏導,可得
由式(10)可知:當θ=0°時,Δρi有最大值Δu。
對于GPS系統,已知標準的定位解算方程為






已知線性化的測量方程為Δρ=H·Δu,利用最小二乘的求解公式,可得其解為
Δu=(HTH)-1HTΔρ
(14)
其中

將式(15)得到的數值用于牛頓迭代及最小二乘運算,直到算法收斂,則可以得到精確的位置信息。
程序在硬件平臺上的整體控制流程如圖2所示。算法通過數字信號處理器(digital signal processor,DSP)和現場可編程門陣列(field-programmable gate array,FPGA)實現,使用從接收機跟蹤環路中獲得毫秒級以下的發射時刻觀測量,結合發射時刻預測法預測的毫秒級以上的發射時刻,得到最終的衛星發射時刻;然后通過求解5個未知量的定位方程組得到接收機位置。
對上述算法進行仿真驗證。選取2015-01-20 T 02:00:00的GPS 星歷作為已知星歷數據。設定用戶定點在WGS-84下的3維坐標為(-2 144 838.63 m,4 397 570.88 m,4 078 017.71 m)。使用的 GPS衛星為 2號、5號、6號、7號、10號、13號、15號、29號、30號,其仰角分別為 58、73、14、12、22、51、19、45、14°。程序不進行位同步和幀同步,使用毫秒級以下發射時間觀測量,并且將用戶初始位置的3維坐標均加上50 000 m誤差,即初始位置設置為(-2 194 838.63 m,4 447 570.88 m,4 128 017.71 m),以2015-01-20 T 02:00:00為初始時刻,連續進行1 500 s定位。經最小二乘法處理,定位結果如圖3、圖4所示。

圖2 快速定位算法程序控制流程

圖3 使用精確初始位置下的快速熱啟動定位結果
由圖3~4可知,2組定位結果誤差均在允許范圍內,接近用戶位置的真實值,在初始位置3維坐標偏差50 km的條件下,定位精度仍可達到σ0=5.346 07 m,驗證了該算法的可行性。此外,將此快速定位算法應用到GPS接收機中,在實際的外場進行實驗,通過反復上電,記錄了10次首次定位時間,結果如表1所示。

圖4 使用誤差為50 000 m的初始位置下的快速熱啟動定位結果

表1 靜態環境下的快速定位測試結果
結果表明,在已知衛星星歷、接收機位置和本地時間的前提下,應用此快速定位算法,接收機平均首次定位耗時約2.8 s,有效縮短了首次定位時間。
本文使用理論分析加仿真驗證的方法對GPS導航接收機的快速定位算法進行了研究,并將此算法在GPS接收機中進行了測試,首次定位時間滿足接收機設計要求。在已知的GPS有效星歷和誤差小于300 km的粗略本地位置的基礎上,本文的算法能夠在不經過位同步、幀同步以及電文解調的基礎上進行快速定位解算。算法使用推算的毫秒級精度的信號發射時刻,加上接收機跟蹤環路測得的毫秒級以下的時延,重構出發射時刻,有效縮短了首次定位時間,達到了快速定位的目的。