第17讲 RTK定位技术原理-站间单差浮点解
RTK技术其实就是在RTD技术的基础上增加载波观测值的使用。由于伪距的误差在分米量级,即使我们通过站间单差消除掉绝大部分的伪距误差,但受限于伪距的精度,我们也只能达到分米量级的定位水平。
但载波不同,载波的精度在毫米量级,所以如果其他误差完全消除的话,理论上定位精度可达到毫米水平。毫米水平的定位精度,完全可以满足我们日常生活中绝大多数应用的需求。但实际上,站间单差后依然存在误差,定位精度在厘米量级。
17.1 再讲载波
载波观测方程如下:
Φ
r
s
=
ρ
r
s
−
c
δ
t
r
+
c
δ
t
s
−
I
r
s
+
T
r
s
+
λ
N
r
s
+
ϵ
L
\Phi^s_r = \rho^s_r - c\delta t_r + c\delta t^s - I^s_r + T^s_r + \lambda N^s_r + \epsilon_L
Φrs=ρrs−cδtr+cδts−Irs+Trs+λNrs+ϵL
其中:
- ρ r s \rho^s_r ρrs 为卫星 s s s 到接收机 r r r 的伪距观测值
- λ \lambda λ 为波长
- N r s N^s_r Nrs 为整周模糊度
- ϵ L \epsilon_L ϵL 为载波观测噪声
单位为米
从7.1.2节中,我们了解到载波使用“困难”的原因是,它存在整周模糊度。
同时在4.4节,我们也介绍了载波的测量原理:
载波只是种单纯的余弦波,不带有任何的识别标志,所以在第一次进行载波相位测量时,接收机实际测定的只是不足整周的小数部分 F r 0 Fr0 Fr0。
初始观测历元
t
0
t_0
t0,载波的观测值为(单位为周):
Φ
(
t
0
)
=
N
(
t
0
)
+
F
r
0
\Phi(t_0) = N(t_0) + Fr0
Φ(t0)=N(t0)+Fr0
其中
N
(
t
0
)
N(t_0)
N(t0) 为整周模糊度。
那么在下一个历元
t
i
t_i
ti 时刻:
Φ
(
t
i
)
=
N
(
t
0
)
+
F
r
i
+
I
n
t
(
ϕ
i
)
\Phi(t_i) = N(t0) + Fri + Int(\phi^i)
Φ(ti)=N(t0)+Fri+Int(ϕi)
其中
I
n
t
(
ϕ
i
)
Int(\phi^i)
Int(ϕi) 为由时刻
t
0
t0
t0 到
t
i
t_i
ti 接收机累周计数部分,可以通过信号跟踪计数得到。
由于载波频率高、波长短,所以载波相位测量精度高。
但是方程中还有一项误差没有表示出来,即相位硬件延迟。前面我们了解到不管是卫星端还是接收机端,均存在因信号通过天线和接收机的时间延迟,我们称之为伪距硬件延迟。同样的,对于载波,也存在相位硬件延迟,产生机理与伪距相同。
Φ r = ρ r s − c δ t s + c δ t r − I r s + T r s + λ N r s + d r − d s + ϵ L \Phi^r = \rho_r^s - c\delta t^s + c\delta t_r - I_r^s + T_r^s + \lambda N_r^s + d_r - d^s + \epsilon_L Φr=ρrs−cδts+cδtr−Irs+Trs+λNrs+dr−ds+ϵL
其中:
- ρ r s \rho_r^s ρrs 为接收机到卫星的几何距离
- c δ t s c\delta t^s cδts 为卫星钟差
- c δ t r c\delta t_r cδtr 为接收机钟差
- I r s I_r^s Irs 为电离层延迟。可以估计。
- T r s T_r^s Trs 为对流层延迟。与天顶有关,系数不为1.
- λ N r s \lambda N_r^s λNrs 为整周模糊度。系数为1。
- d r d_r dr 为接收机端第 i i i 频点的伪距硬件延迟。系数为1。站间单差可以消除。
- d s d^s ds 为卫星端第 i i i 频点的伪距硬件延迟。系数为1。星间单差可以消除。
- ϵ L \epsilon_L ϵL 为测量噪声
我们是否可以通过类似伪距延迟处理的手段,来处理相位硬件延迟?
首先,对于卫星端相位硬件延迟,已经有成熟的技术对其进行估计,终端通过使用相应的产品,可以实现模糊度固定,这称之为 PPPAR 技术。
在 RTK 技术中,卫星端的相位硬件延迟,可以通过站间单差消除。但接收机端的相位硬件延迟,因为分量级太小,不足一周的部分,所以量级太小,无法估计。但可以通过星间单差消除其影响,但是何时进行星间单差,有一定讲究,具体差异,会在后续浮点解算法流程中进一步描述。
为什么我们一定要消除相位硬件延迟的影响?
因为只有消除影响,模糊度才具有整数特性,我们才可以通过模糊度固定,进一步提升定位结果的精度和可靠性。否则如果不固定模糊度,即模糊度是浮点解,定位精度一般在cm-dm量级,相对于伪距差分有一定的精度提升;但如果模糊度固定成功,那么定位精度就是cm量级。
附加A:
T r s T_r^s Trs 为对流层延迟。与天顶有关,系数不为1?
对流层延迟是指卫星信号在通过地球对流层时受到的延迟。由于对流层是大气层的一部分,其密度随着高度变化,对卫星信号的延迟也随之变化。天顶延迟是信号从天顶(垂直向上)通过对流层时的延迟,而当信号从其他角度通过对流层时,其延迟会根据入射角不同而变化。
原因解释
-
对流层延迟的变化:
对流层延迟不是一个常数,它随着信号通过大气层的路径长度而变化。信号路径越长,延迟越大。天顶方向的延迟最小,而低仰角方向的延迟最大。 -
天顶延迟:
天顶延迟是信号垂直通过大气层的延迟,由于路径最短,其延迟也是最小的。这个延迟通常可以通过观测和模型估计。 -
映射函数:
映射函数用于将天顶延迟转换为任意仰角的延迟。映射函数根据信号入射角的不同,对天顶延迟进行缩放,从而计算出不同仰角方向的延迟。
T r s = T z ⋅ M ( e ) T_r^s = T_{z} \cdot M(e) Trs=Tz⋅M(e)
其中 T z T_{z} Tz 是天顶延迟, M ( e ) M(e) M(e) 是映射函数, e e e 是卫星的仰角。
数学表达式
天顶延迟
T
z
T_{z}
Tz 与仰角
e
e
e 之间的关系可以用映射函数
M
(
e
)
M(e)
M(e) 来描述:
T
r
s
=
T
z
⋅
M
(
e
)
T_r^s = T_{z} \cdot M(e)
Trs=Tz⋅M(e)
通常,
M
(
e
)
M(e)
M(e) 的计算公式为:
M
(
e
)
=
1
sin
(
e
)
+
a
sin
(
e
)
+
b
M(e) = \frac{1}{\sin(e) + \frac{a}{\sin(e) + b}}
M(e)=sin(e)+sin(e)+ba1
其中
a
a
a 和
b
b
b 是经验参数,根据对流层模型和观测数据确定。
举例解释
假设天顶延迟 T z T_{z} Tz 为 2 米,映射函数参数 a = 0.001 a = 0.001 a=0.001, b = 0.005 b = 0.005 b=0.005,仰角 e = 3 0 ∘ e = 30^\circ e=30∘,则映射函数 M ( e ) M(e) M(e) 的计算过程如下:
首先计算
sin
(
e
)
\sin(e)
sin(e):
sin
(
3
0
∘
)
=
0.5
\sin(30^\circ) = 0.5
sin(30∘)=0.5
然后代入映射函数公式:
M
(
e
)
=
1
0.5
+
0.001
0.5
+
0.005
=
1
0.5
+
0.001
0.505
=
1
0.5
+
0.00198
=
1
0.50198
≈
1.992
M(e) = \frac{1}{0.5 + \frac{0.001}{0.5 + 0.005}} = \frac{1}{0.5 + \frac{0.001}{0.505}} = \frac{1}{0.5 + 0.00198} = \frac{1}{0.50198} \approx 1.992
M(e)=0.5+0.5+0.0050.0011=0.5+0.5050.0011=0.5+0.001981=0.501981≈1.992
最后计算对流层延迟:
T
r
s
=
2
⋅
1.992
≈
3.984
米
T_r^s = 2 \cdot 1.992 \approx 3.984 \text{ 米}
Trs=2⋅1.992≈3.984 米
所以,仰角为 3 0 ∘ 30^\circ 30∘ 的对流层延迟为 3.984 米,而不是简单的天顶延迟 2 米。这表明对流层延迟与仰角有关,系数不为 1。
17.2 站间单差浮点解方程
首先,引用14.1.2节的站间单差双系统双频伪距方程,并对每个系统每个频率的观测值个数限制为3,公式如下:
V = [ p f 1 G 1 p f 1 G 2 p f 1 G 3 p f 2 G 1 p f 2 G 2 p f 2 G 3 p f 1 C 1 p f 1 C 2 p f 1 C 3 p f 2 C 1 p f 2 C 2 p f 2 C 3 ] A = [ l f 1 G 1 m f 1 G 1 n f 1 G 1 − 1 0 0 0 l f 1 G 2 m f 1 G 2 n f 1 G 2 − 1 0 0 0 l f 1 G 3 m f 1 G 3 n f 1 G 3 − 1 0 0 0 l f 2 G 1 m f 2 G 1 n f 2 G 1 − 1 − 1 0 0 l f 2 G 2 m f 2 G 2 n f 2 G 2 − 1 − 1 0 0 l f 2 G 3 m f 2 G 3 n f 2 G 3 − 1 − 1 0 0 l f 1 C 1 m f 1 C 1 n f 1 C 1 − 1 0 − 1 0 l f 1 C 2 m f 1 C 2 n f 1 C 2 − 1 0 − 1 0 l f 1 C 3 m f 1 C 3 n f 1 C 3 − 1 0 − 1 0 l f 2 C 1 m f 2 C 1 n f 2 C 1 − 1 0 0 1 l f 2 C 2 m f 2 C 2 n f 2 C 2 − 1 0 0 1 l f 2 C 3 m f 2 C 3 n f 2 C 3 − 1 0 0 1 ] δ x = [ d x d y d z c δ t f 1 G c δ t f 2 G − f 1 G c δ t f 1 C − f 1 G c δ t f 2 C − f 1 G ] \mathbf{V} = \begin{bmatrix} p_{f1}^{G1} \\ p_{f1}^{G2} \\ p_{f1}^{G3} \\ p_{f2}^{G1} \\ p_{f2}^{G2} \\ p_{f2}^{G3} \\ p_{f1}^{C1} \\ p_{f1}^{C2} \\ p_{f1}^{C3} \\ p_{f2}^{C1} \\ p_{f2}^{C2} \\ p_{f2}^{C3} \\ \end{bmatrix} \quad \mathbf{A} = \begin{bmatrix} l_{f1}^{G1} & m_{f1}^{G1} & n_{f1}^{G1} & -1 & 0 & 0 & 0 \\ l_{f1}^{G2} & m_{f1}^{G2} & n_{f1}^{G2} & -1 & 0 & 0 & 0 \\ l_{f1}^{G3} & m_{f1}^{G3} & n_{f1}^{G3} & -1 & 0 & 0 & 0 \\ \\ l_{f2}^{G1} & m_{f2}^{G1} & n_{f2}^{G1} & -1 & -1 & 0 & 0 \\ l_{f2}^{G2} & m_{f2}^{G2} & n_{f2}^{G2} & -1 & -1 & 0 & 0 \\ l_{f2}^{G3} & m_{f2}^{G3} & n_{f2}^{G3} & -1 & -1 & 0 & 0 \\ \\ l_{f1}^{C1} & m_{f1}^{C1} & n_{f1}^{C1} & -1 & 0 & -1 & 0 \\ l_{f1}^{C2} & m_{f1}^{C2} & n_{f1}^{C2} & -1 & 0 & -1 & 0 \\ l_{f1}^{C3} & m_{f1}^{C3} & n_{f1}^{C3} & -1 & 0 & -1 & 0 \\ \\ l_{f2}^{C1} & m_{f2}^{C1} & n_{f2}^{C1} & -1 & 0 & 0 & 1 \\ l_{f2}^{C2} & m_{f2}^{C2} & n_{f2}^{C2} & -1 & 0 & 0 & 1 \\ l_{f2}^{C3} & m_{f2}^{C3} & n_{f2}^{C3} & -1 & 0 & 0 & 1 \\ \end{bmatrix} \delta \mathbf{x} = \begin{bmatrix} dx \\ dy \\ dz \\ c\delta t^{f^G_1} \\ c\delta t^{f^G_2 - f^G_1} \\ c\delta t^{f^C_1 - f^G_1} \\ c\delta t^{f^C_2 - f^G_1} \\ \end{bmatrix} V= pf1G1pf1G2pf1G3pf2G1pf2G2pf2G3pf1C1pf1C2pf1C3pf2C1pf2C2pf2C3 A= lf1G1lf1G2lf1G3lf2G1lf2G2lf2G3lf1C1lf1C2lf1C3lf2C1lf2C2lf2C3mf1G1mf1G2mf1G3mf2G1mf2G2mf2G3mf1C1mf1C2mf1C3mf2C1mf2C2mf2C3nf1G1nf1G2nf1G3nf2G1nf2G2nf2G3nf1C1nf1C2nf1C3nf2C1nf2C2nf2C3−1−1−1−1−1−1−1−1−1−1−1−1000−1−1−1000000000000−1−1−1000000000000111 δx= dxdydzcδtf1Gcδtf2G−f1Gcδtf1C−f1Gcδtf2C−f1G
我们再增加载波观测值,首先是状态量,每个卫星每个频点均要增加一个模糊度参数,因为有12个观测值,所以要增加12个模糊度参数,也要增加一倍的观测值数目。
理论上,对于单个系统指定卫星指定频率的伪距和载波的接收机钟肯定不相等的,但我们只估计了伪距的接收机钟参数,同样的载波也估计接收机钟参数,这样设计是否合理?
对于同一系统同一频点的伪距和载波肯定存在接收机钟的差异,但该偏差会被我们新增的每个观测值的模糊度吸收,所以也是模糊度失去整数特性的原因之一。
δ x = [ d x d y d z c δ t f 1 G c δ t f 2 G − c δ t f 1 G c δ t f 1 C − c δ t f 1 G c δ t f 2 C − c δ t f 1 G N f 1 G 1 N f 1 G 2 N f 1 G 3 N f 2 G 1 N f 2 G 2 N f 2 G 3 N f 1 C 1 N f 1 C 2 N f 1 C 3 N f 2 C 1 N f 2 C 2 N f 2 C 3 ] V = [ p f 1 G 1 p f 1 G 2 p f 2 G 3 p f 2 G 1 p f 2 G 2 p f 2 G 3 p f 1 C 1 p f 1 C 2 p f 1 C 3 p f 2 C 1 p f 2 C 2 p f 2 C 3 ϕ f 1 G 1 ϕ f 1 G 2 ϕ f 1 G 3 ϕ f 2 G 1 ϕ f 2 G 2 ϕ f 2 G 3 ϕ f 1 C 1 ϕ f 1 C 2 ϕ f 1 C 3 ϕ f 2 C 1 ϕ f 2 C 2 ϕ f 2 C 3 ] \delta \mathbf{x} = \begin{bmatrix} dx \\ dy \\ dz \\ c\delta t^{f^G_1} \\ c\delta t^{f^G_2} - c\delta t^{f^G_1} \\ c\delta t^{f^C_1} - c\delta t^{f^G_1} \\ c\delta t^{f^C_2} - c\delta t^{f^G_1} \\ N_{f_1}^{G1} \\ N_{f_1}^{G2} \\ N_{f_1}^{G3} \\ N_{f_2}^{G1} \\ N_{f_2}^{G2} \\ N_{f_2}^{G3} \\ N_{f_1}^{C1} \\ N_{f_1}^{C2} \\ N_{f_1}^{C3} \\ N_{f_2}^{C1} \\ N_{f_2}^{C2} \\ N_{f_2}^{C3} \\ \end{bmatrix} \quad \mathbf{V} = \begin{bmatrix} \color{red}{p_{f1}^{G1}} \\ \color{red}{p_{f1}^{G2}} \\ \color{red}{p_{f2}^{G3}} \\ \color{blue}{p_{f2}^{G1}} \\ \color{blue}{p_{f2}^{G2}} \\ \color{blue}{p_{f2}^{G3}} \\ \color{green}{p_{f1}^{C1}} \\ \color{green}{p_{f1}^{C2}} \\ \color{green}{p_{f1}^{C3}} \\ \color{orange}{p_{f2}^{C1}} \\ \color{orange}{p_{f2}^{C2}} \\ \color{orange}{p_{f2}^{C3}} \\ \color{purple}{\phi_{f1}^{G1}} \\ \color{purple}{\phi_{f1}^{G2}} \\ \color{purple}{\phi_{f1}^{G3}} \\ \color{brown}{\phi_{f2}^{G1}} \\ \color{brown}{\phi_{f2}^{G2}} \\ \color{brown}{\phi_{f2}^{G3}} \\ \color{cyan}{\phi_{f1}^{C1}} \\ \color{cyan}{\phi_{f1}^{C2}} \\ \color{cyan}{\phi_{f1}^{C3}} \\ \color{magenta}{\phi_{f2}^{C1}} \\ \color{magenta}{\phi_{f2}^{C2}} \\ \color{magenta}{\phi_{f2}^{C3}} \\ \end{bmatrix} δx= dxdydzcδtf1Gcδtf2G−cδtf1Gcδtf1C−cδtf1Gcδtf2C−cδtf1GNf1G1Nf1G2Nf1G3Nf2G1Nf2G2Nf2G3Nf1C1Nf1C2Nf1C3Nf2C1Nf2C2Nf2C3 V= pf1G1pf1G2pf2G3pf2G1pf2G2pf2G3pf1C1pf1C2pf1C3pf2C1pf2C2pf2C3ϕf1G1ϕf1G2ϕf1G3ϕf2G1ϕf2G2ϕf2G3ϕf1C1ϕf1C2ϕf1C3ϕf2C1ϕf2C2ϕf2C3
解释 δ x \delta \mathbf{x} δx 和 V \mathbf{V} V
状态向量 δ x \delta \mathbf{x} δx
- d x , d y , d z dx, dy, dz dx,dy,dz:接收机位置的三个坐标偏差,单位为米。
- c δ t f 1 G c\delta t^{f^G_1} cδtf1G:GPS系统第一个频率的接收机钟差,单位为米。
- c δ t f 2 G − c δ t f 1 G c\delta t^{f^G_2} - c\delta t^{f^G_1} cδtf2G−cδtf1G:GPS系统第二个频率相对于第一个频率的接收机钟差,单位为米。
- c δ t f 1 C − c δ t f 1 G c\delta t^{f^C_1} - c\delta t^{f^G_1} cδtf1C−cδtf1G:伽利略系统第一个频率相对于GPS第一个频率的接收机钟差,单位为米。
- c δ t f 2 C − c δ t f 1 G c\delta t^{f^C_2} - c\delta t^{f^G_1} cδtf2C−cδtf1G:伽利略系统第二个频率相对于GPS第一个频率的接收机钟差,单位为米。
- N f 1 G 1 , N f 1 G 2 , N f 1 G 3 , N f 2 G 1 , N f 2 G 2 , N f 2 G 3 , N f 1 C 1 , N f 1 C 2 , N f 1 C 3 , N f 2 C 1 , N f 2 C 2 , N f 2 C 3 N_{f_1}^{G1}, N_{f_1}^{G2}, N_{f_1}^{G3}, N_{f_2}^{G1}, N_{f_2}^{G2}, N_{f_2}^{G3}, N_{f_1}^{C1}, N_{f_1}^{C2}, N_{f_1}^{C3}, N_{f_2}^{C1}, N_{f_2}^{C2}, N_{f_2}^{C3} Nf1G1,Nf1G2,Nf1G3,Nf2G1,Nf2G2,Nf2G3,Nf1C1,Nf1C2,Nf1C3,Nf2C1,Nf2C2,Nf2C3:整周模糊度,单位为周。
观测向量 V \mathbf{V} V
- p f 1 G 1 , p f 1 G 2 , p f 2 G 3 \color{red}{p_{f1}^{G1}}, \color{red}{p_{f1}^{G2}}, \color{red}{p_{f2}^{G3}} pf1G1,pf1G2,pf2G3:GPS第一个频率的伪距观测值,单位为米。
- p f 2 G 1 , p f 2 G 2 , p f 2 G 3 \color{blue}{p_{f2}^{G1}}, \color{blue}{p_{f2}^{G2}}, \color{blue}{p_{f2}^{G3}} pf2G1,pf2G2,pf2G3:GPS第二个频率的伪距观测值,单位为米。
- p f 1 C 1 , p f 1 C 2 , p f 1 C 3 \color{green}{p_{f1}^{C1}}, \color{green}{p_{f1}^{C2}}, \color{green}{p_{f1}^{C3}} pf1C1,pf1C2,pf1C3:伽利略系统第一个频率的伪距观测值,单位为米。
- p f 2 C 1 , p f 2 C 2 , p f 2 C 3 \color{orange}{p_{f2}^{C1}}, \color{orange}{p_{f2}^{C2}}, \color{orange}{p_{f2}^{C3}} pf2C1,pf2C2,pf2C3:伽利略系统第二个频率的伪距观测值,单位为米。
- ϕ f 1 G 1 , ϕ f 1 G 2 , ϕ f 1 G 3 \color{purple}{\phi_{f1}^{G1}}, \color{purple}{\phi_{f1}^{G2}}, \color{purple}{\phi_{f1}^{G3}} ϕf1G1,ϕf1G2,ϕf1G3:GPS第一个频率的载波相位观测值,单位为周。
- ϕ f 2 G 1 , ϕ f 2 G 2 , ϕ f 2 G 3 \color{brown}{\phi_{f2}^{G1}}, \color{brown}{\phi_{f2}^{G2}}, \color{brown}{\phi_{f2}^{G3}} ϕf2G1,ϕf2G2,ϕf2G3:GPS第二个频率的载波相位观测值,单位为周。
- ϕ f 1 C 1 , ϕ f 1 C 2 , ϕ f 1 C 3 \color{cyan}{\phi_{f1}^{C1}}, \color{cyan}{\phi_{f1}^{C2}}, \color{cyan}{\phi_{f1}^{C3}} ϕf1C1,ϕf1C2,ϕf1C3:伽利略系统第一个频率的载波相位观测值,单位为周。
- ϕ f 2 C 1 , ϕ f 2 C 2 , ϕ f 2 C 3 \color{magenta}{\phi_{f2}^{C1}}, \color{magenta}{\phi_{f2}^{C2}}, \color{magenta}{\phi_{f2}^{C3}} ϕf2C1,ϕf2C2,ϕf2C3:伽利略系统第二个频率的载波相位观测值,单位为周。
同样的,设计矩阵也更加庞大
A = [ l f 1 G 1 m f 1 G 1 n f 1 G 1 − 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 l f 1 G 2 m f 1 G 2 n f 1 G 2 − 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 l f 1 G 3 m f 1 G 3 n f 1 G 3 − 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 l f 2 G 1 m f 2 G 1 n f 2 G 1 − 1 − 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 l f 2 G 2 m f 2 G 2 n f 2 G 2 − 1 − 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 l f 2 G 3 m f 2 G 3 n f 2 G 3 − 1 − 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 l f 1 C 1 m f 1 C 1 n f 1 C 1 − 1 0 − 1 0 0 0 0 0 0 0 0 0 0 0 0 0 l f 1 C 2 m f 1 C 2 n f 1 C 2 − 1 0 − 1 0 0 0 0 0 0 0 0 0 0 0 0 0 l f 1 C 3 m f 1 C 3 n f 1 C 3 − 1 0 − 1 0 0 0 0 0 0 0 0 0 0 0 0 0 l f 2 C 1 m f 2 C 1 n f 2 C 1 − 1 0 0 − 1 0 0 0 0 0 0 0 0 0 0 0 0 l f 2 C 2 m f 2 C 2 n f 2 C 2 − 1 0 0 − 1 0 0 0 0 0 0 0 0 0 0 0 0 l f 2 C 3 m f 2 C 3 n f 2 C 3 − 1 0 0 − 1 0 0 0 0 0 0 0 0 0 0 0 0 l f 1 G 1 m f 1 G 1 n f 1 G 1 − 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 l f 1 G 2 m f 1 G 2 n f 1 G 2 − 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 l f 1 G 3 m f 1 G 3 n f 1 G 3 − 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 l f 2 G 1 m f 2 G 1 n f 2 G 1 − 1 − 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 l f 2 G 2 m f 2 G 2 n f 2 G 2 − 1 − 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 l f 2 G 3 m f 2 G 3 n f 2 G 3 − 1 − 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 l f 1 C 1 m f 1 C 1 n f 1 C 1 − 1 0 − 1 0 0 0 0 0 0 0 1 0 0 0 0 0 l f 1 C 2 m f 1 C 2 n f 1 C 2 − 1 0 − 1 0 0 0 0 0 0 0 0 1 0 0 0 0 l f 1 C 3 m f 1 C 3 n f 1 C 3 − 1 0 − 1 0 0 0 0 0 0 0 0 0 1 0 0 0 l f 2 C 1 m f 2 C 1 n f 2 C 1 − 1 0 0 − 1 0 0 0 0 0 0 0 0 0 1 0 0 l f 2 C 2 m f 2 C 2 n f 2 C 2 − 1 0 0 − 1 0 0 0 0 0 0 0 0 0 0 1 0 l f 2 C 3 m f 2 C 3 n f 2 C 3 − 1 0 0 − 1 0 0 0 0 0 0 0 0 0 0 0 1 ] \mathbf{A} = \begin{bmatrix} \color{red}{l_{f1}^{G1}} & \color{red}{m_{f1}^{G1}} & \color{red}{n_{f1}^{G1}} & \color{red}{-1} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} \\ \color{red}{l_{f1}^{G2}} & \color{red}{m_{f1}^{G2}} & \color{red}{n_{f1}^{G2}} & \color{red}{-1} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} \\ \color{red}{l_{f1}^{G3}} & \color{red}{m_{f1}^{G3}} & \color{red}{n_{f1}^{G3}} & \color{red}{-1} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} \\ \\ \color{blue}{l_{f2}^{G1}} & \color{blue}{m_{f2}^{G1}} & \color{blue}{n_{f2}^{G1}} & \color{blue}{-1} & \color{blue}{-1} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} \\ \color{blue}{l_{f2}^{G2}} & \color{blue}{m_{f2}^{G2}} & \color{blue}{n_{f2}^{G2}} & \color{blue}{-1} & \color{blue}{-1} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} \\ \color{blue}{l_{f2}^{G3}} & \color{blue}{m_{f2}^{G3}} & \color{blue}{n_{f2}^{G3}} & \color{blue}{-1} & \color{blue}{-1} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} \\ \\ \color{green}{l_{f1}^{C1}} & \color{green}{m_{f1}^{C1}} & \color{green}{n_{f1}^{C1}} & \color{green}{-1} & \color{green}{0} & \color{green}{-1} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} \\ \color{green}{l_{f1}^{C2}} & \color{green}{m_{f1}^{C2}} & \color{green}{n_{f1}^{C2}} & \color{green}{-1} & \color{green}{0} & \color{green}{-1} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} \\ \color{green}{l_{f1}^{C3}} & \color{green}{m_{f1}^{C3}} & \color{green}{n_{f1}^{C3}} & \color{green}{-1} & \color{green}{0} & \color{green}{-1} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} \\ \\ l_{f2}^{C1} & m_{f2}^{C1} & n_{f2}^{C1} & -1 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ l_{f2}^{C2} & m_{f2}^{C2} & n_{f2}^{C2} & -1 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ l_{f2}^{C3} & m_{f2}^{C3} & n_{f2}^{C3} & -1 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \\ \color{red}{l_{f1}^{G1}} & \color{red}{m_{f1}^{G1}} & \color{red}{n_{f1}^{G1}} & \color{red}{-1} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{1} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} \\ \color{red}{l_{f1}^{G2}} & \color{red}{m_{f1}^{G2}} & \color{red}{n_{f1}^{G2}} & \color{red}{-1} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{1} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} \\ \color{red}{l_{f1}^{G3}} & \color{red}{m_{f1}^{G3}} & \color{red}{n_{f1}^{G3}} & \color{red}{-1} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{1} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} & \color{red}{0} \\ \\ \color{blue}{l_{f2}^{G1}} & \color{blue}{m_{f2}^{G1}} & \color{blue}{n_{f2}^{G1}} & \color{blue}{-1} & \color{blue}{-1} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{1} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} \\ \color{blue}{l_{f2}^{G2}} & \color{blue}{m_{f2}^{G2}} & \color{blue}{n_{f2}^{G2}} & \color{blue}{-1} & \color{blue}{-1} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{1} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} \\ \color{blue}{l_{f2}^{G3}} & \color{blue}{m_{f2}^{G3}} & \color{blue}{n_{f2}^{G3}} & \color{blue}{-1} & \color{blue}{-1} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{1} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} & \color{blue}{0} \\ \\ \color{green}{l_{f1}^{C1}} & \color{green}{m_{f1}^{C1}} & \color{green}{n_{f1}^{C1}} & \color{green}{-1} & \color{green}{0} & \color{green}{-1} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{1} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} \\ \color{green}{l_{f1}^{C2}} & \color{green}{m_{f1}^{C2}} & \color{green}{n_{f1}^{C2}} & \color{green}{-1} & \color{green}{0} & \color{green}{-1} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{1} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} \\ \color{green}{l_{f1}^{C3}} & \color{green}{m_{f1}^{C3}} & \color{green}{n_{f1}^{C3}} & \color{green}{-1} & \color{green}{0} & \color{green}{-1} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{0} & \color{green}{1} & \color{green}{0} & \color{green}{0} & \color{green}{0} \\ \\ l_{f2}^{C1} & m_{f2}^{C1} & n_{f2}^{C1} & -1 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ l_{f2}^{C2} & m_{f2}^{C2} & n_{f2}^{C2} & -1 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ l_{f2}^{C3} & m_{f2}^{C3} & n_{f2}^{C3} & -1 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ \end{bmatrix} A= lf1G1lf1G2lf1G3lf2G1lf2G2lf2G3lf1C1lf1C2lf1C3lf2C1lf2C2lf2C3lf1G1lf1G2lf1G3lf2G1lf2G2lf2G3lf1C1lf1C2lf1C3lf2C1lf2C2lf2C3mf1G1mf1G2mf1G3mf2G1mf2G2mf2G3mf1C1mf1C2mf1C3mf2C1mf2C2mf2C3mf1G1mf1G2mf1G3mf2G1mf2G2mf2G3mf1C1mf1C2mf1C3mf2C1mf2C2mf2C3nf1G1nf1G2nf1G3nf2G1nf2G2nf2G3nf1C1nf1C2nf1C3nf2C1nf2C2nf2C3nf1G1nf1G2nf1G3nf2G1nf2G2nf2G3nf1C1nf1C2nf1C3nf2C1nf2C2nf2C3−1−1−1−1−1−1−1−1−1−1−1−1−1−1−1−1−1−1−1−1−1−1−1−1000−1−1−1000000000−1−1−1000000000000−1−1−1000000000−1−1−1000000000000−1−1−1000000000−1−1−1000000000000100000000000000000000000010000000000000000000000001000000000000000000000000100000000000000000000000010000000000000000000000001000000000000000000000000100000000000000000000000010000000000000000000000001000000000000000000000000100000000000000000000000010000000000000000000000001
设计矩阵 A \mathbf{A} A 的解释
-
A \mathbf{A} A 矩阵的每一行对应于一个观测方程,每一列对应于一个状态参数。
-
l f 1 G 1 , m f 1 G 1 , n f 1 G 1 l_{f1}^{G1}, m_{f1}^{G1}, n_{f1}^{G1} lf1G1,mf1G1,nf1G1:分别为GPS第一个频率第一个卫星的观测方向余弦。
-
− 1 -1 −1:表示接收机钟差对观测方程的影响,这里负号表示钟差对观测值有负影响。
-
0 0 0:表示该状态参数对当前观测方程没有影响。
-
N f 1 G 1 N_{f_1}^{G1} Nf1G1:整周模糊度参数,表示观测方程中包含的模糊度。
举例解释
例如:
-
第一行 l f 1 G 1 m f 1 G 1 n f 1 G 1 − 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \color{red}{l_{f1}^{G1}} \color{red}{m_{f1}^{G1}} \color{red}{n_{f1}^{G1}} \color{red}{-1} \color{red}{0} \color{red}{0} \color{red}{0} \color{red}{0} \color{red}{0} \color{red}{0} \color{red}{0} \color{red}{0} \color{red}{0} \color{red}{0} \color{red}{0} \color{red}{0} \color{red}{0} \color{red}{0} \color{red}{0} lf1G1mf1G1nf1G1−1000000000000000 对应于第一个GPS卫星第一个频率的伪距观测值,其中观测方向余弦和接收机钟差有影响,但没有模糊度影响。
-
第五行 l f 2 G 2 m f 2 G 2 n f 2 G 2 − 1 − 1 0 0 0 0 0 0 0 0 0 0 0 0 0 \color{blue}{l_{f2}^{G2}} \color{blue}{m_{f2}^{G2}} \color{blue}{n_{f2}^{G2}} \color{blue}{-1} \color{blue}{-1} \color{blue}{0} \color{blue}{0} \color{blue}{0} \color{blue}{0} \color{blue}{0} \color{blue}{0} \color{blue}{0} \color{blue}{0} \color{blue}{0} \color{blue}{0} \color{blue}{0} \color{blue}{0} \color{blue}{0} lf2G2mf2G2nf2G2−1−10000000000000 对应于第二个GPS卫星第二个频率的伪距观测值,观测方向余弦、两个接收机钟差都有影响,但没有模糊度影响。
-
第十三行 l f 1 C 1 m f 1 C 1 n f 1 C 1 − 1 0 − 1 0 0 0 0 0 0 0 1 0 0 0 0 \color{green}{l_{f1}^{C1}} \color{green}{m_{f1}^{C1}} \color{green}{n_{f1}^{C1}} \color{green}{-1} \color{green}{0} \color{green}{-1} \color{green}{0} \color{green}{0} \color{green}{0} \color{green}{0} \color{green}{0} \color{green}{0} \color{green}{0} \color{green}{1} \color{green}{0} \color{green}{0} \color{green}{0} \color{green}{0} lf1C1mf1C1nf1C1−10−1000000010000 对应于第一个北斗卫星第一个频率的伪距观测值,观测方向余弦、接收机钟差和模糊度都有影响。
-
第二十行 l f 2 C 2 m f 2 C 2 n f 2 C 2 − 1 0 0 − 1 0 0 0 0 0 0 0 0 0 0 0 1 0 \color{magenta}{l_{f2}^{C2}} \color{magenta}{m_{f2}^{C2}} \color{magenta}{n_{f2}^{C2}} \color{magenta}{-1} \color{magenta}{0} \color{magenta}{0} \color{magenta}{-1} \color{magenta}{0} \color{magenta}{0} \color{magenta}{0} \color{magenta}{0} \color{magenta}{0} \color{magenta}{0} \color{magenta}{0} \color{magenta}{0} \color{magenta}{0} \color{magenta}{0} \color{magenta}{0} \color{magenta}{1} \color{magenta}{0} lf2C2mf2C2nf2C2−100−10000000000010 对应于第二个北斗卫星第二个频率的载波观测值,观测方向余弦、接收机钟差和模糊度都有影响。
这个设计矩阵 A \mathbf{A} A 的构建方法,确保了每个观测方程正确考虑了相关的状态参数(位置、钟差、模糊度等),从而准确建模了系统的观测方程。
附加A:
伪距的接收机钟偏会不会进入到模糊度里?
是的,伪距的接收机钟差会进入到模糊度里。这是因为在观测方程中,伪距观测值和载波观测值都会受到接收机钟差的影响。当我们解算位置和钟差时,接收机钟差的不准确性会导致模糊度参数吸收掉一些钟差的误差,从而失去整周特性。
举例说明:
假设我们有两个卫星 S 1 S_1 S1 和 S 2 S_2 S2,其伪距观测值分别为 P r 1 P^1_r Pr1 和 P r 2 P^2_r Pr2,接收机钟差为 δ t \delta t δt。伪距观测方程为:
P r 1 = ρ r 1 + c δ t + ϵ P 1 P^1_r = \rho^1_r + c\delta t + \epsilon_{P1} Pr1=ρr1+cδt+ϵP1
P r 2 = ρ r 2 + c δ t + ϵ P 2 P^2_r = \rho^2_r + c\delta t + \epsilon_{P2} Pr2=ρr2+cδt+ϵP2
其中, ρ r 1 \rho^1_r ρr1 和 ρ r 2 \rho^2_r ρr2 分别为接收机到卫星 S 1 S_1 S1 和 S 2 S_2 S2 的几何距离, c c c 为光速, ϵ P 1 \epsilon_{P1} ϵP1 和 ϵ P 2 \epsilon_{P2} ϵP2 为伪距观测噪声。
假设几何距离为:
ρ r 1 = 20200000 米 \rho^1_r = 20200000 \text{ 米} ρr1=20200000 米
ρ r 2 = 20400000 米 \rho^2_r = 20400000 \text{ 米} ρr2=20400000 米
接收机钟差为:
δ t = 0.00027 秒 \delta t = 0.00027 \text{ 秒} δt=0.00027 秒
伪距观测值为:
P r 1 = 20200100 米 P^1_r = 20200100 \text{ 米} Pr1=20200100 米
P r 2 = 20400100 米 P^2_r = 20400100 \text{ 米} Pr2=20400100 米
计算钟差修正项:
c δ t = 3 × 1 0 8 × 0.00027 = 81000 米 c\delta t = 3 \times 10^8 \times 0.00027 = 81000 \text{ 米} cδt=3×108×0.00027=81000 米
校正后的伪距观测值:
P r 1 = ρ r 1 + 81000 + ϵ P 1 = 20200000 + 81000 + ϵ P 1 = 20281000 + ϵ P 1 P^1_r = \rho^1_r + 81000 + \epsilon_{P1} = 20200000 + 81000 + \epsilon_{P1} = 20281000 + \epsilon_{P1} Pr1=ρr1+81000+ϵP1=20200000+81000+ϵP1=20281000+ϵP1
P r 2 = ρ r 2 + 81000 + ϵ P 2 = 20400000 + 81000 + ϵ P 2 = 20481000 + ϵ P 2 P^2_r = \rho^2_r + 81000 + \epsilon_{P2} = 20400000 + 81000 + \epsilon_{P2} = 20481000 + \epsilon_{P2} Pr2=ρr2+81000+ϵP2=20400000+81000+ϵP2=20481000+ϵP2
在这种情况下,接收机钟差的不准确性会影响到模糊度参数。如果接收机钟差存在误差,模糊度参数将会吸收这些误差,从而失去整周特性。
所有的多余误差被模糊度吸收掉,此时模糊度再一次失去整周特征;我们再一次使用星间单差将吸收的伪距码延迟多吸收的东西消除掉。
是因为载波计算用到了伪距计算作为初始值吗?
是的,载波计算通常使用伪距计算作为初始值。伪距观测值提供了一个粗略的定位结果和钟差估计,这些结果用于校正载波观测值中的误差。然而,伪距观测值中的接收机钟差误差会进入到载波观测值的模糊度参数中,从而影响模糊度的整周特性。
所有的多余误差被模糊度吸收掉,此时模糊度再一次失去整周特征;我们再一次使用星间单差将吸收的伪距码延迟多吸收的东西消除掉。
星间单差是如何消除误差的(例子只用于理解,数值有些大)?
星间单差(ISD,Inter-Satellite Difference)是通过对两个不同卫星的观测值进行差分,来消除共同误差项。具体步骤如下:
假设有两个卫星 S 1 S_1 S1 和 S 2 S_2 S2,对应的观测方程为:
P r 1 = ρ r 1 + c δ t + ϵ P 1 P^1_r = \rho^1_r + c\delta t + \epsilon_{P1} Pr1=ρr1+cδt+ϵP1
P r 2 = ρ r 2 + c δ t + ϵ P 2 P^2_r = \rho^2_r + c\delta t + \epsilon_{P2} Pr2=ρr2+cδt+ϵP2
进行星间单差后,得到的差分观测值为:
Δ P 12 = P r 1 − P r 2 = ( ρ r 1 + c δ t + ϵ P 1 ) − ( ρ r 2 + c δ t + ϵ P 2 ) \Delta P_{12} = P^1_r - P^2_r = (\rho^1_r + c\delta t + \epsilon_{P1}) - (\rho^2_r + c\delta t + \epsilon_{P2}) ΔP12=Pr1−Pr2=(ρr1+cδt+ϵP1)−(ρr2+cδt+ϵP2)
可以简化为:
Δ P 12 = ρ r 1 − ρ r 2 + ϵ P 1 − ϵ P 2 \Delta P_{12} = \rho^1_r - \rho^2_r + \epsilon_{P1} - \epsilon_{P2} ΔP12=ρr1−ρr2+ϵP1−ϵP2
在这个差分观测方程中,接收机钟差 c δ t c\delta t cδt 被消除了,只剩下几何距离差和观测噪声的差值。这种方法有效地减小了由于接收机钟差带来的误差,从而提高了定位精度。
举例说明:
假设:
- ρ r 1 = 20200000 米 \rho^1_r = 20200000 \text{ 米} ρr1=20200000 米
- ρ r 2 = 20400000 米 \rho^2_r = 20400000 \text{ 米} ρr2=20400000 米
- ϵ P 1 = 100 米 \epsilon_{P1} = 100 \text{ 米} ϵP1=100 米
- ϵ P 2 = − 50 米 \epsilon_{P2} = -50 \text{ 米} ϵP2=−50 米
进行星间单差后:
Δ P 12 = 20200000 − 20400000 + 100 − ( − 50 ) = − 200000 + 150 = − 1999850 米 \Delta P_{12} = 20200000 - 20400000 + 100 - (-50) = -200000 + 150 = -1999850 \text{ 米} ΔP12=20200000−20400000+100−(−50)=−200000+150=−1999850 米
通过星间单差,接收机钟差被有效消除,只剩下几何距离差和观测噪声的差值。这样可以更准确地估计接收机的位置和模糊度。