1、基于改进粒子滤波算法的 GPS 非高斯伪距误差修正 *摘 要 : 针对城市环境中由于受到多径效应影响 , GPS 伪距误差呈非高斯分布的问题 , 本文通过对实测数据进行分析 , 在建立正确的伪距误差分布模型的基础上 , 提出了一种改进粒子滤波修正算法 , 用于优化 PVT 解算结果 , 提高了 GPS 在城市环境中定位的精度。并通过与卡尔曼滤波定位优化算法结果进行比较 , 验证了此算法的有效性。 关键词 : GPS;粒子滤波器;伪距;定位精度Compensation of GPS non-Gaussian pseudorange error based onimproved particle
2、filter algorithmAbstract: Due to the multi-path effect in urban environment, GPS pseudorange error appears non-Gaussian error distribution. In this paper, the correct pseudorange error distribution model has been established according to the analysis of the measured data. Based on this non-Gaussian
3、model, an improved particle filter algorithm is implemented to compensate the non-Gaussian pseudorange error and optimize the estimations of PVT. The accuracy of GPS urban positioning is improved and the validity of this algorithm has been verified by comparing with Kalman filter experiments. Keywor
4、ds: GPS; particle filter; pseudorange; positioning accuracy1 引 言目前 , 全球定位系统 (global positioning system, GPS)在军事和民用方面均得到了越来越广泛的运用。GPS 定位技术要求接收机和卫星之间无遮挡 , 但在城市环境中 , 由于伪距测量会受到多径效应的影响 , 造成信号延迟 , 从而引入较大误差 , 影响定位精度。统计实验结果显示 , 受到多径效应影响的伪距误差 , 其误差分布为非高斯分布 1。常规卡尔曼滤波方法不能用来对非高斯的误差进行修正。粒子滤波作为一种非线性滤波方法 , 随着采样粒子数
5、的不断增大 , 逐渐趋向状态的后验概率密度 , 在解决非高斯分布误差问题时具有明显的优势 2。基于以上理论 , 本文提出了一种利用粒子滤波器对非高斯的伪距误差进行修正的方法 , 用于提高GPS 在城市环境中位置、速度、时间(position、 velocity、 time, PVT)解算的精度。该算法具体实现分为三步 : PVT 位置解算 ; 建立伪距误差分布模型 ; 在此模型基础上利用粒子滤波器对伪距误差进行修正 , 从而提高 GPS 定位精度。限于篇幅 , 本文仅对后两步研究结果进行介绍 , 并且将本文提出的粒子滤波算法与卡尔曼滤波 (Kalman filter, KF)定位优化算法结果进
6、行了比较。2 伪距误差分布特性由于粒子滤波器应用是建立在误差分布已知的前提下 , 所以实验的第一步就是建立精确的伪距误差分布模型 1。首先需要获知接收机在测试点的精确坐标。该坐标可以通过在房顶使用高精度接收机测得同一位置坐标 , 减去两点间高程差获得。实验显示伪距误差分布因信噪比 (signal-to-noise ratio, SNR)不同而变化。故在利用粒子滤波器对伪距误差进行修正时 , 应根据信噪比选用不同的误差模型。本文研究对象为城市环境中的 GPS 信号 , 特点是由于受建筑物或树木遮挡的影响 , 可视卫星数量少 , 且 GPS 信号的信噪比普遍较低。伪距误差分布特性统计结果如图 1(
7、a),(b)所示。如 图 1(a),(b)所 示 , 在 城 市 低 信 噪 比 环 境 下 , 伪 距误 差 方 差 较 大 , 误 差 均 值 也 发 生 较 大 偏 移 , 其 分 布 呈非 高 斯 分 布 。 因 而 利 用 粒 子 滤 波 器 对 此 非 高 斯 分 布的 伪 距 误 差 进 行 修 正 , 方 法 可 行 。 需 要 指 出 的 是 伪 距误 差 的 均 值 和 方 差 因 接 收 机 型 号 的 不 同 而 有 所 不 同 。(a) 统计分布图(a) Chart distribution第 6 期 基于改进粒子滤波算法的 GPS 非高斯伪距误差修正 25 (b)
8、方差及均值曲线 (信噪比 : 15 45 dB)(b) Variance and mean curve图 1 伪 距 误 差曲 线Fig. 1 Pseudorange error curve3 系统状态方程及观测方程离散系统的非线性 , 非高斯随机状态空间模型可表示为下式 2:(1)1(,)kkxfwyhv式中 : xk为系统在 k 时刻的状态向量 , yk为观测向量 , wk与 vk分别为系统噪声和量测噪声 , 二者相互独立。f, h 分别为有界非线性映射。为 避 免 粒 子 滤 波 器 当 状 态 向 量 的 维 数 增 加 , 粒 子总 数 迅 速 增 加 , 运 算 效 率 迅 速 降
9、 低 的 问 题 , 应 尽 量 减少 状 态 向 量 的 维 数 。 在 本 文 中 , k 时 刻 粒 子 滤 波 器 的状 态 向 量 设 为 四 维 , 即 。,kLanoHxTb其中 Lonk为经度值 , Lank为纬度值 , Hk为高度坐标 , bk为时钟误差。测量值 。T12,ksatkNy式 中 : 为 在 k 时 刻 可 视 卫 星 的 数 量 。 为 接 收satNi机 与 卫 星 i 之 间 的 伪 距 误 差 , 可 以 通 过 下 式 计 算 得 到1:(2)iiiiutronRbd式中 : i 为卫星编号, Ri是从卫星 i 到接收机的距离,当接收机估计坐标已知时,
10、该参数可通过计算得到。为接收机计算得到的卫星 i 到接收机的距离,i为卫星时钟偏差,可通过 PVT 解算获得;ub和 分别为对流层和电离层的传输延时,itrodin该两项误差可以通过导航电文中的参数计算得到。4 粒子滤波器算法及实现粒子滤波器是通过递归蒙特卡罗采样实现跟踪的一种统计计算方法 , 其算法包括 4 个主要步骤 : 初始化粒子集、预测、更新和重采样。粒子滤波器在计算过程中随着时间的增长 , 一部分粒子的权值会变得非常大 , 而其余粒子的权值很小 , 从而丧失粒子的多样性 , 导致精度下降 , 这一现象被称为粒子退化。为了解决这一问题 , 本文中采用了顺序重要重采样 (sequenti
11、al importance resampling, SIR)算法2-4。根据处理对象 , 具体实现步骤如下 :1) 初 始 状 态 , k=0, 根 据 PVT 解 算 估 算 的 结果 , 0x将其作为状态空间中心 , 生成 个样本 。每N1jNk个样本被认为是一个粒子。2) 给每一个粒子分配相同的权值 :(3)1,2,jkwj3) 对粒子的权值进行更新。a. 计算粒子 j 与卫星 i 之间的伪距误差 , ji并将其作为 k 时刻的测量值(4)T12,ksatjjjNy式中 : 为在 k 时刻被接收机捕获的卫星数量。satNb. 根据式 (5), 逐个更新粒子 的权值 2j(5)11(|)(
12、|)(|)jjjj jkkkkpyxwwpyxq式 中 : N, 为 重 要 性 密 度 函 数 , 即,2j |jk粒 子 的 取 样 分 布 函 数 , 为 后 验 密 度 函 数 。1()jx不同卫星间伪距误差可认为相互独立 , 由式 (4), 可认为(6)1(|)(|)satNj jkikipyxpx将其代入式 (5), 得到(7)1(|)satjj jikkiw其中 , 后验密度函数 可 以 根 据 图 1(a)伪|jipx距误差分布模型得到。c. 对粒子权系数进行规一化 :(8)1jjkNjw 26 电 子 测 量 与 仪 器 学 报 2009 年图 2 粒子 滤 波器算法 结 构
13、框 图Fig. 2 Block diagram of particle filters algorithms4) 计算有效粒子数 Neff和门限粒子数 Nth 3:(9)21,3ef thjkjw5) 如果 , 记录所有粒子 及其efthjjkx权值 , 。否则根据重采样算法对粒jkw,2N子进行重采样 , 并重复步骤 2)至 5)。6) 计算优化后的状态参量 xk: (10)*1jkxw7) 重复步骤 3 至 6, 直到轨迹结束。具体流程如图 2 所示。此外 , 在步骤 1 生成粒子时 , 可根据 PVT 解算结果中的水平精度因子 (horizontal dilution of precis
14、ion, HDOP)、高程精度因子 (vertical dilution of precision, VDOP)和时间精度因子 (time dilution of precision, TDOP)值决定粒子状态空间的大小和粒子的数量。在用户距离误差的标准差不变的情况下 , DOP 与同方向上的位置误差成比例关系。当 HDOP, VDOP 和 TDOP 值较大时 , 表明当前卫星分布不合理 , 通常定位结果误差较大 , 则需扩大粒子滤波器粒子分布的状态空间 , 并增加粒子的数量。5 实验结果本实验选用的 GPS 接收机为一款商用蓝牙接收机 Globalsat BT338。较一般商用接收机 , 该
15、接收机支持伪距等原始数据输出 , 且小巧 , 便于携带和安装在如移动机器人等小型设备上。为便于比较定位误差 , 实验时 , 接收机不移动 , 位置固定。实验环境如图 3 所示 , 部分信号被高层建筑遮蔽 , 同时接收机受到前方屋顶反射造成的多径效应误差的影响 , 是典型的城市环境。图 3 实验环 境Fig. 3 Experiment environment为对算法的有效性进行验证 , 本文将粒子滤波器算法结果与卡尔曼滤波算法结果进行了比较。GPS 卡尔曼滤波方法及模型在多本专著中都有论述 , 针对 GPS 定位精度优化问题 , 本文采用文献 5的模型及方法。由于篇幅有限 , 在此不做介绍。实验
16、时 , 卡尔曼滤波算法中接收机在经度、纬度、高度方向上速度分量误差的均方差均取为 0.5 m/s, 时钟漂移造误差的均方差均取为 10 m。通过对约 8 分钟的连续 GPS 信号进行处理 , 得到以下结果。在图 4 精度因子曲线图中 , HDOP、 VDOP、 TDOP 值均在正常范围内 , 据此可知 PVT 解算结果正确 , 未出现定位异常。第 6 期 基于改进粒子滤波算法的 GPS 非高斯伪距误差修正 27 图 4 精度因子曲 线图Fig. 4 DOP curves通过将 PVT、卡尔曼滤波和粒子滤波定位结果与真实坐标进行比较 , 得到图 5 定位误差曲线和表 1。实验证明 , 利用卡尔曼
17、滤波算法和粒子滤波算法对 PVT 定位结果进行优化 , 均取得了较好的效果 , 其中粒子滤波算法定位误差被减少了 37.10%。同时 , 为了对 PVT 和粒子滤波算法定位结果的离散情况进行比较 , 可对两种算法的定位误差的方差值进行比较。实验结果显示 , 通过应用本文提出的粒子滤波算法 , 在经度和纬度方向上 , 定位误差的方差均得到了优化。其中经度方向上粒子滤波算法改进明显 , 定位方差减少了 68.15%。图 6 为定位结果分布图 , 粒子滤波算法定位结果较卡尔曼滤波算法定位结果更加集中 , 从而提高了 GPS 在城市环境中定位的准确度。图 5 定位 误 差曲 线Fig. 5 Posit
18、ioning error curves表 1 定位误差均值Table 1 Mean error of positioning定位误差 /m 较 PVT优化PVT 22.5959卡尔曼滤波 18.0848 19.96 %粒子滤波 14.2128 37.10 %表 2 定位误差方差Table 2 Variance of positioning error方向 定位方差 /m 较 PVT优化经度 14.782 5PVT纬度 21.554 9经度 13.054 5 11.69%卡尔曼滤波纬度 16.033 3 25.62%经度 4.708 2 68.15%粒子滤波 纬度 15.085 30.02 %6
19、 结 论综上所述 , 本文提出的改进的粒子滤波器算法可以用于对城市环境下的非高斯伪距误差进行补偿 , 减少 PVT 定位误差 , 提高其定位精度 , 同时使得定位结果更加集中 , 提高了系统的稳定性。 28 电 子 测 量 与 仪 器 学 报 2009 年图 6 定位 结 果分布 图Fig. 6 Positioning distribution参考文献 : 1 TORREA D, GHINAMO G, DETOMA E, et al. Analysis of the accuracy of indoor GNSS measurements and positioning solution C.
20、 Toulouse: The European Navigation Conference-Global Navigation Satellite Systems, ENC- GNSS, 2008: 22-25. 2 ARULAMPALAM S, MASKELL S, GORDON N, et al. A tutorial on particle filters for on-line non-linear/non- gaussian bayesian tracking J. IEEE Transactions on Signal Processing, 2002, 50(2): 174-18
21、8. 3 AGGARWAL P, SYED Z., ELSHEIMY N. Hybrid extended particle filter (HEPF) for integrated civilian navigation systemC. Monterey: Position, Location and Navigation Symposium, IEEE/ION, 2008: 984992. 4 BOLIC M, DJURIC P M, HONG S. Resampling algorithms for particle filters: A computational complexit
22、y perspectiveJ. EURASIP Journal on Applied Signal Processing, 2004, 2004(15): 2267-2277.5 BROWN R G, HWANG P Y C. Introduction to random signals and applied kalman filtering M. New York: John Wiley & Sons, Inc., 1997. 438-457.6 VERMAAK J, GODSILL S J, PREZ P. Monte Carlo filtering for multi-target t
23、racking and data association J. IEEE Transactions on Aerospace and Electronic Systems, 2005, 41(1): 309- 332.7 SRKK S, VEHTARI A, LAMPINEN J. Rao- Blackwellized particle filter for multiple target trackingJ. Information Fusion, 2007, 8 (1): 2-15.8 胡士强 , 敬忠良 . 粒子滤波算法综述 J. 控制与决策 , 2005, 20 (4): 361-365, 371.HU SH Q, JIN ZH L. Summary of particle filter algorithmM. Control and Decision-marking, 2005, 20 (4): 361-365, 371.