孫茂軍,李霞,趙利江
(1.青海省基礎測繪院,青海 西寧 810000; 2.青海省地理國情監(jiān)測院, 青海 西寧 810000)
北斗衛(wèi)星導航系統(tǒng)(BDS)是中國自行研制的全球衛(wèi)星導航系統(tǒng).是繼美國全球定位系統(tǒng)(GPS)、俄羅斯格洛納斯衛(wèi)星導航系統(tǒng)(GLONASS)之后第三個成熟的衛(wèi)星導航系統(tǒng)[1].BDS和GPS、GLONASS、Galileo是聯(lián)合國衛(wèi)星導航委員會已認定的供應商.截至2018年11月20日,我國已成功發(fā)射19顆北斗三號衛(wèi)星,完成全球組網(wǎng),并計劃于2020年向全球提供高精度定位服務.
目前偽距差分定位普遍采用最小二乘算法,其具有解算速度快、數(shù)學模型簡單等特點.但最小二乘在動態(tài)定位中歷元間的信息不發(fā)生關(guān)聯(lián),導致在動態(tài)定位過程中定位結(jié)果不準確[2].卡爾曼濾波(Kalman filtering)是一種利用線性系統(tǒng)狀態(tài)方程,通過系統(tǒng)輸入輸出觀測數(shù)據(jù),對系統(tǒng)狀態(tài)進行最優(yōu)估計的算法[3-4],由于觀測數(shù)據(jù)中包括系統(tǒng)噪聲和干擾的影響,所以最優(yōu)估計也可看作是濾波過程.卡爾曼濾波由斯坦利·施密特首先實現(xiàn),目前廣泛應用于導航及高精度衛(wèi)星定位領域.2000年,高星偉等[5]提出了一種GPS/GLONASS偽距差分的數(shù)據(jù)處理方法.2016年,唐衛(wèi)明等[2]提出了一種基于卡爾曼濾波方法的BDS偽距單點定位算法,相對于最小二乘方法定位精度與穩(wěn)定性有所提高.本文介紹了BDS最小二乘與卡爾曼濾波兩種偽距差分定位方法,并采用C++語言進行算法實現(xiàn).
偽距差分是目前應用較為廣泛的一種差分定位技術(shù),其原理為在已知坐標點位上架設基準站,通過已知坐標求出基準站與衛(wèi)星間的真實距離,將求出的真實距離與觀測的偽距做差,得到偽距改正,發(fā)送給用戶對偽距進行修正[6].
站星間的真實距離Rj可表示為
Rj=[(Xj-X0)2+(Yj-Y0)2+(Zj-
(1)
式中:(X0,Y0,Z0)為基準站已知坐標;Rj為第j顆衛(wèi)星到基準站的真實距離;(Xj,Yj,Zj)為第j顆衛(wèi)星的地心坐標.則偽距改正數(shù)Δρj可表示為
(2)
偽距改正數(shù)變化率可表示為
(3)
用戶對測出的偽距ρj加以改正,則改正后的偽距可表示為
(4)
令常數(shù)項:
(5)
假設在某一時刻t觀測了l顆北斗衛(wèi)星,其定位的法方程形式為
AδX=L,
(6)
式中:
δX=(ATPA)-1ATPL.
(7)
求出δX以后加上近似點的坐標(X0,Y0,Z0)即可求出接收機單點定位的坐標(X,Y,Z).
卡爾曼濾波利用合理的參數(shù)估計方法過濾掉信號中無用的成分,并且將相鄰歷元間的位置信息相聯(lián)系,它相較于最小二乘方法得到的結(jié)果更平滑、精確,作為一種遞推模型,非常適合在計算機上實現(xiàn)[8].
令狀態(tài)向量Xk=[x,y,z,Vt,vX,vY,vZ,dVtR]T,(x,y,z)表示接收機的三維位置,Vt表示鐘差,dVtR表示接收機鐘差速率,卡爾曼濾波預測模型可表示為
Xk=Φk,k-1Xk-1+Wk-1,
(8)
式中:Φ為轉(zhuǎn)移矩陣;W為過程噪聲向量;1為四維單位矩陣;a為加速度.
在某歷元k,誤差方程可表示為
Vk=Bδrk-l,
(9)
式中:Vk表示誤差改正數(shù);δrk=[δVtRδxkδykδzk]表示接收機鐘差與坐標近似值改正數(shù).
(10)
(11)
將式(2)中求得的偽距差分改正量帶入到C中進行濾波處理.
采用天寶R9多系統(tǒng)GNSS接收機采集一小時的靜態(tài)數(shù)據(jù),觀測時段為2018年10月9日9:00—10:00,采樣率為1 Hz,截止衛(wèi)星高度角為15° 接收QHCORS 西寧站同時段一小時的靜態(tài)觀測數(shù)據(jù),以西寧站為基準站,對實測數(shù)據(jù)進行后處理解算,利用GAMIT軟件單基線后處理坐標為真值對兩種方法的結(jié)果進行對比分析.
圖1、圖2分別為卡爾曼濾波、最小二乘兩種偽距差分方法東、北、高三方向的外符合誤差序列圖,基于卡爾曼濾波偽距差分方法在平面精度優(yōu)于1 m,高程精度優(yōu)于2 m,最小二乘方法無論在平面還是高程精度方面均不及卡爾曼濾波方法,在高方向上有1.5 m左右明顯的系統(tǒng)性偏差,且震蕩劇烈,表1示出了靜態(tài)條件下兩種方法的外符合RMS值.
圖1 卡爾曼濾波方法偽距差分誤差
圖2 最小二乘方法偽距差分誤差
數(shù)據(jù)處理方法E方向/mN方向/mU方向/m卡爾曼濾波0.310.391.14最小二乘0.480.481.69
采用天寶R8 GNSS接收機作為流動站接入QHCORS進行網(wǎng)絡實時動態(tài)(RTK)定位,并同時記錄原始觀測數(shù)據(jù),將記錄下的原始觀測數(shù)據(jù)利用自編軟件進行卡爾曼濾波與最小二乘兩種偽距差分方法處理,采樣率為1 Hz,截止衛(wèi)星高度角為15°.觀測時段為2018年10月9日15:00—15:06.圖3、圖4、圖5分別表示網(wǎng)絡RTK、卡爾曼濾波偽距差分、 最小二乘偽距差分三種定位方式的軌跡圖.RTK的定位精度較高,可以達到厘米級所以將網(wǎng)絡RTK結(jié)果所生成的軌跡作為真值.將圖4、圖5與圖3對比不難發(fā)現(xiàn)相比最小二乘偽距差分,卡爾曼濾波偽距差分的定位軌跡要更平滑,且跳點較少.圖6、圖7分別為兩種差分方法的外符合誤差序列圖,表2示出了人行慢動態(tài)條件下兩種方法的外符合RMS值.與靜態(tài)相比在人行慢動態(tài)條件下,卡爾曼濾波方法的精度損失不大,而最小二乘方法的精度明顯降低,這是因為最小二乘方法采用單歷元解算時沒有利用之前的歷元信息,而卡爾曼濾波方法采用預測-更新的模式充分利用之前的歷元信息對現(xiàn)有歷元位置進行修正,從而達到提高精度的目的.
圖3 RTK定位軌跡
圖4 卡爾曼濾波偽距差分軌跡
圖5 最小二乘偽距差分軌跡
圖6 卡爾曼濾波偽距差分人行慢動態(tài)誤差
圖7 最小二乘偽距差分人行慢動態(tài)誤差
數(shù)據(jù)處理方法E方向/mN方向/mU方向/m卡爾曼濾波0.320.411.84最小二乘0.550.612.46
本文分別介紹了最小二乘與卡爾曼濾波BDS偽距差分數(shù)學模型,并分別進行了靜態(tài)及人行慢動態(tài)實測數(shù)據(jù)解算分析,通過對比兩種模式的實測數(shù)據(jù)結(jié)果發(fā)現(xiàn)基于卡爾曼濾波方法的偽距差分定位模型定位結(jié)果更平滑、可靠性更高.