历元差分定位通过历元间差分消除观测值的公共误差达到高精度定位的目的。由于历元间差分消掉了基准历元的几何信息,所以该方法得到的定位结果是基于基准历元的位置增量。
1 数学原理
一般地,相位观测值可以看似下列表达:
L
=
ρ
+
d
t
r
−
d
t
s
+
o
r
b
i
t
+
T
+
I
+
λ
N
+
ε
(1)
\begin{aligned} L=\rho+dt_r-dt^s+orbit+T+I+\lambda N+\varepsilon\tag{1} \end{aligned}
L=ρ+dtr−dts+orbit+T+I+λN+ε(1)
其中
ρ
=
(
x
r
−
x
s
)
2
+
(
y
r
−
y
s
)
2
+
(
z
r
−
z
s
)
2
\rho=\sqrt{(x_r-x^s)^2+(y_r-y^s)^2+(z_r-z^s)^2}
ρ=(xr−xs)2+(yr−ys)2+(zr−zs)2,接收机在
(
x
0
,
y
0
,
z
0
)
(x_0,y_0,z_0)
(x0,y0,z0)处进行泰勒展开,可得:
L
=
ρ
0
+
(
x
0
−
x
s
)
⋅
d
x
+
(
y
0
−
y
s
)
⋅
d
y
+
(
z
0
−
z
s
)
⋅
d
z
ρ
0
+
d
t
r
−
d
t
s
+
o
r
b
i
t
+
T
+
I
+
λ
N
+
ε
(2)
\begin{aligned} L=\rho_0+\frac{(x_0-x^s)\cdot dx+(y_0-y^s)\cdot dy+(z_0-z^s)\cdot dz}{\rho_0}+dt_r-dt^s+orbit+T+I+\lambda N+\varepsilon\tag{2} \end{aligned}
L=ρ0+ρ0(x0−xs)⋅dx+(y0−ys)⋅dy+(z0−zs)⋅dz+dtr−dts+orbit+T+I+λN+ε(2)
其中:
ρ
0
=
(
x
0
−
x
s
)
2
+
(
y
0
−
y
s
)
2
+
(
z
0
−
z
s
)
2
\rho_0=\sqrt{(x_0-x^s)^2+(y_0-y^s)^2+(z_0-z^s)^2}
ρ0=(x0−xs)2+(y0−ys)2+(z0−zs)2.
令
e
1
=
(
x
0
−
x
s
)
ρ
0
e_1=\frac{(x_0-x^s)}{\rho_0}
e1=ρ0(x0−xs),
e
2
=
(
y
0
−
y
s
)
ρ
0
e_2=\frac{(y_0-y^s)}{\rho_0}
e2=ρ0(y0−ys),
e
3
=
(
z
0
−
z
s
)
ρ
0
e_3=\frac{(z_0-z^s)}{\rho_0}
e3=ρ0(z0−zs),假设有
t
0
t_0
t0、
t
1
t_1
t1两个历元时刻,且
t
0
t_0
t0时刻的位置已知为
(
x
0
,
y
0
,
z
0
)
(x_0,y_0,z_0)
(x0,y0,z0),则两个历元在该位置进行泰勒展开的相位可表达为:
L
t
0
=
ρ
t
0
+
e
1
,
t
0
⋅
d
x
t
0
+
e
2
,
t
0
⋅
d
y
t
0
+
e
3
,
t
0
⋅
d
z
t
0
+
d
t
r
,
t
0
−
d
t
t
0
s
+
o
r
b
i
t
t
0
+
T
t
0
+
I
t
0
+
λ
N
t
0
+
ε
t
0
(3)
\begin{aligned} L_{t_0}=\rho_{t_0}+e_{1,t_0}\cdot dx_{t_0}+e_{2,t_0}\cdot dy_{t_0}+e_{3,t_0}\cdot dz_{t_0}+dt_{r,t_0}-dt_{t_0}^s+orbit_{t_0}+T_{t_0}+I_{t_0}+\lambda N_{t_0} + \varepsilon_{t_0}\tag{3} \end{aligned}
Lt0=ρt0+e1,t0⋅dxt0+e2,t0⋅dyt0+e3,t0⋅dzt0+dtr,t0−dtt0s+orbitt0+Tt0+It0+λNt0+εt0(3)
L
t
1
=
ρ
t
1
+
e
1
,
t
1
⋅
d
x
t
1
+
e
2
,
t
1
⋅
d
y
t
1
+
e
3
,
t
1
⋅
d
z
t
1
+
d
t
r
,
t
1
−
d
t
t
1
s
+
o
r
b
i
t
t
1
+
T
t
1
+
I
t
1
+
λ
N
t
1
+
ε
t
1
(4)
\begin{aligned} L_{t_1}=\rho_{t_1}+e_{1,t_1}\cdot dx_{t_1}+e_{2,t_1}\cdot dy_{t_1}+e_{3,t_1}\cdot dz_{t_1}+dt_{r,t_1}-dt_{t_1}^s+orbit_{t_1}+T_{t_1}+I_{t_1}+\lambda N_{t_1} + \varepsilon_{t_1}\tag{4} \end{aligned}
Lt1=ρt1+e1,t1⋅dxt1+e2,t1⋅dyt1+e3,t1⋅dzt1+dtr,t1−dtt1s+orbitt1+Tt1+It1+λNt1+εt1(4)
易知
d
x
t
0
=
d
y
t
0
=
d
z
t
0
=
0
dx_{t_0}=dy_{t_0}=dz_{t_0}=0
dxt0=dyt0=dzt0=0,若两个历元间不发生周跳,整理
(
4
)
−
(
3
)
(4) - (3)
(4)−(3)并把
ρ
\rho
ρ移至左边得:
δ
L
t
0
,
t
1
+
ρ
t
0
−
ρ
t
1
=
e
1
,
t
1
⋅
d
x
t
1
+
e
2
,
t
1
⋅
d
y
t
1
+
e
3
,
t
1
⋅
d
z
t
1
+
δ
d
t
r
−
δ
d
t
s
+
δ
o
r
b
i
t
+
δ
T
+
δ
I
+
ε
(5)
\delta L_{t_0,t_1}+\rho_{t_0}-\rho_{t_1}=e_{1,t_1}\cdot dx_{t_1}+e_{2,t_1}\cdot dy_{t_1}+e_{3,t_1}\cdot dz_{t_1}+\delta dt_r-\delta dt^s+\delta orbit+\delta T+\delta I+\varepsilon\tag{5}
δLt0,t1+ρt0−ρt1=e1,t1⋅dxt1+e2,t1⋅dyt1+e3,t1⋅dzt1+δdtr−δdts+δorbit+δT+δI+ε(5)
由公式(5)可知,历元差分中接收机钟飘、卫星钟飘、轨道误差、对流层误差、电离层误差都无法消除。这些误差会随着历元时间间隔变长而逐渐累积。
在只要获得相对位置的应用中,我们认为短时间的历元差分定位结果比spp的位置差分结果要好得多。但值得注意的是,由于上述误差均为时序相关的,所以一般而言,差分的定位结果总是往一个方向飘。
2 优化
2.1 模糊度
相位间的历元差分在不发生周跳的情况下,模糊度参数为0,因此可以利用模糊度为0的特性进行定位优化。类似RTK的算法,我们把参考时刻的观测数据作为base数据,以需要计算定位时刻的观测数据作为rover数据,这样我们就可以完全使用RTK的定位算法进行历元间差分定位。在卡尔曼滤波后,我们也将会得到模糊度的浮点解,然后对其进行模糊度固定,若模糊度固定为0,则说明该观测值大概率包含的误差较少,可以用作历元间差分定位,反之可以剔除该观测值避免对差分定位的污染。
2.2 电离层
差分观测值中,大部分的误差仅依靠观测值和广播星历无法消除,但电离层误差因为其大小与频率平方成反比的缘故,可以利用双频观测值求得历元间电离层的变化。使用双频相位观测值求得的电离层误差理论上非常高,再把求得的电离层变化值代会到差分观测中,可以削弱电离层误差的影响。