发明名称 一种基于粒子滤波的稳健GNSS抗欺骗方法
摘要 一种基于粒子滤波的稳健GNSS抗欺骗方法,本发明涉及GNSS抗欺骗方法。是要解决欺骗卫星产生偏差,无法抵抗转发式欺骗以及抗欺骗无法应用于已有的系统,产生成本高而提出的GNSS抗欺骗方法,该方法是通过1、得到1时刻状态向量粒子;2、更新k时刻状态向量粒子;3、得到观测伪距<img file="DDA0000496421680000011.GIF" wi="78" he="60" />;4、更新观测向量<img file="DDA0000496421680000012.GIF" wi="108" he="98" />;5、计算出未归一化的粒子权重<img file="DDA0000496421680000013.GIF" wi="87" he="63" />;6、计算观测向量<img file="DDA0000496421680000014.GIF" wi="125" he="119" />的模值的最小值θ;7、根据<img file="DDA0000496421680000015.GIF" wi="524" he="103" />修正<img file="DDA0000496421680000016.GIF" wi="86" he="70" />;8、计算k时刻定位结果<img file="DDA0000496421680000017.GIF" wi="117" he="74" />;9、得到剩余的有效向量粒子的数目M<sub>eff</sub>;10、<img file="DDA0000496421680000018.GIF" wi="243" he="126" />计算出<img file="DDA0000496421680000019.GIF" wi="93" he="75" />;11、<img file="DDA00004964216800000110.GIF" wi="250" he="126" />将<img file="DDA00004964216800000111.GIF" wi="102" he="86" />带入到到步骤二等步骤实现的。本发明应用于GNSS抗欺骗领域。
申请公布号 CN103926596B 申请公布日期 2016.05.18
申请号 CN201410169614.2 申请日期 2014.04.25
申请人 哈尔滨工业大学 发明人 孟维晓;巩紫君;韩帅;罗德巳
分类号 G01S19/21(2010.01)I 主分类号 G01S19/21(2010.01)I
代理机构 哈尔滨市松花江专利商标事务所 23109 代理人 杨立超
主权项 一种基于粒子滤波的稳健GNSS抗欺骗方法,其特征在于:一种基于粒子滤波的稳健GNSS抗欺骗方法具体是按照以下步骤进行的:步骤一、确定用户的初始状态,在用户初始状态的领域内均匀分布m个初始状态向量粒子<img file="FDA0000850688140000011.GIF" wi="510" he="87" />同时设置迭代次数的计数值为k=1;根据用户初始状态向量粒子<img file="FDA0000850688140000012.GIF" wi="125" he="87" />可以得到k=1时刻用户状态向量粒子<img file="FDA0000850688140000013.GIF" wi="126" he="87" /><maths num="0001"><math><![CDATA[<mrow><msubsup><mi>x</mi><mn>1</mn><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>=</mo><msubsup><mi>x</mi><mn>0</mn><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>+</mo><msubsup><mi>v</mi><mn>1</mn><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>+</mo><msubsup><mi>f</mi><mn>1</mn><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>,</mo></mrow>]]></math><img file="FDA0000850688140000014.GIF" wi="485" he="87" /></maths>其中,<maths num="0002"><math><![CDATA[<mrow><msub><mi>v</mi><mn>1</mn></msub><mo>=</mo><msup><mrow><mo>&lsqb;</mo><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mrow><mi>U</mi><mo>,</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mover><mi>y</mi><mo>&CenterDot;</mo></mover><mrow><mi>U</mi><msub><mo>,</mo><mn>1</mn></msub></mrow></msub><mo>,</mo><msub><mover><mi>z</mi><mo>&CenterDot;</mo></mover><mrow><mi>U</mi><mo>,</mo><mn>1</mn></mrow></msub><mo>,</mo><mover><mi>&delta;</mi><mo>&CenterDot;</mo></mover><msub><mi>t</mi><mrow><mi>U</mi><mo>,</mo><mn>1</mn></mrow></msub><mo>&rsqb;</mo></mrow><mi>T</mi></msup><mo>,</mo></mrow>]]></math><img file="FDA0000850688140000015.GIF" wi="645" he="95" /></maths><img file="FDA0000850688140000016.GIF" wi="399" he="101" />分别表示x<sub>U,1</sub>,y<sub>U,1</sub>,z<sub>U,1</sub>,δt<sub>U,1</sub>在单位时隙中的变化量;<img file="FDA00008506881400000119.GIF" wi="115" he="110" />表示第k=1时刻的状态向量粒子<img file="FDA0000850688140000017.GIF" wi="90" he="86" />的过程噪声,服从均值为零的高斯分布;x<sub>U,1</sub>,y<sub>U,1</sub>,z<sub>U,1</sub>代表用户在k=1个时刻状态粒子的三维位置,δt<sub>U,1</sub>用户在k=1个时刻状态与第n颗卫星的时钟偏差;步骤二、当k≠1时,根据k‑1时刻的用户状态向量粒子<img file="FDA0000850688140000018.GIF" wi="105" he="102" />更新m个在第k时刻状态向量粒子<img file="FDA0000850688140000019.GIF" wi="131" he="86" /><maths num="0003"><math><![CDATA[<mrow><msubsup><mi>x</mi><mi>k</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>=</mo><msubsup><mi>x</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>+</mo><msubsup><mi>v</mi><mi>k</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>+</mo><msubsup><mi>f</mi><mi>k</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>;</mo><mi>k</mi><mo>=</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>...</mo><mn>..</mn></mrow>]]></math><img file="FDA00008506881400000110.GIF" wi="789" he="95" /></maths>其中,状态向量粒子(x<sub>U,k</sub>,y<sub>U,k</sub>,z<sub>U,k</sub>)代表用户在k个时刻状态粒子的三维位置;δt<sub>U,k</sub>用户在k个时刻状态与第n颗卫星的时钟偏差;模型输入为:<maths num="0004"><math><![CDATA[<mrow><msubsup><mi>v</mi><mi>k</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>=</mo><msup><mrow><mo>&lsqb;</mo><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mrow><mi>U</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>,</mo><msub><mover><mi>y</mi><mo>&CenterDot;</mo></mover><mrow><mi>U</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>,</mo><msub><mover><mi>z</mi><mo>&CenterDot;</mo></mover><mrow><mi>U</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>,</mo><mover><mi>&delta;</mi><mo>&CenterDot;</mo></mover><msub><mi>t</mi><mrow><mi>U</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>&rsqb;</mo></mrow><mi>T</mi></msup><mo>,</mo></mrow>]]></math><img file="FDA00008506881400000111.GIF" wi="805" he="103" /></maths><img file="FDA00008506881400000112.GIF" wi="422" he="102" />分别表示x<sub>U,k</sub>,y<sub>U,k</sub>,z<sub>U,k</sub>,δt<sub>U,k</sub>在单位时隙中的变化量;<img file="FDA00008506881400000113.GIF" wi="110" he="111" />表示用户在第k时刻的状态向量粒子<img file="FDA00008506881400000114.GIF" wi="96" he="87" />的过程噪声,服从均值为零的高斯分布;步骤三、根据步骤二计算的<img file="FDA00008506881400000115.GIF" wi="99" he="87" />计算出用户与第n颗卫星之间的观测伪距<img file="FDA00008506881400000116.GIF" wi="124" he="87" />由下式给出:<img file="FDA00008506881400000117.GIF" wi="1405" he="127" /><img file="FDA00008506881400000118.GIF" wi="110" he="90" />是接收机和卫星之间的观测伪距,(x<sub>n,k</sub>,y<sub>n,k</sub>,z<sub>n,k</sub>)(n=1,2,...,N)代表第n颗卫星在第k个时刻的位置坐标,c表示光速;步骤四、根据步骤三得到的观测伪距<img file="FDA0000850688140000021.GIF" wi="166" he="87" />更新观测向量<maths num="0005"><math><![CDATA[<mrow><msubsup><mi>y</mi><mi>k</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>=</mo><msup><mrow><mo>&lsqb;</mo><msubsup><mi>e</mi><mrow><mn>1</mn><mo>,</mo><mi>k</mi></mrow><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>e</mi><mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>e</mi><mrow><mi>N</mi><mo>,</mo><mi>k</mi></mrow><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>&rsqb;</mo></mrow><mi>T</mi></msup></mrow>]]></math><img file="FDA0000850688140000022.GIF" wi="836" he="135" /></maths>其中,用户与第n颗卫星的伪距观测误差为<img file="FDA0000850688140000023.GIF" wi="431" he="95" />ρ<sub>n,k</sub>表示在第k个时刻,第n颗卫星与用户之间的真实伪距,N为可见卫星的个数;步骤五、根据更新观测向量<maths num="0006"><math><![CDATA[<mrow><msubsup><mi>y</mi><mi>k</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>=</mo><msup><mrow><mo>&lsqb;</mo><msubsup><mi>e</mi><mrow><mn>1</mn><mo>,</mo><mi>k</mi></mrow><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>e</mi><mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>e</mi><mrow><mi>N</mi><mo>,</mo><mi>k</mi></mrow><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>&rsqb;</mo></mrow><mi>T</mi></msup></mrow>]]></math><img file="FDA0000850688140000024.GIF" wi="831" he="134" /></maths>计算未归一化的粒子权重<img file="FDA0000850688140000025.GIF" wi="127" he="85" /><maths num="0007"><math><![CDATA[<mrow><msubsup><mi>w</mi><mi>k</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>=</mo><mfrac><mn>1</mn><mi>M</mi></mfrac><msup><mrow><mo>(</mo><mfrac><mn>1</mn><msqrt><mrow><mn>2</mn><msup><mi>&pi;&sigma;</mi><mn>2</mn></msup></mrow></msqrt></mfrac><mo>)</mo></mrow><mi>N</mi></msup><mi>exp</mi><mo>&lsqb;</mo><mo>-</mo><mfrac><mrow><mo>|</mo><mo>|</mo><msubsup><mi>y</mi><mi>k</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>|</mo><mo>|</mo></mrow><mrow><mn>2</mn><msup><mi>&sigma;</mi><mn>2</mn></msup></mrow></mfrac><mo>&rsqb;</mo></mrow>]]></math><img file="FDA0000850688140000026.GIF" wi="789" he="199" /></maths>其中,M为在第k时刻的状态向量粒子数,N为可见卫星的个数,σ为<img file="FDA0000850688140000027.GIF" wi="101" he="86" />的标准差;步骤六、根据未归一化的粒子权重<img file="FDA0000850688140000028.GIF" wi="112" he="95" />计算观测向量<img file="FDA0000850688140000029.GIF" wi="119" he="118" />的模值的最小值θ:<maths num="0008"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><mi>&theta;</mi><mo>=</mo><mo>-</mo><mn>2</mn><msup><mi>&sigma;</mi><mn>2</mn></msup><mrow><mo>(</mo><mi>l</mi><mi>n</mi><mo>(</mo><mi>M</mi><mi> </mi><mi>m</mi><mi>a</mi><mi>x</mi><mo>(</mo><msubsup><mi>w</mi><mi>k</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mo>)</mo><mo>+</mo><mfrac><mi>N</mi><mn>2</mn></mfrac><mi>l</mi><mi>n</mi><mrow><mo>(</mo><mn>2</mn><msup><mi>&pi;&sigma;</mi><mn>2</mn></msup><mo>)</mo></mrow><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mi>min</mi><mo>|</mo><mo>|</mo><msubsup><mi>y</mi><mi>k</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow></mtd></mtr></mtable><mo>;</mo></mrow>]]></math><img file="FDA00008506881400000210.GIF" wi="950" he="270" /></maths>步骤七、判断θ与γ的大小,如果θ&gt;γ,根据<img file="FDA00008506881400000211.GIF" wi="517" he="101" />修正<img file="FDA00008506881400000212.GIF" wi="133" he="94" />得到:<img file="FDA00008506881400000213.GIF" wi="733" he="95" /><maths num="0009"><math><![CDATA[<mrow><msub><mi>P</mi><mi>f</mi></msub><mrow><mo>(</mo><msubsup><mi>e</mi><mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mn>1</mn><mo>,</mo></mrow></mtd><mtd><mrow><mi>b</mi><mo>&gt;</mo><mo>|</mo><msubsup><mi>e</mi><mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>|</mo></mrow></mtd></mtr><mtr><mtd><mrow><mfrac><mi>b</mi><mrow><mo>|</mo><msubsup><mi>e</mi><mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>|</mo></mrow></mfrac><mo>,</mo></mrow></mtd><mtd><mrow><mi>b</mi><mo>&gt;</mo><mo>|</mo><msubsup><mi>e</mi><mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>|</mo><mo>&gt;</mo><mi>d</mi></mrow></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>,</mo></mrow></mtd><mtd><mrow><mo>|</mo><msubsup><mi>e</mi><mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>|</mo><mo>&gt;</mo><mi>d</mi></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA00008506881400000214.GIF" wi="750" he="414" /></maths>其中,b为误差下界,d为误差上界,<img file="FDA00008506881400000215.GIF" wi="100" he="95" />为观测误差,P<sub>f</sub>(·)为误差抑制函数;γ与可见卫星数N有关;然后根据修正后的<img file="FDA00008506881400000216.GIF" wi="101" he="78" />再重新计算未归一化的粒子权重<img file="FDA00008506881400000217.GIF" wi="158" he="87" /><img file="FDA0000850688140000031.GIF" wi="894" he="231" />如果θ≤γ,则直接跳到步骤八;步骤八、根据未归一化的粒子权重<img file="FDA0000850688140000032.GIF" wi="101" he="79" />计算k时刻定位结果<img file="FDA0000850688140000033.GIF" wi="158" he="95" /><maths num="0010"><math><![CDATA[<mrow><msubsup><mover><mi>w</mi><mo>&OverBar;</mo></mover><mi>k</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>=</mo><mfrac><msubsup><mi>w</mi><mi>k</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mrow><munderover><mo>&Sigma;</mo><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msubsup><mi>w</mi><mi>k</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup></mrow></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000850688140000034.GIF" wi="412" he="262" /></maths><maths num="0011"><math><![CDATA[<mrow><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi><mrow><mi>M</mi><mi>M</mi><mi>S</mi></mrow></msubsup><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msubsup><mover><mi>w</mi><mo>&OverBar;</mo></mover><mi>k</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><msubsup><mi>x</mi><mi>k</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>;</mo></mrow>]]></math><img file="FDA0000850688140000035.GIF" wi="534" he="183" /></maths>其中,<img file="FDA0000850688140000036.GIF" wi="102" he="87" />为归一化粒子权重;步骤九、将步骤二中共得到M个粒子在k时刻的状态向量粒子<img file="FDA0000850688140000037.GIF" wi="100" he="87" />根据步骤五中的未归一化的粒子权重<img file="FDA0000850688140000038.GIF" wi="103" he="77" />计算得到剩余的有效向量粒子的数目M<sub>eff</sub>:<maths num="0012"><math><![CDATA[<mrow><msub><mi>M</mi><mrow><mi>e</mi><mi>f</mi><mi>f</mi></mrow></msub><mo>=</mo><mfrac><mn>1</mn><mrow><munderover><mo>&Sigma;</mo><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msup><mrow><mo>(</mo><msubsup><mi>w</mi><mi>k</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000850688140000039.GIF" wi="445" he="223" /></maths>如果<img file="FDA00008506881400000310.GIF" wi="270" he="125" />则转到步骤十一,如果<img file="FDA00008506881400000311.GIF" wi="244" he="126" />跳到步骤十,进行重采样;步骤十、如果<img file="FDA00008506881400000312.GIF" wi="244" he="126" />采取M个在k时刻的状态向量粒子<img file="FDA00008506881400000313.GIF" wi="135" he="86" />对集合<img file="FDA00008506881400000314.GIF" wi="217" he="125" />重采样,采到的概率为归一化粒子权重<img file="FDA00008506881400000315.GIF" wi="135" he="94" />步骤十一、如果<img file="FDA00008506881400000316.GIF" wi="270" he="126" />利用步骤二中的概率为<img file="FDA00008506881400000317.GIF" wi="103" he="94" />的在k时刻状态向量粒子<img file="FDA00008506881400000318.GIF" wi="132" he="86" />将k时刻加1后得到用户在k+1时刻的用户状态向量粒子<img file="FDA00008506881400000319.GIF" wi="127" he="86" />跳到步骤二,开始下一个时刻的定位过程;即完成了一种基于粒子滤波的稳健GNSS抗欺骗方法。
地址 150001 黑龙江省哈尔滨市南岗区西大直街92号