文章目录

  • 测距码测定卫地距
  • 观测方程
  • 程序实现步骤:


测距码测定卫地距

原理:首先架设卫星钟和接收机钟均无误差,都能与标准的GPS时间保持严格同步。在某一时刻t,卫星在卫星钟的控制下发出某一结构的测距码,与此同时,接收机则在接收机钟的控制下产生相同的测距码。由卫星所产生的复制码经单目测距代码 python_单目测距代码 python时间的传播后到达接收机并被接收机所接收。由接收机所产生的复制码则经过一个时间延迟器延迟时间单目测距代码 python_时间延迟_02后与接收到的卫星信号进行比对。如果这两个信号尚未对齐,就调整延迟时间单目测距代码 python_时间延迟_02,直至这两个信号对齐为止。此时,复制码的延迟时间单目测距代码 python_时间延迟_02就等于卫星信号的传播时间单目测距代码 python_单目测距代码 python,将其乘以真空中的光速单目测距代码 python_最小二乘法_06 后即可得到卫地间的伪距单目测距代码 python_单目测距代码 python_07
单目测距代码 python_延迟时间_08
由于卫星钟和接收机钟实际上不可避免地存在误差,此外还有电离层、对流层等的影响。求得的单目测距代码 python_单目测距代码 python_07并不等于卫星与测站的真实距离,故称为伪距。

观测方程

在伪距测量中,直接量测值是信号到达接收机的时刻tr与信号离开卫星的时刻(卫星钟量测)之差,此差值与真空中的光速c乘积即为观测值p,即:
单目测距代码 python_延迟时间_10
但实际上,卫星钟与接收机钟均有误差
单目测距代码 python_延迟时间_11
单目测距代码 python_单目测距代码 python_12
代入得:
单目测距代码 python_单目测距代码 python_13
加上电离层、对流层、多路径等各种带来的误差:
单目测距代码 python_延迟时间_14
单目测距代码 python_单目测距代码 python_15 表示伪距,伪距=真实距离+误差距离,加上电离层、对流层带来的误差
根据卫星与测站坐标,卫星单目测距代码 python_时间延迟_16与测站间单目测距代码 python_最小二乘法_17几何距离为
单目测距代码 python_时间延迟_18
单目测距代码 python_单目测距代码 python_19
如何求解出方程呢?式中存在未知数单目测距代码 python_最小二乘法_17单目测距代码 python_延迟时间_21 ,卫星位置单目测距代码 python_时间延迟_16、卫星钟差单目测距代码 python_最小二乘法_23是可以通过广播星历得到的,一般伪距定位不考虑电离层等误差改正。故方程中存在四个未知数,欲求解出测站坐标,至少需要四个方程,即在测站位置需同时接收到4颗及以上的卫星,才能对方程进行求解。为方便方程的解算,通常需对伪距方程进行线性化,在多数情况下,接收到的卫星数量会大于4颗,一般采用最小二乘法对方程进行解算。
单目测距代码 python_最小二乘法_24单目测距代码 python_延迟时间_25进行泰勒展开,
单目测距代码 python_时间延迟_26
代入单目测距代码 python_单目测距代码 python_27,记为单目测距代码 python_单目测距代码 python_28,保留未知量,得单目测距代码 python_单目测距代码 python_29:
单目测距代码 python_最小二乘法_30
记为单目测距代码 python_单目测距代码 python_31
多个单目测距代码 python_单目测距代码 python_31进行联立,采用最小二乘法进行求解
注意点:

  • 单目测距代码 python_延迟时间_33表示为用户接收机天线位置的近似值,通常初始化为单目测距代码 python_单目测距代码 python_34。我们将计算出来的单目测距代码 python_延迟时间_33作为下一次的单目测距代码 python_最小二乘法_36,通过多次迭代计算后,就可以获取误差值最小的 单目测距代码 python_最小二乘法_36 ,也就是我们需要计算的接收机天线位置坐标。
    单目测距代码 python_单目测距代码 python_38

程序实现步骤:

  1. 读取卫星星历数据、原始观测量数据(即卫星的伪距、载波等);
  2. 通过卫星星历以及伪距信息计算出卫星基于ECEF的坐标、每个卫星的钟差;
  3. 将接收机天线位置初始化为(0,0,0);
  4. 根据推导的方程中各公式,结合卫星坐标、时间、伪距信息计算出对应的数值;
  5. 根据最小二乘法,将上述的数据整理为对应的矩阵;
  6. 根据矩阵计算法则计算出的值;
  7. 重复4-6步,并设定值的变化满足一个很小的值的时候,结束迭代;
  8. 输出对应的坐标。