2017 年秋季学期研究生课程考核(读书报告、研究报告)考核科目:雷达系统导论学生所在(系):电子与信息工程学院学生所在学科:电子与同学工程学生姓名:学号:学生类别:考核结果阅卷人第 1 页(共页)几种非线性滤波算法的介绍与性能分析作者姓名:学号:专业院系:电信学院电子工程系电子邮件:摘要—非线性滤波算法在雷达目标跟踪中有着重要的应用,对雷达的跟踪性能有着至关重要的影响。
好的滤波算法有利于目标航迹的建立及保持,能够得到较精确的目标位置,为发现目标后的后续工作提供可靠的数据依据。
本文重点介绍了雷达数据处理中的几种非线性滤波算法:扩展卡尔曼滤波(EKF)、不敏卡尔曼滤波(UKF)、粒子滤波(PF),并且给出了一个利用这三种算法进行数据处理的一个实例,通过这个实例对比分析了这三种算法的性能以及优劣。
关键字—非线性滤波算法;扩展卡尔曼滤波;不敏卡尔曼滤波;粒子滤波;I.概述(一级表题格式)在雷达对目标进行跟踪前要先对目标进行检测。
对于满足检测条件的目标就需要进行跟踪,在跟踪的过程中可以利用新获得的数据完成对目标的进一步检测比如去除虚假目标等,同时利用跟踪获得数据可以进一步完成对目标动态特性的检测和识别。
因此对目标进行准确的跟踪是雷达性能的一个重要指标。
在检测到满足条件的目标后,根据目标运动状态建立目标运动模型,然后对目标跟踪算法进行设计,这是雷达目标跟踪中的核心部分。
目前主要的跟踪算法包括线性自回归滤波,两点外推滤波、维纳滤波、-αβ滤波、加权最小二乘滤波、维纳滤波和卡尔曼滤波[1]。
对于线性系统而言最优滤波的方法就是卡尔曼滤波,卡尔曼滤波是线性高斯模型下的最优状态估计算法。
但是实际问题中目标的运动模型往往不是线性的,因此卡尔曼滤波具有很大的局限性。
目前主要用的非线性滤波算法可以分为高斯滤波和粒子滤波[2]。
不敏卡尔曼滤波和扩展卡尔曼滤波就是高斯滤波中的典型代表,也是应用相对较为广泛的。
粒子滤波的应用范围比高斯滤波的适用范围要广,对于系统状态非线性,观测模型非高斯等问题都有很好的适用性。
本文具体分析阐述了扩展卡尔曼滤波算法,不敏卡尔曼滤波算法,粒子滤波算法,并且通过一个实例利用仿真的方法分析了这三种算法在滤波性能上的优劣,最后对这三种算法做了一定的总结。
我本科毕业设计题目为《基于历史数据的路径生成算法研究》,由于我是跨专业保研到电信学院,该课题所研究内容不属于雷达系统研究范围,是一种城市路网最快路径生成算法。
II.几种非线性滤波算法A.扩展卡尔曼滤波扩展卡尔曼滤波是将非线性系统转换为近似的线性系统的一种方法,其核心思想是围绕滤波值将非线性函数展开成泰勒级数并略去二阶及以上的项,得到一个近似的线性化模型,然后应用卡尔曼滤波完成状态估计。
扩展卡尔曼滤波状态空间模型:kkkwxf+=+)(x1状态方程kkkvxh+=)(z观测方程其中(.)f和(.)h为非线性函数在扩展卡尔曼滤波中,状态的预测以及观测值的预测由非线性函数计算得出,线性卡尔曼滤波中的状态转移矩阵A阵和观测矩阵H阵由f和h函数的雅克比矩阵代替。
对(.)f和(.)h Taylor展开,只保留一次项有:)ˆ()ˆ()(kkkkkxxAxfxf-+≈)ˆ()ˆ()(kkkkkxxHxhxh-+≈其中:kkxxkk dxdfAˆ==为f对1-kx求导的雅克比矩阵kkxxkk dxdhHˆ==为h对1-kx求导的雅克比矩阵)ˆ(ˆ1-kkxfx=,于是可以得出:kkkkkkkwxAxfxAx+-+≈+)ˆ)ˆ((1kkkkkkkvxHxhxHz+-+≈+)ˆ)ˆ((1通过以上变换,将非线性问题线性化。
接下来EKF 滤波过程同线性卡尔曼滤波相同,公式如下:))|(ˆ()|1(XˆkkXfkk=+)()()|()()|1(P kQkkkPkkk+Φ'Φ=+)1()1()|1()1()1(S+++'++=+kRkHkkPkHk)1()1()|1()1(K1++'+=+-kSkHkkPkˆˆX(1|1)(1|)(1)[(1)ˆ(1)(1|)]k k X k k K k z k H k X k k ++=++++-++)|1())1()1|1(()1|1(P k k P k H k k X I k k ++++-=++通过EKF 算法线性化状态转移矩阵和观测矩阵后,剩下的滤波过程与普通的卡尔曼滤波无异,滤波过程简单且容易进行。
正因EKF 简单易于实现的特性,使得该算法一直以来都应用广泛,但是它的局限性也是非常明显的。
在这种滤波方法中非线性因子的存在对滤波稳定性和状态估计精度都用很大的影响,其滤波结果的好坏与量测噪声和状态噪声的统计特性也有很大的关系,对于高斯噪声,该算法有很好的适用性,但是对于非高斯噪声,该算法的滤波精度会受到很大的影响。
在滤波过程中由于需要预先估计过程噪声协方差矩阵()Q k 和量测噪声协方差矩阵()R k ,如果这两个矩阵的值的估计出现较大的误差,将使得滤波结果出现很大的偏差,容易产生误差积累从而导致滤波结果发散。
在用该算法滤波进的初始时刻要预先假设状态的初始值和初始协方差,如果这两个值的估计出现较大偏差,滤波结果也会出现发散的现象。
总的来说只有当系统的动态模型和观测模型都接近线性时,利用扩展卡尔曼滤波算法跟踪目标会取得较好的效果,滤波结果较接近真实值。
B. 不敏卡尔曼滤波算法不敏滤波也叫无损卡尔曼滤波,它的核心是不敏变换,摒弃了对非线性函数进行线性化的传统做法,采用卡尔曼线性滤波框架,依据不敏变换计算非线性变换的随机变量的统计特性,对于一步预测方程,使用不敏变换来处理均值和协方差的非线性传递。
不敏变化不需要像EKF 那样对非线性状态方程和量测方程线性化,它是对状态向量的概率密度函数进行近似化,用一系列确定样本来逼近状态的后验概率密度,表现为一些列选取好的采样点,不需要求导计算雅克比矩阵。
这些采样点完全体现了高斯密度的真实均值和协方差。
近似化后的概率密度函数仍然是高斯的。
当这些点经过任何非线性系统的传递后,得到的后验均值和协方差都能够精确到二阶[3]。
由于不需要对非线性系统进行线性化,可以很容易的应用于非线性系统的状态估。
对于不敏变换可以做如下阐述:假设X 为一个x n 维随机向量,g :yxn n R R →为一非线性函数并且()y g x =。
X 的均值和协方差分别为x P X 和。
计算UT 变化的步骤如下:①首先计算()i i x W n 和相对应的权值采样点个ξδ12+()()()()⎪⎪⎩⎪⎪⎨⎧=+-==++===+xi x x n i x i x x i n i P n X n i P n X i X x , (1),...,1,0,0κξκξξ()()()⎪⎪⎪⎩⎪⎪⎪⎨⎧=+===+-++==+=x x ci m i x c x m n i n W W i n W i n W 2,...,1,]2[10,10,200κβαλλλλ 式中,λ是一个尺度参数,可以为任何数值,只要()0≠+λx n 。
()()i x x P n λ+是()x x P n λ+均方根矩阵的第i 行或第i 列,x n 为状态向量的维数,其中)1(2-=αλx n 。
②每个δ采样点通过非线性函数传播,得到()x i i n i g y 2,...,2,1,0,==ξ③计算y 的估计均值和协方差∑==xn i i i y W y 20,∑='--=xn i i iiy y y y yW P 20))((滤波模型如下:由状态方程可以计算得到δ点的一步预测:())]|(,[|1k k k f k k i i ξξ=+状态预测估计和状态预测协方差:∑=+=+xn i ii k k W k k X 20)|1()|1(ˆξ )()|1()|1()|1(20k Q k k X k k X W k k P i n i i i x++'∆+∆=+∑=式中)|1(ˆ)|1()|1(k k Xk k k k X i i +-+=+∆ξ 由量测方程可得δ点量测的预测值:())]|1(,1[|1k k k h k k i i ++=+ξς量测的预测值和协方差为:20ˆ(1|)(1|)xn i ii Z k k W k k ς=+=+∑20(1|)(1|)(1)xn zz i i i i P W Z k k Z k k R k ='=∆+∆+++∑式中)|1(ˆ)|1()|1(k k Zk k k k Z i i +-+=+∆ς 量测和状态向量的互协方差为:∑='∆+∆=xn i i i i xz Z k k X W P 20)|1(状态更新和协方差更新表示为:ˆˆ(1|1)(1|)(1)ˆ[(1)(1|)]Xk k X k k K k Z k Zk k ++=+++⋅+-+(1|1)(1|)(1)(1)(1)P k k P k k K k S k K k ++=+-+⋅'++1)1(-=+zz xz PP k K不敏卡尔曼滤波不必计算雅克比矩阵,不必对非线性系统函数()f x 进行任何形式的逼近;在预测阶段只是标准的线性代数运算;对于系统函数来说可以不连续。
不敏卡尔曼滤波算法的计算量一般扩展卡尔曼滤波算法,这是由于扩展卡尔曼滤波算法通过线性化处理来实现非线性滤波估计,而不敏卡尔曼滤波是利用样本来逼近状态的概率密度函数,计算量主要发生在选取δ点时的方根分解运算1-k P 。
在计算速度上扩展卡尔曼滤波算法拥有明显优势,但他的性能随着非线性强度变大而明显下降。
不敏卡尔曼滤波算法因不用线性化处理而很好的解决了这一问题。
但是不敏卡尔曼滤波算法是用高斯分布来逼近系统状态的后验概率密度,如果系统状态的后验概率密度函数时非高斯的,那么滤波结果将产生极大的误差。
C. 粒子滤波算法粒子滤波是一种非线性滤波算法,是一种基于Monte Carlo 仿真的最优回归贝叶斯滤波算法[4]。
这种滤波方法将所关心的状态矢量表示为一组带有相关权值的随机样本,并基于这些样本和权值可以计算出状态估值。
这种方法不受线性化误差或高斯噪声假定的限制,适用于任何环境下的任何状态转化或量测模型。
粒子滤波算法的核心思想便是利用一系列随机样本的加权和表示后验概率密度,通过求和来近似积分操作。
滤波模型表述如下:假定k 时刻,一组随机样本{}0:1,sN ii k k i X q =是根据后验概率密度()0:1:|k k p X Z 所获得的采样。
其中0:ik X 表示为0到k 时刻的第i 个样本集合,即粒子集合;i kq 为相关权值,并且权值满足11sN rk r q ==∑,N s 为样本采样数,即粒子数;1:k Z 代表传感器k 时刻的量测集合;{}0:=,0,...,k j X X j k =表示为0到k 时刻的所有状态向量集合。