基于多建议分布的粒子滤波方法技术

技术编号:2837419 阅读:205 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及基于多建议分布的粒子滤波方法,属于信号处理、人工智能和计算机视觉领域。本发明专利技术在粒子滤波器的框架内使用多种建议分布:先验概率分布、扩展卡尔曼滤波器、unscented卡尔曼滤波器等,采用分治采样策略来处理样本粒子,把总的粒子数分成多个部分,分别从不同的建议分布中提取,这样可以降低粒子滤波器的运行时间,提高运行效率,而不损失粒子滤波器的估计精度。用户可以根据自己对时间和精度的需求进行参数设置。在涉及非线性滤波问题的领域具有广泛的应用前景。

【技术实现步骤摘要】

本专利技术涉及,要求保护的技术方案属于信号处理、人工智能和计算机视觉领域。
技术介绍
非线性滤波问题在很多领域的问题中都涉及到,其中包括信号处理、金融、人工智能和计算机视觉等等。解决非线性滤波问题最为普遍的一种方法是使用扩展卡尔曼滤波器(EKF),但是EKF只适用于弱非线性系统,对于强非线性系统很容易导致发散。还有一种解决非线性滤波问题的办法是无迹卡尔曼滤波器(UKF)。UKF和EKF不同,它不使用局部线性化技术,而直接使用系统的非线性方程进行运算,从而能够避免局部线性化所引入的误差,避免在强非线性系统中出现发散。但是,UKF的使用不适用于一般的非高斯模型。另一种解决非线性滤波问题的方法就是粒子滤波器(Particle Filter)。它的基本思想就是使用一组带有权值的粒子(样本)集合来近似表示解决问题时需要的系统后验概率密度。粒子滤波器自提出以来已经广泛应用到信号处理、金融、人工智能、计算机视觉以及机器人等领域中,成为各国研究者关注的焦点。粒子滤波算法中的一项关键技术是建议分布的选择。选择好的建议分布能够有效的避免退化问题的影响,提高系统的状态估计精度。目前,常见的建议分布有先验概率分布(Transition Prior,TP)、EKF、UKF等。以这三种建议分布为基础的粒子滤波器,分别被称为基本粒子滤波器(Generic PF)、扩展卡尔曼粒子滤波器(EKPF)和无迹粒子滤波器(UPF)。但是先验概率分布没有考虑当前时刻新的观测值的影响,从而影响了粒子滤波器估计精度;而EKF采用局部线性化技术,引入了过多的截断误差,对估计精度产生影响;以UKF为建议分布的粒子滤波器具有较高的时间耗费。
技术实现思路
针对上述问题,本专利技术提出一种基于多建议分布的粒子滤波算法。该算法包括以下基本步骤一.初始状态下,首先从初始分布p(x0)中提取一组(N个)样本粒子,并设置其初始的均值和方差。二.对于c*N个粒子(1)首先使用UKF进行粒子传递和更新,获得关于该时刻状态的估计xk ukf(i). (2)使用EKF重复粒子更新过程,并以第(1)步中得到的状态估计作为输入。得到该时刻最终的估计量xk(i)和 (3)根据(2)中得到的估计量,构成建议分布N(xk(i), ),从中抽取新的样本粒子,并赋予权值wki。三.对于剩余的(1-c)*N个粒子,使用非线性系统方程进行更新,得到状态估计预测量xk|k-1(i),并从先验概率分布p(xk|k-1(i)|xk-1(i))中抽取粒子,赋予权值wki。四.对所有粒子的权值进行归一化处理。五.执行再采样过程,对得到的新的粒子集合中的每一个粒子赋予相同的权值1/N。六.输出七.如继续迭代,转到二,否则结束。本专利技术采用分治采样策略,将系统所需粒子分成两部分,分别由不同的建议分布中提取。一部分(假设占百分比为c)由混合的建议分布提取,即由UKF和EKF组成的混合建议分布。其余的一部分(1-c),由先验概率分布p(xk|xk-1)中提取。以此为基础的粒子滤波算法不仅能够产生较高的估计精度,而且能够降低粒子滤波器的运行时间。用户可以根据自身对实际要求的不同,调整参数c,以满足他们对运行效率和精度的不同要求。假设非线性动态系统的状态空间模型为xk=fk(xk-1,vk-1)yk=hk(xk,uk)其中xk表示系统在k时刻所处的状态,yk表示k时刻的观测值。函数f和h表示系统的状态转移和测量模型。vk和uk分别表示系统噪声与测量噪声。本专利技术提供的多建议分布粒子滤波器采用了EKF、UKF和TP作为建议分布,将总的粒子数分成两部分,分别由不同的建议分布中抽取,具体实现过程包括以下步骤第一步.k=0时,初始化一组粒子作为初始状态下的粒子集合,并设置初始的均值和协方差矩阵,设置方法同UPF算法中的初始设置。第二步.对于c*N个粒子,1.首先使用UKF更新粒子(1)选择一组sigma点,构成sigma矩阵。χk-1(i)a=x‾t-1(i)ax‾t-1(i)a±(na+λ)Pt-1(i)a]]>(2)根据动态系统的非线性方程,将这些sigma点向前传递,得到系统状态的均值的预测量xk|k-1ukf(i)和协方差的预测量Pk|k-1ukf(i),以及与测量值有关的预测量yk|k-1ukf(i)(预测) (3)获取当前时刻的测量值yk之后,并根据该测量值对(2)中得到的一步预测值(更新)x‾k(i)ukf=x‾k|k-1(i)ukf+Kk(yk-y‾k|k-1(i)ukf)]]>其中Kk=PxkykPy~ky~k-1]]>(卡尔曼增益)Py~ky~k=Σj=0na2Wj(c)[Yj,k|k-1(i)-y‾k|k-1(i)][Yj,k|k-1(i)-y‾k|k-1(i)]T]]>Px~ky~k=Σj=0na2Wj(c)[χj,k|k-1(i)-x‾k|k-1(i)][Yj,k|k-1(i)-y‾k|k-1(i)]T]]>这样就获得了估计量xk ukf(i)。其中,xa=[xTvTuT]T为扩张(augmented)状态变量,由系统状态x,系统噪声v和测量噪声u组成。χa=[(χx)T(χv)T(χu)T]T为sigma矩阵。na=nx+nv+nu为xa的维数。χk-1(i)a表示k-1时刻由sigma点构成的sigma矩阵,χj,k|k-1(i)为χk|k-1(i)的第j个元素。Wi(m)和Wi(c)表示sigma向量的权值,分别用来求均值和协方差估计,其计算方法在文献(Rudolph van der Merwe等,The Unscented Particle Filter)中。λ=α2(nx+k)-nx是一个尺度调节因子,α决定了选择的sigma点在其均值x附近的分布情况,通常将α设置为一个很小的正值(如0.001)。k是次级尺度调节因子,通常设置为0,β是用来结合关于x的分布的先验知识(对于高斯分布,β的最佳取值为2)。 是矩阵(nx+λ)Px平方根的第i行,2.使用EKF更新粒子,并以xk ukf(i)作为输入,即令xk-1(i)=x‾k(i)ukf.]]>(1)传递粒子,并得到相关的一步预测量 x‾k|k-1(i)ekff(x‾k-1(i))=f(x‾k(i)ukf)]]>Pk|k-1(i)ekf=Fk(i)Pk-1(i)FkT(i)+Gk(i)QkGkT(i)]]>(2)计算系统状态转移模型的雅可比矩阵F和G,以及测量模型的雅可比矩阵H和U.并计算出卡尔曼增益。Kk=Pk|k-1(i)ekfHkT(i)[Uk(i)RkUkT(i)+Hk(i)Pk|k-1(i)ekfHkT(i)]-1]]>(3)根据当本文档来自技高网
...

【技术保护点】
基于多建议分布的粒子滤波方法,其特征在于:包括以下步骤:1)首先初始化一组(N个)样本粒子,并设置其初始的均值和方差;2)对于c*N个粒子:(1)首先使用UKF进行粒子传递和更新,获得关于该时刻状态的估计***; (2)使用EKF重复粒子更新过程,并以第(1)步中得到的状态估计作为输入.得到该时刻最终的估计量*和*;(3)根据(2)中得到的估计量,构成建议分布N(*,*),并从中抽取新的样本粒子,并赋予权值w↓[k]↑[i];3) 对于剩余的(1-c)*N个粒子,使用非线性系统方程进行更新,得到状态估计预测量*,并从先验概率分布p(x↓[k|k-1]↑[(i)]|x↓[k-1]↑[(i)])中抽取粒子,赋予权值w↓[k]↑[i];4)对所有粒子的权值进行归一化 处理;5)执行再采样过程,对得到的新的粒子集合中的每一个粒子赋予相同的权值1/N;6)输出;7)如继续迭代,转到二,否则结束。

【技术特征摘要】
1.基于多建议分布的粒子滤波方法,其特征在于包括以下步骤1)首先初始化一组(N个)样本粒子,并设置其初始的均值和方差;2)对于c*N个粒子(1)首先使用UKF进行粒子传递和更新,获得关于该时刻状态的估计xk(i)ukf;(2)使用EKF重复粒子更新过程,并以第(1)步中得到的状态估计作为输入。得到该时刻最终的估计量xk(i)和 (3)根据(2)中得到的估计量,构成建议分布N(xk(i),...

【专利技术属性】
技术研发人员:赵清杰王法胜王巍
申请(专利权)人:北京理工大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1