发明名称 人工鱼群粒子滤波方法
摘要 本发明人工鱼群粒子滤波方法,将人工鱼群算法引入粒子滤波,其基本思路是在选取目标函数即量测函数和调整重要性权值时,引入人工鱼群算法的聚群行为和觅食行为,引导先验粒子不断向高似然域移动,从而改善粒子分布,增加粒子的多样性,提高算法的滤波精度。此外,在人工鱼群算法中,当寻优的域较大或处于变化平坦的区域时,一部分人工鱼将处于无目的的随机移动中,影响了寻优效率,本发明进一步提出了一种自适应步长方法对人工鱼视野选取的随机性进行改进,不仅减轻了算法的计算负担,而且保证了算法的收敛性。
申请公布号 CN102360451B 申请公布日期 2014.04.16
申请号 CN201110308010.8 申请日期 2011.10.11
申请人 江苏科技大学 发明人 朱志宇;李阳;李冀;张冰;刘维亭;魏海峰;赵强;袁文华
分类号 G06N3/00(2006.01)I 主分类号 G06N3/00(2006.01)I
代理机构 南京经纬专利商标代理有限公司 32200 代理人 楼高潮
主权项 1.一种用于无线通信系统的人工鱼群粒子滤波方法,其特征在于包括如下步骤:Step1:取得无线通信信号量测值<maths num="0001"><![CDATA[<math><mrow><msub><mi>Z</mi><mi>k</mi></msub><mo>~</mo><msup><mrow><mo>[</mo><mrow><mo>(</mo><mn>2</mn><mi>&pi;</mi><mo>)</mo></mrow><msubsup><mi>&sigma;</mi><mi>v</mi><mn>2</mn></msubsup><mo>]</mo></mrow><mrow><mo>-</mo><mn>1</mn><mo>/</mo><mn>2</mn></mrow></msup><msup><mi>e</mi><mrow><mo>-</mo><mfrac><mn>1</mn><mrow><mn>2</mn><msubsup><mi>&sigma;</mi><mi>v</mi><mn>2</mn></msubsup></mrow></mfrac><mo>[</mo><msup><mrow><mo>(</mo><msub><mi>z</mi><mi>k</mi></msub><mo>-</mo><msubsup><mover><mi>z</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>i</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>]</mo></mrow></msup></mrow></math>]]></maths>其中Z<sub>k</sub>为无线通信信号最新量测值,<img file="FDA0000447704020000012.GIF" wi="131" he="86" />为无线通信信号预测量测值,k表示时刻;Step2:初始化在k=0时刻,从重要性函数采样取N个粒子,抽样出的粒子用<img file="FDA0000447704020000013.GIF" wi="231" he="91" />表示,重要性密度函数取转移先验:<maths num="0002"><![CDATA[<math><mrow><msubsup><mi>X</mi><mi>k</mi><mi>i</mi></msubsup><mo>~</mo><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>Z</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>=</mo><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></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msubsup><mi>X</mi><mi>k</mi><mi>i</mi></msubsup><mo>=</mo><mrow><mo>(</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mn>1</mn></msubsup><mo>,</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mn>2</mn></msubsup><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>n</mi></msubsup><mo>)</mo></mrow></mrow></math>]]></maths>Step3:重要性权值计算<maths num="0004"><![CDATA[<math><mfenced open='' close=''><mtable><mtr><mtd><msubsup><mi>w</mi><mi>k</mi><mi>i</mi></msubsup><mo>=</mo><msubsup><mi>w</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>i</mi></msubsup><mi>p</mi><mrow><mo>(</mo><msub><mi>Z</mi><mi>k</mi></msub><mo>|</mo><msubsup><mi>X</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>i</mi></msubsup><mo>)</mo></mrow><mo>=</mo><msubsup><mi>w</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>Z</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>Z</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow></mfrac></mtd></mtr><mtr><mtd><mo>=</mo><msubsup><mi>w</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>i</mi></msubsup><mi>p</mi><mrow><mo>(</mo><msub><mi>Z</mi><mi>k</mi></msub><mo>|</mo><msubsup><mi>X</mi><mi>k</mi><mi>i</mi></msubsup><mo>)</mo></mrow><mo>=</mo><msubsup><mi>w</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>i</mi></msubsup><msup><mrow><mo>[</mo><mrow><mo>(</mo><mn>2</mn><mi>&pi;</mi><mo>)</mo></mrow><msubsup><mi>&sigma;</mi><mi>v</mi><mn>2</mn></msubsup><mo>]</mo></mrow><mrow><mo>-</mo><mn>1</mn><mo>/</mo><mn>2</mn></mrow></msup><msup><mi>e</mi><mrow><mo>-</mo><mfrac><mn>1</mn><mrow><mn>2</mn><msubsup><mi>&sigma;</mi><mi>v</mi><mn>2</mn></msubsup></mrow></mfrac><mo>[</mo><msup><mrow><mo>(</mo><msub><mi>z</mi><mi>k</mi></msub><mo>-</mo><msubsup><mover><mi>z</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>i</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>]</mo></mrow></msup></mtd></mtr></mtable></mfenced></math>]]></maths>令目标函数<maths num="0005"><![CDATA[<math><mrow><mi>Y</mi><mo>=</mo><msup><mrow><mo>[</mo><mrow><mo>(</mo><mn>2</mn><mi>&pi;</mi><mo>)</mo></mrow><msubsup><mi>&sigma;</mi><mi>v</mi><mn>2</mn></msubsup><mo>]</mo></mrow><mrow><mo>-</mo><mn>1</mn><mo>/</mo><mn>2</mn></mrow></msup><msup><mi>e</mi><mrow><mo>-</mo><mfrac><mn>1</mn><mrow><mn>2</mn><msubsup><mi>&sigma;</mi><mi>v</mi><mn>2</mn></msubsup></mrow></mfrac><mo>[</mo><msup><mrow><mo>(</mo><msub><mi>z</mi><mi>k</mi></msub><mo>-</mo><msubsup><mover><mi>z</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>i</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>]</mo></mrow></msup><mo>;</mo></mrow></math>]]></maths>(1)觅食行为当Y<sub>i</sub><Y<sub>j</sub>时,粒子通过比较目标函数不断更新自己向更真实的状态靠近时,则采用下式更新粒子的状态:<maths num="0006"><![CDATA[<math><mrow><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>i</mi><mi>m</mi></msub></msubsup><mo>=</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>i</mi><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></msub></msubsup><mo>+</mo><mi>r</mi><mo>&CenterDot;</mo><mi>s</mi><mfrac><mrow><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>j</mi></msubsup><mo>-</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>i</mi><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></msub></msubsup></mrow><mrow><mo>|</mo><mo>|</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>j</mi></msubsup><mo>-</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>i</mi><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></msub></msubsup><mo>|</mo><mo>|</mo></mrow></mfrac><mo>&CenterDot;</mo><mo>|</mo><mn>1</mn><mo>-</mo><mfrac><msub><mi>Y</mi><mi>j</mi></msub><msub><mi>Y</mi><mi>i</mi></msub></mfrac><mo>|</mo></mrow></math>]]></maths>其中<img file="FDA0000447704020000019.GIF" wi="115" he="73" />为对<img file="FDA00004477040200000110.GIF" wi="110" he="73" />第m∈{1,2,…,n}次后的迭代值,否则,采用下式更新粒子的状态:<maths num="0007"><![CDATA[<math><mrow><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>i</mi><mi>m</mi></msub></msubsup><mo>=</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>i</mi><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></msub></msubsup><mo>+</mo><mi>r</mi><mo>&CenterDot;</mo><mi>s</mi><mo>&CenterDot;</mo><mfrac><mrow><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>j</mi></msubsup><mo>-</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>i</mi><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></msub></msubsup></mrow><mrow><mo>|</mo><mo>|</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>j</mi></msubsup><mo>-</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>i</mi><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></msub></msubsup><mo>|</mo><mo>|</mo></mrow></mfrac><mo>&CenterDot;</mo><mo>|</mo><mn>1</mn><mo>-</mo><mfrac><msub><mi>Y</mi><mi>i</mi></msub><msub><mi>Y</mi><mi>j</mi></msub></mfrac><mo>|</mo></mrow></math>]]></maths>(2)聚群行为设<img file="FDA00004477040200000112.GIF" wi="108" he="75" />在范围v内的其他预测观测值集合为A<sub>v</sub>,A<sub>v</sub>为集合A<sub>v</sub>的势,则其中心为<maths num="0008"><![CDATA[<math><mrow><msubsup><mover><mi>Z</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>ic</mi></msubsup><mo>=</mo><mfrac><mn>1</mn><mrow><mo>|</mo><msub><mi>A</mi><mi>v</mi></msub><mo>|</mo></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&NotEqual;</mo><mi>i</mi></mrow><mrow><mo>|</mo><msub><mi>A</mi><mi>v</mi></msub><mo>|</mo></mrow></munderover><msubsup><mover><mi>Z</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>j</mi></msubsup><mo>,</mo></mrow></math>]]></maths>若<maths num="0009"><![CDATA[<math><mrow><mfrac><msub><mi>Y</mi><mi>ic</mi></msub><mrow><mo>|</mo><msub><mi>A</mi><mi>v</mi></msub><mo>|</mo></mrow></mfrac><mo>></mo><mi>&delta;</mi><mo>&CenterDot;</mo><msub><mi>Y</mi><mi>i</mi></msub><mo>,</mo></mrow></math>]]></maths>则<maths num="0010"><![CDATA[<math><mrow><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>i</mi><mi>m</mi></msub></msubsup><mo>=</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>i</mi><mrow><mi>m</mi><mn>1</mn></mrow></msub></msubsup><mo>+</mo><mi>r</mi><mo>&CenterDot;</mo><mi>s</mi><mfrac><mrow><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>ic</mi></msubsup><mo>-</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>i</mi><mrow><mi>m</mi><mn>1</mn></mrow></msub></msubsup></mrow><mrow><mo>|</mo><mo>|</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>ic</mi></msubsup><mo>-</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>i</mi><mrow><mi>m</mi><mn>1</mn></mrow></msub></msubsup><mo>|</mo><mo>|</mo></mrow></mfrac><mo>,</mo></mrow></math>]]></maths>否则转(1);Step4:权值更新并归一化权值根据<maths num="0011"><![CDATA[<math><mrow><msubsup><mi>w</mi><mi>k</mi><mi>i</mi></msubsup><mo>=</mo><msubsup><mi>w</mi><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>i</mi></msubsup><mi>p</mi><mrow><mo>(</mo><msub><mi>Z</mi><mi>k</mi></msub><mo>|</mo><msubsup><mi>X</mi><mi>k</mi><mi>i</mi></msubsup><mo>)</mo></mrow></mrow></math>]]></maths>更新权值;根据<img file="FDA0000447704020000023.GIF" wi="258" he="124" />对取出的N<sub>1</sub>个粒子的权值归一化;Step5:输出状态估计:<maths num="0012"><![CDATA[<math><mrow><msub><mover><mi>X</mi><mo>^</mo></mover><mi>k</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msubsup><mi>w</mi><mi>k</mi><mi>i</mi></msubsup><msubsup><mi>X</mi><mi>k</mi><mi>i</mi></msubsup><mo>;</mo></mrow></math>]]></maths>方差估计:<maths num="0013"><![CDATA[<math><mrow><msub><mi>P</mi><mi>k</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msubsup><mi>w</mi><mi>k</mi><mi>i</mi></msubsup><mrow><mo>(</mo><msubsup><mi>X</mi><mi>k</mi><mi>i</mi></msubsup><mo>-</mo><msub><mover><mi>X</mi><mo>^</mo></mover><mi>k</mi></msub><mo>)</mo></mrow><msup><mrow><mo>(</mo><msubsup><mi>X</mi><mi>k</mi><mi>i</mi></msubsup><mo>-</mo><msub><mover><mi>X</mi><mo>^</mo></mover><mi>k</mi></msub><mo>)</mo></mrow><mi>T</mi></msup><mo>;</mo></mrow></math>]]></maths>Step6:判断是否结束,当达到设置的迭代次数n或者目标函数前后偏差小于设定的阈值则退出本算法;否则返回step2。
地址 212003 江苏省镇江市梦溪路2号