发明内容
针对上述问题,本发明提出一种能够加速精密单点定位收敛过程的估计方法。
本发明提供的技术方案是一种用于精密单点定位方法的估计方法,采用kalman滤波估计方式,通过历元间差分计算建立提供速度观测量和钟漂观测量的观测方程,在kalman滤波的动态模型里引入速度状态参数和钟漂状态参数,根据所述观测方程和动态模型进行kalman递推估计;
所述建立观测方程的过程如下,在没有周跳的情况下,同一颗卫星在相邻两个历元的无电离层组合的观测方程分别:
omc1=l1ΔX1+m1ΔY1+n1ΔZ1+trop1+cdt1+Nλ
omc2=l2ΔX2+m2ΔY2+n2ΔZ2+trop2+cdt2+Nλ
由于接收机在两个相邻历元间的运动位移很小,以上两个方程是按照同一个近似坐标进行线性化;其中,omc1、omc2为相位观测值减去计算值得到的结果,l1、l2、m1、m2、n2、n2为卫星在X、Y、Z三个方向的方向余弦,ΔX1、ΔX2、ΔY1、ΔY2、ΔZ1、ΔZ2为对近似坐标三个方向的改正数,trop1、trop2是对流层倾斜路径的延迟量,cdt1、cdt2是接收机钟差的距离表示,Nλ是整周模糊度的距离形式,下标1和2用于区别标识两个相邻历元;将以上两式相减得到:
当有R颗卫星时,得到的观测方程为:zk=Hkxk+vk,其中,zk、Hk、xk、vk的含义分别为第k个历元的观测值、观测设计矩阵、状态参数和观测值残差;
其中,l1k…lRk、m1k…mRk、n1k…nRk分别为在第k个历元,第1到第R颗卫星的X、Y、Z三个方向的方向余弦;l1k-1…lRk-1、m1k-1…mRk-1、n1k-1…nRk-1分别为在第k-1个历元,第1到第R颗卫星的X、Y、Z三个方向的方向余弦;map1k…mapRk表示在第k个历元,第1到第R颗卫星的对流层投影函数;
其中,状态参数向量形式为:
其中,xyz为位置参数,
为引入的速度状态参数,dt为接收机钟差参数,
为引入的接收机的钟漂状态参数,ztd为天顶对流层延迟,amb1…ambR分别为第1到第R颗卫星的模糊度参数;
所述在kalman滤波的动态模型里引入速度状态参数和钟漂状态参数,实现方式如下,kalman滤波的动态方程为:
xk=Φk,k-1xk-1+wk-1
其中,xk、xk-1分别为第k和第k-1个历元的状态参数,是未知数向量;Φk,k-1为第k-1到第k个历元的状态转移矩阵,wk-1为过程噪声;引入了历元间差分之后的待求解的状态参数与上述观测模型一致:
相应的状态转移矩阵为:
其中,I
c为3×3单位阵,I
a为R×R单位阵;Φ
Ck,k-1为钟差的状态转移矩阵,形式为:
Δt是两个相邻历元的时间间隔;对应的过程噪声矩阵为:
其中,
表示噪声的方差矩阵,S
P是位置参数的噪声因子,I
n是3×3单位阵,S
a是模糊度的噪声因子,I
a为R×R单位阵,
其中,Sdt是接收机钟漂的噪声因子。
本发明利用同一颗卫星两个相邻历元间的观测方程进行求差,消去对流层,将方向余弦取平均提取出来,得到速度、钟漂观测值;根据引入了速度观测值的动态系统的特性,确定系统的动态模型、状态转移矩阵和过程噪声矩阵等。因此,采用本发明所提出利用历元间差分信息加速PPP收敛的方法,不光能加速收敛,对于提高解的精度也有很大的帮助。
具体实施方式
以下根据实施例和附图说明本发明技术方案:
参见附图1,实施例的基本流程为:一方面,考察上一历元和当前新历元,通过历元间差分计算引入历元间差分方程建立提供速度观测量和钟漂观测量的观测方程。另一方面,根据解算信息,在kalman滤波的动态模型里引入速度状态产生和钟漂状态参数。最后根据所述观测方程和动态模型进行kalman递推估计,实现kalman滤波估计方式。
一、Kalman滤波
目前,在精密单点定位中使用的估计方式为kalman滤波,实施例也以该方式为基础。这种估计方法可以使用本历元之前所有历元的观测信息(序贯最小二乘),同时通过一个动态模型描述两个历元之间的未知量的变化。在使用kalman滤波估计的时候,未知量,也即状态向量的动态特性描述的愈是精确,滤波计算就会愈好。
Kalman滤波的动态模型可以通过如下的动态方程来描述:
xk=Φk,k-1xk-1+wk,k-1,wk,k-1~N(0,Qk,k-1)
其中,xk系统在k历元的状态;Φk k-1是系统状态转移矩阵,它把系统当前历元k-1的状态和下一个历元k的状态联系到了一块。wk,k-1是系统的噪声向量,Qk,k-1是系统的过程噪声矩阵,它描述了动态方程的不确定性,也即动态方程所没有描述到的部分。N(0,Qk,k-1)表示wk,k-1是一个均值为零,方差为Qk,k-1的正态分布。
Kalman滤波的观测模型为:
zk=Hkxk+vk,vk~N(0,Rk)
其中,zk是观测向量,Hk是设计矩阵,xk是系统的参数向量。vk是系统的观测噪声向量,Rk是观测噪声矩阵。N(0,Rk)表示vk是服从均值为零,方差为Rk的正态分布。
有了动态模型和观测方程,就可以进行kalman递推估计,该部分属于现有技术。为便于实施参考起见,本发明予以简述:其基本的计算过程可以归结为预测、滤波增益和滤波计算三步。
1)预测值的计算
首先,根据前一次滤波值(或初值)计算预测值:
根据前一次得到的滤波误差方差矩阵Pk,k-1以及系统的过程噪声矩阵Qk,k-1计算预测的误差方差矩阵:
Pk,k-1=Φk,k-1Pk,k-1ΦT k,k-1+Qk,k-1
2)计算kalman滤波增益
滤波增益矩阵为:
其中,Hk是设计矩阵,Rk是观测噪声矩阵,接下来,计算更新的观测值
3)滤波估计值计算
计算滤波估计:
xk,k=xk,k-1+Kkvk
计算滤波误差方差矩阵:
Pk,k=[I-KkHk]Pk,k-1
二、历元间差分方法
本发明在以上kalman滤波的基础上,采用历元间差分的方法,在没有周条的情况下,可以消除模糊度参数,而且为系统提供了一个速度观测量。这个速度观测量可以为系统提供更加精确的动态模型描述。可以将普通精密单点定位的滤波过程与历元间差分结合,从而加强原来系统的动态模型的精度。实施例设定采用7颗卫星,即R=7。
1)动态方程
引入了历元间差分的动态方程为:
xk=Φk,k-1xk-1+wk-1
xk、xk-1分别为第k和第k-1个历元的状态参数,是未知数向量;Φk,k-1为第k-1到第k个历元的状态转移矩阵,wk-1为过程噪声。
其中,
(因为实施例有七颗卫星)。对应为位置,速度,钟差,钟漂,对流层,模糊度。即x y z为位置参数,
为引入的速度状态参数,dt为接收机钟差参数,dt为引入的接收机的钟漂状态参数,ztd为天顶对流层延迟,amb1…amb7分别为第1到第7颗卫星的模糊度参数。
相应的状态转移矩阵为:
其中,I
c为3×3单位阵,I
a为7×7单位阵。Φ
Ck,k-1为钟差的状态转移矩阵,形式为:
Δt是两个相邻历元的时间间隔。
对应的过程噪声矩阵为:
其中,
表示噪声的方差矩阵,S
P是位置参数的噪声因子,I
p是3×3单位阵,S
a是模糊度的噪声因子,
Sdt是接收机钟漂的噪声因子。具体实施时,SP要根据物体的运动特征设置一个合理的值。Sa设置为一个非常小的值,但是不为零,这样允许模糊度吸收一些未模型化的偏差,例如多路径等。
2)观测方程
加入了历元间差分信息的观测方程为:
zk=Hkxk+vk
其中zk是观测值减去近似值,即OMC。Hk为观测设计矩阵,表达形式为:
上述矩阵为21×16的矩阵。其中第一至第七行是无电离层的伪距观测值对应的部分;八至第十四行为为电离层的相位对应的部分;第十五至第二十一行为历元间差分相位对应的部分。其中,l1k…l7k、m1k…m7k、n1k…n7k分别为在第k个历元,第1到第R颗卫星的X、Y、Z三个方向的方向余弦;l1k-1…lRk-1、m1k-1…mRk-1、n1k-1…nRk-1分别为在第k一1个历元,第1到第R颗卫星的X、Y、Z三个方向的方向余弦;map1k…mapRk表示在第k个历元,第1到第R颗卫星的对流层投影函数。
其中,第十五至第二十一行的方向余弦是本历元方向余弦与上一历元方向余弦的平均。原理如下:
同一颗卫星在两个历元的观测方程分别:
omc1=l1ΔX1+m1ΔY1+n1ΔZ1+trop1+cdt1+Nλ
omc2=l2ΔX2+m2ΔY2+n2ΔZ2+trop2+cdt2+Nλ
由于接收机在两个相邻历元间的运动位移很小,以上两个方程是按照同一个近似坐标进行线性化;其中,omc1、omc2为相位观测值减去计算值得到的结果,l1、l2、m1、m2、n1、n2为卫星在X、Y、Z三个方向的方向余弦,ΔX1、ΔX2、ΔY1、ΔY2、ΔZ1、ΔZ2为对近似坐标三个方向的改正数,trop1、trop2是对流层倾斜路径的延迟量,cdt1、cdt2是接收机钟差的距离表示,Nλ是整周模糊度的距离形式,下标1和2用于区别标识两个相邻历元。在两个相邻历元中,如果没有周跳,或者周跳被正确修复,上面两个式子中的模糊度参数是一样的。由于位置变化很小,因此对流层参数也是一样的。这两项在历元间求差的过程中可以消除。又由于在间隔很小的历元间(一般是小于1秒的采样间隔),卫星位置的变化也很小,因此上面两个式子中的卫星方向余弦是非常接近的,可以把他们取个平均作为一个值。
基于以上分析,可以将上面两式求差得到:
根据以上推导得到的动态方程和观测方程,就可以进行求解计算。