1、上海大学 2013 2014 学年秋季学期研究生课程小论文课程名称: 随机信号导论 课程编号: 07SB17002 论文题目: 扩展卡尔曼滤波和粒子滤波算法比较研究生姓名: 班孝坤 (33%) 学 号: 13720843 研究生姓名: 倪晴燕 (34%) 学 号: 13720842 研究生姓名: 许成 (33%) 学 号: 13720840 论文评语:成 绩: 任课教师: 刘凯 评阅日期: 扩展卡尔曼滤波和粒子滤波算法比较第一章 绪论在各种非线性滤波技术中, 扩展卡尔曼滤波是一种最简单的算法, 它将卡尔曼滤波局部线性化,适用于弱非线性、高斯环境下。卡尔曼滤波用一系列确定样本来逼近状态的后验概率
2、密度, 适用于高斯环境下的任何非线性系统。粒子滤波用随机样本来近似状态的后验概率密度, 适用于任何非线性非高斯环境, 但有时选择的重要性分布函数与真实后验有较大差异, 从而导致滤波结果存在较大误差, 而粒子滤波正好克服了这一不足, 它先通过 UKF 产生重要性分布, 再运用 PF 算法。通过仿真实验 , 对其的性能进行比较。严格说来,所有的系统都是非线性的,其中许多还是强非线性的。因此,非线性系统估计问题广泛存在于飞行器导航、目标跟踪及工业控制等领域中,具有重要的理论意义和广阔的应用前景。系统的非线性往往成为困扰得到最优估计的重要因素,为此,人们提出了大量次优的近似估计方法。包括 EKF,基于
3、 UT 变换的卡尔曼滤波( UKF) ,粒子滤波,等等。第二章 扩展卡尔曼滤波介绍2.1 扩展卡尔曼滤波的理论(EKF)设非线性状态空间模型为:1(,)(2ttxfvyhn式中 和 分别表示在 t 时刻系统的状态和观测, 和 tRt tvRtn分别表示过程噪声和观测噪声,f 和 h 表示非线性函数。扩展卡尔曼滤波(Extended kalman filter,以下简称 EKF)是传统非线性估计的代表,其基本思想是围绕状态估值对非线性模型进行一阶 Taylor 展开,然后应用线性系统 Kalman 滤波公式。EKF 是用泰勒展开式中的一次项来对式(1)和 ( 2 ) 中的非线性函数 f 和h 进
4、行线性化处理 , 即先计算 f 和 h 的雅克比矩阵, 然后再在标准卡尔曼滤波框架下进行递归滤波。 和 均为零均值的高斯白噪声。tvtn2.2 扩展卡尔曼滤波的算法EKF 的算法同 KF 一样, 也可分为两步预测和更新。如图 2.1 所示图 2.12.3 扩展卡尔曼滤波的缺点因为 EKF 忽略了非线性函数泰勒展开的高阶项, 仅仅用了一阶项, 是非线性函数在局部线性化的结果, 这就给估计带来了很大误差, 所以只有当系统的状态方程和观测方程都接近线性且连续时,EKF 的滤波结果才有可能接近真实值。EKF 滤波结果的好坏还与状态噪声和观测噪声的统计特性有关, 在 EKF 的递推滤波过程中,状态噪声和
5、观测噪声的协方差矩阵保持不变, 如果这两个噪声协方差矩阵估计的不够准确, 那就容易产生误差累计, 导致滤波器发散。EKF的另外一个缺点是初始状态不太好确定, 如果假设的初始状态和初始协方差误差较大, 也容易导致滤波器发散。第三章 粒子滤波介绍3.1 粒子滤波的理论粒子滤波利用一系列带权值的空间随机采样的粒子来逼近后验概率密度函数,是一种基于 Monte Carlo 的贝叶斯估计方法,因此它就独立于系统的模型,不受线性化误差或高斯噪声假定的限制,既可以解决 EKF 因线性化带来的误差,也可以避免 UKF 因非高斯的 PDF 导致的误差,适用于任何环境下的任何状态和量测模型。3.2 粒子滤波的算法
6、粒子滤波算法的基本步骤如下:(1)从先验分布 p(x)中采集样本 z ,i 一 1,N 。(2)t 时刻,从参考分布 中采集样本 ,并计算归一化后的权 1(,)ikqxitxitw:111(|)(|),iiiittttiitNittjpyxwq(3)进行重采样:用新的采样值代替,去除低权值的粒子,复制高权值的粒子。(4)输出 PDF: 1:1(|)()Nit tjpxyx粒子滤波的两个关键问题是参考分布的选择和 重采样。1(,)kkqxz3.3 粒子滤波的缺点粒子滤波对状态估计的好坏,在很大程度上取决于所选的参考分布与状态后验概率分布的接近程度。因此,最优的参考分布为 p(x I z1(,)k
7、kqxz卜 ,) 。但实际工程应用中,很难对其采样。第五章 实验仿真分析为了在同种条件下比较粒子滤波和扩展卡尔曼算法性能,我们在这里共做了三组实验,并设状态模型:x = 0.5 * x + 25 * x / (1 + x2) + 8 * cos(1.2*(k-1) + w(t)观测方程:y = x2 / 20 +v(t)w(t )、v(t)均服从高斯分布 N(0,1)其中 x=0.1,粒子滤波的粒子数为 N = 100独立仿真次数为 tf = 50分别选取控制噪声方差 Q=0.1,观测噪声方差 R=0.1;Q=1 , R=1;Q=10, R=10。仿真一次后,两种滤波器的估计结果的比较。Q=0
8、.1,R=0.1:图 5-1 EKF 的估计值和真值 图 5-2 粒子滤波的估计值和真值 Q=1,R=1 :图 5-3 EKF 的估计值和真值 图 5-4 粒子滤波的估计值和真值 Q=10,R=10图 5-5 EKF 的估计值和真值 图 5-6 粒子滤波的估计值和真值 通过比较发现,EKF 是通过线性化处理来实现非线性滤波估计,而 PF 是利用样本来逼近状态的 PDF。在计算速度上,EKF 具有明显的优势,但它的性能随着非线性强度变大而明显下降。但是,EKF 是用高斯分布来逼近系统状态的后验概率密度。如果系统状态的后验概率密度是非高斯的,那么将产生极大的误差。PF 因采用随机样本集则可以用在任何复杂环境下,但此时的计算量却远远超过 EKF。所以,应该根据实际工程的需要来选择合适的滤波器。显然,若无需考虑系统的非线性强度和非高斯环境,则优先采用 EKF,而随着计算机计算能力的不断提高,在复杂的非线性非高斯环境中,PF 将是最优的选择。