发明名称 一种改进型无损卡尔曼滤波室内动目标定位方法
摘要 本发明公开了一种改进型无损卡尔曼滤波室内动目标定位方法,针对室内定位中采用传统无损卡尔曼滤波方法定位精度不高、实时性较差的问题,本发明提出一种运用比例因子动态调整噪声协方差矩阵的迭代算法来改进传统无损卡尔曼滤波,即在滤波过程中,不断利用上一时刻的滤波值代入时间更新方程,建立起对当前状态的先验估计,进而推算出当前时刻状态变量和误差协方差的估计值,并在此基础上完成对观测噪声和系统噪声的更新,以保证算法的收敛性和稳定性。
申请公布号 CN103383261B 申请公布日期 2015.11.18
申请号 CN201310278294.X 申请日期 2013.07.02
申请人 河海大学 发明人 李岳衡;赵珊珊;彭文杰;谭国平;居美艳;黄平
分类号 G01C21/20(2006.01)I 主分类号 G01C21/20(2006.01)I
代理机构 南京苏高专利商标事务所(普通合伙) 32204 代理人 张学彪
主权项 一种改进型无损卡尔曼滤波室内动目标定位方法,其特征在于,包括以下步骤:1)、根据下式对动力学系统进行数学建模,其中,所建的数学模型中动态目标初始运动状态为x,协方差阵为P<sub>x</sub>:x<sub>k</sub>=f(x<sub>k‑1</sub>,u<sub>k‑1</sub>,w<sub>k‑1</sub>),此式表示系统的动态模型,其中x<sub>k</sub>∈R<sup>n</sup>为n维的随机状态向量,表示目标在k时刻的状态,x<sub>k‑1</sub>则表示目标在k‑1时刻的状态,u<sub>k‑1</sub>为控制量;w<sub>k‑1</sub>表示n维的系统噪声向量;z<sub>k</sub>=h(x<sub>k</sub>,v<sub>k</sub>),此式表示动态系统的观测模型,z<sub>k</sub>为m维的观测向量,v<sub>k</sub>表示m维的观测噪声向量;其中,w<sub>k‑1</sub>和v<sub>k</sub>为相互独立且均值为零的正态白噪声,协方差矩阵分别为Q<sub>k‑1</sub>,R<sub>k</sub>,f(·)为有界的非线性状态方程;h(·)为有界的非线性观测方程;2)、根据动态目标初始运动状态向量x和协方差阵P<sub>x</sub>选择sigma点采样策略,得到初始状态向量x的sigma点集,并由下式:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msup><msub><mi>w</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msup><mo>=</mo><msup><msub><mi>w</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>c</mi><mo>)</mo></mrow></msup><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mfrac><mi>&kappa;</mi><mrow><mi>n</mi><mo>+</mo><mi>&kappa;</mi></mrow></mfrac></mtd><mtd><mi>i</mi><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><mfrac><mi>&kappa;</mi><mrow><mn>2</mn><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mi>&kappa;</mi><mo>)</mo></mrow></mrow></mfrac></mtd><mtd><mi>i</mi><mo>&NotEqual;</mo><mn>0</mn></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000711861420000011.GIF" wi="647" he="292" /></maths>计算得到相应的均值权重w<sub>i</sub><sup>(m)</sup>和方差权重w<sub>i</sub><sup>(c)</sup>,其中上标m和c分别用来区分均值权重和方差权重;参数κ用来确定给定分布的高阶矩信息,n为初始状态向量x的维数;3)、均值附近的第i个sigma点到中心点的距离矩阵表达式为<img file="FDA0000711861420000012.GIF" wi="350" he="115" />其中P<sub>x</sub>为任意时刻状态向量x的协方差阵,其中,<img file="FDA0000711861420000013.GIF" wi="351" he="115" />为矩阵平方根的第i列,采样点数为2n+1,在k‑1时刻n维状态向量x<sub>k‑1</sub>的均值为<img file="FDA0000711861420000014.GIF" wi="114" he="73" />协方差阵为P<sub>k‑1</sub>,产生的2n+1个n维列向量χ<sub>k,k‑1</sub>(:,i):<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>&chi;</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><mo>:</mo><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mover><mi>x</mi><mo>&OverBar;</mo></mover><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub></mtd><mtd><mi>i</mi><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><msub><mover><mi>x</mi><mo>&OverBar;</mo></mover><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mrow><mo>[</mo><msqrt><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mi>&kappa;</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msub><mi>P</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub></msqrt><mo>]</mo></mrow><mi>i</mi></msub></mtd><mtd><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>n</mi></mtd></mtr><mtr><mtd><msub><mover><mi>x</mi><mo>&OverBar;</mo></mover><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>+</mo><msub><mrow><mo>[</mo><msqrt><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mi>&kappa;</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msub><mi>P</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub></msqrt><mo>]</mo></mrow><mi>i</mi></msub></mtd><mtd><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>n</mi></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000711861420000021.GIF" wi="1062" he="357" /></maths>其中,χ<sub>k,k‑1</sub>(:,i)表示向量χ<sub>k‑1</sub>的第i列,将输入变量的sigma点集中每一个采样点代入系统状态方程f(·)进行非线性变换,得到变换后的sigma点集为n×(2n+1)维的矩阵:χ<sub>k,k‑1</sub>=f(χ<sub>k‑1</sub>,u<sub>k‑1</sub>,w<sub>k‑1</sub>)对变换后的sigma点集根据下式进行加权处理,得到一步预测状态<img file="FDA0000711861420000022.GIF" wi="131" he="77" /><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><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><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mi>l</mi></munderover><msup><msub><mi>w</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msup><mo>&CenterDot;</mo><msub><mi>&chi;</mi><mrow><mi>k</mi><mo>,</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><mo>:</mo><mo>,</mo><mi>i</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000711861420000023.GIF" wi="527" he="141" /></maths>其中,χ<sub>k,k‑1</sub>(:,i)为矩阵χ<sub>k,k‑1</sub>的第i列;使用同样的方法得到一步预测方差阵P<sub>k,k‑1</sub>:<maths num="0004" id="cmaths0004"><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>0</mn></mrow><mi>l</mi></munderover><mo>[</mo><msup><msub><mi>w</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>c</mi><mo>)</mo></mrow></msup><mo>&CenterDot;</mo><mrow><mo>(</mo><msub><mi>&chi;</mi><mrow><mi>k</mi><mo>,</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><mo>:</mo><mo>,</mo><mi>i</mi><mo>)</mo></mrow><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><mo>&CenterDot;</mo><msup><mrow><mo>(</mo><msub><mi>&chi;</mi><mrow><mi>k</mi><mo>,</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><mo>:</mo><mo>,</mo><mi>i</mi><mo>)</mo></mrow><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><mi>T</mi></msup><mo>]</mo><mo>+</mo><msub><mi>Q</mi><mi>k</mi></msub></mrow>]]></math><img file="FDA0000711861420000024.GIF" wi="1258" he="141" /></maths>其中,χ<sub>k,k‑1</sub>(:,i)是矩阵χ<sub>k,k‑1</sub>的第i列;Q<sub>k</sub>为w<sub>k</sub>的协方差矩阵;根据一步预测状态<img file="FDA0000711861420000025.GIF" wi="105" he="77" />和一步预测方差阵P<sub>k,k‑1</sub>,根据下式产生新的sigma点集:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msup><msub><mi>&chi;</mi><mrow><mi>k</mi><mo>,</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><mi>z</mi><mo>)</mo></mrow></msup><mrow><mo>(</mo><mo>:</mo><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mover><mi>x</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>,</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub></mtd><mtd><mi>i</mi><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><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><mrow><mo>[</mo><msqrt><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mi>&kappa;</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msub><mi>P</mi><mrow><mi>k</mi><mo>,</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub></msqrt><mo>]</mo></mrow><mi>i</mi></msub></mtd><mtd><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>n</mi></mtd></mtr><mtr><mtd><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><mrow><mo>[</mo><msqrt><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mi>&kappa;</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msub><mi>P</mi><mrow><mi>k</mi><mo>,</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub></msqrt><mo>]</mo></mrow><mi>i</mi></msub></mtd><mtd><mi>i</mi><mo>=</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mn>2</mn><mi>n</mi></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000711861420000026.GIF" wi="1264" he="357" /></maths>其中,χ<sub>k,k‑1</sub><sup>(z)</sup>表示由一步预测状态<img file="FDA0000711861420000027.GIF" wi="103" he="77" />得到的sigma点集,χ<sub>k,k‑1</sub><sup>(z)</sup>(:,i)为χ<sub>k,k‑1</sub><sup>(z)</sup>的第i列,将χ<sub>k,k‑1</sub><sup>(z)</sup>代入非线性观测方程h(·)进行非线性变换:z<sub>k</sub>=h(χ<sub>k,k‑1</sub><sup>(z)</sup>,v<sub>k</sub>)使用加权求和计算得到系统的预测观测值<img file="FDA0000711861420000028.GIF" wi="83" he="72" /><maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mover><mi>z</mi><mo>^</mo></mover><mi>k</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mi>l</mi></munderover><msup><msub><mi>w</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msup><mo>&CenterDot;</mo><msub><mi>z</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000711861420000031.GIF" wi="397" he="141" /></maths>其中,z<sub>k</sub>(i)为向量z<sub>k</sub>中第i个元素;4)、定义观测残差序列为<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msub><mi>&epsiv;</mi><mi>k</mi></msub><mo>=</mo><msub><mi>z</mi><mi>k</mi></msub><mo>-</mo><mi>h</mi><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>,</mo><msub><mi>v</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000711861420000032.GIF" wi="420" he="91" /></maths>定义观测新息序列为<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msub><mi>d</mi><mi>k</mi></msub><mo>=</mo><msub><mi>z</mi><mi>k</mi></msub><mo>-</mo><mi>h</mi><mrow><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>v</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000711861420000033.GIF" wi="477" he="91" /></maths>在步骤2)和步骤3)中,对观测残差序列值ε<sub>k</sub>与系统噪声协方差矩阵Q<sub>k</sub>的第一基准值进行实时比较,对观测新息序列值d<sub>k</sub>与观测噪声协方差矩阵R<sub>k</sub>的第二基准值进行实时比较;其中,Q<sub>k</sub>为系统噪声向量w<sub>k</sub>的系统噪声协方差矩阵,R<sub>k</sub>为观测噪声向量v<sub>k</sub>的观测噪声协方差矩阵:取系统噪声协方差矩阵Q<sub>k</sub>的第一基准值为maxchange,滤波更新后将计算得到的观测残差序列ε<sub>k</sub>与第一基准值maxchange进行比较,若观测残差序列ε<sub>k</sub>大于所述第一基准值,则根据下式更新原系统噪声协方差矩阵Q<sub>k</sub>:Q<sub>k</sub>=maxchange/2取观测噪声协方差矩阵R<sub>k</sub>的第二基准值为dispersion,与观测新息序列d<sub>k</sub>进行比较,若观测新息序列d<sub>k</sub>大于所述第二基准值,则引入比例因子sigmasquare对原观测噪声协方差矩阵R<sub>k</sub>进行调整:R<sub>k</sub>=dispersion·sigmasquare其中,sigmasquare为比例因子,所述比例因子根据具体室内环境及观测目标取值;5)、更新状态向量:<maths num="0009" id="cmaths0009"><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>K</mi><mi>k</mi></msub><mo>&CenterDot;</mo><mrow><mo>(</mo><msub><mi>z</mi><mi>k</mi></msub><mo>-</mo><msub><mover><mi>z</mi><mo>^</mo></mover><mi>k</mi></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000711861420000034.GIF" wi="531" he="82" /></maths>其中<img file="FDA0000711861420000035.GIF" wi="103" he="77" />为x<sub>k</sub>的最优预测,<img file="FDA0000711861420000036.GIF" wi="52" he="72" />为z<sub>k</sub>最优预测,K<sub>k</sub>称为卡尔曼滤波增益,其更新值由下式得到:<maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><msub><mi>K</mi><mi>k</mi></msub><mo>=</mo><msub><mi>P</mi><mrow><msub><mi>x</mi><mi>k</mi></msub><msub><mi>z</mi><mi>k</mi></msub></mrow></msub><mo>&CenterDot;</mo><msup><msub><mi>P</mi><msub><mi>z</mi><mi>k</mi></msub></msub><mrow><mo>-</mo><mn>1</mn></mrow></msup></mrow>]]></math><img file="FDA0000711861420000037.GIF" wi="330" he="84" /></maths>其中,协方差<img file="FDA0000711861420000041.GIF" wi="90" he="76" />由下式得到:<maths num="0011" id="cmaths0011"><math><![CDATA[<mrow><msub><mi>P</mi><mrow><msub><mi>x</mi><mi>k</mi></msub><msub><mi>z</mi><mi>k</mi></msub></mrow></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mi>l</mi></munderover><msup><msub><mi>w</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>c</mi><mo>)</mo></mrow></msup><mo>&CenterDot;</mo><mo>[</mo><msub><mi>&chi;</mi><mrow><mi>k</mi><mo>,</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><mo>:</mo><mo>,</mo><mi>i</mi><mo>)</mo></mrow><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><mo>&CenterDot;</mo><msup><mrow><mo>(</mo><msub><mi>z</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><msub><mover><mi>z</mi><mo>^</mo></mover><mi>k</mi></msub><mo>)</mo></mrow><mi>T</mi></msup></mrow>]]></math><img file="FDA0000711861420000042.GIF" wi="972" he="141" /></maths>系统量测输出变量的方差阵<img file="FDA0000711861420000043.GIF" wi="66" he="76" />由下式得到:<maths num="0012" id="cmaths0012"><math><![CDATA[<mrow><msub><mi>P</mi><msub><mi>z</mi><mi>k</mi></msub></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mi>l</mi></munderover><msup><msub><mi>w</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>c</mi><mo>)</mo></mrow></msup><mo>&CenterDot;</mo><mrow><mo>(</mo><msub><mi>z</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><msub><mover><mi>z</mi><mo>^</mo></mover><mi>k</mi></msub><mo>)</mo></mrow><mo>&CenterDot;</mo><msup><mrow><mo>(</mo><msub><mi>z</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><msub><mover><mi>z</mi><mo>^</mo></mover><mi>k</mi></msub><mo>)</mo></mrow><mi>T</mi></msup><mo>+</mo><msub><mi>R</mi><mi>k</mi></msub></mrow>]]></math><img file="FDA0000711861420000044.GIF" wi="911" he="141" /></maths>更新状态后验方差阵:<maths num="0013" id="cmaths0013"><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>K</mi><mi>k</mi></msub><mo>&CenterDot;</mo><msub><mi>P</mi><msub><mi>z</mi><mi>k</mi></msub></msub><mo>&CenterDot;</mo><msup><msub><mi>K</mi><mi>k</mi></msub><mi>T</mi></msup><mo>.</mo></mrow>]]></math><img file="FDA0000711861420000045.GIF" wi="540" he="84" /></maths>
地址 211100 江苏省南京市江宁区佛城西路8号