基于融合处理多系统接收机钟差的伪距单点定位算法研究
2015-07-09叶世榕鲍立桂
袁 兵,叶世榕,鲍立桂
(1.武汉大学卫星导航定位技术研究中心,武汉 430072;2.福建新大陆电脑有限公司,福州 350015)
0 引言
传统单点定位只需要一台接收机就可以进行实时导航定位,条件要求少,因此广泛应用于船舶导航、车辆定位、地质勘探等对精度要求不高的领域[1]。并且,多卫星导航系统的发展使得单点定位有可能为人们提供更好的服务。GNSS多系统的集成无论是从连续性、可用性、可靠性、精度以及效率等各方面都更具优势[2]。国内外学者对伪距单点定位和多系统导航定位都有较多深入的研究:李春华等[3]提出一种北斗伪距单点定位加权最小二乘 (WLS)快速算法,使得伪距单点定位计算的复杂度和精度都有明显改善;范磊等[4]分析了COMPASS和GPS两个系统伪距单点定位之间的差异;陆亚峰等[5]分析得出北斗/GPS组合伪距单点定位精度明显优于单系统;李鹤峰等[6-7]给出建立在时空统一上的 BDS/GPS/GLONASS多模融合定位模型;文献 [8-9]给出了GPS、BDS、GLONASS组合单点定位中各系统伪距之间的定权方法;张月超等[1]将Kalman滤波应用于GNSS伪距单点定位中,得到了精度更高,稳定性更好的结果。
本文将Kalman滤波应用于GNSS伪距单点定位中,提出一种融合多模导航定位数据处理算法,在一定条件下将多个系统接收机钟差融合为一个系统接收机钟差,减少了多模导航定位估计参数,从而降低多模导航定位的最低条件,充分发挥多模GNSS较单系统具有的优势。
1 多模GNSS伪距单点定位方程
以GPS、COMPASS和GLONASS三系统为例,在传统的误差方程中,每个系统的接收机钟差都作为一个独立的参数来估计,除去三维坐标参数外,三系统的导航定位数据处理还需估计3个接收机钟差参数,总共6个估计参数,误差方程如式(1)所示:
事实上,对于同一接收机采集的多系统数据,各系统共同使用同一接收机钟,则它们接收机钟差应该是一样的。但是,不同系统的授时系统不一,导致各系统时间系统间存在一定偏差,对固定两个系统而言,两个系统时间基准间偏差为一波动量较小的常数[10]。这些偏差表现为接收机钟差系统间偏差,如式 (2)中的m、n所示。假设式 (2)中 m、n为常数 (在第2节用实验验证m、n为波动量较小的数值,可以当做常数处理),得到:
由此可得,若得知m、n的值之后,便可以将三个系统的接收机钟差参数融合为1个参数,在多模导航定位中只估计4个参数即可。
2 Kalman滤波
Kalman滤波是一种线性最小方差估计方法,其计算过程是不断预测和修正的过程,无需存储大量不同时刻的数据便可以解决大部分问题。
在初始历元中,并不能确切知道m、n值。因此在卫星数充足的情况下,将m、n同三维坐标以及GPS接收机钟差一起作为估计参数,状态方程如下
式中,Xk,k-1为 k 时刻的状态预测值,Xk-1为k-1时刻的状态估计值,Φk,k-1为状态转移矩阵。
k=0时,状态方程初始值X0为第一个历元用最小二乘算法迭代计算得出的伪距单点定位结果。
状态转移矩阵可表示为
式中,Ip、IΔt分别为 3×3、2×2 单位矩阵。
第k历元状态估计方程为
式中,Zk为第k历元观测序列,为第k历元各卫星伪距观测量加上伪距观测量初值及相关误差改正 (对流层、电离层、地球自转改正等)之后的结果;Hk为第k历元设计矩阵,由测站至卫星在三个方向的方向余弦组成;Kk滤波增益矩阵。
滤波增益矩阵Kk解算公式为
式中,Rk为系统观测噪声方差矩阵,它是根据第k历元各卫星高度角计算得到,高度角越大,Rk矩阵中相应的值越小;Pk,k-1为k时刻误差方程矩阵预测值。
预测误差方程矩阵Pk,k-1计算公式为
一般情况下不考虑过程噪声 Qk-1,因此式(8)可以简化为
k=0时,P0为单位矩阵。
估计误差方程矩阵计算公式为
由以上方程可知,只给定初值X0和P0,就可以根据k时刻观测值Zk递推求得k时刻状态估计值Xk。
待经过多次历元解算得到一个较为稳定的m、n值之后,可以将m、n作为常数参与到往后的历元解算中,此时只需估计4个参数 (3个坐标参数,1个接收机钟差参数)。状态方程为
相应状态转移矩阵变化为
式中,Ip为3×3单位矩阵。
3 实验及结果分析
本文实验数据为某个IGS站一天24小时的观测文件 (包含GPS、北斗和GLONASS观测数据),观测时间为2014年1月16日,设置30s采样率及15°截止高度角,总共2880个观测历元数据。
3.1 实验
为了验证对于同一台接收机接收到的多系统数据而言,两两系统间接收机钟差偏差值m、n为一在单天内波动较小的数值,将m、n值连同三维坐标以及GPS系统接收机钟差作为式 (4)状态方程参数,一起参与式 (4)~式 (10)的Kalman滤波估计。m、n值估计结果如图1、图2所示。为了直观,接收机钟差以及m、n值均用米作为单位(即它们的值为钟差乘以光速c之后的结果)。图1和图2分别为Kalman滤波方程下各历元得到的m值和n值,其横坐标单位为个,每一个单位间隔代表一个历元。
图1 Kalman滤波方程下单天时段内各历元m值Fig.1 Value of m of one day by Kalman filter algorithm
图2 Kalman滤波方程下单天时段内方向下各历元n值Fig.2 Value of n of one day by Kalman filter algorithm
表1 Kalman滤波方程解出的单天时段内m、n值均值与均方差列表Tab.1 The list of mean and variance of m and n of one day computed by Kalman filter algorithm
分析图1、图2及表1可知,m、n值在初始一段历元中在一定较小范围内波动,后逐渐趋于平缓,它们的均方差均小于0.4m,说明单天时段内m、n值波动范围不大。同时从表1可以看出,单天时段内m、n值最大值与最小值之差均小于2m,这个误差对伪距单点定位10m精度要求来说可以接受。但为了求得更精确的定位结果,选第50个历元的Kalman滤波值作为m、n值的已知值参与到后续Kalman滤波迭代运算中。如图3、图4和图5中红色线和青色线所示,在第50个历元固定m、n值之后,多模伪距单点定位结果并没有受到太大影响。
图3 单天Kalman滤波解各情况下X坐标值比较Fig.3 Comparation of X’s coordinate values in the three cases
图4 单天Kalman滤波解各情况下Y坐标值比较Fig.4 Comparation of Y’s coordinate values in the three cases
为了对比在卫星数充足情况下固定和不固定m、n值对定位结果的影响,以及验证在三系统卫星总数只有 (3+1)或者 (3+2)情况下固定m、n值之后依然可以进行多模单点定位,本文做了三个实验,如图3、图4和图5所示,纵坐标单位为米,横坐标一个单位代表一个历元,一个历元30s,时间跨度从2014年1月16日0时0分0秒开始到2014年1月16日23时59分30秒结束。图3、图4和图5中红色线条所示为在卫星充足情况下不固定m、n,每个系统的接收机钟差均被独立估计情况下得出的测站三维坐标与测站坐标真值之差;青色线条为卫星充足情况下在第50个历元之后,固定m、n得到的测站三维坐标与测站坐标真值之差;蓝色线条为在第50个历元之后,人为地将每个历元的GLONASS可见卫星减少为1颗,北斗可见卫星减少为1~2颗,GPS可见卫星减少为1~2颗,保证三系统可见卫星总数为 (3+1)颗或者 (3+2)颗,然后开始固定m、n值而得到的测站三维坐标值与测站坐标真值之差。
由于采用了Kalman滤波,测站坐标没有出现过大的跳变,结果较平滑,最后逐渐收敛到一个较接近真值的值域内。
图5 单天Kalman滤波解各情况下Z坐标值比较Fig.5 Comparation of Z’s coordinate values in the three cases
3.2 实验分析
分析图3、图4和图5中的红色线条和青色线条,即卫星数充足情况下不固定m、n(红色线条所示)和固定m、n(青色线条所示)两种模式得出的测站坐标结果在X、Y、Z方向上基本一致,由此可知将在第50个历元计算得出的m、n值从第51个历元开始,作为m、n的已知值参与后续Kalman滤波迭代运算之后,m、n值在各历元的波动量并没有引起多模伪距单点定位太大的变化,在固定m、n值和不固定m、n值情况下伪距单点定位结果几乎一致。因此,在单天时段内,取一定数量历元计算所得的m、n平均值作为m、n已知值代入式 (3),代替GLONASS系统和北斗系统接收机钟差,参与到后续Kalman滤波计算中是可行的。
图3、图4和图5的蓝色线条表示了在三系统可见卫星总数只有4颗或者5颗情况下,固定m、n所得测站坐标值与真值之差,其精度要低于在卫星数充足情况下固定m、n所得测站坐标的精度,但是仍在伪距单点定位所能接受的误差范围之内。其精度较差原因可能是由于在极少数可见卫星数情况下,卫星空间结构较差,以及多余观测值较少导致的。
4 结论
本文提出了一种在多模伪距单点定位中将多系统接收机钟差融合为一个系统接收机钟差的算法,并推导了该算法的递推公式。该算法建立了Kalman滤波方程,将GLONASS系统和北斗系统接收机钟差与GPS系统接收机钟差之差 (如式 (2)所示)同位置参数和GPS系统接收机钟差一起作为估计参数参与到Kalman滤波迭代运算中,并选取经过一定历元计算得到的Kalman滤波值作为m、n已知值参与到后续Kalman滤波迭代运算中,从而将三系统状态方程估计参数从6个减少到4个。该算法降低了多模定位的最低条件,充分发挥了多模GNSS相对于单系统的可见卫星总数较多等优势,即使在可见卫星总数只有 (3+1)或者(3+2)颗情况下依然可以进行三系统的伪距单点定位。实验结论表明,融合多模导航定位数据处理算法可以达到10m的伪距单点定位精度,符合标准单点定位的精度要求。本文做了单天时段内三系统导航定位的实验,在以后的工作中可以将该算法推广到双系统、四系统或者是更多系统的导航定位数据处理中,其理论和算法同三系统是一样的。同时试验时间跨度可以从单天时段延伸到数日或数月情况下。
[1]张月超,陈义,胡川.Klman滤波在GNSS伪距单点定位中的应用[J].全球定位系统,2013,38(6):31-57.
[2]郭斐,张小红,王明华.GNSS多系统集成的兼容性问题[J].测绘信息与工程,2012,40(3):13-15.
[3]李春华,蔡成林,邓克群.一种北斗伪距单点定位的加权最小二乘 (WLS)快速算法[J].重庆邮电大学学报 (自然科学版),2014,26(4):466-472.
[4]范磊,钟世明,欧吉坤.COMPASS与GPS伪距单点定位精度分析[A].第四届中国卫星导航学术年会,中国湖北武汉,2013.
[5]陆亚峰,楼立志,马绪瀛,等.北斗与GPS组合伪距单点定位精度分析[J].全球定位系统,2013,38(6):1-6.
[6]李鹤峰,党亚民,秘金钟,等.BDS/GPS/GLONASS融合定位模型及性能分析[J].测绘通报,2014(9):1-5.
[7]李鹤峰,党亚民,秘金钟,等.BDS与GPS、GLONASS多模融合导航定位时空统一[J].大地测量与地球动力学,2013,33(4):73-78.
[8]何俊,袁小玲,曾琪.GPS/BDS/GLONASS组合单点定位研究[J].测绘科学,2014,39(8):124-128.
[9]尚梦云,高晖,常青,等.GPS/GLONASS/BDS三系统组合定位的定权方法[J].太赫兹科学与电子信息学报,2014,12(3):374-378.
[10]王党卫.时间统一系统研究[J].现代导航,2012,6:450-455.