发明名称 基于改进卡尔曼滤波的变参数迭代估计方法
摘要 基于改进卡尔曼滤波的变参数迭代估计方法,涉及参数估计领域。本发明为解决现有迭代估计方法估计精度不足和估计速度过慢的问题。所述变参数迭代估计方法:首先使用基于改进卡尔曼滤波的现有迭代估计算法进行迭代估计,再判断估计的速度和精度,若需提高迭代估计的速度和精度则添加可以变化的小于1的迭代估计值的反馈参数重新进行迭代估计,通过比较迭代估计的速度和精度来确定最佳的反馈参数,最后得到具有较小计算量和较高精度的迭代估计算法。本发明通过在现有迭代估计算法的基础上加入可以变化小于1的迭代估计值的反馈参数来提高迭代估计精度和迭代估计速度的新迭代估计方法,该方法可以在保证较小的计算量的同时大幅提高迭代估计精度。
申请公布号 CN103473477A 申请公布日期 2013.12.25
申请号 CN201310455455.8 申请日期 2013.09.29
申请人 哈尔滨工业大学 发明人 孙亚辉;耿云海;方向;盛靖;孙瑞
分类号 G06F19/00(2011.01)I 主分类号 G06F19/00(2011.01)I
代理机构 哈尔滨市松花江专利商标事务所 23109 代理人 杨立超
主权项 1.一种基于改进卡尔曼滤波的变参数迭代估计方法,其特征在于:在所述方法中引入可以变化的小于1的迭代估计值的反馈参数,具体步骤如下:步骤一、分析所要估计的系统,得到系统的状态方程如下:<maths num="0001"><![CDATA[<math><mfenced open='{' close=''><mtable><mtr><mtd><mi>&xi;</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mi>f</mi><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>&xi;</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>+</mo><mi>w</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>h</mi><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>&xi;</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>+</mo><mi>v</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></math>]]></maths>其中ξ(k)为所要估计的参数,y(k)是测量值,w(k)为系统噪声,v(k)为噪声,k表示第k次迭代,f(k,ξ(k))与h(k,ξ(k))为关于k与ξ(k)的非线性函数;步骤二、实际估计问题的系统均为非线性系统,对系统方程进行线性化:<maths num="0002"><![CDATA[<math><mrow><mi>F</mi><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mover><mi>&xi;</mi><mo>^</mo></mover><mo>)</mo></mrow><mo>=</mo><mfrac><mo>&PartialD;</mo><mrow><mo>&PartialD;</mo><mi>&xi;</mi></mrow></mfrac><mi>f</mi><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mover><mi>&xi;</mi><mo>^</mo></mover><mo>)</mo></mrow><msub><mo>|</mo><mrow><mi>&xi;</mi><mo>=</mo><mover><mi>&xi;</mi><mo>^</mo></mover></mrow></msub></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><mi>H</mi><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mover><mi>&xi;</mi><mo>^</mo></mover><mo>)</mo></mrow><mo>=</mo><mfrac><mo>&PartialD;</mo><mrow><mo>&PartialD;</mo><mi>&xi;</mi></mrow></mfrac><mi>h</mi><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mover><mi>&xi;</mi><mo>^</mo></mover><mo>)</mo></mrow><msub><mo>|</mo><mrow><mi>&xi;</mi><mo>=</mo><mover><mi>&xi;</mi><mo>^</mo></mover></mrow></msub></mrow></math>]]></maths>步骤三、根据对系统的分析得到系统噪声方差阵Q<sup>w</sup>、量测噪声方差阵Q<sup>v</sup>,再根据经验选择初始的估计误差方差矩阵P(0)及初始的估计值<img file="FDA0000390252130000014.GIF" wi="131" he="94" />根据如下公式对估计误差方差矩阵P进行迭代更新:<maths num="0004"><![CDATA[<math><mrow><mi>N</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>P</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msup><mi>H</mi><mi>T</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mover><mi>&xi;</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>*</mo><msup><mrow><mo>[</mo><mi>H</mi><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mover><mi>&xi;</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>)</mo></mrow><mi>P</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msup><mi>H</mi><mi>T</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mover><mi>&xi;</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>+</mo><msup><mi>Q</mi><mi>v</mi></msup><mo>]</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup></mrow></math>]]></maths><maths num="0005"><![CDATA[<math><mrow><mi>P</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mi>P</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msup><mi>Q</mi><mi>w</mi></msup><mo>-</mo><mi>N</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mrow><mo>[</mo><msup><mi>Q</mi><mi>v</mi></msup><mo>+</mo><mi>H</mi><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mover><mi>&xi;</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>)</mo></mrow><mi>P</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msup><mi>H</mi><mi>T</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mover><mi>&xi;</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>]</mo><msup><mi>N</mi><mi>T</mi></msup></mrow><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></math>]]></maths>步骤四、采用如下公式得到估计误差<img file="FDA0000390252130000017.GIF" wi="112" he="78" />及估计值<img file="FDA0000390252130000018.GIF" wi="156" he="80" />下述公式中引用最小二乘估计的估计值作为卡尔曼滤波估计的初始值,其中a为可以变化的迭代估计值的反馈参数;<maths num="0006"><![CDATA[<math><mrow><mi>&Delta;</mi><mover><mi>&xi;</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>F</mi><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mover><mi>&xi;</mi><mo>^</mo></mover><mo>)</mo></mrow><mover><mi>&xi;</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><mi>N</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>[</mo><mi>H</mi><msup><mrow><mo>(</mo><msup><mi>H</mi><mi>T</mi></msup><mi>H</mi><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><msup><mi>H</mi><mi>T</mi></msup><mi>Z</mi><mo>+</mo><mi>V</mi><mo>-</mo><mi>H</mi><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mover><mi>&xi;</mi><mo>^</mo></mover><mo>)</mo></mrow><mover><mi>&xi;</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>]</mo><mo>-</mo><mover><mi>&xi;</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0007"><![CDATA[<math><mrow><mover><mi>&xi;</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mover><mi>&xi;</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><mi>a</mi><mo>&times;</mo><mi>&Delta;</mi><mover><mi>&xi;</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></math>]]></maths>步骤五、更新估计值后从新返回步骤三,对系统进行迭代估计;初始的迭代估计采用a=1时迭代估计方法;当上述估计过程的估计值稳定后得到最终的估计误差<img file="FDA00003902521300000111.GIF" wi="118" he="80" />和估计次数k;根据这两个值的大小判断上述迭代过程的迭代精度和迭代速度是否满足需要,若不满足需要,则根据经验适当减小a,使其小于1,然后重复上述迭代过程;步骤六、多次改变迭代估计值的反馈参数a,经过多次迭代估计后得到多组估计误差<img file="FDA0000390252130000021.GIF" wi="119" he="77" />和估计次数k;根据估计要求选取最佳的反馈参数a,即确定了最佳的迭代估计方法,完成了具有较小计算量和较高计算精度的迭代估计。
地址 150001 黑龙江省哈尔滨市南岗区西大直街92号