发明名称 一种平方根单形容积卡尔曼滤波方法
摘要 本发明提供了一种平方根单形容积卡尔曼滤波方法,依次计算系统预测状态及其协方差矩阵;计算预测量测及其协方差矩阵;计算滤波增益;更新得到系统状态及其协方差矩阵。本发明通过引入平方根滤波技术消除了由计算机舍入误差带来的协方差矩阵不正定问题,提高了滤波方法的鲁棒性,采用的单形采样方法可以大幅减少运算量,相对传统的滤波方法也提高了滤波精度。
申请公布号 CN104504286A 申请公布日期 2015.04.08
申请号 CN201510005347.X 申请日期 2015.01.06
申请人 西北工业大学 发明人 周德云;王先明;周颖;纪敏;郑宜航
分类号 G06F19/00(2011.01)I 主分类号 G06F19/00(2011.01)I
代理机构 西北工业大学专利中心 61204 代理人 顾潮琪
主权项 一种平方根单形容积卡尔曼滤波方法,其特征在于包括下述步骤:步骤1、给定系统初始状态均值<img file="FDA0000652026980000011.GIF" wi="208" he="81" />和误差协方差矩阵P<sub>0|0</sub>=P(0),然后计算单形采样的容积基点ξ<sub>i</sub>及其相应的权值ω<sub>i</sub>;<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>&xi;</mi><mi>i</mi></msub><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mrow><mo>[</mo><mn>0</mn><mo>]</mo></mrow><mi>n</mi></msub><mo>,</mo></mtd><mtd><mi>i</mi><mo>=</mo><mn>1</mn></mtd></mtr><mtr><mtd><msqrt><mi>n</mi><mo>+</mo><mn>2</mn></msqrt><msub><mi>a</mi><mi>j</mi></msub><mo>,</mo></mtd><mtd><mn>2</mn><mo>&le;</mo><mi>i</mi><mo>&le;</mo><mi>n</mi><mo>+</mo><mn>2</mn></mtd></mtr><mtr><mtd><mo>-</mo><msqrt><mi>n</mi><mo>+</mo><mn>2</mn></msqrt><mi>a</mi><mo>,</mo></mtd><mtd><mi>n</mi><mo>+</mo><mn>3</mn><mo>&le;</mo><mi>i</mi><mo>&le;</mo><mn>2</mn><mi>n</mi><mo>+</mo><mn>3</mn></mtd></mtr><mtr><mtd><msqrt><mi>n</mi><mo>+</mo><mn>2</mn></msqrt><msub><mi>b</mi><mi>j</mi></msub><mo>,</mo></mtd><mtd><mn>2</mn><mi>n</mi><mo>+</mo><mn>4</mn><mo>&le;</mo><mi>i</mi><mo>&le;</mo><mrow><mo>(</mo><msup><mi>n</mi><mn>2</mn></msup><mo>+</mo><mn>5</mn><mi>n</mi><mo>+</mo><mn>3</mn><mo>)</mo></mrow><mo>/</mo><mn>2</mn></mtd></mtr><mtr><mtd><mo>-</mo><msqrt><mi>n</mi><mo>+</mo><mn>2</mn></msqrt><msub><mi>b</mi><mi>j</mi></msub><mo>,</mo></mtd><mtd><mrow><mo>(</mo><msup><mi>n</mi><mn>2</mn></msup><mo>+</mo><mn>5</mn><mi>n</mi><mo>+</mo><mn>5</mn><mo>)</mo></mrow><mo>/</mo><mn>2</mn><mo>&le;</mo><mi>i</mi><mo>&le;</mo><msup><mi>n</mi><mn>2</mn></msup><mo>+</mo><mn>3</mn><mi>n</mi><mo>+</mo><mn>3</mn></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000652026980000012.GIF" wi="1011" he="431" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>&omega;</mi><mi>i</mi></msub><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mfrac><mn>2</mn><mrow><mi>n</mi><mo>+</mo><mn>2</mn></mrow></mfrac><mo>,</mo></mtd><mtd><mi>i</mi><mo>=</mo><mn>1</mn></mtd></mtr><mtr><mtd><mfrac><mrow><mrow><mo>(</mo><mn>7</mn><mo>-</mo><mi>n</mi><mo>)</mo></mrow><mi>n</mi></mrow><mrow><mn>2</mn><msup><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mn>2</mn></msup><msup><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mn>2</mn><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>,</mo></mtd><mtd><mn>2</mn><mo>&le;</mo><mi>i</mi><mo>&le;</mo><mn>2</mn><mi>n</mi><mo>+</mo><mn>3</mn></mtd></mtr><mtr><mtd><mfrac><mrow><mn>2</mn><msup><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mn>2</mn></msup></mrow><mrow><mi>n</mi><msup><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mn>2</mn></msup><msup><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mn>2</mn><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>,</mo></mtd><mtd><mn>2</mn><mi>n</mi><mo>+</mo><mn>4</mn><mo>&le;</mo><mi>i</mi><mo>&le;</mo><msup><mi>n</mi><mn>2</mn></msup><mo>+</mo><mn>3</mn><mi>n</mi><mo>+</mo><mn>3</mn></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000652026980000013.GIF" wi="973" he="442" /></maths>其中,a<sub>j</sub>是代表一组n维列向量,a<sub>j</sub>=[a<sub>j,1</sub>,a<sub>j,2</sub>,…,a<sub>j,n</sub>]<sup>T</sup>,j=1,2,…,n+1,<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>a</mi><mrow><mi>j</mi><mo>,</mo><mi>t</mi></mrow></msub><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mo>-</mo><msqrt><mfrac><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow><mrow><mi>n</mi><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>t</mi><mo>+</mo><mn>2</mn><mo>)</mo></mrow><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac></msqrt><mo>,</mo></mtd><mtd><mi>t</mi><mo>&lt;</mo><mi>j</mi></mtd></mtr><mtr><mtd><msqrt><mfrac><mrow><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><mi>n</mi><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>j</mi><mo>+</mo><mn>2</mn><mo>)</mo></mrow></mrow></mfrac></msqrt><mo>,</mo></mtd><mtd><mi>t</mi><mo>=</mo><mi>j</mi><mo>,</mo><mn>1</mn><mo>&le;</mo><mi>t</mi><mo>&le;</mo><mi>n</mi></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo></mtd><mtd><mi>t</mi><mo>></mo><mi>j</mi></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000652026980000014.GIF" wi="1034" he="401" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mo>{</mo><msub><mi>b</mi><mi>j</mi></msub><mo>}</mo><mo>=</mo><mo>{</mo><msqrt><mfrac><mi>n</mi><mrow><mn>2</mn><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac></msqrt><mrow><mo>(</mo><msub><mi>a</mi><mi>j</mi></msub><mo>+</mo><msub><mi>a</mi><mi>l</mi></msub><mo>)</mo></mrow><mo>:</mo><mi>j</mi><mo>&lt;</mo><mi>l</mi><mo>}</mo><mo>,</mo></mrow>]]></math><img file="FDA0000652026980000015.GIF" wi="701" he="174" /></maths>其中l=1,2,…,n+1;步骤2、时间更新,包括以下步骤:2.1分解状态协方差矩阵P<sub>k‑1|k‑1</sub>得到S<sub>k‑1|k‑1</sub>=chol(P<sub>k‑1|k‑1</sub>),chol是指Cholesky矩阵分解;2.2计算状态容积点<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>&chi;</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>S</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>&CenterDot;</mo><msub><mi>&xi;</mi><mi>i</mi></msub><mo>+</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub></mrow>]]></math><img file="FDA0000652026980000016.GIF" wi="564" he="85" /></maths>并传播,得到<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msubsup><mi>&chi;</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mo>*</mo></msubsup><mo>=</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>&chi;</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000652026980000017.GIF" wi="430" he="88" /></maths>2.3计算预测状态<img file="FDA0000652026980000018.GIF" wi="381" he="135" />及其协方差矩阵<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msub><mi>P</mi><mrow><mi>k</mi><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>&omega;</mi><mi>i</mi></msub><msub><mi>&chi;</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><msubsup><mi>&chi;</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>T</mi></msubsup><mo>-</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><msubsup><mover><mi>x</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>T</mi></msubsup><mo>+</mo><msub><mi>Q</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>;</mo></mrow>]]></math><img file="FDA0000652026980000019.GIF" wi="879" he="141" /></maths>步骤3、量测更新,包括以下步骤:3.1分解预测状态协方差矩阵得到S<sub>k|k‑1</sub>=chol(P<sub>k|k‑1</sub>);3.2计算预测状态容积点<img file="FDA0000652026980000021.GIF" wi="489" he="79" />并传播,得到预测量测容积点<img file="FDA0000652026980000022.GIF" wi="388" he="77" />3.3计算预测量测<img file="FDA0000652026980000023.GIF" wi="370" he="134" />及其协方差矩阵<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msub><mi>P</mi><mi>zz</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>&omega;</mi><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>z</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><msub><mrow><mo>-</mo><mover><mi>z</mi><mo>^</mo></mover></mrow><mrow><mi>k</mi><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><msup><mrow><mo>(</mo><msub><mi>z</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mover><mi>z</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mi>T</mi></msup><mo>+</mo><msub><mi>R</mi><mi>k</mi></msub><mo>;</mo></mrow>]]></math><img file="FDA0000652026980000024.GIF" wi="955" he="134" /></maths>3.4计算预测状态和预测量测的协方差矩阵<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><msub><mi>P</mi><mi>xz</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>&omega;</mi><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>&chi;</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><msup><mrow><mo>(</mo><msub><mi>z</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mover><mi>z</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mi>T</mi></msup><mo>,</mo></mrow>]]></math><img file="FDA0000652026980000025.GIF" wi="875" he="140" /></maths>求取滤波增益<maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><msub><mi>G</mi><mi>k</mi></msub><mo>=</mo><msub><mi>P</mi><mi>xz</mi></msub><mo>&CenterDot;</mo><msubsup><mi>P</mi><mi>zz</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><mo>;</mo></mrow>]]></math><img file="FDA0000652026980000026.GIF" wi="291" he="84" /></maths>3.5更新得到系统状态<maths num="0011" id="cmaths0011"><math><![CDATA[<mrow><msub><mover><mi>x</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>|</mo><mi>k</mi></mrow></msub><mo>=</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>G</mi><mi>k</mi></msub><mrow><mo>(</mo><msub><mi>z</mi><mi>k</mi></msub><mo>-</mo><msub><mover><mi>z</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000652026980000027.GIF" wi="539" he="82" /></maths>及其协方差矩阵<maths num="0012" id="cmaths0012"><math><![CDATA[<mrow><msub><mi>P</mi><mi>k</mi></msub><mo>=</mo><msub><mi>P</mi><mrow><mi>k</mi><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>G</mi><mi>k</mi></msub><msub><mi>P</mi><mi>zz</mi></msub><msubsup><mi>G</mi><mi>k</mi><mi>T</mi></msubsup><mo>;</mo></mrow>]]></math><img file="FDA0000652026980000028.GIF" wi="440" he="85" /></maths>步骤4:判断滤波算法是否继续执行,如果是,返回步骤2;否则,结束算法。
地址 710072 陕西省西安市友谊西路127号
您可能感兴趣的专利