GNSS的下DOP值理解与扩展

利用GNSS进行定位时,定们精度与两个因素有关: 一是观测量的精度的,二是卫星在空间的几何分布。其中卫星的几何分布一般情况下使用DOP(Dilution of Precision)值进行衡量。一般情况下,DOP值是用于单点定位下绝对定位精度的参考指标,但是如果从基本的定义出发,我们是否可以定义其它定位模式DOP值呢?本文从基本的DOP值原理与计算过程出发,推导其它定位模式的”DOP值”。

1. 标准单点定位的DOP值

首先写出伪距观测值的简单的基本表达式:
P_r^m = \rho_r^m + c\Delta t_r + L_r^m
其中P_r^m表示从流动站r到m号卫星的伪距观测值,而\rho_r^m表示流动站r到m号卫星的几何距离,c为光速,\Delta t_r则为接收机钟差,而L则为其它一切可以通过其它方法求得的影响项,其中主要误差包含大气层延迟(对流层模型求得)、电离层延迟(电离层模型或广播星历)、卫星钟钟差(广播星历可求)、相对论效应残余项(通过计算卫星的速度可得)。其中几何距离可写成下式:
\rho_r^m(x_r,y_r,z_r) = \sqrt{(x^m - x_r)^2 + (y^m - y_r)^2 + (z^m - z_r)^2}
其中(x_r,y_r,z_r)为接收机的位置,为待估参数,而(x^m,y^m,z^m)则为相应的卫星坐标。

上述公式一共存在四个待估参数,三维接收机位置和一个接收机钟差,当观测量多于四个时,可利用测量平差原理进行求解。由于间接平差原理形式简单,易于程序实现,下面采用间接平差实现四个参数的最优求解。过程如下:

(1)取所有参数的近似值(x_0, y_0, z_0, \Delta t_0),且满足:
\begin{bmatrix} x_r \\ y_r \\ z_r \\ \Delta t_r \end{bmatrix} = \begin{bmatrix} x_0 \\ y_0 \\ z_0 \\ \Delta t_0 \end{bmatrix} +  \begin{bmatrix}  \delta x_r  \\ \delta y_r \\ \delta z_r \\ \delta t_r \end{bmatrix}
(2)将所有观测值表达成待估参数的表达式,而伪距观测值表达式已经满足要求;
(3)由于上述观测值表达存在非线性项,故需要线性化,在近似值点进行泰勒级数一阶展开得:
P_r^m = P_0^m + \frac{x_0 - x^m}{\rho_0^m} \delta x_r + \frac{y_0 - y^m }{\rho_0^m} \delta y_r + \frac{z_0 - z^m}{\rho_0^m} \delta z_r + c \delta t_r
表示式中P_0^m\rho_0^m为将近似值代入伪距观测值观测值和几何距离表达式的结果。由于上式表达较为麻烦,可将其改写为矩阵形式:
P_r^m = P_0^m + \bold{e_0^m} \bold{\delta X_r} + c\delta t_r \\ Then: \\ \bold{e_0^m} = [\frac{x_0 - x^m}{\rho_0^m} \quad \frac{y_0 - y^m }{\rho_0^m} \quad \frac{z_0 - z^m}{\rho_0^m}] \\ \bold{\delta X_r} = [\delta x_r \quad \delta y_r \quad \delta z_r]^T
式中\bold{e_0^m}为卫星到测站方向的单位矢量。
(5)当存在观测值存在误差v_m时,有P_v^m = \widetilde{P}_r^m + v_m ,同时对于m个卫星来说,则有m个上式,将其写误差方程的形式:
\begin{bmatrix} v_1 \\ v_2 \\ \cdots \\ v_m \end{bmatrix} =  \begin{bmatrix} \bold{e_0^1}  & c  \\ \bold{e_0^2} & c \\ \cdots \\ \bold{e_0^m} & c  \end{bmatrix} \begin{bmatrix} \bold{\delta X_r}\\ \delta t_r \end{bmatrix} -  \begin{bmatrix} \widetilde{P}_r^1 - P_0^1 \\ \widetilde{P}_r^2 - P_0^2 \\ \cdots \\ \widetilde{P}_r^m - P_0^m \end{bmatrix}
将上述简化,便可写成间接平差的一般形式: V = B\widehat{x} - l,显然有:
B = \begin{bmatrix} \bold{e_0^1}  & c  \\ \bold{e_0^2} & c \\ \cdots \\ \bold{e_0^m} & c  \end{bmatrix} V = \begin{bmatrix} v_1 & v_2 & \cdots & v_m\end{bmatrix}^T \\ \widehat{x} = \begin{bmatrix} \bold{\delta X_r} & \delta t_r \end{bmatrix}^T \\ l = \cdots
(6)间接平差方法平差: \widehat{x} = (B^TPB)^{-1} B^TPl 。其中P为观测值权值,简单情况可设为单位阵,表示等权概念。如果该项结果较大,说明初始近似值不准确,不满足泰勒级数展开式要求,因此需要将当前解算的结果重新作为近似估值,迭代上述过程,直至收敛。

而DOP值实际上则为{B^TB}^{-1}中的对应的对角线上的元素:
\begin{bmatrix} x \\ y \\  z \\ \Delta _tr \end{bmatrix} =>  \begin{bmatrix} xDOP &&&\\ &yDOP&& \\&&zDOP& \\ &&&\Delta t_rDOP \end{bmatrix} = (B^TB)^{-1}
将矩阵中的子矩阵乘以一个坐标转换矩阵C_e^n,即可获得地方坐标系(ENU或NED)下的DOP。

2. DOP值的理解

从上述的公式可以看出,DOP值只不过是观测值等权条件下间接平差的系数阵而已,从最后的结果来看,也只与设计矩阵相关,而和观测量无关,即如果已知粗略的待测点的位置,那么我们就可以大致的推算该处观测值精度如何(由于卫星位置可以预测,而观测量的精度一般可能认为已知),故DOP值能够反映观测量(甚至预测)所得的精度。

由于不同的定位模式和参数选择不同,不过依据相同的原理和方法,我们就可以定义其它模式或其它参数的DOP.

3. 差分定位的DOP计算

(1)首先可得差分定位模式下的双差观测方程(以1号作为参考星,m=2,3,…)
P_{br}^{1m} = (P_r^m - P_r^1) - (P_b^m - P_b^1) => P_{br}^{1m} = \rho_{br}^{1m}
(2)设当前的流动的近似坐标为X_0,则有:
P_{b0}^{12} = \rho^{12}_0 - \rho^{12}_b
其中\rho^{12}_0 表明该项为近似坐标所计算的流动站星间单差几何距离。
(3)在近似点处展开成泰勒级数得:
P_{br}^{1m} = \rho^{1m}_0 + \bold{e^{1m}_0} \delta X_r - \rho_b^{12} \\ Which: \\ \bold{e^{1m}_0} = \bold{e^m_0} - \bold{e^1_0}
(4)写成误差方程形式:
\begin{bmatrix} v_1\\  v_2 \\ \cdots \\ v_m\end{bmatrix} =  \begin{bmatrix} \bold{e_0^{12}} \\ \bold{e_0^{13}} \\ \cdots \\\bold{e_0^{1m}}\end{bmatrix}  \bold{\delta X_r} -  \begin{bmatrix}\rho_b^{12} + \widetilde{P}_{br}^{12}  \\ \rho_b^{13} + \widetilde{P}_{br}^{13} \\ \cdots \\ \rho_b^{1m} + \widetilde{P}_{br}^{1m}  \end{bmatrix}
(5)显然我们有:
B = \begin{bmatrix} \bold{e_0^{12}} & \bold{e_0^{13}} & \cdots & \bold{e_0^{1m}}\end{bmatrix}^T
然后利用(B^TB)^{-1}即可计算位置的DOP值。

我们观察该系数可以发现,该系数和星间单差条件下的单点定位(消去钟差项进行定位)完全一致,说明如果差分定位的DOP值等价于共视卫星数相同的单点定位。

4. 增加对流层天顶延迟下的单点定位DOP值

此条目发表在GNSS分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。