发明名称 一种应用于全球卫星定位与导航系统中的快速定位方法
摘要 本发明涉及一种应用于全球卫星定位与导航系统中的快速定位方法。快速定位方法包括以下步骤:获取接收机的初始时间、卫星星历和卫星的多普勒观测值;利用获取的接收机的初始时间、卫星星历和多普勒观测值组建多普勒解算方程,并对该多普勒解算方程进行解算得到卫星发射时间和接收机的位置的估计值;组建不完备伪距(RangFit)解算方程,解算得到卫星发射时间和接收机的位置的准确值。本发明快速定位方法能够在接收机开机初始位置未知、时间误差在千秒甚至万秒以内完成快速定位解算,使得首次定位时间小于1秒,并且能够获得较高的定位精度,大大提高了适用性,降低了用户系统成本。
申请公布号 CN102486540B 申请公布日期 2013.12.04
申请号 CN201010575685.4 申请日期 2010.12.06
申请人 中国科学院微电子研究所 发明人 孙金海;阎跃鹏;李金海;汪峰
分类号 G01S19/42(2010.01)I;G01S19/30(2010.01)I 主分类号 G01S19/42(2010.01)I
代理机构 北京华沛德权律师事务所 11302 代理人 王建国
主权项 1.一种应用于全球卫星定位与导航系统中的快速定位方法,其特征在于,包括以下步骤:1)从接收机的存储设备中获取接收机的初始时间和卫星星历;2)进行卫星的捕获和跟踪从而获取卫星的实测多普勒观测值,并进行码相位时间计数器的累积得到码相位的值;3)利用获取的接收机的初始时间、卫星星历和n颗卫星的实测多普勒观测值组建多普勒解算方程,并对该多普勒解算方程进行解算得到卫星发射时间和接收机的位置估算值与初始值的差值;利用通过多普勒解算获得的差值和接收机的初始时间以及卫星星历计算出卫星发射时间和接收机位置的估算值;4)将步骤3)中解算得到的卫星发射时间和接收机位置的估算值作为不完备伪距解算方程的输入条件,组建不完备伪距解算方程,解算得到卫星发射时间和接收机的位置的准确值与步骤3)得出的估算值的差值,利用通过不完备伪距解算获得的差值和卫星发射时间以及接收机位置的估算值,从而可求出卫星发射时间和接收机位置的准确值;其中,所述步骤3)中n颗卫星联合多普勒解算方程为:<maths num="0001"><![CDATA[<math><mrow><msup><mi>&rho;</mi><mo>&prime;</mo></msup><mo>-</mo><msup><mover><mi>&rho;</mi><mo>^</mo></mover><mo>&prime;</mo></msup><mo>=</mo><msup><mrow><mo>(</mo><mi>H</mi><mo>&CenterDot;</mo><mi>&Delta;X</mi><mo>)</mo></mrow><mo>&prime;</mo></msup><mo>=</mo><mi>H</mi><mo>&CenterDot;</mo><mi>&Delta;</mi><msup><mi>X</mi><mo>&prime;</mo></msup><mo>+</mo><msup><mi>H</mi><mo>&prime;</mo></msup><mo>&CenterDot;</mo><mi>&Delta;X</mi></mrow></math>]]></maths>   (式1)其中:ρ′为实测多普勒值,<img file="FDA0000378978820000012.GIF" wi="58" he="71" />为多普勒估计值;<maths num="0002"><![CDATA[<math><mrow><mi>H</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msup><mi>e</mi><mn>1</mn></msup></mtd><mtd><msup><mi>v</mi><mn>1</mn></msup><mo>&CenterDot;</mo><msup><mi>e</mi><mn>1</mn></msup></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><msup><mi>e</mi><mn>2</mn></msup></mtd><mtd><msup><mi>v</mi><mn>2</mn></msup><mo>&CenterDot;</mo><msup><mi>e</mi><mn>2</mn></msup></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><msup><mi>e</mi><mn>3</mn></msup></mtd><mtd><msup><mi>v</mi><mn>3</mn></msup><mo>&CenterDot;</mo><msup><mi>e</mi><mn>3</mn></msup></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msup><mi>e</mi><mi>n</mi></msup></mtd><mtd><msup><mi>v</mi><mi>n</mi></msup><mo>&CenterDot;</mo><msup><mi>e</mi><mi>n</mi></msup></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>为余弦阵;v<sup>i</sup>为卫星速度;e<sup>i</sup>为卫星到接收机的视距余弦;ΔX=[δx  δy  δz  δT<sub>s</sub>  δb]<sup>T</sup>为状态向量,表示估算值与初始值的差值;则<maths num="0003"><![CDATA[<math><mrow><mi>H</mi><mo>&CenterDot;</mo><msup><mi>&Delta;X</mi><mo>&prime;</mo></msup><mo>=</mo><mi>H</mi><mo>&CenterDot;</mo><msup><mfenced open='[' close=']'><mtable><mtr><mtd><msup><mi>&delta;x</mi><mo>&prime;</mo></msup></mtd><mtd><msup><mi>&delta;y</mi><mo>&prime;</mo></msup></mtd><mtd><msup><mi>&delta;z</mi><mo>&prime;</mo></msup></mtd><mtd><msubsup><mi>&delta;T</mi><mi>s</mi><mo>&prime;</mo></msubsup></mtd><mtd><msup><mi>&delta;b</mi><mo>&prime;</mo></msup></mtd></mtr></mtable></mfenced><mi>T</mi></msup><mo>;</mo></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><msup><mi>H</mi><mo>&prime;</mo></msup><mo>&CenterDot;</mo><mi>&Delta;X</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msup><mrow><mo>&PartialD;</mo><mi>e</mi></mrow><mn>1</mn></msup><mo>/</mo><mo>&PartialD;</mo><mi>t</mi></mtd><mtd><msup><mrow><mo>&PartialD;</mo><mi>v</mi></mrow><mn>1</mn></msup><mo>/</mo><mo>&PartialD;</mo><mi>t</mi><mo>&CenterDot;</mo><msup><mi>e</mi><mn>1</mn></msup><mo>+</mo><msup><mi>v</mi><mn>1</mn></msup><mo>&CenterDot;</mo><msup><mrow><mo>&PartialD;</mo><mi>e</mi></mrow><mn>1</mn></msup><mo>/</mo><mo>&PartialD;</mo><mi>t</mi></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><msup><mrow><mo>&PartialD;</mo><mi>e</mi></mrow><mn>2</mn></msup><mo>/</mo><mo>&PartialD;</mo><mi>t</mi></mtd><mtd><msup><mrow><mo>&PartialD;</mo><mi>t</mi></mrow><mn>2</mn></msup><mo>/</mo><mo>&PartialD;</mo><mi>t</mi><mo>&CenterDot;</mo><msup><mi>e</mi><mn>2</mn></msup><mo>+</mo><msup><mi>v</mi><mn>2</mn></msup><mo>&CenterDot;</mo><msup><mrow><mo>&PartialD;</mo><mi>e</mi></mrow><mn>2</mn></msup><mo>/</mo><mo>&PartialD;</mo><mi>t</mi></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><msup><mrow><mo>&PartialD;</mo><mi>e</mi></mrow><mn>3</mn></msup><mo>/</mo><mo>&PartialD;</mo><mi>t</mi></mtd><mtd><msup><mrow><mo>&PartialD;</mo><mi>t</mi></mrow><mn>3</mn></msup><mo>/</mo><mo>&PartialD;</mo><mi>t</mi><mo>&CenterDot;</mo><msup><mi>e</mi><mn>3</mn></msup><mo>+</mo><msup><mi>v</mi><mn>3</mn></msup><mo>&CenterDot;</mo><msup><mrow><mo>&PartialD;</mo><mi>e</mi></mrow><mn>3</mn></msup><mo>/</mo><mo>&PartialD;</mo><mi>t</mi></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msup><mrow><mo>&PartialD;</mo><mi>n</mi></mrow><mi>n</mi></msup><mo>/</mo><mo>&PartialD;</mo><mi>t</mi></mtd><mtd><msup><mrow><mo>&PartialD;</mo><mi>v</mi></mrow><mi>n</mi></msup><mo>/</mo><mo>&PartialD;</mo><mi>t</mi><mo>&CenterDot;</mo><msup><mi>e</mi><mi>n</mi></msup><mo>+</mo><msup><mi>v</mi><mi>n</mi></msup><mo>&CenterDot;</mo><msup><mrow><mo>&PartialD;</mo><mi>e</mi></mrow><mi>n</mi></msup><mo>/</mo><mo>&PartialD;</mo><mi>t</mi></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mo>&CenterDot;</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>&delta;x</mi></mtd></mtr><mtr><mtd><mi>&delta;y</mi></mtd></mtr><mtr><mtd><mi>&delta;z</mi></mtd></mtr><mtr><mtd><msub><mi>&delta;T</mi><mi>s</mi></msub></mtd></mtr><mtr><mtd><mi>&delta;b</mi></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>令<maths num="0005"><![CDATA[<math><mrow><msup><mi>u</mi><mi>i</mi></msup><mo>=</mo><msup><mrow><mo>&PartialD;</mo><mi>e</mi></mrow><mi>i</mi></msup><mo>/</mo><mo>&PartialD;</mo><mi>t</mi><mo>,</mo><msup><mi>a</mi><mi>i</mi></msup><mo>=</mo><msup><mrow><mo>&PartialD;</mo><mi>v</mi></mrow><mi>i</mi></msup><mo>/</mo><mo>&PartialD;</mo><mi>t</mi></mrow></math>]]></maths>为卫星加速度;令δx′=0、δy′=0、δz′=0、<img file="FDA0000378978820000022.GIF" wi="183" he="73" /><img file="FDA0000378978820000023.GIF" wi="266" he="71" />则多普勒解算方程(式1)改写如下:<maths num="0006"><![CDATA[<math><mrow><mi>d</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msup><mi>u</mi><mn>1</mn></msup></mtd><mtd><msup><mi>a</mi><mn>1</mn></msup><mo>&CenterDot;</mo><msup><mi>e</mi><mn>1</mn></msup><mo>+</mo><msup><mi>v</mi><mn>1</mn></msup><mo>&CenterDot;</mo><msup><mi>u</mi><mn>1</mn></msup></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><msup><mi>u</mi><mn>2</mn></msup></mtd><mtd><msup><mi>a</mi><mn>2</mn></msup><mo>&CenterDot;</mo><msup><mi>e</mi><mn>2</mn></msup><mo>+</mo><msup><mi>v</mi><mn>2</mn></msup><mo>&CenterDot;</mo><msup><mi>u</mi><mn>2</mn></msup></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><msup><mi>u</mi><mn>3</mn></msup></mtd><mtd><msup><mi>a</mi><mn>3</mn></msup><mo>&CenterDot;</mo><msup><mi>e</mi><mn>3</mn></msup><mo>+</mo><msup><mi>v</mi><mn>3</mn></msup><mo>&CenterDot;</mo><msup><mi>u</mi><mn>3</mn></msup></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msup><mi>u</mi><mi>n</mi></msup></mtd><mtd><msup><mi>a</mi><mi>n</mi></msup><mo>&CenterDot;</mo><msup><mi>e</mi><mi>n</mi></msup><mo>+</mo><msup><mi>v</mi><mi>n</mi></msup><mo>&CenterDot;</mo><msup><mi>u</mi><mi>n</mi></msup></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>&CenterDot;</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>&delta;x</mi></mtd></mtr><mtr><mtd><mi>&delta;y</mi></mtd></mtr><mtr><mtd><mi>&delta;z</mi></mtd></mtr><mtr><mtd><msub><mi>&delta;T</mi><mi>s</mi></msub></mtd></mtr><mtr><mtd><msup><mi>&delta;b</mi><mo>&prime;</mo></msup></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>令<maths num="0007"><![CDATA[<math><mrow><mi>M</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msup><mi>u</mi><mn>1</mn></msup></mtd><mtd><msup><mi>a</mi><mn>1</mn></msup><mo>&CenterDot;</mo><msup><mi>e</mi><mn>1</mn></msup><mo>+</mo><msup><mi>v</mi><mn>1</mn></msup><mo>&CenterDot;</mo><msup><mi>u</mi><mn>1</mn></msup></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><msup><mi>u</mi><mn>2</mn></msup></mtd><mtd><msup><mi>a</mi><mn>2</mn></msup><mo>&CenterDot;</mo><msup><mi>e</mi><mn>2</mn></msup><mo>+</mo><msup><mi>v</mi><mn>2</mn></msup><mo>&CenterDot;</mo><msup><mi>u</mi><mn>2</mn></msup></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><msup><mi>u</mi><mn>3</mn></msup></mtd><mtd><msup><mi>a</mi><mn>3</mn></msup><mo>&CenterDot;</mo><msup><mi>e</mi><mn>3</mn></msup><mo>+</mo><msup><mi>v</mi><mn>3</mn></msup><mo>&CenterDot;</mo><msup><mi>u</mi><mn>3</mn></msup></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msup><mi>u</mi><mi>n</mi></msup></mtd><mtd><msup><mi>a</mi><mi>n</mi></msup><mo>&CenterDot;</mo><msup><mi>e</mi><mi>n</mi></msup><mo>+</mo><msup><mi>v</mi><mi>n</mi></msup><mo>&CenterDot;</mo><msup><mi>u</mi><mi>n</mi></msup></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>y=[δx δy δz δT<sub>s</sub> δb′]<sup>T</sup>,则利用最小二乘求解y=(Μ<sup>T</sup>·Μ)<sup>-1</sup>·(Μ<sup>T</sup>·d),求得卫星发射时间和接收机位置估算值与初始值的差值,从而计算出位置坐标和卫星发射时间的估算值;其中,所述快速定位方法是利用码相位的值进行定位解算,所述步骤4)中不完备伪距解算方程为:第i号卫星不完备伪距表示如下:<maths num="0008"><![CDATA[<math><mrow><msup><mi>l</mi><mi>i</mi></msup><mo>=</mo><msub><mi>frac</mi><mi>&Lambda;</mi></msub><mrow><mo>(</mo><msup><mi>&Lambda;N</mi><mi>i</mi></msup><mo>+</mo><msup><mi>&phi;</mi><mi>i</mi></msup><mo>+</mo><msub><mi>b</mi><mn>0</mn></msub><mo>-</mo><mo>|</mo><mo>|</mo><msup><mi>s</mi><mi>i</mi></msup><mrow><mo>(</mo><msub><mi>t</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>r</mi><mn>0</mn></msub><mo>|</mo><mo>|</mo><mo>+</mo><mi>&epsiv;</mi><mo>)</mo></mrow></mrow></math>]]></maths>式中:<maths num="0009"><![CDATA[<math><mrow><mi>fra</mi><msub><mi>c</mi><mi>&Lambda;</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mi>x</mi><mo>-</mo><mi>round</mi><mrow><mo>(</mo><mfrac><mi>x</mi><mi>&Lambda;</mi></mfrac><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>Λ=1ms×光速≈300km;ΛN<sup>i</sup>+φ<sup>i</sup>为第i号卫星的信号发射时间;N<sup>i</sup>为1ms以上的计数值;φ<sup>i</sup>为ms以下的码相位值;(t<sub>0</sub>,r<sub>0</sub>,b<sub>0</sub>)为步骤3计算的卫星发射时间估算值、接收机位置估算值和设定的钟差初始估计值,其中r<sub>0</sub>=(x<sub>0</sub>,y<sub>0</sub>,z<sub>0</sub>);ε为误差之和,所述误差包括对流层、电离层。
地址 100029 北京市朝阳区北土城西路3号中科院微电子所