内容发布更新时间 : 2024/12/27 10:47:43星期一 下面是文章的全部内容请认真阅读。
2017 年 秋 季学期研究生课程考核
(读书报告、研究报告)
考核科目 :雷达系统导论
学生所在(系) :电子与信息工程学院 学生所在学科 :电子与同学工程 学 生 姓 名 学 号 学 生 类 别 考核结果
: : :
阅卷人
第 1 页 (共 页)
几种非线性滤波算法的介绍与性能分析
作者姓名: 学号:
专业院系:电信学院电子工程系
电子邮件:
摘要—非线性滤波算法在雷达目标跟踪中有着重要
的应用,对雷达的跟踪性能有着至关重要的影响。好的滤波算法有利于目标航迹的建立及保持,能够得到较精确的目标位置,为发现目标后的后续工作提供可靠的数据依据。本文重点介绍了雷达数据处理中的几种非线性滤波算法:扩展卡尔曼滤波(EKF)、不敏卡尔曼滤波(UKF)、粒子滤波(PF),并且给出了一个利用这三种算法进行数据处理的一个实例,通过这个实例对比分析了这三种算法的性能以及优劣。
关键字—非线性滤波算法;扩展卡尔曼滤波;不敏卡尔曼滤波;粒子滤波;
I.
概述 (一级表题格式)
在雷达对目标进行跟踪前要先对目标进行检测。对于满足检测条件的目标就需要进行跟踪,在跟踪的过程中可以利用新获得的数据完成对目标的进一步检测比如去除虚假目标等,同时利用跟踪获得数据可以进一步完成对目标动态特性的检测和识别。因此对目标进行准确的跟踪是雷达性能的一个重要指标。在检测到满足条件的目标后,根据目标运动状态建立目标运动模型,然后对目标跟踪算法进行设计,这是雷达目标跟踪中的核心部分。
目前主要的跟踪算法包括线性自回归滤波,两点外推滤波、维纳滤波、?-?滤波、加权最小二乘滤波、维纳滤波和卡尔曼滤波[1]。对于线性系统而言最优滤波的方法就是卡尔曼滤波,卡尔曼滤波是线性高斯模型下的最优状态估计算法。但是实际问题中目标的运动模型往往不是线性的,因此卡尔曼滤波具有很大的局限性。目前主要用的非线性滤波算法可以分为高斯滤波和粒子滤波[2]。不敏卡尔曼滤波和扩展卡尔曼滤波就是高斯滤波中的典型代表,也是应用相对较为广泛的。粒子滤波的应用范围比高斯滤波的适用范围要广,对于系统状态非线性,观测模型非高斯等问题都有很好的适用性。本文具体分析阐述了扩展卡尔曼滤波算法,不敏卡尔曼滤波算法,粒子滤波算法,并且通过一个实例利用仿真的方法分析了这三种算法在滤波性能上的优劣,最后对这三种算法做了一定的总结。
我本科毕业设计题目为《基于历史数据的路径生成算法研究》,由于我是跨专业保研到电信学院,该课题所研究内容不属于雷达系统研究范围,是一种城市路网最快路径生成算法。
II. 几种非线性滤波算法
A. 扩展卡尔曼滤波
扩展卡尔曼滤波是将非线性系统转换为近似的线性系统的一种方法,其核心思想是围绕滤波值将非线性函数展开成泰勒级数并略去二阶及以上的项,得到一个近似的线性化模型,然后应用卡尔曼滤波完成状态估计。
扩展卡尔曼滤波状态空间模型:
xk?1?f(xk)?wk 状态方程
zk?h(xk)?vk 观测方程
其中f(.)和h(.)为非线性函数
在扩展卡尔曼滤波中,状态的预测以及观测值的预测由非线性函数计算得出,线性卡尔曼滤波中的状态转移矩阵A阵和观测矩阵H阵由f和h函数的雅克比矩阵代替。
对f(.)和h(.)Taylor展开,只保留一次项有:
f(xk)?f(x?k)?Ak(xk?x?k) h(xk)?h(x?k)?Hk(xk?x?k) 其中:
Ak?dfdx为
f对xk?1求导的雅克比矩阵
kxk??xkHdhk?dx为h对xk?1求导的雅克比矩阵
kxk??xkx?k?f(x?k-1),于是可以得出: xk?1?Akxk?(f(x?k)?Akx?k)?wk zk?1?Hkxk?(h(x?k)?Hkx?k)?vk 通过以上变换,将非线性问题线性化。接下来EKF
滤波过程同线性卡尔曼滤波相同,公式如下:
X?(k?1|k)?f(X?(k|k))P(k?1|k)??(k)P(k|k)??(k)?
Q(k)S(k?1)?H(k?1)P(k?1|k)H?(k?1)?R(k
?1)
K(k?1)?P(k?1|k)H?(k?1)S?1(k?1)
X(?k?1|k?1)?X?(k?1|k)?K(k?1)[z(k?1)?H(k?1)X?(k?1|k)]P(k?1|k?1)?(I?X(k?1|k?1)H(k?1))P(k?1|k)
通过EKF算法线性化状态转移矩阵和观测矩阵后,剩下的滤波过程与普通的卡尔曼滤波无异,滤波过程简单且容易进行。正因EKF简单易于实现的特性,使得该算法一直以来都应用广泛,但是它的局限性也是非常明显的。在这种滤波方法中非线性因子的存在对滤波稳定性和状态估计精度都用很大的影响,其滤波结果的好坏与量测噪声和状态噪声的统计特性也有很大的关系,对于高斯噪声,该算法有很好的适用性,但是对于非高斯噪声,该算法的滤波精度会受到很大的影响。在滤波过程中由于需要预先估计过程噪声协方差矩阵Q(k)和量测噪声协方差矩阵R(k),如果这两个矩阵的值的估计出现较大的误差,将使得滤波结果出现很大的偏差,容易产生误差积累从而导致滤波结果发散。在用该算法滤波进的初始时刻要预先假设状态的初始值和初始协方差,如果这两个值的估计出现较大偏差,滤波结果也会出现发散的现象。总的来说只有当系统的动态模型和观测模型都接近线性时,利用扩展卡尔曼滤波算法跟踪目标会取得较好的效果,滤波结果较接近真实值。
B. 不敏卡尔曼滤波算法
不敏滤波也叫无损卡尔曼滤波,它的核心是不敏变
换,摒弃了对非线性函数进行线性化的传统做法,采用卡尔曼线性滤波框架,依据不敏变换计算非线性变换的随机变量的统计特性,对于一步预测方程,使用不敏变换来处理均值和协方差的非线性传递。不敏变化不需要像EKF那样对非线性状态方程和量测方程线性化,它是对状态向量的概率密度函数进行近似化,用一系列确定样本来逼近状态的后验概率密度,表现为一些列选取好的采样点,不需要求导计算雅克比矩阵。这些采样点完全体现了高斯密度的真实均值和协方差。近似化后的概率密度函数仍然是高斯的。当这些点经过任何非线性系统的传递后,得到的后验均值和协方差都能够精确到二阶[3]。由于不需要对非线性系统进行线性化,可以很容易的应用于非线性系统的状态估。
对于不敏变换可以做如下阐述:
假设X为一个nx维随机向量,g:Rnx?Rny为一非线性函数并且y?g(x)。X的均值和协方差分别为
X和Px。计算UT变化的步骤如下:
①首先计算
?2nx?1?个?采样点?i和相对应的权值Wi
????0?X?,i?0??i?X??nx???Pxi,i?1,...,n????i?nx?X????nx???Px?xi,i?1,...,nx
??Wm?0?,i?0??nx?????Wc??1??2??,i? ?0??nx???0??m1?Wci?Wi?[2?n,i?1,...,2nxx???]式中,?是一个尺度参数,可以为任何数值,只要
?nx????0。??nx???Px?i是?nx???Px均方根矩阵
的第i行或第i列,nx为状态向量的维数,其中??nx(?2?1)。
②每个?采样点通过非线性函数传播,得到
yi?g??i?,i?0,1,2,...,2nx
③计算y的估计均值和协方差
2nx2nxy??Wiyi,Py??y)?
i?0?Wi(yi?y)(yii?0滤波模型如下:
由状态方程可以计算得到?点的一步预测:
?i?k?1|k??f[k,?i(k|k)]
状态预测估计和状态预测协方差:
2nX?(k?1|k)??xWi?i(k?1|k) i?02nxP(k?1|k)??Wi?Xi(k?1|k)?Xi?(k?1|k)?Q(k)
i?0式中?Xi(k?1|k)??i(k?1|k)?X?(k?1|k) 由量测方程可得?点量测的预测值:
?i?k?1|k??h[k?1,?i(k?1|k)]
量测的预测值和协方差为:
?2nxZ(k?1|k)??Wi?i(k?1|k) i?0