GPS原理和接收机设计 CH5 GPS定位原理和精度分析(第一部分)

CH5 GPS定位原理和精度分析(第一部分)

由于这一章内容有点多,所以两部分进行~~ 加油加油~

呼呼呼~⭐️ 本章思维导图出炉~~
需要的uu可以免费下载领取噢~~
https://download.csdn.net/download/qq_53131867/88541387

GPS原理和接收机设计 CH5 GPS定位原理和精度分析(第一部分)_第1张图片

本章概要~~
首先介绍牛顿迭代及其线性化的方法
 这个方法主要是用于求解非线性方程和非线性方程组 具体可以看看我放在这个小节下的链接 我觉得写的还不错 从图形上理解很直观 知道这个方法主要是为了求解后面的伪距方程的解~~比较重要!

最小二乘法
 这个方法用以求解 线性矩阵 方程式 而我们的牛顿迭代法最后呈现的形式就是线性矩阵方程 最小二乘法广泛用于求解超定方程组(也就是我们有效方程的个数大于未知数的个数)也就是说我们定位的时候也会出现很多解的情况,这个时候我们需要折中处理,对于最小二乘法而言 它的解可以使得左右两边之差的平方和最小 ,从而使我们定位的解更加稳定和准确~ 具体参考的链接我也放在这个小节了~

伪距定位
 1️⃣从原理出发 介绍了GPS定位定时算法的本质,求解四元非线性方程组 2️⃣接着详细介绍了每一个历元伪距定位算法的步骤 ①准备好各种数据和初始解(根据伪距观测方程得出的方程组 把数据都准备好)②非线性方程线性化(把方程式该化简的化好 )同时介绍了方程式的现实意义(伪距定位的过程,实际上是依据接收机到各个卫星的距离变化量来反推用户的运动位移矢量) ③利用最小二乘法求解方程组 ④更新方程组的解 ⑤判断牛顿迭代方程的收敛性 3️⃣二维定位和辅助方程 对于二维定位 主要是在城市峡谷等恶劣环境 以及完好性检测 使得我们的卫星数量不足 从而无法达到足够数量的方程组 这个时候需要给定新的条件(如辅助方程 高度信息等)来解决我们的定位的解的问题

定位精度分析
  1️⃣这节主要是考虑一些误差的影响 主要是从数学模型的角度进行分析误差 以及一些改善的方案 2️⃣ 提出了精度因子的概念 定义了各种精度因子 它是考虑每颗卫星相对于星座(几何位置)中其它卫星的位置来预计用该星座能得到的位置精度的计算结果 3️⃣卫星的几何分布 介绍不同卫星的几何分布下的DOP 4️⃣伪卫星的提出 以及一些其出现的问题

后面几节留在第二部分继续 ~~ 第二部分

文章目录

  • CH5 GPS定位原理和精度分析(第一部分)
    • 5.1 牛顿迭代及其线性化方法
    • 5.2 最小二乘法
    • 5.3 伪距定位
      • 5.3.1 伪距定位原理
      • 5.3.2 伪距定位算法
      • 5.3.3二维定位及其辅助方程
    • 5.4 定位精度分析
      • 5.4.1 定位误差的方差分析
      • 5.4.2 精度因子
      • 5.4.3 卫星几何分布
      • 5.4.4 伪卫星
    • 5.5 接收机自主正直性监测
      • 5.5.1 正直性检测的概念

​ 我们在第3章计算了GPS卫星的空间位置坐标,然后在第4章又获得了从卫星到接收机的距离测量值,它们是接收机实现GPS单点绝对定位所必须具备的两个条件。

⚙️⛳️

5.1 牛顿迭代及其线性化方法

​ 由于伪距是一个关于接收机位置(x,y,z)的非线性方程式,牛顿迭代法是一个用于求解非线性方程和非线性方程组常用的方法!

主要包括一下运算:1️⃣首先将各个方程式在一个根的估计值处线性化,2️⃣然后求解线性化后的方程组,最后再更新根的估计值.

具体看这篇blog 写的很详细!!

https://blog.csdn.net/ccnt_2012/article/details/81837154

https://blog.csdn.net/SanyHo/article/details/106365314

b站讲解

【多元牛顿迭代法 (求多元函数极值 多元非线性方程组近似求解)】 https://www.bilibili.com/video/BV1ho4y1q7y6/?share_source=copy_web&vd_source=8d5f94cac4ef1f7256e3572189ec255b
关于牛顿迭代法的具体的示例代码如下(免费的直接下载即可) (大家如果想要熟练的话,可以敲敲代码复现一下~)https://download.csdn.net/download/qq_53131867/88564847?spm=1001.2014.3001.5503

GPS原理和接收机设计 CH5 GPS定位原理和精度分析(第一部分)_第2张图片
GPS原理和接收机设计 CH5 GPS定位原理和精度分析(第一部分)_第3张图片
​ 它也可以用来求解多元非线性方程组,1️⃣给出方程组解的初始估计值,2️⃣然后各个非线性方程再此估计值处线性化,3️⃣最后求解线性化后的方程组而得到方程组解的更新值,接着重复这种运算,知道满足所要求的精度为止。

5.2 最小二乘法

​ 在上一节求解多元非线性方程组的每次牛顿迭代过程中,非线性方程组经线性化后,问题的关键变成了求解线性矩阵方程式。在这一节,我们将以求解线性矩阵方程式为例,简单介绍用以求解超定矩阵方程的最小二乘法(LS)和加权最小二乘法(WLS) 。

​ 矩阵G满秩并且有效方程式的个数多于未知数个数,那么该超定方程组无解,然而这却是GPS 接收机实现定位所希望的的情形,而且这也是经常发生的情形。

​ 最小二乘法被广泛地应用于求解这类超定方程组,它的解Δx能使方程组中的各个方程式等号左右两边之差的平方和最小。 对于我们在上一节中所举的例子来讲,最小二乘法的解Δx使各个函数值f(x, y,z,un)与实际输出测量值vn之差的平方和最小。

同样,这里附上链接
1️⃣链接1
2️⃣链接2
3️⃣链接3

GPS原理和接收机设计 CH5 GPS定位原理和精度分析(第一部分)_第4张图片
GPS原理和接收机设计 CH5 GPS定位原理和精度分析(第一部分)_第5张图片

例子:

GPS原理和接收机设计 CH5 GPS定位原理和精度分析(第一部分)_第6张图片
GPS原理和接收机设计 CH5 GPS定位原理和精度分析(第一部分)_第7张图片

5.3 伪距定位

这一节将首先阐述GPS接收机利用伪距实现GPS定位、定时的原理,然后详细介绍–种常用的定位算法——最小二乘法,最后讨论实现二维定位的方法及其意义。需要强调的是,这一节的定位算法和下一节的定位误差方差分析可谓是求解GPS 位置、速度和时间(PVT)算法的核心内容。

5.3.1 伪距定位原理

前面几个章节:
CH1 https://blog.csdn.net/qq_53131867/article/details/133867537?spm=1001.2014.3001.5501

CH2 https://blog.csdn.net/qq_53131867/article/details/133901708?spm=1001.2014.3001.5501

CH3 https://blog.csdn.net/qq_53131867/article/details/133998842?spm=1001.2014.3001.5501
CH4 https://blog.csdn.net/qq_53131867/article/details/134088982?spm=1001.2014.3001.5501

由前面的几个章节我们可以知道:

伪距观测方程:
ρ ( n ) = r ( n ) + δ t μ − δ t ( n ) + I ( n ) ˙ + T ( n ) + ϵ ρ ( n ) ( 5.27 ) \rho^{(n)}=r^{(n)}+\delta t_\mu-\delta t^{(n)}+\dot{I^{(n)}}+T^{(n)}+\epsilon_{\rho}^{(n)}\quad(5.27)\quad ρ(n)=r(n)+δtμδt(n)+I(n)˙+T(n)+ϵρ(n)(5.27)
校正后的伪距观测方程式
r ( n ) + δ t u = ρ c ( n ) − ε ρ ( n ) ( 5.29 ) r^{(n)}+\delta t_{u}=\rho_{c}^{(n)}-\varepsilon_{\rho}^{(n)}\quad(5.29) r(n)+δtu=ρc(n)ερ(n)(5.29)
其中 r(n)是接收机到卫星n的几何距离
r ( n ) = ∥ x ( n ) − x ∥ = ( x ( n ) − x ) 2 + ( y ( n ) − y ) 2 + ( z ( n ) − z ) 2 (5.30) r^{(n)}=\left\|x^{(n)}-x\right\|=\sqrt{(x^{(n)}-x)^2+(y^{(n)}-y)^2+(z^{(n)}-z)^2}\quad\text{(5.30)}\quad r(n)= x(n)x =(x(n)x)2+(y(n)y)2+(z(n)z)2 (5.30)

GPS原理和接收机设计 CH5 GPS定位原理和精度分析(第一部分)_第8张图片

( x ( 1 ) − x ) 2 + ( y ( 1 ) − y ) 2 + ( z ( 1 ) − z ) 2 + δ t u = ρ c ( 1 )   ( x ( 2 ) − x ) 2 + ( y ( 2 ) − y ) 2 + ( z ( 2 ) − z ) 2 + δ t u = ρ c ( 2 ) ⋅ ⋅ ⋅ ( x ( N ) − x ) 2 + ( y ( N ) − y ) 2 + ( z ( N ) − z ) 2 + δ t u = ρ c ( N ) ( 5.31 ) \begin{gathered} \sqrt{\left(x^{(1)}-x\right)^{2}+\left(y^{(1)}-y\right)^{2}+\left(z^{(1)}-z\right)^{2}}+\delta t_{u}=\rho_{c}^{(1)}\ \\ \sqrt{(x^{(2)}-x)^{2}+(y^{(2)}-y)^{2}+(z^{(2)}-z)^{2}}+\delta t_{u}=\rho_{c}^{(2)} \\ ··· \\ \sqrt{(x^{(N)}-x)^{2}+(y^{(N)}-y)^{2}+(z^{(N)}-z)^{2}}+\delta t_{u}=\rho_{c}^{(N)} \end{gathered}\quad(5.31) (x(1)x)2+(y(1)y)2+(z(1)z)2 +δtu=ρc(1) (x(2)x)2+(y(2)y)2+(z(2)z)2 +δtu=ρc(2)⋅⋅⋅(x(N)x)2+(y(N)y)2+(z(N)z)2 +δtu=ρc(N)(5.31)

​ 其中的每一个方程式对应于一颗可见卫星的伪距测量值。在上述整个方程组中,各颗卫星的位置坐标值(x(n),y(n),z(n))可依据它们各自播发的星历计算获得,误差校正后的伪距ρc(n)则由接收机测量得到,因而方程组中只有剩下的接收机位置三个坐标分量(x, y,z )和接收机钟差δtu是所要求解的未知量。如果接收机有四颗或四颗以上可见卫星的伪距测量值,那么式(5.31)就至少由四个方程式组成,接收机就可以求解出方程组中的这四个未知量,从而实现GPS定位定时。这就是GPS伪距定位、定时的基本原理。通俗地讲,GPS定位的基本原理是三角学,即通过测量接收机到多颗位置已知的卫星的距离,再根据简单的三角关系来推算出接收机自身的位置。我们将式(5.31)称为伪距定位、定时方程组四个未知量也常称为定位、定时方程的状态变量。

5.3.2 伪距定位算法

​ 本小节所要介绍的求解伪距定位方程组(5.31)的算法,正是本章前面刚介绍过的牛顿迭代法,而最小二乘法又用于求解每一次牛顿迭代循环中的线性矩阵方程式。在GPS领域,这一伪距定位算法通常被称为最小二乘法,但是很显然,这一命名不太合理。在各种伪距定位算法中,最小二乘法是一种比较简单、基本而又有着广泛应用的重要方法
​ 有了5.1节和 5.2节的数学基础,理解这一伪距定位算法就应该相当容易。考虑到这一定位算法的重要性,我们还将对其的每一步计算予以详细介绍。在每个定位时刻(或历元),最小二乘法的定位计算可以分成以下几步。

1️⃣ 准备数据和设置初始解

​ 对于所有各颗可见卫星n,收集到它们在同—测量时刻的伪距测量值ρ(n),计算测量值ρ(n)中的各项偏差、误差成份的校正量δt(n)、I(n)和T(n),然后根据式(5.28)计算误差校正后的伪距测量值ρc(n)。同时,对于所有各颗可见卫星n ,根据它们的星历计算出经地球自转校正后的卫星空间位置坐标(x(n),y(n),z(n))。

​ 在开始进行牛顿迭代之前,我们还需要给出接收机当前位置坐标的初始估计值x0=[x0,y0,z0]与接收机钟差初始估计值δtu,0

假如接收机在上一个定位时刻已经成功地解得定位结果,那么这次定位的初始估计值就自然可以采用上一个定位结果,包括接收机位置坐标与钟差值。如果我们还知道用户在上一个定位时刻的运动速度,那么据此推算出接收机当前位置的估计值也未尝不可。类似地,如果我们知道接收机时钟的频漂,我们可以对钟差初值进行类似的推算。这种情况对于接收机来说不仅最经常发生,而且通常也是最简单、最理想的一种。

然而,如果接收机在此前的近期一段时间内尚未实现定位,那么此刻对接收来说是首次定位。对于首次定位,钟差初始值δtu,0一般可设置为0,而接收机坐标初始值(x0,y0,z0)的估算问题则可分为以下几种情况:

​ (1)接收机一般允许用户输人其所在的位置和时间。如果用户确信其输入的位置坐标是大致正确的,那么该输入值就可以作为接收机位置坐标的初始估计值。这种外界输人值的含义其实是相当广泛的,它还可以是在接收机启动前就存留在接收机记忆单元中的定位值,也可以是由无线通信网络提供的辅助信息。

​ (2)接收机此时应该已经对多颗可见卫星进行了跟踪、测量,并计算了它们的空间位置。这样,我们可以计算出所有这些可见卫星位置坐标的平均值,然后将此平均值在地面上的投影作为接收机位置坐标的初始估计值。
​ (3)接收机初始位置的各个坐标分量 也可全部简单地设置为零。即便从零出发, 牛顿迭代法一般也只需几次迭代循环就可以得到收敛。

2️⃣非线性方程组线性化

​ 我们用k代表当前历元正在进行的牛顿迭代次数,即k-1是在当前历元已经完成的迭代次数,而k =1代表第一次迭代。
​ 在当前历元的第k次牛顿迭代中,方程组(5.31)中的各个非线性方程可在[xk-1, , δtu,k-1]T处线性化。

单位观测矢量是指一个位于卫星上的点到接收机的连线矢量在卫星坐标系下的单位向量。这个向量的大小是1,表示其是一个单位向量。它主要用于卫星导航中卫星和接收机之间的距离测量。

举个例子,假设有一颗卫星位于地球轨道上,它的坐标系为西南天坐标系。一颗接收机的坐标为经度50度,纬度30度,高度3000米的地面上。若此时卫星与接收机的连线矢量坐标在卫星坐标系下为[0.5, -0.3, 0.8],则通过归一化此向量来得到单位观测矢量:[0.4472, -0.2683, 0.8944]。接收机可以通过将此单位向量与其他卫星的单位观测矢量进行比较,进而计算出自身与卫星之间的距离差。

​ 以方程组中的第n个方程式为例,该方程式等号左边的第一项正是式(5.30)所表达的非线性函数r(n),而求函数r(n)对x的偏导,得
∂ r ( n ) ∂ x = − ( x ( n ) − x ) ( x ( n ) − x ) 2 + ( y ( n ) − y ) 2 + ( z ( n ) − z ) 2 = − ( x ( n ) − x ) r ( n ) ( 5.33 ) \frac{\partial r^{(n)}}{\partial x}=\frac{-(x^{(n)}-x)}{\sqrt{\left(x^{(n)}-x\right)^{2}+\left(y^{(n)}-y\right)^{2}+\left(z^{(n)}-z\right)^{2}}}=\frac{-(x^{(n)}-x)}{r^{(n)}}\quad\quad\quad(5.33) xr(n)=(x(n)x)2+(y(n)y)2+(z(n)z)2 (x(n)x)=r(n)(x(n)x)(5.33)
如图5.1所示,r(n)是卫星n在用户接收机处的观测矢量的长度,(x(n)-x )
是此观测矢量的 X 分量,于是 x ( n ) − x r ( n ) ; 就等于单位观测矢量 I ( n ) 的 X 分量 I x ( n ) 是此观测矢量的X分量,于是\frac{x^{(n)}-x}{r^{(n)}};就等于单位观测矢量I^{(n)}的X分量I_x^{(n)} 是此观测矢量的X分量,于是r(n)x(n)x;就等于单位观测矢量I(n)X分量Ix(n)
即:
∂ r ( n ) ∂ x = − ( x ( n ) − x ) r ( n ) = − ( x ( n ) − x ) ∥ x ( n ) − x ∥ = − 1 x ( n ) ( 5.34 ) \frac{\partial r^{(n)}}{\partial x}=\frac{-(x^{(n)}-x)}{r^{(n)}}=\frac{-(x^{(n)}-x)}{\left\|x^{(n)}-x\right\|}=-1_{x}^{(n)}\quad (5.34) xr(n)=r(n)(x(n)x)= x(n)x (x(n)x)=1x(n)(5.34)
​ 类似地,我们可求出函数r(n)分别对y和z的偏导值,它们分别等于单位观测矢量I(n)的Y和Z分量的反向,即
[ ∂ r ( n ) ∂ x ∂ r ( n ) ∂ y ∂ r ( n ) ∂ z ] = − 1 r ( n ) [ x ( n ) − x y ( n ) − y z ( n ) − z ] = − ( x ( n ) − x ) ∥ x ( n ) − x ∥ = − I ( n ) = [ − I x ( n ) − I y ( n ) − I z ( n ) ] ( 5.35 ) \begin{bmatrix}\displaystyle\frac{\partial r^{(n)}}{\partial x}\\\displaystyle\frac{\partial r^{(n)}}{\partial y}\\\displaystyle\frac{\partial r^{(n)}}{\partial z}\end{bmatrix}=\frac{-1}{r^{(n)}}\begin{bmatrix}x^{(n)}-x\\y^{(n)}-y\\z^{(n)}-z\end{bmatrix}=\frac{-(\mathbf{x}^{(n)}-\mathbf{x})}{\|x^{(n)}-x\|}=-I^{(n)}=\begin{bmatrix}-\mathbf{I}^{(n)}_x\\-\mathbf{I}_y^{(n)}\\-\mathbf{I}_z^{(n)}\end{bmatrix}\quad\quad\quad(5.35) xr(n)yr(n)zr(n) =r(n)1 x(n)xy(n)yz(n)z =x(n)x(x(n)x)=I(n)= Ix(n)Iy(n)Iz(n) (5.35)
我们注意到式(5.31)中的各个方程式等号左边已经是一个关于δtu的线性函数,或者说各方程式等号左边对δtu的偏导值为1。这样,套用5.1节中的相关公式,我们可得到方程组(5.31)在[xk-1δtu,k-1]T处线性化后的矩阵方程式为
G [ Δ x Δ y Δ z Δ δ t u ] = b ( 5.36 ) \left.G\left[\begin{array}{c}\Delta x\\\Delta y\\\Delta z\\\Delta\delta t_u\end{array}\right.\right]=b\quad(5.36) G ΔxΔyΔzΔδtu =b(5.36)
其中,
G = [ − I x ( 1 ) ( x k − 1 ) − I y ( 1 ) ( x k − 1 ) − I z ( 1 ) ( x k − 1 ) 1 − I x ( 2 ) ( x k − 1 ) − I y ( 2 ) ( x k − 1 ) − I z ( 2 ) ( x k − 1 ) 1 ⋯ ⋯ ⋯ ⋯ − I x ( N ) ( x k − 1 ) − I y ( N ) ( x k − 1 ) − I z ( N ) ( x k − 1 ) 1 ] = [ − [ I ( 1 ) ( x k − 1 ) ] T 1 − [ I ( 2 ) ( x k − 1 ) ] T 1 ⋯ ⋯ − [ I ( N ) ( x k − 1 ) ] T 1 ] ( 5.37 ) G=\begin{bmatrix}-I_x^{(1)}(\mathbf{x}_{k-1})&-I_y^{(1)}(\mathbf{x}_{k-1})&-I_z^{(1)}(\mathbf{x}_{k-1})&1\\-I_x^{(2)}(\mathbf{x}_{k-1})&-I_y^{(2)}(\mathbf{x}_{k-1})&-I_z^{(2)}(\mathbf{x}_{k-1})&1\\\cdots&\cdots&\cdots&\cdots\\-I_x^{(N)}(\mathbf{x}_{k-1})&-I_y^{(N)}(\mathbf{x}_{k-1})&-I_z^{(N)}(\mathbf{x}_{k-1})&1\end{bmatrix}=\begin{bmatrix}-[I^{(1)}(\mathbf{x}_{k-1})]^{T}&1\\-[I^{(2)}(\mathbf{x}_{k-1})]^{T}&1\\\cdots&\cdots\\-[I^{(N)}(\mathbf{x}_{k-1})]^{T}&1\end{bmatrix}\quad(5.37) G= Ix(1)(xk1)Ix(2)(xk1)Ix(N)(xk1)Iy(1)(xk1)Iy(2)(xk1)Iy(N)(xk1)Iz(1)(xk1)Iz(2)(xk1)Iz(N)(xk1)111 = [I(1)(xk1)]T[I(2)(xk1)]T[I(N)(xk1)]T111 (5.37)

b = [ ρ c ( 1 ) − r ( 1 ) ( x k − 1 ) − δ t u , k − 1 ρ c ( 2 ) − r ( 2 ) ( x k − 1 ) − δ t u , k − 1 ⋯ ρ c ( N ) − r ( N ) ( x k − 1 ) − δ t u , k − 1 ] ( 5.38 ) \left.b=\left[\begin{array}{c}\rho_{c}^{(1)}-r^{(1)}(\boldsymbol{x}_{k-1})-\boldsymbol{\delta}t_{u,k-1}\\\rho_{c}^{(2)}-r^{(2)}(\boldsymbol{x}_{k-1})-\boldsymbol{\delta}t_{u,k-1}\\\cdots\\\rho_{c}^{(N)}-\boldsymbol{r}^{(N)}(\boldsymbol{x}_{k-1})-\boldsymbol{\delta}\boldsymbol{t}_{u,k-1}\end{array}\right.\right]\quad(5.38) b= ρc(1)r(1)(xk1)δtu,k1ρc(2)r(2)(xk1)δtu,k1ρc(N)r(N)(xk1)δtu,k1 (5.38)

而-Ix(xk-1)代表r(n)对x的偏导在xk-1处的值,即
− I x ( n ) ( x k − 1 ) = − ( x ( n ) − x k − 1 ) r ( n ) ( x k − 1 ) = − ( x ( n ) − x k − 1 ) ∥ x ( n ) − x k − 1 ∥ = ∂ r ( n ) ∂ x ∣ x = x k − 1 ( 5.39 ) -I_{x}^{(n)}(x_{k-1})=\frac{-(x^{(n)}-x_{k-1})}{r^{(n)}(x_{k-1})}=\frac{-(x^{(n)}-x_{k-1})}{\left\|x^{(n)}-x_{k-1}\right\|}=\frac{\partial r^{(n)}}{\partial x}\left|_{x=x_{k-1}}(5.39)\right. Ix(n)(xk1)=r(n)(xk1)(x(n)xk1)= x(n)xk1 (x(n)xk1)=xr(n)x=xk1(5.39)
由5.37可见,雅可比矩阵G只与各颗卫星相对于用户的几何位置有关,因而G通常被称为几何矩阵。

☘️为了加深对矩阵方程式(5.36)的理解,让我们再仔细检查一下其中的每一个方程式。为了简化讨论,我们假设接收机时钟与GPS 时间同步,而且该方程组的牛顿迭代法只需迭代一次就得到收敛。考虑式(5.36)中的每一个(比如第n 个)方程式,其等号左边是单位观测矢量的反向[-Ix(n),-Iy(n),-Iz(n)]T与[Δx,Δy,Δz]T的内积, 其中([Δx,Δy,Δz)是如图5.3所示的用户在相邻两个观测时刻之间从A点运动到B点的坐标变化量因为与接收机到卫星n的距离r(n) 相比,用户位移量通常非常小,所以卫星在A点与B点处的观测矢量可以认为是相互平行的。我们知道,用户位移矢量[Δx,Δy,Δz]T与单位观测矢量反向的内积等于此位移在观测矢量反向上的投影 。因此,式(5.36)中每一个方程所代表的含义为:用户位移量在卫星观测反方向上的投影,等于由此位移引起的卫星与用户之间的距离变化量 ⭐️伪距定位的过程,实际上是依据接收机到各个卫星的距离变化量来反推用户的运动位移矢量。

GPS原理和接收机设计 CH5 GPS定位原理和精度分析(第一部分)_第9张图片

​ 式(5.36)中的每个方程式关于接收机钟差Δδtu的系数均为1,这是因为接收机钟差Δδtu是各个卫星距离测量值中的公共偏差部分,它在定位计算中实际上是吸收向量b中各元素的平均值。

3️⃣ 求解线性方程组

​ 这一步的任务是利用最小二乘法求解GPS伪距定位线性矩阵方程式(5.36)。套用最小二乘法的求解公式(5.18),我们可得式(5.36)的最小二乘法解为
[ Δ x Δ y Δ z Δ δ t u ] = ( G T G ) − 1 G T b ( 5.40 ) \left.\left[\begin{array}{c}\Delta x\\\Delta y\\\Delta z\\\Delta\delta t_u\end{array}\right.\right]=(\boldsymbol{G}^\mathrm{T}\boldsymbol{G})^{-1}\boldsymbol{G}^\mathrm{T}\boldsymbol{b} \quad(5.40) ΔxΔyΔzΔδtu =(GTG)1GTb(5.40)
​ 如果各个卫星测量值的误差方差以及权重已被确定,那么我们也可以运用加权最小二乘法来求解式(5.36)。为了提高定位精度,一部分GPS接收机事实上采用加权最小二乘法作为GPS定位方程的求解算法。

4️⃣更新非线性方程组的根

按照式(5.14),我们可得如下更新后的接收机位置坐标xk和钟差值δtu,k
x k = x k − 1 + Δ x = x k − 1 + [ Δ x Δ y Δ z ] ( 5.41 A ) \mathbf{x}_k=\mathbf{x}_{k-1}+\Delta\mathbf{x}=\mathbf{x}_{k-1}+\begin{bmatrix}\Delta\mathbf{x}\\\Delta\mathbf{y}\\\Delta\mathbf{z}\end{bmatrix}\quad(5.41\mathbf{A}) xk=xk1+Δx=xk1+ ΔxΔyΔz (5.41A)

δ t u , k = δ t u , k − 1 + Δ δ t u ( 5.41 B ) \delta t_{u,k}=\delta t_{u,k-1}+\Delta\delta t_{u}\quad(5.41\mathrm{B}) δtu,k=δtu,k1+Δδtu(5.41B)

5️⃣判断牛顿迭代的收敛性

​ 若牛顿迭代已经收敛到了所需要的精度,则牛顿迭代法可终止循环运算,并将当前这一次迭代计算后的更新值(即xk和 δtu,k)作为接收机此时刻的定位、定时结果;否则,k值增1,并返回至第2步再重复进行一次牛顿迭代计算。判断牛顿迭代是否收敛,一般可检查此次迭代计算得到的位移向量
Δ x 的长度 ∥ Δ x ∥ 或者  ∥ Δ x ∥ 2 + ( Δ δ t u ) 2 \Delta\text{x 的长度}\left\|\Delta\mathbf{x}\right\|\text{或者 }\sqrt{\left\|\Delta\mathbf{x}\right\|^2+\left(\Delta\delta t_u\right)^2} Δ的长度Δx或者 Δx2+(Δδtu)2
的值是否已经小到一个预先所设定的门限值。

​ 类似于例5.2,牛顿迭代法有时会收敛到一个远离地球的天际一端。如果以上伪距定位计算给出的解与常识明显不符,那么GPS定位算法必须返回第1步,并恰当地调整接收机位置的初始估计值,然后重新进行一次完整的牛顿迭代运算,使其最后收敛至一个在地球表面附近的合理值为止。

在该定位算法的第1步,我们准备好了各个误差量、校正后的伪距测量值和卫星位置坐标等,然后这些值将一直不变地用在各次牛顿迭代中。然而我们知道,大气层延时等误差与接收机的位置和时间有关,因此严格地从理论上讲,当每次牛顿迭代更新了接收机的位置与钟差值后,大气层延时等误差量需要进行重新估算。此外,因为GPS信号从卫星到接收机的实际传播时间值也得到了更新,所以卫星位置坐标中的地球自转校正量也应当相应地予以重新计算。这样一来,每次牛顿迭代所需的计算量会很大。如果每次牛顿迭代都得到很大的更新值Δx 和Δδtu,那么第1步中的这些相关值确实需要重新计算;否则,如果Δx 和Δδtu的值很小,那么为了减少计算量,这些值可不必重新计算。另外,4.3.2节也已经对于是否需要重复计算地球自转校正量的问题做了一定的解释。在实际应用中,如果接收机处于连续定位状态,那么Δx 和Δδtu的长度通常很小,大致几米左右,最多几百米。在这种情况下,接收机一般不需要重新计算各项误差校正量,而认为它们的值在各次牛顿迭代中保持不变,这对于伪距定位精度几乎可以说没有影响。
最后需要指出的是,虽然上述定位算法看起来似乎毫无破绽,但是实际上它的正常运行隐含着如下一个前提:接收机时钟必须准确到一定程度,一般来说接收时间误差不能超过10 ms。 这个接收机绝对时间误差不同于测量值中的公共接收机钟差δtu

5.3.3二维定位及其辅助方程

✈️ 接收机进行二维定位的主要原因:

在城市峡谷等环境中,卫星信号被遮挡,使得接收机只有3颗卫星可见

完好性检测过程中,会排除一些错误的 卫星的测量值,使得有效的卫星测量值的个数减少

三颗卫星,也就是三个方程解四个未知数 不能完成三维定位。主要的降元法就是将原来的三维定位降至二维 给定接收机的高度值 就变成了二位定位。

​ 现实生活中也有一些特殊应用只要求二维定位,比如像用户的活动只限于一个水平面上这类情况。在用户接收机所处的高度值固定并且已知或者可经测定的情况下,接收机只需求解其在水平方向上的两个位置坐标分量。减少未知数个数可以相应地增加方程组中的信息冗余度,进而提高接收机在水平方向上的定位精度。 再极端一点的例子是将在5.7节中提到的时间接收机,这类接收机通常安装在一个固定点处,因而接收机事实上只需进行总维数为一(即时间维)的定时计算。

高度值:气压计量;电子地图;海平面高度或者陆地平均高度;

​ 事实上,在接收机有足够多个用以完成三维定位的卫星测量值的情况下,我们仍可在定位方程组中主动地添加辅助方程式,从而提高定位精度等性能。例如, 对于高度值变化缓慢的运动状态来说,主动添加一个限制用户高度值变化的辅助方程式可以平滑定位结果和提高定位精度;对于车载型用户来说,由于车辆的横向运动通常比其纵向运动小很多,因而主动添加一个用来限制用户横向位置变化的辅助方程式可以使定位解更加平滑.
​ 不论是被迫还是主动,在定位方程组中添加恰当的辅助方程式的这一思路很重要。

5.4 定位精度分析

​ 在上一节的讨论中,我们没有考虑式(5.29)中的测量误差项ερ(n)。考虑到误差的发生在现实中不可避免,我们将在这一节分析这些测量误差ερ(n)对GPS定位精度的影响。定位精度分析需要运用到概率、随机变量以及随机过程等方面的基础知识。

5.4.1 定位误差的方差分析

​ GPS定位精度与以下两方面因素有关:
​ 1️⃣测量误差:测量误差的方差越大,则定位误差的方差也就越大。
​ 2️⃣卫星的几何分布:矩阵G和H完全取决于可见卫星的个数及其相对于用户的几何分布,而与信号的强弱或接收机的好坏无关。权系数阵H中的元素值越小,则测量误差被放大成定位误差的程度就越低。
​ 因此,为了提高GPS定位精度,我们必须从降低卫星的测量误差和改善卫星的几何分布这两方面入手。

5.4.2 精度因子

​ 在上一小节末尾,我们得到了这样一个重要结论:测量误差的方差被权系数阵H放大后变成定位误差的方差。在导航学中,我们一般喜欢用精度因子(DOP)这个概念来表示误差的放大倍数,而GPS接收机通常也会将精度因子值随同定位结果一起输出,以供用户参考。

5.4.3 卫星几何分布

​ 1️⃣在相同的测量误差条件下,较小的DOP值可便GPS足位结果有着较小的误差;2️⃣各个DOP值可从权系数阵H那里获得,而决定权系数阵的几何矩阵G只与可见卫星的几何分布情况有关。

​ 因此,若可见卫星的几何分布有着较小的DOP值,则它是一个较好的卫星几何分布。在这一小节中,我们将讨论什么样的卫星空间几何分布能有较小的DOP值。

为了便于形象地描述不同的卫星几何分布对 DOP值与定位精度的不同影响,我们从较简单的二维平面定位来解释。

​ 在二维平面定位中,用户与两颗卫星的位置均处于同一个平面内。假定接收机钟差为零,那么用户接收机只要有两颗可见卫星的测量值就可以实现二维定位,而二维定位的算法可参考5.3.1节中的例5.2。
GPS原理和接收机设计 CH5 GPS定位原理和精度分析(第一部分)_第10张图片

​ 在图5.6中,粗实线是以卫星为中心、以对该卫星的距离测量值为半径的圆弧,而未知的卫星距离测量误差被认为是在两条细圆弧线之间。这样,用户的真实位置位于两条粗实线的交点,而阴影部分则代表着由测量误差造成的定位结果的可能范围。在图5.6(a)中,两卫星在用户处的观测矢量相互垂直,因而阴影部分的面积小而集中;然而在图5.6(b)中,两卫星相对于用户位置来讲差不多处于同一个角落,于是尽管此时卫星测量误差与图5.6(a)中的完全相同,但是阴影部分的面积明显增大,并且最大可能的定位误差会非常大。可见,图5.6(a)中的卫星几何分布比图5.6(b)中的要好,而事实上它也是二维平面定位中最好的一种几何分布。

​ 在GPS三维定位中,卫星几何分布情况与相应DOP值之间的关系也遵循类似的规律。当卫星分布在用户的四周时,这种几何分布情况较好,相应的GDOP值较小;否则,当卫星集中在一处或者在一条直线上时,这种几何分布较差,相应的 GDOP值较大.

​ 当接收机通过计算发现某时刻的 HDOP或PDOP值很大时,为了避免输出一个误差可能很大的定位结果,接收机一般会放弃三维甚至二维定位。需要强调的是,DOP只与卫星几何分布有关,而与测量误差无关,也就是说–个大的DOP值并不必定意味着一个大的定位误差。因为如果GPS测量误差保证很小,那么在大DOP值情况下的定位结果应该完全正常。

5.4.4 伪卫星

​ 伪卫星是安装在地面上、天空中或者舰船上的能发射类似于GPS信号的GPS“卫星”。

伪卫星技术是一种通过安装伪卫星而人为地改善卫星几何分布的方法,它对于那些在GPS 卫星可见性比较差的室内、地下、火星上等地方有着重要应用。 采用伪卫星技术对于帮助实现GPS定位的优势主要体现在两方面:1️⃣是增加可见卫星的个数,提高定位有效率;2️⃣是改善卫星的空间几何分布,减小PDOP值,提高定位精度。此外,利用伪卫星3️⃣可以帮助确定卫星载波相位测量值的周整模糊度,从而实现精密定位"。伪卫星4️⃣还用来提高GPS定位系统的正直性,而多个伪卫星一起甚至可以组成个独立的定位系统。
​ 同时,伪卫星也会给GPS接收机的正常运行带来一定困难,而这在一定程度上制约了伪卫星在现实中的应用和发展。利用伪卫星技术必须考虑以下多个方面的问题。
​ (1)伪卫星给接收机带来了一个称为 “近/远”的问题 。我们会在第10章讲到,信号在某一点的强度与该点离信号源的距离的平方成反比。 因为GPS 卫星总是离地面很远,所以卫星信号的强度对地面上的用户来说相对比较恒定。然而,伪卫星信号则是另一种情形:在相距不远的两个不同地方,伪卫星信号强度的差异可能会很大。若离伪卫星稍远一点,则伪卫星信号可能很微弱而使得接收机接收不到;若离伪卫星稍近点,则伪卫星信号可能会相当强烈,从而导致伪码之间的互相关性干扰接收机对其他GPS 卫星信号正常的捕捉与跟踪,使接收机捕捉、跟踪实际上并不存在的卫星信号。“"近/远”问题本质上是一个互相关干扰问题。

(2)伪卫星信号数据的编码设计上应该尽量使利用伪卫星信号的接收机软件改动较小。

(3)另外,伪卫星中的频率振荡器存在着一个与GPS时间同步的问题。

​ 此外,由于伪卫星的高度与仰角一般较低,因而多路径效应会相当严重,并且对流层延时也可能会成为最大的误差源之一。若伪卫星用于差分系统中,则信号从伪卫星到流动站接收机与到基准站接收机的两个传播途径之间差别可能会很大,以至于这两个不同接收机之间的测量误差不再存在相关性,从而使差分系统的工作原理不再成立。

5.5 接收机自主正直性监测

​ 我们在1.5节定义了一个定位系统的正直性,它指的是系统在出现故障而不适合于导航时能及时警告用户的能力,而这些故障可能是卫星上的电子故障,卫星播发的卫星星历与时钟模型错误、异常大气层延时、多路径以及接收机故障等。在各种异常测量误差可能会随时发生的假定下,正直性监测功能就是将异常定位误差的发生控制在一定范围和一定概率之内。需要强调的是,尽管定位错误一般是由测量错误造成的,并且监测定位错误的方法很多也是通过监测测量错误来实现的,但是正直性所真正关心的是定位错误而不是卫星的距离测量错误。

5.5.1 正直性检测的概念

​ 2.5节曾提到,卫星播发的导航电文包含一定的正直性信息,比如卫星健康状况和URA值等。然而,因为GPS地面监控部分一般需要15分钟至2小时的时间来判定某颗卫星是否存在故障、鉴定故障原因、决定解决方案直至采取纠正措施,所以这一监测过程通常远远不能满足民用航空等一些高安全性的导航系统对正直性的实时要求。尽管不同安全、精度等级的导航系统对正直性的要求有所差异,但在10秒钟甚至在3秒钟内完成监测故障到警告用户这一整个过程则属于比较常规的要求。

​ 系统完好性检测主要从三个方面入手:

(1)建立一个地面监测站网络,以专门用于监测GPS卫星的健康状况,然后将有关卫星正直性的监测结果通过某种形式传送给用户接收机。

(2) 执行接收机自主正直性监测(RAIM),让用户接收机自身对卫星测量值进行正直性监测。 尽管一个监测站网络比单个用户接收机拥有更丰富的资源与信息,这使得其正直性监测更为准确、迅速,但是因为监测站通常难以知道用户接收机所实际遭受的多路径和当地的电磁干扰等具体情况,所以它不能替代RAIM。只有用户接收机本身才有机会将各种当地、实际的信息综合起来,并以此检测它的卫星信号测量值是否出现差错

(3)第三种方案是建议在卫星上设置正直性监测功能,让卫星自己监测其所发射的信号,然后再将监测结果播发给用户。

ok,完结~ (●ˇ∀ˇ●)点个赞 点个赞~

你可能感兴趣的:(笔记,学习)