孫茂軍,李霞,趙利江
(1.青海省基礎測繪院,青海 西寧 810000; 2.青海省地理國情監測院, 青海 西寧 810000)
北斗衛星導航系統(BDS)是中國自行研制的全球衛星導航系統.是繼美國全球定位系統(GPS)、俄羅斯格洛納斯衛星導航系統(GLONASS)之后第三個成熟的衛星導航系統[1].BDS和GPS、GLONASS、Galileo是聯合國衛星導航委員會已認定的供應商.截至2018年11月20日,我國已成功發射19顆北斗三號衛星,完成全球組網,并計劃于2020年向全球提供高精度定位服務.
目前偽距差分定位普遍采用最小二乘算法,其具有解算速度快、數學模型簡單等特點.但最小二乘在動態定位中歷元間的信息不發生關聯,導致在動態定位過程中定位結果不準確[2].卡爾曼濾波(Kalman filtering)是一種利用線性系統狀態方程,通過系統輸入輸出觀測數據,對系統狀態進行最優估計的算法[3-4],由于觀測數據中包括系統噪聲和干擾的影響,所以最優估計也可看作是濾波過程.卡爾曼濾波由斯坦利·施密特首先實現,目前廣泛應用于導航及高精度衛星定位領域.2000年,高星偉等[5]提出了一種GPS/GLONASS偽距差分的數據處理方法.2016年,唐衛明等[2]提出了一種基于卡爾曼濾波方法的BDS偽距單點定位算法,相對于最小二乘方法定位精度與穩定性有所提高.本文介紹了BDS最小二乘與卡爾曼濾波兩種偽距差分定位方法,并采用C++語言進行算法實現.
偽距差分是目前應用較為廣泛的一種差分定位技術,其原理為在已知坐標點位上架設基準站,通過已知坐標求出基準站與衛星間的真實距離,將求出的真實距離與觀測的偽距做差,得到偽距改正,發送給用戶對偽距進行修正[6].
站星間的真實距離Rj可表示為
Rj=[(Xj-X0)2+(Yj-Y0)2+(Zj-

(1)
式中:(X0,Y0,Z0)為基準站已知坐標;Rj為第j顆衛星到基準站的真實距離;(Xj,Yj,Zj)為第j顆衛星的地心坐標.則偽距改正數Δρj可表示為

(2)

偽距改正數變化率可表示為

(3)
用戶對測出的偽距ρj加以改正,則改正后的偽距可表示為

(4)
令常數項:

(5)


假設在某一時刻t觀測了l顆北斗衛星,其定位的法方程形式為
AδX=L,
(6)
式中:

δX=(ATPA)-1ATPL.
(7)
求出δX以后加上近似點的坐標(X0,Y0,Z0)即可求出接收機單點定位的坐標(X,Y,Z).
卡爾曼濾波利用合理的參數估計方法過濾掉信號中無用的成分,并且將相鄰歷元間的位置信息相聯系,它相較于最小二乘方法得到的結果更平滑、精確,作為一種遞推模型,非常適合在計算機上實現[8].
令狀態向量Xk=[x,y,z,Vt,vX,vY,vZ,dVtR]T,(x,y,z)表示接收機的三維位置,Vt表示鐘差,dVtR表示接收機鐘差速率,卡爾曼濾波預測模型可表示為
Xk=Φk,k-1Xk-1+Wk-1,
(8)
式中:Φ為轉移矩陣;W為過程噪聲向量;1為四維單位矩陣;a為加速度.
在某歷元k,誤差方程可表示為
Vk=Bδrk-l,
(9)
式中:Vk表示誤差改正數;δrk=[δVtRδxkδykδzk]表示接收機鐘差與坐標近似值改正數.

(10)

(11)
將式(2)中求得的偽距差分改正量帶入到C中進行濾波處理.
采用天寶R9多系統GNSS接收機采集一小時的靜態數據,觀測時段為2018年10月9日9:00—10:00,采樣率為1 Hz,截止衛星高度角為15° 接收QHCORS 西寧站同時段一小時的靜態觀測數據,以西寧站為基準站,對實測數據進行后處理解算,利用GAMIT軟件單基線后處理坐標為真值對兩種方法的結果進行對比分析.
圖1、圖2分別為卡爾曼濾波、最小二乘兩種偽距差分方法東、北、高三方向的外符合誤差序列圖,基于卡爾曼濾波偽距差分方法在平面精度優于1 m,高程精度優于2 m,最小二乘方法無論在平面還是高程精度方面均不及卡爾曼濾波方法,在高方向上有1.5 m左右明顯的系統性偏差,且震蕩劇烈,表1示出了靜態條件下兩種方法的外符合RMS值.

圖1 卡爾曼濾波方法偽距差分誤差

圖2 最小二乘方法偽距差分誤差

數據處理方法E方向/mN方向/mU方向/m卡爾曼濾波0.310.391.14最小二乘0.480.481.69
采用天寶R8 GNSS接收機作為流動站接入QHCORS進行網絡實時動態(RTK)定位,并同時記錄原始觀測數據,將記錄下的原始觀測數據利用自編軟件進行卡爾曼濾波與最小二乘兩種偽距差分方法處理,采樣率為1 Hz,截止衛星高度角為15°.觀測時段為2018年10月9日15:00—15:06.圖3、圖4、圖5分別表示網絡RTK、卡爾曼濾波偽距差分、 最小二乘偽距差分三種定位方式的軌跡圖.RTK的定位精度較高,可以達到厘米級所以將網絡RTK結果所生成的軌跡作為真值.將圖4、圖5與圖3對比不難發現相比最小二乘偽距差分,卡爾曼濾波偽距差分的定位軌跡要更平滑,且跳點較少.圖6、圖7分別為兩種差分方法的外符合誤差序列圖,表2示出了人行慢動態條件下兩種方法的外符合RMS值.與靜態相比在人行慢動態條件下,卡爾曼濾波方法的精度損失不大,而最小二乘方法的精度明顯降低,這是因為最小二乘方法采用單歷元解算時沒有利用之前的歷元信息,而卡爾曼濾波方法采用預測-更新的模式充分利用之前的歷元信息對現有歷元位置進行修正,從而達到提高精度的目的.

圖3 RTK定位軌跡

圖4 卡爾曼濾波偽距差分軌跡

圖5 最小二乘偽距差分軌跡

圖6 卡爾曼濾波偽距差分人行慢動態誤差

圖7 最小二乘偽距差分人行慢動態誤差

數據處理方法E方向/mN方向/mU方向/m卡爾曼濾波0.320.411.84最小二乘0.550.612.46
本文分別介紹了最小二乘與卡爾曼濾波BDS偽距差分數學模型,并分別進行了靜態及人行慢動態實測數據解算分析,通過對比兩種模式的實測數據結果發現基于卡爾曼濾波方法的偽距差分定位模型定位結果更平滑、可靠性更高.