(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
公式(2)、(3)中, 和 分别是第 个时刻的状态变量和测量向量, 和 分别是状态转移矩阵和测量矩阵, 和 分别是第 个时刻的过程噪声和测量误差。公式(4)~(9)中的 和 分别代表第 个时刻状态变量的预测和估计值, 和 分别是第 个时刻预测和估计误差的协方差矩阵, 和 分别是 和 的协方差矩阵, 是第 个时刻的修正值, 是第 个时刻的卡尔曼增益。由卡尔曼滤波器的求解过程我们可以看出,它的解是递归计算的,其状态的每一次更新估计都由前一次估计和新的输入数据计算得到,因此只需存储前一次估计,并可以实现实时处理。
本文利用卡尔曼滤波器可以对动态系统进行跟踪的性能,用卡尔曼滤波器对移动台移动过程中一系列连续时间点上的TOA测量值进行处理。根据TOA真实值在移动台移动中的相邻时刻连续变化的性质,充分利用“过去”的测量信息,本文的方法均可以较好的消除TOA测量值中的随机误差和正向偏差。
3.2测量值丢弃法
(1)思想:
由于NLOS误差具有随机性的特点,在某些时刻的TOA测量值中会包含特别大的NLOS误差,也就是说,有些TOA测量值受到的NLOS误差的污染特别严重。由这些测量值得到的当前时刻的TOA估计将会发生较大偏差,并且由于卡尔曼滤波器的记忆性,会影响到下面一系列的TOA估计。偏差较大的测量值对TOA估计产生的影响可以从图1中看到。对于这样受NLOS误差严重污染而极不准确的测量值,只会使TOA估计严重偏离正确的TOA,所以我们把它们丢弃。在测量值被丢弃的点上,我们用状态预测值来代替状态估计值。

图1 丢弃偏差较大的测量值的必要性分析
(2)算法实现:
我们通过在卡尔曼滤波器的迭代过程中加入一步判断和选择,来完成上述思想。在每一步迭代中,首先按照公式(4)~(6)计算出状态预测值 、预测误差协方差 、修正值 及卡尔曼增益 。然后将计算得到的修正值 与预先设定的门限值相比较。如果修正值大于门限值,说明这个测量值的偏差过大,我们就通过把卡尔曼增益设为零来舍去这个测量值,用状态预测值来代替状态估计值。如果修正值不大于门限值,说明这个测量值的偏差尚在我们可以容忍的误差范围之内,我们就保持卡尔曼增益不变来保留这个测量值,公式表示如下:
(10)
用(10)来代替(7),通过判断选择好卡尔曼增益的设置,然后就可以依照(8)~(10)进行下面的运算。在每一步的迭代中都依照上面的步骤进行,可以有效的消除较大的NLOS误差对TOA估计的影响。
2/3 首页 上一页 1 2 3 下一页 尾页 |