Control 版 (精华区)

发信人: Rorena (风铃语), 信区: Control
标  题: 改进的高动态GPS定位自适应 
发信站: 哈工大紫丁香 (2001年04月04日08:15:01 星期三), 转信

胡国荣,欧吉坤
  摘 要:本文针对高动态GPS不易确定动态噪声和观测噪声的特点,提出了一种适用
于高动态GPS定位的改进的自适应卡尔曼滤波方法。该方法具有数值稳定性好,存储量小
的优点,克服了发散的缺点,具有较强的自适应性。
  关键词:卡尔曼滤波;自适应;高动态GPS定位
The Improved Method of Adaptive Kalman Filtering for GPS High
Kinematic Positioning
HU Guo-rong,OU Ji-kun
(Institute of Geodesy & Geophysics ,Chinese Academy of Sciences,Hubei,Wuhan,
430077)
Abstract:When Kalman Filtering is used in high kinematic GPS positioning, i
t is difficult to know the properties of kinematic noise and measurement noi
se. Therefore, the improved method of adaptive Kalman Filtering for GPS high
 kinematic positioning is proposed in this paper. The theoretical analysis a
nd numerical results show that the method has better numerical stability, sm
aller memory, and stronger adaptability.
Key words:Kalman Filtering; adaptability; high kinematic GPS positioning
1 前 言
  卡尔曼滤波是一个不断地预测、修正的递推过程,由于其在求解时不需要贮存大量
的观测数据,并且当得到新的观测数据时,可随时算得新的参数滤波值,便于实时地处
理观测成果,因此,卡尔曼滤波被越来越多地应用于动态数据处理中,尤其是GPS动态数
据处理[1,2],惯性导航[3]等。但传统卡尔曼滤波应用于实际时,常常由于不能满
足其假定条件,或计算方法的限制,造成滤波发散,使得滤波结果最终失真。为此,人
们提出了许多克服发散的方法,如加权法[4],Sage自适应滤波法[1],平方根滤波
[2,5,6]等。
  高动态GPS应用如星载GPS,机载GPS,应用卡尔曼滤波进行动态定位,更能体现其优
越性,尤其是当星载GPS或机载GPS接收机在某些时刻无GPS信号时,可以利用卡尔曼滤波
预测这些时刻的位置和速度。然而,高动态GPS通常不易准确确定动态噪声和观测噪声,
利用传统卡尔曼滤波往往造成滤波发散。为此,本文提出了一种适用于高动态GPS定位的
改进的自适应卡尔曼滤波方法。该方法具有数值稳定性好,存贮量小的优点,克服了发
散的缺点,具有较强的自适应性。
  
2 传统卡尔曼滤波模型
   GPS动态定位中,卡尔曼滤波常用离散化模型来描述系统状态而且系统状态方程为
线性形式,即
  (1)
式中,XK为K时刻的m维状态向量,也是被估计向量,ΦK,K-1为K-1到K时刻的系统一步状
态转移矩阵,ωK-1为K-1时刻的系统动态噪声。
  观测方程为非线性方程,即
  (2)
式中,LK为K时刻n维观测向量,g(XK)为XK的非线性函数,VK为K时刻的n维观测噪声。
对于高动态GPS伪距单点定位
g(XK)=[(XK-Xs)2+(YK-Ys)2+(ZK-Zs)2]1/2
其中,(XS,YS,ZS)为该时刻卫星位置。
  其统计模型为
  (3)
式中,QK,RK分别为系统动态噪声和观测噪声的方差矩阵,在一般卡尔曼滤波中,它们
分别是已知的非负定阵和正定阵。δK,J为Kronecker函数,即
  若已知初始状态的统计特性为:E(X0)=0,0, var(X0)=P0,0,则由扩展的卡尔曼滤
波可得如下递推方程[1]
  (4)
  (5)
  (6)
  (7)
  (8)
式中,JK为增益矩阵,其中,为观测方程在K,K-1处线性化后的系数阵,K,K-1,PK,K-1分
别为预测值及其方差阵,K,K,PK,K分别为滤波值及其方差阵。
  上述过程是在一种理想条件下进行的,即要求系统的动态噪声和观测噪声为零均值
并且统计特性已知的白噪声,实际上,在高动态GPS定位中,这些条件未必能满足,此时
就存在建模误差,如GPS观测方程中,经电离层模型改正后残余的电离层延迟等作为观测
噪声就不是零均值白噪声,而且对于高动态GPS,其动态噪声难于准确地给出,另外,由
于非线性方程线性化时,一定存在线性化误差,这也是一类建模误差。由式(1)~式(
8)可以看出,在计算增益矩阵JK时,并不考虑实际的观测值,而只根据验前确定的Φ,
Q,R3个矩阵的数值。如果它们中的任何一个不够准确,则都将导致计算增益JK的错误,
并可能导致滤波过程发散。这也是传统卡尔曼滤波的一个重要缺陷。
  另一方面,由于受到计算工具等客观条件的限制,使得滤波算法在计算机上实施时
,易产生舍入误差积累,误差协方差阵失去正定性或对称性,从而出现数值计算不稳定
现象。一般情况下,当状态向量维数超过10时,滤波过程中就可能出现滤波不稳定现象
[4]。
  此外,研究表明[7],传统卡尔曼滤波对数值病态情形也很敏感。GPS高动态定位
中,经常遇见近奇异协方差阵,要解决这些问题,一般采用平方根算法或UD分解算法[
6,7]。
   为了解决滤波数值计算不稳定问题,人们在实践中提出了许多方法,如自适应卡尔
曼滤波,固定增益滤波,平方根滤波等[2]。
   分析上述各类滤波算法可知,解决了发散问题往往是以滤波结果次优为代价的,有
些虽然没有影响结果的最优性,却是增加了计算量,降低了效率。
   针对上述传统卡尔曼滤波中存在的问题,本文提出了适用于高动态GPS定位的改进
的自适应卡尔曼滤波方法。
3 改进的高动态GPS定位自适应卡尔曼滤波
  在设计高动态GPS卡尔曼滤波器时,状态方程和观测方程都精确已知,但动态噪声和
观测噪声的统计特性却是未知的,为此,可采用Sage自适应滤波(又称为极大后验估计
器)。根据每次测出的更新信息,推算出动态噪声和观测噪声的统计特性,并使滤波器
成为最优,这就是Sage自适应滤波的思路[1]。对于状态方程(1)和观测方程(2),设Φ
K,K-1g(XK)已知,ωK-1,VK为独立的正态白噪声,其统计特性为
E(ωK)=q E(VK)=r  (9)  
E(ωKωTJ)=QδK,J E(VKVTJ)=RδK,J  (10)
噪声的均值q,r及协方差Q,R是未知的,Sage自适应滤波就是基于观测值(L1,L2,…
,LK)求得状态估值XK,并由极大后验估计原理,可得极大后验估值分别为[1,4]
  (11)
  (12)
  (13)
  (14)
  (15)
  (16)
  (17)
  (18)
      (19)
初始条件为q0,Q0,R0,r0以及
  (20)
  在式(16)~式(19)中用滤波估值J,J和预报值J,J-1近似代替计算复杂的平滑估值,可
得次优极大后验估值为
  (21)
  (22)
  (23)
  (24)
式中,,为预测残差,,为观测残差。
   可以证明[1],上述次优估计具有无偏性。由式(11)~式(15)及式(21)~
式(24)可交替估计状态参数和噪声的统计量。
   由上可见,Sage自适应滤波是当q,r,Q,R未知时,利用预测残差和观测残差求每
一时刻估计动态噪声和观测噪声的均值及其协方差,增加了计算量。在实际应用中,可
以发现,并不是每一时刻滤波都发散,为此,本文提出如下改进方法:
   给定初始条件可根据经验给定)。利用Cholesky分解法将预报参数方差协方差阵分
解成UDUT的形式,即UD分解,其中,U为上三角阵,D为对角阵。
  当K=1时,
  1. 按如下UD分解滤波算法计算估值K,K及其方差PK,K
  (25)
  (26)
  设滤波预测残差,则其方差SK为
SK=AKUDUTATK+RK  (27)

F=DUTATK  (28)
G=UF  (29)
则有
JK=GS-1K  (30)
  (31)
PK=PK,K=U(D-S-1KFFT)  (32)
  2. 判断是否发散。可利用滤波预测残差来判断[4]
VTK,KVK,K≤t×Tr(SK)  (33)
式中,t为可调系数,t≥1,若t=9,则相当于3倍中误差检验。若不满足条件式(33),
则认为滤波发散,先验值不准确,启动上述Sage自适应滤波,利用式(21)~式(24)
,求取该时刻的qk,rk,Qk,Rk。重做第1步,直到满足式(33)即不发散为止,再做第
3步;
  3. K=K+1,作1,2两步。
  该滤波方法,由于采用了UD分解滤波算法,改进了计算精度,克服了由于数值计算
引起的滤波不稳定性[7];同时,利用预报残差判断滤波过程中是否发散,若发散,则
启动自适应滤波器,利用估值和预报值估计动态噪声和观测噪声的统计特性,直到滤波
器不发散为止。因此,该滤波方法具有自适应性,数值稳定性好,而且不发散。
  由上述滤波方法可见,若对高动态GPS的动态噪声和观测噪声的统计特性有比较好的
了解,即r0 ,q0,R0,Q0的给定比较接近于真实情况,则该滤波方法不易发散,效率更
高。若高动态GPS的动态噪声和观测噪声均值为0,而且其方差精确已知,则该滤波方法
可转化为传统卡尔曼滤波。
  
4 应用实例
   本文对TOPEX/POSEIDON(T/P)卫星星载GPS/DR接收机1997年4月20日的伪距观测值
进行处理。T/P卫星飞行速度为7 km/s左右,采样率为10 s。取150个历元,分别采用如
下3种方案进行处理:
  方案1:单点伪距定位;
  方案2:传统卡尔曼滤波方法;
  方案3:本文所改进的自适应卡尔曼滤波方法。
  滤波时,状态向量为该历元GPS/DR接收机的3维位置及其速率和接收机钟差,即,初
值X0,0,P0,0可由单点定位给定,动态噪声方差阵Q0取为对角阵,对角元素均取为
1×10-8,观测噪声方差阵R0也取为对角阵。r0,q0各元素均取为0,可调系数t取为1,
方案2,3均与方案1结果进行比较。
  当观测噪声方差阵R0对角元素均取为1×103 m2时,其坐标差如图1,图2所示,比
较图1和图2可见,传统卡尔曼滤波呈发散状,而本文方法经过短时间自适应过程之后
比较稳定。
图1 传统卡尔曼滤波(R0=1×103 m2)
Fig.1 Standard Kalman Filtering (R0=1×103 m2)
  比较图2和4可见,改进的自适应卡尔曼滤波对观测噪声的选取不是很敏感,两者都
较稳定,
图2 改进的自适应卡尔曼滤波(R0=1×103 m2)
Fig.2 The improved adaptive Kalman Filtering
(R0=1×103 m2)
  当观测噪声方差阵R0对角元素均取为1×104 m2时,坐标差如图3,图4所示。比较
图1和图3可见,后者较稳定,由此可见,造成传统卡尔曼滤波发散的原因为先验观测噪
声方差取得不准确。
图3 传统卡尔曼滤波(R0=1×104 m2)
Fig.3 Standard Kalman Filtering (R0=1×104 m2)
图4 改进的自适应卡尔曼滤波(R0=1×104 m2)
Fig.4 The improved adaptive Kalman Filtering
(R0=1×104 m2)
但当R0取得不准确时,本文所改进的方法需要一段自适应时间,滤波才达到稳定。
  比较图3和4可见,当R0取得比较准确时,传统卡尔曼滤波仍不是很稳定,而本文方
法滤波则比较稳定,而且自适应时间较短。
  应当指出:这里仅仅讨论了本文提出的改进方法的自适应性,至于如何提高定位精
度有待进一步研究。
5 结 论
   本文提出的适用于高动态GPS定位的改进的自适应卡尔曼滤波,采用了UD分解算法
,数值稳定性好,克服了传统卡尔曼滤波易发散的缺点。实例分析表明,对于高动态GP
S定位,当对系统的动态噪声和观测噪声的先验方差确定得不准确时,本文所提出的方法
具有较强的自适应性。
本项研究得到国家杰出青年科学基金(49825107)(杨元喜研究员主持)以及中国科学院动
力大地测量开放研究实验室联合资助。
作者简介:胡国荣,男,28岁,博士。主要研究方向:GPS低轨卫星精密定轨理论和方法

作者单位:中国科学院测量与地球物理研究所,湖北武汉,430077
参考文献:
[1] 陈小明.高精度GPS动态定位的理论与实践[D].武汉:武汉测绘科技大学,1997.

[2] 董绪荣,陶大欣.一个快速Kalman 滤波方法及其在GPS动态数据处理中的应用[
J].测绘学报,1997,26(2):221-227.
[3] 段晓东,等. GPS/DNS 组合导航系统研究[J]. 南京航空航天大学学报,1996,
28(1):66-73.
[4] 宋文尧,张牙.卡尔曼滤波[M].北京:科学出版社,1991.
[5] 章燕申.最优估计与工程应用[M].北京:宇航出版社,1991.
[6] Chui C K, Chen G. Kalman Filtering with Real-time Applications[M].
 Berlin:Springer-Verlag,1987.
[7] Bierman G J. Factorization Methods for Discrete Sequential Estimatio
n[M].New York:Academic Press,1977.

--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: club.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.025毫秒