[发明专利]一种基于集合卡尔曼滤波的粒子滤波方法无效
申请号: | 201110048138.5 | 申请日: | 2011-02-28 |
公开(公告)号: | CN102082560A | 公开(公告)日: | 2011-06-01 |
发明(设计)人: | 杜航原;赵玉新;李刚;沈志峰 | 申请(专利权)人: | 哈尔滨工程大学 |
主分类号: | H03H21/00 | 分类号: | H03H21/00 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 官汉增 |
地址: | 150001 黑龙江*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出一种基于集合卡尔曼滤波的粒子滤波方法,包括初始化采样粒子、对k时刻的背景集合进行预测、计算卡尔曼增益、融合最近观测信息,对背景集合进行更新、重新计算分析集合、构建高斯建议分布函数和权值进行归一化处理等步骤。本发明提出的基于集合卡尔曼滤波的粒子滤波方法无须对非线性系统进行线性化,避免了Jacobian矩阵的计算,使用采样法近似非线性分布,提高了计算精度。且本发明的粒子滤波方法中采样点数是启发式的,可以灵活设定,计算量不会随维数增大发生激增,实时性得到有效控制。 | ||
搜索关键词: | 一种 基于 集合 卡尔 滤波 粒子 方法 | ||
【主权项】:
1.一种基于集合卡尔曼滤波的粒子滤波方法,其特征在于:包括以下几个步骤:步骤一:在k=0时刻初始化粒子,利用先验概率p(x0)进行随机采样,获得初始采样粒子
初始化每个采样粒子的权值为1/N,i代表粒子序号,i=1∶N,N为采样粒子个数,k为非线性系统的运行时刻,
为k=0时刻第i个采样粒子的状态值;对于k=0时刻每一个采样粒子定义初始的分析集合
为
其中
表示k=0时刻第i个粒子对应的分析集合中第j个样本,j代表分析集合中样本序号,
表示以k=0时刻第i个粒子状态值为均值,以系统过程噪声协方差Q为方差的高斯分布;步骤二:(1)在k=1时刻,对每一个采样粒子分别定义一个背景集合
为
和一个分析集合
为
其中上标a和b分别代表分析集合和背景集合,j代表分析集合或背景集合中样本序号,n表示分析集合或背景集合中样本的个数,
表示k时刻背景集合中第j个样本,
表示k时刻分析集合中第j个样本;(2)利用非线性系统的状态方程由k-1时刻的分析集合对当前背景集合中每个样本进行预测,得到公式(3)x k , j ( i ) , b = f ( x k - 1 , j ( i ) , a ) - - - ( 3 ) ]]>
为非线性系统状态方差,
表示k-1时刻分析集合中第j个样本。计算k时刻背景集合的中所有样本的均值
非线性系统关于状态变量的协方差
以及观测方程的协方差
得到公式(4)、(5)和(6):x ^ k ( i ) , b = 1 n Σ j - 1 n x k , j ( i ) , b - - - ( 4 ) ]]>P ^ xh ( i ) , k = 1 n - 1 Σ j = 1 n ( x k , j ( i ) , b - x ^ k ( i ) , b ) ( h ( x k , j ( i ) , b ) - h ( x ^ k ( i ) , b ) ) T - - - ( 5 ) ]]>P ^ hh ( i ) k = 1 n - 1 Σ j = 1 n ( h ( x k , j ( i ) , b ) - h ( x ^ k ( i ) , b ) ) ( h ( x k , j ( i ) , b ) - h ( x ^ k ( i ) , b ) ) T - - - ( 6 ) ]]> h(·)表示非线性系统的观测方程函数;(3)根据公式(7)计算卡尔曼增益![]()
K k ( i ) = P ^ xh ( i ) , k ( P ^ hh ( i ) , k + R k ) - 1 - - - ( 7 ) ]]> 其中
为卡尔曼增益,Rk为观测噪声的协方差矩阵;(4)融合最近观测信息,对k时刻背景集合进行更新,计算得到k时刻的分析集合:x k , j ( i ) , a = x k , j ( i ) , b + K k ( i ) ( y k , j - h ( x k , j ( i ) , b ) ) - - - ( 8 ) ]]> 其中yk,j是以观测值yk为均值、Rk为方差的高斯分布的采样;根据公式(9)和(10),计算分析集合的均值
和协方差![]()
x ^ k ( i ) a = 1 n Σ j - 1 n x k , j ( i ) a - - - ( 9 ) ]]>P ^ k ( i ) a = 1 n - 1 Σ j = 1 n ( x k , j ( i ) a - x ^ k ( i ) a ) ( x k , j ( i ) a - x ^ k ( i ) a ) T - - - ( 10 ) ]]> 这个过程利用上一时刻的状态变量的值和当前时刻的最近观测信息,通过集合卡尔曼滤波方法对建议分布更新后的分析集合均值和方差进行传递,得到该时刻的高斯建议分布函数
其中
表示k时刻第i个粒子,
表示k-1时刻第i个粒子,zk表示k时刻观测向量;步骤三:从步骤二得到的高斯建议分布函数中进行采样,根据公式(11)得到当前时刻的二次采样粒子,
表示k时刻第i个样本的二次采样样本,按照公式(12)计算每个二次采样粒子的权值
对权值
进行归一化处理,得到归一化后的权值![]()
x ^ k ( i ) ~ q ( x k ( i ) | x k - 1 ( i ) , z k ) = N ( x ^ k ( i ) , a , P ^ k ( i ) , a ) ]]>![]()
ω k ( i ) = ω k - 1 ( i ) p ( z k | x ^ k ( i ) ) p ( x ^ k ( i ) | x k - 1 ( i ) ) q ( x ^ k ( i ) | x 0 : k - 1 ( i ) , z 1 : k ) - - - ( 12 ) ]]> 步骤四:依照二次采样粒子的权值大小对步骤三中得到的二次粒子进行重采样,得到三次采样粒子;步骤五:待估计非线性离散系统的运行时间为M,若k=M则输出滤波结果,若k<M,则迭代过程未完成,进入k+1时刻,重复步骤二至步骤四,直至非线性系统运行结束,使用采样加权平均值E(x0:k)作为每一时刻算法输出值:E ( x 0 : k ) = ∫ x 0 : k · p ( x 0 : k | z 1 : k ) dx 0 : k ≈ 1 N Σ i = 1 N x 0 : k ( i ) - - - ( 13 ) ]]> 输出值E(x0:k)是对非线性系统进行滤波后的状态变量的估计值,其中0:k表示从0时刻到k时刻;x0:k表示非线性系统从0到k时刻的状态值;p(x0:k|z1:k)表示非线性系统从0到k时刻的后验概率密度;
表示第i个样本从0到k时刻的状态变量的值。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201110048138.5/,转载请声明来源钻瓜专利网。