CN102928858B - 基于改进扩展卡尔曼滤波的gnss单点动态定位方法 - Google Patents

基于改进扩展卡尔曼滤波的gnss单点动态定位方法 Download PDF

Info

Publication number
CN102928858B
CN102928858B CN201210411647.4A CN201210411647A CN102928858B CN 102928858 B CN102928858 B CN 102928858B CN 201210411647 A CN201210411647 A CN 201210411647A CN 102928858 B CN102928858 B CN 102928858B
Authority
CN
China
Prior art keywords
centerdot
delta
state vector
gnss
receiver
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201210411647.4A
Other languages
English (en)
Other versions
CN102928858A (zh
Inventor
许承东
宋丹
张鹏飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN201210411647.4A priority Critical patent/CN102928858B/zh
Publication of CN102928858A publication Critical patent/CN102928858A/zh
Application granted granted Critical
Publication of CN102928858B publication Critical patent/CN102928858B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

本发明涉及一种基于改进扩展卡尔曼滤波的GNSS单点动态定位方法,属于卫星导航技术领域。本方法将GNSS接收机的位置速度、钟差与钟漂作为位置参数设为状态向量Xk,通过状态转移方程,由前一历元的状态向量推算当前历元状态向量的预测值;并通过观测方程进一步获取状态向量预测值的修正量;将预测值和修正量加权,获取状态向量的估计值。在基于扩展卡曼滤波定位过程中,本方法通过延迟对状态向量误差协方差矩阵的更新,使得在初始取状态向量的情况下,滤波估计值快速收敛在真值附近,并达到很高的定位测速精度;不需要保存每一步的计算数据,占用计算机内存资源少;适用于GNSS单点动态定位。

Description

基于改进扩展卡尔曼滤波的GNSS单点动态定位方法
技术领域
本发明涉及一种基于改进扩展卡尔曼滤波的GNSS单点动态定位方法,属于卫星导航技术领域。
背景技术
GNSS单点动态定位由于只需要一台单频接收机,获取4颗或4颗以上可见卫星与接收机间的测码伪距和多普勒频移观测量,便可解算载体的位置、速度、钟差和钟漂等信息而广泛应用于各种车辆、船只的导航和监控、海上定位、野外勘测等领域。扩展卡尔曼滤波(EKF)是在GNSS单点动态定位中除最小二乘(LS)外最常用的解算方法。
卡尔曼滤波(KF)是卡尔曼于1960年提出的从与被提取信号有关的观测量中,通过算法估计出所需信号的一种滤波方法。这种方法将信号过程视为白噪声作用下的一个线性系统,利用高斯白噪声的统计特性,以系统的观测量为输入,以所需要的估计值(称为系统的状态向量)为输出,将输入和输出由时间更新和观测更新联系在一起,根据系统的状态转移方程和观测方程获取状态向量的最优估计值。
KF的原理是:将系统中需求解的所有参数设为一个状态向量;通过状态转移方程建立两个相邻历元的状态向量之间的关系,由前一历元的状态向量推算当前历元状态向量的预测值;通过观测方程建立当前历元状态向量与观测量之间的关系,从而获取一个状态向量预测值的修正量;将状态向量的预测值和修正量通过滤波增益加权,获得状态向量的最优滤波估计。
KF适用于线性系统,而大多数情况下,系统是非线性的。要使KF适用于非线性系统,需要将状态转移方程和观测方程进行线性化处理,若线性化处理的方法是泰勒级数展开法,则所对应的KF被称为扩展卡尔曼滤波(EKF)。
以线性的状态转移方程和非线性的观测方程所构成的系统为例:
状态转移方程:Xkk|k-1Xk-1k|k-1ωk-1            [1]
观测方程:Zk=fk(Xk)+vk                 [2]
由于fk(·)是非线性的,需要对方程[2]进行线性化处理,在
Figure BDA00002304809500011
处进行泰勒展开,并取其一阶近似,可得到方程[3]。
ΔZk=HkΔXk+vk          [3]
其中,k表示观测历元数;Xk和Xk-1为第k个和第k-1个观测历元的状态向量;Φk|k-1是状态转移矩阵;Γk|k-1为噪声驱动矩阵;Zk为第k个历元的观测量;fk描述了第k个历元,Zk和Xk之间的函数关系;ωk-1和vk分别为过程噪声和观测噪声,二者皆为高斯白噪声;
Figure BDA00002304809500023
为Xk的预测值。
基于方程[1]和[3]的EKF步骤如下:
a)推算状态向量Xk的预测值
Figure BDA00002304809500024
X ^ k | k - 1 = Φ k | k - 1 X ^ k - 1
其中,
Figure BDA00002304809500026
是Xk-1的最优滤波估计;
b)计算
Figure BDA00002304809500027
的协方差矩阵Pk|k-1
P k | k - 1 = Φ k | k - 1 P k - 1 Φ k | k - 1 T + Q k - 1
其中,Qk-1为ωk-1的协方差矩阵;
c)计算滤波增益矩阵Kk:
K k = P k | k - 1 H k T [ H k P k | k - 1 H k T + O k ] - 1
其中,Ok为vk的协方差矩阵;
d)计算状态向量Xk的滤波估计值
Figure BDA000023048095000210
X ^ k = X ^ k | k + 1 + K k · Δ Z k
其中,即为第k个历元状态向量Xk的滤波解算结果;
e)计算Xk的误差协方差矩阵Pk
Pk=[I-KkHk]Pk|k-1
f)令k-1=k,转入步骤a)……
与基于LS的GNSS单点动态定位方法(LS方法)相比,基于EKF的GNSS单点动态定位方法可达到较高的定位测速精度,但是,这种方法存在一个问题:在不了解初始状态的统计特性的情况下,如果初始状态向量
Figure BDA000023048095000213
及其协方差矩阵P0取值不合适,滤波收敛极慢。
Figure BDA000023048095000214
和P0的常用取值方法有两种:1.取
Figure BDA000023048095000215
为零向量,取P0为对角阵,其对角线元素取大数量级的正数;2.取
Figure BDA000023048095000216
为与真实的X0相近的概略值,取P0为对角阵,其对角线元素取大数量级的正数;2.取
Figure BDA000023048095000217
为与真实的X0相近的概略值。第一种方法操作简便,但会使滤波收敛速度变慢,延长首次定位时间;第二种方法可使滤波快速收敛,但是与真实的X0接近到何种程度可使滤波快速收敛很难界定,且接收机的大概位置、速度信息不是在任何时间地点都可轻易获取。
发明内容
本发明目的是为解决GNSS单点动态定位时,EKF滤波不收敛或收敛很慢的问题,提出一种基于改进EKF的GNSS单点动态定位方法。
本发方法采用一种基于改进EKF的GNSS单点动态定位方法,采用状态向量误差协方差矩阵延迟更新的方法(DU-EKF),通过对状态向量误差协方差矩阵更新的延迟,使得在初始取状态向量
Figure BDA00002304809500032
的情况下,滤波估计值快速收敛在真值附近,并达到很高的定位测速精度。
本发明的具体技术方案如下:
预设GNSS接收机处于ECEF坐标系下,其的状态向量为:
X k = [ x k u , v k ux , a k ux , y k u , v k uy , a k uy , z k u , v k uz , a k uz , cΔt k u , cΔ f k u ] T
其中,k为观测历元数,
Figure BDA00002304809500034
分别为ECEF坐标下GNSS接收机载体的三维位置、速度和加速度,
Figure BDA00002304809500035
Figure BDA00002304809500036
分别为接收机的钟差和钟漂。该状态向量包含了导航定位所需求解的全部信息。
则Xk的滤波估计 X ^ k = [ x ^ k u , v ^ k ux , a ^ k ux , y ^ k u , v ^ k uy , a ^ k uy , z ^ k u , v ^ k uz , a ^ k uz , cΔ t ^ k u , cΔ f ^ k u ] T .
ECEF坐标系即地心地固坐标系,原点为地球质心,Z轴与地轴平行指向北极点,X轴指向本初子午线与赤道的交点,Y轴垂直于XOY平面(即东经90度与赤道的交点)。
步骤1:在观测历元数k=1时,初始状态向量
Figure BDA00002304809500038
初始状态向量误差协方差矩阵P0=diag[1/εp 1/εv 1/εa 1/εp 1/εv 1/εa 1/εp 1/εv 1/εa 1/εt 1/εf]。
εp为载体距地心距离平方的倒数,εv为载体最大允许速度平方的倒数,εa为载体最大允许加速度的倒数,εt为接收机钟差与光速乘积平方的倒数,εf为接收机钟漂与光速乘积平方的倒数。在实际运用中,εp,εv,εa,εt和εf均为正数,取值在数量级上与接收机真实情况相近。
步骤2:计算状态向量Xk的预测值
Figure BDA00002304809500039
X ^ k | k - 1 = Φ k | k - 1 X ^ k - 1 [ x ^ k | k - 1 u , v ^ k | k - 1 ux , a ^ k | k - 1 ux , y ^ k | k - 1 u , v ^ k | k - 1 uy , a ^ k | k - 1 uy , z ^ k | k - 1 u , v ^ k | k - 1 uz , a ^ k | k - 1 uz , cΔ t ^ k | k - 1 u , cΔ f ^ k | k - 1 u ] T
其中Φk|k-1为状态转移矩阵,来自接收机载体的动力学模型。
Φ k | k - 1 = Φ k | k - 1 x Φ k | k - 1 y Φ k | k - 1 z Φ k | k - 1 c - - - [ 4 ]
Figure BDA00002304809500043
分别是ECEF坐标系下,X向,Y向和Z向运动状态量的状态转移矩阵,依据动力学模型确定;
Figure BDA00002304809500044
是有关钟差和钟漂的状态转移矩阵,依据时钟模型确定。
步骤3:计算预测值
Figure BDA00002304809500045
的协方差矩阵Pk|k-1
P k | k - 1 = Φ k | k - 1 P k - 1 Φ k | k - 1 T + Q k - 1
过程噪声协方差矩阵:
Q k - 1 = 2 α x σ x 2 Q k - 1 x 2 α y σ y 2 Q k - 1 y 2 α z σ z 2 Q k - 1 z Q k - 1 c - - - [ 5 ]
Figure BDA00002304809500048
Figure BDA00002304809500049
分别是ECEF坐标系下,X,Y,Z三向运动状态量的过程噪声矩阵;αy和αz分别为X向,Y向和Z向的机动加速度频率;
Figure BDA000023048095000410
分别是X,Y,Z三向的机动加速度方差。
步骤4:根据步骤3得到的Pk|k-1,计算滤波增益矩阵Kk
K k = P k | k - 1 H k T [ H k P k | k - 1 H k T + Q k ] - 1
(a)观测矩阵Hk f x ( X k ) = R k 1 · · · R k n D k 1 · · · D k n T 线性化而来,
Figure BDA000023048095000413
Figure BDA000023048095000414
分别为第s颗可见星的伪距方程[6]和多普勒方程[7],s=1,…,n,n为接收机观测到的参与定位计算的可见星总数。
R k s = ( X k s - x k u ) 2 + ( Y k s - x k u ) 2 + ( Z k s - z k u ) 2 + c · Δt k u - - - [ 6 ]
D k s = [ ( X k s - x k u ) · ( V k sx - v k ux ) + ( Y k s - y k u ) · ( V k sy - v k uy ) + ( Z k s - z k u ) · ( V k sz - v k uz ) ] / ρ k s + c · Δf k u - - - [ 7 ]
其中,
Figure BDA000023048095000417
Figure BDA000023048095000418
分别为ECEF坐标系下第s颗可见星在第k个历元的三维位置和速度,
Figure BDA000023048095000419
是第s颗可见星与GNSS接收机之间的真实距离,
ρ k s = ( X k s - x k u ) 2 + ( Y k s - y k u ) 2 + ( Z k s - z k u ) 2 .
Figure BDA00002304809500051
Hk中前n行由伪距方程线性化而来,后n行由多普勒方程线性化而来。
h sx | k 1 = ∂ R k s ∂ x k u = ∂ D k s ∂ v k ux = ( x ^ k | k - 1 u - X k s ) ρ k | k - 1 s
h sx | k 2 = ∂ D k s ∂ x k u = ( v ^ k | k - 1 ux - V k sx ) ( ρ k | k - 1 s ) 2 - ( x ^ k | k - 1 u - X k s ) J k | k - 1 s ( ρ k | k - 1 s ) 2
ρ k | k - 1 s = ( X k s - x ^ k | k - 1 u ) 2 + ( Y k s - y ^ k | k - 1 u ) 2 + ( Z k s - z ^ k | k - 1 u ) 2
J k | k - 1 s = ( X k s - x ^ k | k - 1 u ) · ( V k sx - v ^ k | k - 1 ux ) ( Y k s - y ^ k | k - 1 u ) · ( V k sy - v ^ k | k - 1 uy ) + ( Z k s - z ^ k | k - 1 u ) · ( V k sz - v ^ k | k - 1 uz )
用y和z分别代替
Figure BDA00002304809500056
Figure BDA00002304809500057
中的x,得到
Figure BDA00002304809500058
Figure BDA00002304809500059
(b)过程噪声方差矩阵 O k = β 1 · I n × n 0 0 β 2 · I n × n - - - [ 9 ]
其中,In×n为n阶方阵,β1为伪距观测噪声方差,β2为多普勒频移观测噪声方差。
步骤5:根据步骤2得到的计算状态向量Xk的滤波估计值
Figure BDA000023048095000513
X ^ k = X ^ k | k - 1 + K k · Δ Z k
Δ Z k = [ ( r k 1 - r ^ k | k - 1 1 ) , · · · , ( r k n - r ^ k | k - 1 n ) , ( d k 1 - d ^ k | k - 1 1 ) , · · · , ( d k n - d ^ k | k - 1 n ) ] T - - - [ 10 ]
Figure BDA000023048095000516
Figure BDA000023048095000517
分别为第s颗可见星的伪距观测值和多普勒观测值。
r ^ k | k - 1 s = ( X k s - x ^ k | k - 1 u ) 2 + ( Y k s - x ^ k | k - 1 u ) 2 + ( Z k s - z ^ k | k - 1 u ) 2 + c · Δ t ^ k | k - 1 u ,
d ^ k | k - 1 s = [ ( X k s - x ^ k | k - 1 u ) · ( V k sx - v ^ k | k - 1 ux ) + ( Y k s - y ^ k | k - 1 u ) · ( V k sy - v k | k - 1 uy ) + ( Z k s - z k | k - 1 u ) · ( V k sz - v k | k - 1 uz ) ] / ρ k | k - 1 s + c · Δ f ^ k | k - 1 u
步骤6:判断k的取值,若k≤m,转到步骤7,若k>m,转到步骤8。
m取值范围为2<m<6。
若m≤2,滤波收敛速度慢;如果2<m<6,状态向量的滤波估计值在前5个历元就收敛到真值附近,解算误差与LS方法的解算误差相当,在第10个历元取得很好的解算精度,随着历元数的积累,解算精度略有提高;如果m≥6,状态向量在第10个历元才能收敛到真值附近,收敛速度慢。
步骤7:令Pk=Pk-1
步骤8:根据步骤4得到的Kk,计算Pk:Pk=[I-KkHk]Pk|k-1
步骤9:输出 X ^ k = [ x ^ k u , v ^ k ux , a ^ k ux , y ^ k u , v ^ k uy , a ^ k uy , z ^ k u , v ^ k uz , a ^ k uz , c&Delta; t ^ k u , c&Delta; f ^ k u ] T .
即为第k个历元的定位和测速结果。
步骤10:令k=k+1,转入步骤2,继续计算并输出下一个历元的状态向量的滤波估计值,直到不需要进行接收机载体的定位测速时,停止计算。
有益效果
本发明的DU-EKF方法不需要保存每一步的计算数据,占用计算机内存资源少;直接令
Figure BDA00002304809500063
不需要考虑
Figure BDA00002304809500064
的取值,操作简便,且滤波收敛快,解算精度与LS方法相比有数量级上的提升,与EKF方法相当;这种方法从第5个历元起,所得的解算结果就是有效的。
附图说明
图1为本发明的基于改进EKF的GNSS单点动态定位方法流程图;
图2为具体实施方式中ECEF坐标系下,LS方法、CEKF方法、DU-EKF方法解算所得的接收机Z向位置误差对比图,图中将三种方法分别记作LSM、CEKFM和DU-EKFM;
图3为具体实施方式中ECEF坐标系下,LS方法、CEKF方法、DU-EKF方法解算所得的接收机Z向速度误差对比图,图中将三种方法分别记作LSM、CEKFM和DU-EKFM;
图4a和图4b分别为具体实施方式中ECEF坐标系下,DU-EKF方法和ZEKF方法解算所得的接收机Z向定位和测速误差,图中将两种方法分别记作DU-EKFM和ZEKFM。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的详细说明。
本发明提供一种基于改进EKF的GNSS单点动态定位方法,所述方法流程如图1所示,实施例中以GPS系统为卫星导航系统。
在基于改进EKF的GNSS单点动态定位方法中,接收机载体的状态转移方程来自动力学模型,常用的动力学模型有CV模型、CA模型和Singer模型;对应于载体的动力学模型,接收机的钟差和钟漂之间的关系由时钟模型描述;观测方程来自观测模型,常用的观测模型有伪距观测模型和多普勒观测模型。实施例中,选取Singer模型和石英钟模型来描述状态转移方程,选取伪距和多普勒两种观测模型来描述观测方程,选取地心地固坐标系(ECEF)为参考坐标系。以下为实施例的具体执行步骤:
预设接收机处于ECEF坐标系下,其状态向量 X k = [ x k u , v k ux , a k ux , y k u , v k uy , a k uy , z k u , v k uz , a k uz , c&Delta;t k u , c&Delta; f k u ] T , 包含了导航定位所需求解的全部信息,其中,
Figure BDA00002304809500072
分别为ECEF坐标下载体的三维位置、速度和加速度,
Figure BDA00002304809500073
Figure BDA00002304809500074
分别为接收机的钟差和钟漂。
则Xk的滤波估计 X ^ k = [ x ^ k u , v ^ k ux , a ^ k ux , y ^ k u , v ^ k uy , a ^ k uy , z ^ k u , v ^ k uz , a ^ k uz , c&Delta; t ^ k u , c&Delta; f ^ k u ] T .
步骤1:令k=1,设置初始状态向量
Figure BDA00002304809500076
(维数为11),初始状态向量误差协方差矩阵P0=diag[1/εp 1/εv 1/εa 1/εp 1/εv 1/εa 1/εp 1/εv 1/εa 1/εt 1/εf]。
步骤2:计算状态向量预测值Xk的预测值
Figure BDA00002304809500077
(a)状态转移矩阵Φk|k-1参见公式[4]。Singer模型下,载体的状态转移矩阵如下描述,以ECEF坐标系下X向运动为例:
&Phi; k | k - 1 x = 1 T 1 &alpha; x 2 ( - 1 + &alpha; x + e - &alpha; x T ) 0 1 1 &alpha; x ( 1 - e - &alpha; x T ) 0 0 e - &alpha; x T
Figure BDA00002304809500079
Figure BDA000023048095000710
参见
Figure BDA000023048095000711
只需将αx轮换为αy和αz。αx,αy和αz分别为X向,Y向和Z向的机动加速度频率,T为观测步长,即相邻两个观测历元间的时间差。
实施例中选取的石英钟模型由二阶马尔科夫过程来描述,
&Phi; k | k - 1 c = 1 T 0 1
(b)将
Figure BDA000023048095000713
和Φk|k-1代入
Figure BDA000023048095000714
步骤3:计算
Figure BDA000023048095000716
的协方差矩阵Pk|k-1
Figure BDA000023048095000717
(a)过程噪声协方差矩阵Qk-1参见公式[5],仍以X向运动为例:
Q k - 1 x = q 11 q 12 q 13 q 21 q 22 q 23 q 31 q 32 q 33
q 11 = ( 1 - e - 2 &alpha; x T + 2 &alpha; x T + 2 &alpha; x 3 T 3 / 3 - 2 &alpha; x 2 T 2 - 4 &alpha; x T e - &alpha; x T ) / 2 &alpha; x 5
q 22 = ( 4 e - &alpha; x T - 3 - e - 2 &alpha; x T + 2 &alpha; x T ) / 2 &alpha; x 3
q 33 = ( 1 - 2 e - 2 &alpha; x T ) / 2 &alpha; x
q 12 = q 21 = ( e - 2 &alpha; x T + 1 - 2 e - &alpha; x T + 2 &alpha; x Te - &alpha; x T - 2 &alpha; x T + &alpha; x 2 T 2 ) / 2 &alpha; x 4
q 13 = q 31 = ( 1 - e - 2 &alpha; x T - 2 &alpha; x T e - &alpha; x T ) / 2 &alpha; x 3
q 23 = q 32 = ( 1 + e - 2 &alpha; x T - 2 e - &alpha; x T ) / 2 &alpha; x 2
参见
Figure BDA00002304809500089
将αx轮换为αy和αz即可,
Figure BDA000023048095000810
分别是X,Y,Z三向的机动加速度方差。
有关时钟的过程噪声解释如下:
Q k - 1 c = q c 11 q c 12 q c 21 q c 22
q c 11 = h 0 2 T + 2 h - 1 T 2 + 2 3 &pi; 2 h - 2 T 3 , q c 12 = q c 21 = 2 h - 1 T + &pi; 2 h - 2 T 3 , q c 22 = h 0 2 T + 2 h - 1 + 8 3 &pi; 2 h - 2 T , 对于石英钟而言,h0=9.4×10-20,h-1=1.8×10-19,h-2=3.8×10-21
(b)将Φk|k-1,Pk-1和Qk-1代入
Figure BDA000023048095000815
计算Pk|k-1
步骤4:计算滤波增益矩阵Kk K k = P k | k - 1 H k T [ H k P k | k - 1 H k T + Q k ] - 1 .
(a)观测矩阵Hk参见公式[8];
(b)过程噪声协方差矩阵Ok参见公式[9];
(c)将Pk|k-1,Hk和Ok代入 K k = P k | k - 1 H k T [ H k P k | k - 1 H k T + Q k ] - 1 ( k = 1 ) , 求得Kk
步骤5:计算状态向量Xk的滤波估计值
Figure BDA000023048095000818
Figure BDA000023048095000819
(a)观测量△Zk参见公式[10];
(b)将
Figure BDA000023048095000820
Kk和△Zk代入
Figure BDA000023048095000821
求得
Figure BDA000023048095000822
步骤6:判断k的取值,若k≤m,转到步骤7,若k>m,转到步骤8。
步骤7:直接令Pk=Pk-1
步骤8:对Pk进行计算,Pk=[I-KkHk]Pk|k-1
步骤9:输出
Figure BDA000023048095000823
步骤10:令k=k+1,转入步骤2,继续计算得到下一个历元的
Figure BDA000023048095000824
下面以具体数值进一步说明本发明。
本实施例在数学仿真环境中进行,设定仿真开始时间为UTC时间2011-6-202:00:00,仿真步长为1s(T=1s)。接收机初始位置为纬度5°,经度5°,高度0m,在ECEF坐标系中的位置是[6329853.79,553790.45,552184.40]m,接收机的速度为ECEF坐标系中[5,5,5]m/s。观测量(伪距和多普勒频移)是根据GPS的RINEX星历和载体的真实运动轨迹计算所得的真距和真实多普勒频移分别加上8m和0.2Hz的高斯白噪声构成的,符合实际情形中排除电离层、对流层和多径误差后伪距和多普勒频移观测量的真实情况。
DU-EKF方法具体实施步骤如下,如图1所示,取m=3:
预设接收机处于ECEF坐标系下,其状态向量 X k = [ x k u , v k ux , a k ux , y k u , v k uy , a k uy , z k u , v k uz , a k uz , c&Delta;t k u , c&Delta; f k u ] T , 包含了导航定位所需求解的全部信息,其中,
Figure BDA00002304809500092
分别为ECEF坐标下载体的三维位置、速度和加速度,
Figure BDA00002304809500093
Figure BDA00002304809500094
分别为接收机的钟差和钟漂。
则Xk的滤波估计 X ^ k = [ x ^ k u , v ^ k ux , a ^ k ux , y ^ k u , v ^ k uy , a ^ k uy , z ^ k u , v ^ k uz , a ^ k uz , c&Delta; t ^ k u , c&Delta; f ^ k u ] T .
步骤1:令k=1,设(维数为11),
P0=diag[1/εp 1/εv 1/εa 1/εp 1/εv 1/εa 1/εp 1/εv 1/εa 1/εt 1/εf]其中εp=10-14,εa=0.01,εv=10-3,εtf=10-5
步骤2:计算Xk-1的预测值
Figure BDA00002304809500097
(a)求取状态转移矩阵Φk|k-1,参见公式[4],Φk|k-1中αxyz=106
(b)将
Figure BDA00002304809500098
和Φk|k-1代入
Figure BDA00002304809500099
步骤3:计算
Figure BDA000023048095000911
的误差协方差矩阵Pk|k-1
(a)求取过程噪声协方差矩阵Qk-1,参见公式[5],Qk-1中αxyz=106
&sigma; x 2 = &sigma; y 2 = &sigma; z 2 = 100 ;
(b)将Φk|k-1,Pk-1和Qk-1代入
Figure BDA000023048095000913
计算Pk|k-1
步骤4:计算滤波增益矩阵Kk
(a)求Hk
将第k个历元中参与定位的可见星的三维位置和三维速度以及代入公式[8],求得Hk,表1为k=1时12颗可见星在ECEF坐标系下的三维位置和速度;
表1.第1个历元GPS可见星的三维位置和速度
Figure BDA000023048095000915
Figure BDA00002304809500101
(b)根据公式[9]求得Ok,Ok中β1=64,β2=0.04。
(c)将Pk|k-1,Hk和Ok代入 K k = P k | k - 1 H k T [ H k P k | k - 1 H k T + Q k ] - 1 ( k = 1 ) , 求得Kk
步骤5:计算状态向量Xk的滤波估计值
Figure BDA00002304809500103
(a)将可见星的伪距和多普勒观测值代入公式[10],求得△Zk,表2为k=1时12颗可见星的伪距和多普勒频移观测值;
表2.第1个历元GPS可见星的伪距观测值和多普勒观测值
Figure BDA00002304809500105
Figure BDA00002304809500106
(b)将
Figure BDA00002304809500107
Kk和△Zk代入
Figure BDA00002304809500108
求得
步骤6:判断k的取值,若k≤3,转入步骤7;若k>3,转入步骤8。
步骤7:令Pk=Pk-1
步骤8:令Pk=[I-KkHk]Pk|k-1
步骤9:输出
Figure BDA000023048095001010
步骤10:令k=k+1,转入步骤2,继续计算输出
本实施例中,将现有技术中基于EKF的GNSS单点动态定位方法分为两种,第一种称为ZEKF方法,其特点为
Figure BDA000023048095001012
取零向量,P0取为对角阵,其对角线元素取大数量级的正数;第二种称为CEKF方法,其特点为
Figure BDA000023048095001013
取与真实的X0相近的概略值,P0取为对角阵,其对角线元素取大数量级的正数。
按本实施例中的步骤1-10,计算305个历元,统计从第5个历元到第305个历元的定位和测速结果,以相同仿真条件下LS方法和CEKF方法的解算结果作对比。定位误差如表3所示,测速误差如表4所示。
表3.不同方法的各向定位误差     单位:m
Figure BDA00002304809500111
表4.不同方法的各向测速误差     单位:m/s
Figure BDA00002304809500112
图2和图3分别是LS方法、CEKF方法和DU-EKF方法下,Z向的定位和测速精度。由于从第1个历元到第4个历元,DU-EKF方法和CEKF方法的定位和测速误差有5个数量级的提升,若展示在图中,后续历元的解算结果是一条0值附近的直线,不利于对三种方法解算结果的比较,因此图中横轴观测历元的取值从第5个历元开始。
分析表3和表4,结合图2和图3可得,算例中LS方法的定位误差在10m以内,测速误差在0.05m/s以内;CEKF方法的定位误差在2m以内,测速误差在0.02m/s以内;DU-EKF方法的定位误差在1.5m以内,测速误差在0.02m/s以内。与LS方法相比,DU-EKF方法的解算精度有数量级上的提升;与CEKF方法相比,DU-EKF方法的解算精度并没有明显的提高,但是DU-EKF方法不需要获知载体的概略位置和速度。
如图4所示,在初始状态向量同为
Figure BDA00002304809500121
的情况下,DU-EKF方法的收敛速度要比ZEKF方法快很多,体现了DU-EKF方法的优越性。
本发明的DU-EKF方法对EKF方法进行了改进,在接收机的GNSS单点动态定位中,本方法收敛速度快,不需要在滤波开始时获知接收机的概略位置和速度,且解算精度与CEKF方法相当。将本方法运用到实际导航仪中,用户不需要在其位置发生大范围变动时对导航仪的概略位置进行重新设定,且获取首次定位测速信息的时间短,定位测速的精度高,能够为用户提供方便、快捷和高质量的定位测速服务。本发明所提供的方法适用于GNSS单点动态定位。

Claims (3)

1.基于改进扩展卡尔曼滤波的GNSS单点动态定位方法,其特征在于:
步骤1:在观测历元数k=1时,初始状态向量
Figure FDA0000409838750000011
初始状态向量误差协方差矩阵P0=diag[1/εp 1/εv 1/εa 1/εp 1/εv 1/εa 1/εp 1/εv 1/εa 1/εt 1/εf];
ECEF坐标系下,GNSS接收机的状态向量定义为:
X k = [ x k u , v k ux , a k ux , y k u , v k uy , a k uy , z k u , v k uz , a k uz , c&Delta; t k u , c&Delta; f k u ]
其中,k为观测历元数,
Figure FDA0000409838750000013
分别为ECEF坐标下GNSS接收机载体的三维位置、速度和加速度,
Figure FDA0000409838750000014
Figure FDA0000409838750000015
分别为接收机的钟差和钟漂;
Xk的滤波估计
Figure FDA0000409838750000016
为:
X ^ k = [ x ^ k u , v ^ k ux , a ^ k ux , y ^ k u , v ^ k uy , a ^ k uy , z ^ k u , v ^ k uz , a ^ k uz , c&Delta; t ^ k u , c&Delta; f ^ k u ] T
εp为载体与地心距离平方的倒数,εv为载体最大允许速度平方的倒数,εa为载体最大允许加速度的倒数,εt为接收机钟差与光速乘积平方的倒数,εf为接收机钟漂与光速乘积平方的倒数;
步骤2:计算状态向量Xk的预测值
Figure FDA0000409838750000018
X ^ k | k - 1 = &Phi; k | k - 1 X ^ k - 1 = [ x ^ k | k - 1 u , v ^ k | k - 1 , ux a ^ k | k - 1 ux , y ^ k | k - 1 u , v ^ k | k - 1 , uy a ^ k | k - 1 uy , z ^ k | k - 1 u , v ^ k | k - 1 uz , a ^ k | k - 1 uz , c&Delta; t ^ k | k - 1 u , c&Delta; f ^ k | k - 1 u ] T
其中Φk|k-1为状态转移矩阵,来自接收机载体的动力学模型,
&Phi; k | k - 1 = &Phi; k | k - 1 x &Phi; k | k - 1 y &Phi; k | k - 1 z &Phi; k | k - 1 c
Figure FDA00004098387500000111
分别是ECEF坐标系下,X向,Y向和Z向运动状态量的状态转移矩阵,依据动力学模型确定;
Figure FDA00004098387500000112
是有关钟差和钟漂的状态转移矩阵,依据时钟模型确定;
步骤3:计算预测值
Figure FDA00004098387500000113
的协方差矩阵
Figure FDA00004098387500000114
P k | k - 1 = &Phi; k | k - 1 P k - 1 &Phi; k | k - 1 T + Q k - 1
过程噪声协方差矩阵:
Q k - 1 = 2 &alpha; x &sigma; x 2 Q k - 1 x 2 &alpha; y &sigma;&delta; y 2 Q k - 1 y 2 &alpha; z &sigma; z 2 Q k - 1 z Q k - 1 c
Figure FDA00004098387500000117
Figure FDA00004098387500000118
分别是ECEF坐标系下,X,Y,Z三向运动状态量的过程噪声矩阵;αy和αz分别为X向,Y向和Z向的机动加速度频率;
Figure FDA00004098387500000119
分别是X,Y,Z三向的机动加速度方差;
步骤4:根据步骤3得到的Pk|k-1,计算滤波增益矩阵Kk
K k = P k | k - 1 H k T [ H k P k | k - 1 H k T + Q k ] - 1
(a)观测矩阵Hk
Figure FDA0000409838750000022
线性化而来,
Figure FDA0000409838750000023
Figure FDA0000409838750000024
分别为第s颗可见星的伪距方程[6]和多普勒方程[7],s=1,...,n,n为接收机观测到的参与定位计算的可见星总数;
R k s = ( X k s - x k u ) 2 + ( Y k s - x k u ) 2 + ( Z k s - z k u ) 2 + c &CenterDot; &Delta; t k u - - - [ 6 ]
D k s = [ ( X k s - x k u ) &CenterDot; ( V k sx - v k ux ) + ( Y k s - y k u ) &CenterDot; ( V k sy - v k uy ) + ( Z k s - z k u ) &CenterDot; ( V k sz - v k uz ) ] / &rho; k s + c &CenterDot; &Delta; f k u - - - [ 7 ]
其中,
Figure FDA0000409838750000027
Figure FDA0000409838750000028
分别为ECEF坐标系下第s颗可见星在第k个历元的三维位置和速度,
Figure FDA0000409838750000029
是第s颗可见星与GNSS接收机之间的真实距离, &rho; k s = ( X k s - x k u ) 2 + ( Y k s - y k u ) 2 + ( Z k s - z k u ) 2 ;
H k = h 1 x | k 1 0 h 1 y | k 1 0 h 1 z | k 1 0 1 0 . . . . . . . . . . . . . . . . . . . . . . . . h nx | k 1 0 h ny | k 1 0 h nz | k 1 0 1 0 h 1 x | k 2 h 1 x | k 1 h 1 y | k 2 h 1 y | k 1 h 1 y | k 2 h 1 z | k 1 0 0 . . . . . . . . . . . . . . . . . . . . . . . . h nx | k 2 h nx | k 1 h ny | k 2 h ny | k 1 h nz | k 2 h nz | k 1 0 1 - - - [ 8 ]
Hk中前n行由伪距方程线性化而来,后n行由多普勒方程线性化而来;
h sx | k 1 = &PartialD; R k s &PartialD; x k u = &PartialD; D k s &PartialD; v k ux = ( x ^ k | k - 1 u - X k s ) &rho; k | k - 1 s
h sx | k 2 = &PartialD; D k s &PartialD; x k u = ( v ^ k | k - 1 ux - V k sx ) ( &rho; k | k - 1 s ) 2 - ( x ^ k | k - 1 u - X k s ) J k | k - 1 s ( &rho; k | k - 1 s ) 2
&rho; k | k - 1 s = ( X k s - x ^ k | k - 1 u ) 2 + ( Y k s - y ^ k | k - 1 u ) 2 + ( Z k s - z ^ k | k - 1 u ) 2
J k | k - 1 s = ( X k s - x ^ k | k - 1 u ) &CenterDot; ( V k sx - v ^ k | k - 1 ux ) + ( Y k s - y ^ k | k - 1 u ) &CenterDot; ( V k sy - v ^ k | k - 1 uy ) + ( Z k s - z ^ k | k - 1 u ) &CenterDot; ( V k sz - v ^ k | k - 1 uz )
用y和z分别代替
Figure FDA00004098387500000217
中的x,得到
Figure FDA00004098387500000220
(b)过程噪声方差矩阵 O k = &beta; 1 &CenterDot; I n &times; n 0 0 &beta; 2 &CenterDot; I n &times; n - - - [ 9 ] 其中,In×n为n阶方阵,β1为伪距观测噪声方差,β2为多普勒频移观测噪声方差;
步骤5:根据步骤2得到的
Figure FDA00004098387500000222
计算状态向量Xk的滤波估计值
Figure FDA00004098387500000223
X ^ k = X ^ k | k - 1 + K k &CenterDot; &Delta; Z k
&Delta; Z k = [ ( r k 1 - r ^ k | k - 1 1 ) , . . . , ( r k n - r ^ k | k - 1 n ) , ( d k 1 - d ^ k | k - 1 1 ) , . . . , ( d k n - d ^ k | k - 1 n ) ] - - - [ 10 ]
Figure FDA0000409838750000033
分别为第s颗可见星的伪距观测值和多普勒观测值;
r ^ k | k - 1 s = ( X k s - x ^ k | k - 1 u ) 2 + ( Y k s - x ^ k | k - 1 u ) 2 + ( Z k s - z ^ k | k - 1 u ) 2 + c &CenterDot; &Delta; t ^ k | k - 1 u ,
d ^ k | k - 1 s = [ ( X k s - x ^ k | k - 1 u ) &CenterDot; ( V k sx - v ^ k | k - 1 ux ) + ( Y k s - y ^ k | k - 1 u ) &CenterDot; ( V k sy - v k | k - 1 uy ) + ( Z k s - z k | k - 1 u ) &CenterDot; ( V k sz - v k | k - 1 uz ) ] / &rho; k | k - 1 s + c &CenterDot; &Delta; f ^ k | k - 1 u
步骤6:判断k的取值,若k≤m,转到步骤7,若k>m,转到步骤8;
步骤7:令Pk=Pk-1,执行步骤9;
步骤8:根据步骤4得到的Kk,计算Pk:Pk=[I-KkHk]Pk|k-1,执行步骤9;
步骤9:输出
X ^ k = [ x ^ k u , v ^ k ux , a ^ k ux , y ^ k u , v ^ k uy , a ^ k uy , z ^ k u , v ^ k uz , a ^ k uz , c &Delta; t ^ k u , c&Delta; f ^ k u ] T ;
Figure FDA0000409838750000038
即为第k个历元的定位和测速结果;
步骤10:令k=k+1,转入步骤2,继续计算并输出下一个历元的状态向量的滤波估计值,直到不需要进行接收机载体的定位测速时,停止计算。
2.根据权利要求1所述的基于改进扩展卡尔曼滤波的GNSS单点动态定位方法,其特征在于:εp,εv,εa,εt和εf均为正数。
3.根据权利要求1所述的基于改进扩展卡尔曼滤波的GNSS单点动态定位方法,其特征在于:2<m<6。
CN201210411647.4A 2012-10-25 2012-10-25 基于改进扩展卡尔曼滤波的gnss单点动态定位方法 Expired - Fee Related CN102928858B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210411647.4A CN102928858B (zh) 2012-10-25 2012-10-25 基于改进扩展卡尔曼滤波的gnss单点动态定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210411647.4A CN102928858B (zh) 2012-10-25 2012-10-25 基于改进扩展卡尔曼滤波的gnss单点动态定位方法

Publications (2)

Publication Number Publication Date
CN102928858A CN102928858A (zh) 2013-02-13
CN102928858B true CN102928858B (zh) 2014-04-16

Family

ID=47643701

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210411647.4A Expired - Fee Related CN102928858B (zh) 2012-10-25 2012-10-25 基于改进扩展卡尔曼滤波的gnss单点动态定位方法

Country Status (1)

Country Link
CN (1) CN102928858B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246203B (zh) * 2013-04-23 2015-09-16 东南大学 一种基于gps的微小型四旋翼无人机速度状态预测方法
CN104964666B (zh) * 2015-06-01 2017-07-14 山东鼎成卫星导航定位技术有限公司 一种基于虚拟加速度的gnss变形监测方法及系统
CN105510950B (zh) * 2015-12-01 2016-08-17 中国人民解放军国防科学技术大学 一种基于共时钟接收机的实时精密定姿方法
CN105891863B (zh) * 2016-06-16 2018-03-20 东南大学 一种基于高度约束的扩展卡尔曼滤波定位方法
US10267924B2 (en) * 2017-01-04 2019-04-23 Qualcomm Incorporated Systems and methods for using a sliding window of global positioning epochs in visual-inertial odometry
CN107390166B (zh) * 2017-07-18 2020-05-19 北京航空航天大学 一种自适应干扰源定位飞行校验方法
CN107272038B (zh) * 2017-07-25 2020-12-18 不灭科技(上海)有限公司 一种高精度定位的方法及设备
CN109425876B (zh) * 2017-08-22 2023-01-10 北京自动化控制设备研究所 一种提高定位精度的改进卡尔曼滤波方法
CN107990821B (zh) * 2017-11-17 2019-12-17 深圳大学 一种桥梁形变监测方法、存储介质及桥梁形变监测接收机
CN107748377B (zh) * 2017-12-06 2021-09-17 湖南国科微电子股份有限公司 基于gnss的差分定位方法及其定位系统
CN110865398B (zh) 2018-08-27 2022-03-22 腾讯大地通途(北京)科技有限公司 定位数据的处理方法及处理装置、终端设备和存储介质
CN111007556B (zh) * 2019-12-10 2021-08-17 武汉大学 一种顾及方向约束信息的gps/bds单点测速方法
CN112051598B (zh) * 2020-06-24 2023-09-29 中铁第四勘察设计院集团有限公司 一种基于双重校正的车载gnss/ins组合导航方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1403654A1 (en) * 2002-09-24 2004-03-31 NovAtel Inc. Position and velocity Kalman filter for use with global navigation satellite system receivers
CN101403790A (zh) * 2008-11-13 2009-04-08 浙江师范大学 单频gps接收机的精密单点定位方法
CN102269819A (zh) * 2010-06-03 2011-12-07 武汉大学 一种用于精密单点定位方法的估计方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1403654A1 (en) * 2002-09-24 2004-03-31 NovAtel Inc. Position and velocity Kalman filter for use with global navigation satellite system receivers
CN101403790A (zh) * 2008-11-13 2009-04-08 浙江师范大学 单频gps接收机的精密单点定位方法
CN102269819A (zh) * 2010-06-03 2011-12-07 武汉大学 一种用于精密单点定位方法的估计方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
一种用于GPS定位估计滤波算法的非线性模型;茅旭初等;《上海交通大学学报》;20040430;第38卷(第04期);610-615 *
两种估计方法的GPS静态单点定位处理与实验分析;张鹏飞等;《现代测绘》;20120531;第35卷(第3期);3-6 *
张鹏飞等.两种估计方法的GPS静态单点定位处理与实验分析.《现代测绘》.2012,第35卷(第3期),3-6.
无源定位跟踪中修正协方差扩展卡尔曼滤波算法;郭福成等;《电子与信息学报》;20040630;第26卷(第6期);917-922 *
茅旭初等.一种用于GPS定位估计滤波算法的非线性模型.《上海交通大学学报》.2004,第38卷(第04期),610-615.
郭福成等.无源定位跟踪中修正协方差扩展卡尔曼滤波算法.《电子与信息学报》.2004,第26卷(第6期),917-922.

Also Published As

Publication number Publication date
CN102928858A (zh) 2013-02-13

Similar Documents

Publication Publication Date Title
CN102928858B (zh) 基于改进扩展卡尔曼滤波的gnss单点动态定位方法
CN101609140B (zh) 一种兼容导航接收机定位系统及其定位方法
CN101949703B (zh) 一种捷联惯性/卫星组合导航滤波方法
CN105891863B (zh) 一种基于高度约束的扩展卡尔曼滤波定位方法
CN102353378B (zh) 一种矢量形式信息分配系数的组合导航系统自适应联邦滤波方法
CN102819029B (zh) 一种超紧组合卫星导航接收机
CN104061932A (zh) 一种利用引力矢量和梯度张量进行导航定位的方法
CN104075715A (zh) 一种结合地形和环境特征的水下导航定位方法
CN106871928A (zh) 基于李群滤波的捷联惯性导航初始对准方法
CN110906933B (zh) 一种基于深度神经网络的auv辅助导航方法
CN103792561B (zh) 一种基于gnss通道差分的紧组合降维滤波方法
CN102853837B (zh) 一种mimu和gnss信息融合的方法
CN107966145B (zh) 一种基于稀疏长基线紧组合的auv水下导航方法
CN101920762A (zh) 一种基于噪声矩阵实时修正的船舶动力定位方法
CN103630136A (zh) 冗余传感器配置下基于三级滤波的导航参数最优融合方法
CN103033822B (zh) 移动信息确定装置、方法以及接收机
CN104050389A (zh) 一种实时在线评估导航系统精确度和完好性的方法
CN103697892B (zh) 一种多无人艇协同导航条件下陀螺漂移的滤波方法
Zhang et al. A novel INS/USBL integrated navigation scheme via factor graph optimization
Yang et al. Two antennas GPS-aided INS for attitude determination
CN102297695A (zh) 一种深组合导航系统中的卡尔曼滤波处理方法
Geng et al. Hybrid derivative-free extended Kalman filter for unknown lever arm estimation in tightly coupled DGPS/INS integration
CN107703527A (zh) 一种基于北斗三频单历元宽巷/超宽巷的组合定位方法
Hsu et al. Intelligent viaduct recognition and driving altitude determination using GPS data
CN103675880B (zh) 一种卫星信号阻塞情况下的持续导航方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140416

Termination date: 20181025

CF01 Termination of patent right due to non-payment of annual fee