发明名称 一种粒子滤波方法
摘要 本发明提供一种粒子滤波方法,其包括:步骤1,初始化粒子;步骤2,在k时刻获取测量值,然后利用粒子滤波方法由N个粒子滤波过程并行计算均值和方差,然后进行近似处理获得重要性密度函数并抽取采样粒子;步骤3,根据步骤2获得的重要性密度函数,计算每一个采样粒子的重要性权值;步骤4,将步骤3中得到的重要性权值进行归一化处理;步骤5,根据步骤4中归一化处理后得到的权值进行重采样,得到新的粒子序列;步骤6,对步骤5得到的新的粒子序列xik计算后验概率密度,输出滤波结果。本发明的计算过程简单,能在一定程度上改善粒子退化问题,提高了粒子滤波性能。
申请公布号 CN103684350A 申请公布日期 2014.03.26
申请号 CN201310645786.8 申请日期 2013.12.04
申请人 北京理工大学 发明人 夏元清;蒲钒;耿秀美;邓志红;付梦印;闫莉萍
分类号 H03H21/00(2006.01)I 主分类号 H03H21/00(2006.01)I
代理机构 北京理工大学专利中心 11120 代理人 郭德忠
主权项 1.一种粒子滤波方法,其特征在于,包括以下步骤:步骤1,初始化粒子<img file="FDA0000429547520000011.GIF" wi="327" he="91" />且粒子权值为<img file="FDA0000429547520000012.GIF" wi="232" he="90" />其中,x<sub>0</sub>为初始时刻t<sub>0</sub>的粒子集合,<img file="FDA0000429547520000013.GIF" wi="55" he="76" />为初始时刻t<sub>0</sub>第i个状态向量,N为产生的粒子数量,p(x<sub>0</sub>)为初始概率密度函数;步骤2,在k时刻获取测量值y<sub>k</sub>,根据k-1时刻粒子的集合x<sub>k-1</sub>和测量值y<sub>k</sub>由N个粒子滤波过程并行计算x<sub>k</sub>的均值<img file="FDA0000429547520000014.GIF" wi="54" he="65" />和方差<img file="FDA0000429547520000015.GIF" wi="103" he="92" />然后由式(1)进行近似处理获得重要性密度函数:<![CDATA[<math><mrow><mi>q</mi><mrow><mo>(</mo><msubsup><mi>x</mi><mi>k</mi><mi>i</mi></msubsup><mo>|</mo><msubsup><mi>x</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>i</mi></msubsup><mo>,</mo><msub><mi>y</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>=</mo><mi>N</mi><mrow><mo>(</mo><msubsup><mover><mi>x</mi><mo>&OverBar;</mo></mover><mi>k</mi><mi>i</mi></msubsup><mo>,</mo><msup><msub><mover><mi>P</mi><mo>&OverBar;</mo></mover><mi>k</mi></msub><mi>i</mi></msup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>其中,<img file="FDA0000429547520000017.GIF" wi="67" he="80" />即是预测出的k时刻粒子第i个状态向量即第i个粒子的均值,<img file="FDA0000429547520000018.GIF" wi="73" he="82" />是k时刻粒子第i个状态向量的方差,<img file="FDA0000429547520000019.GIF" wi="240" he="82" />表示均值为<img file="FDA00004295475200000110.GIF" wi="86" he="80" />方差为<img file="FDA00004295475200000111.GIF" wi="97" he="82" />并根据式(2)抽取采样粒子:<![CDATA[<math><mrow><mfenced open='' close=''><mtable><mtr><mtd><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi><mi>i</mi></msubsup><mo>=</mo><msubsup><mover><mi>x</mi><mo>&OverBar;</mo></mover><mi>k</mi><mi>i</mi></msubsup><mo>+</mo><msup><msub><mover><mi>P</mi><mo>&OverBar;</mo></mover><mi>k</mi></msub><mrow><mn>1</mn><mo>/</mo><mn>2</mn></mrow></msup><msup><mi>&gamma;</mi><mi>i</mi></msup></mtd><mtd><msup><mi>&gamma;</mi><mi>i</mi></msup><mo>~</mo><mi>N</mi><mrow><mo>(</mo><mn>0,1</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>其中,各粒子均值为0,各个粒子方差均为1,即标准正态分布;步骤3,根据步骤2获得的重要性密度函数,利用式(3)计算每一个采样粒子的重要性权值:<![CDATA[<math><mrow><msubsup><mover><mi>&omega;</mi><mo>~</mo></mover><mi>k</mi><mi>i</mi></msubsup><mo>=</mo><msubsup><mi>&omega;</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>i</mi></msubsup><mfrac><mrow><mi>p</mi><mrow><mo>(</mo><msub><mi>y</mi><mi>k</mi></msub><mo>|</mo><msubsup><mi>x</mi><mi>k</mi><mi>i</mi></msubsup><mo>)</mo></mrow><mi>p</mi><mrow><mo>(</mo><msubsup><mi>x</mi><mi>k</mi><mi>i</mi></msubsup><mo>|</mo><msubsup><mi>x</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>i</mi></msubsup><mo>)</mo></mrow></mrow><mrow><mi>q</mi><mrow><mo>(</mo><msubsup><mi>x</mi><mi>k</mi><mi>i</mi></msubsup><mo>|</mo><msubsup><mi>x</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>i</mi></msubsup><mo>,</mo><msub><mi>y</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>步骤4,将步骤3中得到的重要性权值利用式(4)进行归一化处理:<![CDATA[<math><mrow><msubsup><mi>&omega;</mi><mi>k</mi><mi>i</mi></msubsup><mo>=</mo><mfrac><msubsup><mover><mi>&omega;</mi><mo>~</mo></mover><mi>k</mi><mi>i</mi></msubsup><mrow><mi>sum</mi><msubsup><mrow><mo>{</mo><msubsup><mover><mi>&omega;</mi><mo>~</mo></mover><mi>k</mi><mi>i</mi></msubsup><mo>}</mo></mrow><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></msubsup></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>步骤5,根据步骤4中归一化处理后得到的权值进行重采样,得到新的粒子序列<img file="FDA00004295475200000115.GIF" wi="78" he="93" />步骤6,按公式<img file="FDA00004295475200000116.GIF" wi="640" he="139" />对步骤5得到的新的粒子序列<img file="FDA00004295475200000117.GIF" wi="46" he="77" />计算后验概率密度,输出滤波结果;其中,x<sub>0:k</sub>是从采样时刻0到采样时刻k,各个时刻粒子的集合,用来表示第0次采样到第k次采样的状态值。y<sub>1:k</sub>表示1时刻到k时刻各个时刻状态的测量值。而<img file="FDA00004295475200000118.GIF" wi="86" he="80" />则表示0时刻到k时刻,每一时刻第i个粒子。而δ表示采样时间间隔,即x<sub>k</sub>与x<sub>k-1</sub>之间的时间差;进一步的,<![CDATA[<math><mrow><msub><mi>x</mi><mi>k</mi></msub><mo>=</mo><mn>0.5</mn><msub><mi>x</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>+</mo><mfrac><mrow><mn>25</mn><msub><mi>x</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub></mrow><mrow><mn>1</mn><mo>+</mo><msubsup><mi>x</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mn>2</mn></msubsup></mrow></mfrac><mo>+</mo><mn>8</mn><mi>cos</mi><mrow><mo>(</mo><mn>1.2</mn><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>)</mo></mrow><mo>+</mo><msub><mi>w</mi><mi>k</mi></msub></mrow></math>]]></maths>是所用非线性模型的状态方程,<img file="FDA0000429547520000022.GIF" wi="258" he="141" />是观测方程,其中,w<sub>k</sub>,v<sub>k</sub>分别为过程噪声和观测噪声,均为零均值高斯白噪声,且w<sub>k</sub>,v<sub>k</sub>的方差分别假设为1,初始状态为x<sub>0</sub>=0.1。
地址 100081 北京市海淀区中关村南大街5号