韓 雪,李瑞洋
(1.大連東軟信息學院,遼寧大連 116023;2.遨海科技有限公司,遼寧大連 116023)
GNSS是一個全球性的時間和位置測定系統。其中,全球設施部分是GNSS的核心基礎,是系統提供自主導航定位服務必需的組成部分,一般由空間段、空間信號和地面控制系統組成。本文基于多模衛星信號選取其中GPS與北斗的聯合GNSS算法,而對于GLONASS和Galileo兩系統不作介紹與研究[1]-[3]。
首先需要說明GNSS的時間系統。為了保證導航和定位精度,GNSS的時間系統(簡稱GNSST)采用的時間基準為原子時1 s時長,但將時間起算點定義在1980年1月6日UTC0時。GNSST 啟動后,不跳(閏)秒,目的是保持時間的連續性。在利用GNSST進行時間校對時應注意,GNSST 與1AT 在任意時刻均有一常量偏差,即19 s。此外,部分GNSS系統還包括區域設施,如GPS的外部增強系統EGNOS,由于本文主要探討GNSS系統在船載智能定位終端系統的應用,故不作深入探究[4–5]。
GNSS系統的誤差源,如表1所示可大體分為4類,其中部分誤差與本文探討的船載智能定位終端系統解算結果相差不大,且建模解算過于繁瑣,對于定位精度影響較小,故在此不予討論。此外,由于衛星的鐘差、對流層延遲誤差及電離層延遲誤差在定位解算中對結果的影響最大,因此本文關于多模的船載定位系統將重點圍繞以上三點展開。
此外,表1中的多徑效應在不同船載系統上存在一定差異,難以模型化,故無法予以消除,可通過改進GNSS接收機硬件(如天線)、軟件(各類改進算法),延長觀測時間等措施消除部分誤差。接收機鐘差量級很小,一般可忽略。
在船載智能定位終端系統,由于周圍船部件(如鋼材、橡膠、集裝箱等設備)對信號的遮擋和反射,傳統方案的GNSS定位性能會出現大幅度下降,誤差會從幾米增大到幾十米甚至更多。究其原因,主要是散貨船中諸如陰影效應、多徑效應、多普勒效應、遠近效應等常見的影響因素所致。
1)衛星鐘差
衛星對外發送信號的基準是自帶的原子鐘,但由于存在頻率漂移和時間偏差,因此若想校正衛星時間,需要計算衛星鐘差。各衛星的鐘差可由地表的監控站監測后估算出,將相關參數以導航電文的形式發送至用戶接收機。衛星的時鐘總差由衛星鐘差、相對論效應校正量和群波延時校正量3部分組成。
式中:δt為總衛星鐘差;Δt為衛星鐘差;ΔtT為相對論效應校正量;TGD為群波延時校正量。總衛星鐘差可表示為:
式中:toc為參考時間;af0為衛星的鐘差偏差;af1為衛星鐘的鐘速;af2為衛星鐘的鐘速變化率。以上4 個參數均儲存在導航星歷電文的第一數據塊中。射頻信號從天線發出所導致的延時可直接從衛星星歷數據中得到。
需要說明的是,此方法修正后的鐘差仍然不是準確值,將其用于定位解算依舊會出現一定偏差,這部分偏差將與其他誤差一起作為殘差用于解算迭代。
2)對流層延時誤差
對流層是大氣層的底部,平均高度從赤道地區到極地地區,從7~20 km 不等。對流層的重量約占大氣層總重量的99%。對流層延時由干分量和濕分量兩部分構成,其中干分量主要由氮氣、氧氣等干氣體組成,約占總對流層延時的90%,濕分量約占總對流層延時的10%。由于濕分量會隨著時間、地點的變化而不斷改變,因此很難進行建模分析,而干分量由于其穩定的特性,能夠較好建模。目前存在著多種對流層延時修正模型,本文采用其中一種簡化模型修正對流層延時誤差,公式如下。
式中,θ為衛星的高度角。
3)電離層延遲誤差
電離層和對流層類似,也是大氣層的一部分,高度范圍為60~1 000 km,其中的物質在接收到太陽輻射后會發生電離現象,釋放出大量帶電粒子,這部分帶電粒子在作無序運動時產生雜波,從而導致衛星信號在穿越電離層時,這些雜波會疊加在衛星信號中,對衛星信號產生不良影響。由電離層延時造成的誤差一般為幾米,但是當太陽活動較強時,這部分誤差可以達到數十米,因此在解算接收機位置時,須考慮到電離層延遲的影響并加以修正。
本文算法采用Klobuchar 近似模型修正電離層延時誤差。研究表明,該模型能修正50%左右的電離層誤差。公式如下:
式中:Iz為電離層延時;A和T為余弦函數的振幅,可由電文中的電離層延遲校正參數求得,F為傾斜率,可由下列公式得到:
式中,θ為衛星的高度角。
利用衛星導航系統進行載體定位的方法有單點定位、差分定位和相對定位。其中單點定位僅用1臺接收機即可完成定位,而其余2種需要2臺或更多接收機同時工作才能實現,精度較單點定位有明顯提升。由于單點定位簡易、低成本的特性,符合本文船載智能定位終端系統下定位的需求,故本文采用單點定位原理中的偽距定位原理。
在通過衛星計算用戶位置時,需要求得以下2個未知量:衛星在空間位置中的坐標和接收機到衛星的距離。衛星的空間位置坐標可直接通過衛星星歷計算獲得,但由于衛星鐘差,接收機鐘差等誤差,會使得接收機與衛星的測量距離與二者的實際距離出現偏差,故稱該測量值為偽距。偽距的測量值ρ一般通過如下公式得到:
式中:Δt為衛星信號從發出到接收的時間;c為信號的傳播速度,c=299792.458 m/s。
一般情況下,衛星信號的發射時間與接收時間可由衛星與接收機自帶的時鐘讀出,但GNSS與接收機時鐘通常無法同步,二者的差值就是接收機鐘差。同理,GNSS與衛星時鐘的差值就是衛星鐘差。接收機鐘差是一個關于GNSS時間的函數,而衛星鐘差可以由電文中的衛星鐘差修正參數求得。
偽距的測量值ρ與衛星到接收機的真實距離r的關系如下:
式中:δρ1為電離層延時;δρ2為對流層延時;δtu為接收機鐘差;δt為衛星鐘差。
在實際解算過程中,衛星鐘差、電離層延時和對流層延時都可通過導航電文中的相關參數計算得到,故將其統稱為偽距測量誤差,因此可將式(7)簡化為:
式中,εp為偽距測量誤差。
用戶接收機到衛星的真實距離r可表示為:
式中:r i為第i顆衛星到用戶的真實距離,(xi,yi,zi)為第i顆衛星的位置坐標,因此(x,y,z)為用戶的位置坐標。
由上述基本原理可知,偽距測量誤差可以通過計算得到,故可將上述公式簡化,簡化后的偽距觀測方程為:
式中,ρic為第i顆衛星在修正偽距測量誤差之后的偽距。
因此至少需要4 個方程(組),即最少需要四顆衛星才能實現定位。由上式可知,使用n顆衛星進行定位,則會出現(3+n)個未知數(接收機的三維坐標和n個接收機鐘差),故至少需(3+n)個偽距觀測方程聯立。由于一顆衛星對應一個觀測方程,因此至少需要觀測(3+n)顆衛星。
普通最小二乘算法流程圖如圖1所示。

圖1 普通最小二乘算法流程圖Fig.1 Flow chart of ordinary least squaresalgorithm
將3種不同加權算法的實驗數據進行整合,通過誤差的數據特征、分布情況、適用條件等角度對不同算法下的誤差進行分析與比較。
由于本次實驗所采用的最小二乘算法將接收機的初始位置設置為[0,0,0],故在剛開始的一段時間內,由于迭代次數不夠,解算出的接收機近似位置會與真實值出現較大偏差,使這部分的數據不可靠。當一段時間后迭代次數較多時,接收機的近似位置與真實位置已較為接近,此時權重對于定位精度的提升已不明顯。如果在迭代開始前已知接收機的近似坐標并將其賦值為接收機坐標的初值,就能很好改善整個定位過程的精度。
本文討論的3種加權算法的誤差如圖2所示,可以發現低權重時比高權重的誤差要大,在方位角為2°時,各個權重都能獲得最低的誤差。經過最小二乘法的定位算法修正后,高維度下最大誤差的修正情況如圖3所示。可以發現在0.05 s 后,最大誤差顯著降低。其中高維度下95%分位點誤差的修正情況如圖4所示。

圖2 三種加權算法的誤差Fig.2 Error of threeweighting algorithms

圖3 高維度下最大誤差的修正情況Fig.3 Correction of the maximum error in high dimensions

圖4 高維度下95%分位點誤差的修正情況Fig.4 Correction of the95% quantile error in high dimensions
通過對GNSS衛星的誤差來源進行分析,建立消除誤差的模型,并研究了不同權重策略下使用GNSS衛星進行定位的誤差比較,發現低權重比高權重的誤差要大,并對高維度下最大誤差的修正情況進行了分析。