GNSS
全球卫星导航系统提供接收器的3维坐标和速度以及对应的时间信息。
1 分类
- 美国的全球定位系统(GPS)
- 中国的北斗卫星导航系统(BDS)
- 欧盟的伽利略卫星导航系统(GALILEO)
- 俄罗斯的格洛纳斯卫星导航系统(GLONASS)
2 卫星定位原理
通过三球定位法可以确定空间一点的三维坐标。
接收器到卫星的距离
r
\ r
r通过下式计算:
r
=
c
×
δ
t
\ r = c \times \delta t
r=c×δt
设接收器的三维笛卡尔坐标为
(
x
,
y
,
z
)
\ (x,y,z)
(x,y,z),三颗卫星的坐标为
(
x
i
,
y
i
,
z
i
)
\ (x_i,y_i,z_i)
(xi,yi,zi),
i
∈
(
1
,
2
,
3
)
\ i\in(1,2,3)
i∈(1,2,3),则有下式成立:
{
(
x
−
x
1
)
2
+
(
y
−
y
1
)
2
+
(
z
−
z
1
)
2
=
r
1
2
(
x
−
x
2
)
2
+
(
y
−
y
2
)
2
+
(
z
−
z
2
)
2
=
r
2
2
(
x
−
x
3
)
2
+
(
y
−
y
3
)
2
+
(
z
−
z
3
)
2
=
r
3
2
\begin{cases} (x-x_1)^2+(y-y_1)^2+(z-z_1)^2 = r_1^2 \\ (x-x_2)^2+(y-y_2)^2+(z-z_2)^2 = r_2^2 \\ (x-x_3)^2+(y-y_3)^2+(z-z_3)^2 = r_3^2 \\ \end{cases}
⎩
⎨
⎧(x−x1)2+(y−y1)2+(z−z1)2=r12(x−x2)2+(y−y2)2+(z−z2)2=r22(x−x3)2+(y−y3)2+(z−z3)2=r32
每颗卫星发送的信号中包含精确的时间信息,由卫星上的原子钟提供。而接收器的时钟通常没有卫星的原子钟那么精确,因此会有时钟偏差。
设时钟偏差为
Δ
t
\Delta t
Δt,则有下式成立:
{
(
x
−
x
1
)
2
+
(
y
−
y
1
)
2
+
(
z
−
z
1
)
2
+
c
×
Δ
t
=
r
1
(
x
−
x
2
)
2
+
(
y
−
y
2
)
2
+
(
z
−
z
2
)
2
+
c
×
Δ
t
=
r
2
(
x
−
x
3
)
2
+
(
y
−
y
3
)
2
+
(
z
−
z
3
)
3
+
c
×
Δ
t
=
r
3
(
x
−
x
4
)
2
+
(
y
−
y
4
)
2
+
(
z
−
z
4
)
3
+
c
×
Δ
t
=
r
4
\begin{cases} \sqrt{(x-x_1)^2+(y-y_1)^2+(z-z_1)^2}+c\times\Delta t = r_1 \\ \sqrt{(x-x_2)^2+(y-y_2)^2+(z-z_2)^2}+c\times\Delta t = r_2 \\ \sqrt{(x-x_3)^2+(y-y_3)^2+(z-z_3)^3}+c\times\Delta t = r_3 \\ \sqrt{(x-x_4)^2+(y-y_4)^2+(z-z_4)^3}+c\times\Delta t = r_4 \\ \end{cases}
⎩
⎨
⎧(x−x1)2+(y−y1)2+(z−z1)2+c×Δt=r1(x−x2)2+(y−y2)2+(z−z2)2+c×Δt=r2(x−x3)2+(y−y3)2+(z−z3)3+c×Δt=r3(x−x4)2+(y−y4)2+(z−z4)3+c×Δt=r4
四个未知数需要四个方程进行1求解,所以至少需要四颗卫星来进行定位,使用数值方法(如最小二乘法)解方程组,得到精确位置和时钟偏差。
3 NMEA-0183 协议
GNSS接收机输出的数据大多采用NMEA-0183 协议。该协议包含如下字段
字段 | 描述 |
---|---|
GGA | 定位信息 |
GSA | 定位状态和精度信息 |
GSV | 可见卫星信息 |
RMC | 推荐最小定位信息 |
VTG | 地面航向及速度信息 |
GLL | 地理定位信息 |
3.1 RMC字段
例子:$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A
数据 | 含义 |
---|---|
123519 | 12:35:19 UTC |
A | 数据有效 |
4807.038,N | 北纬48度07.038分 |
01131.000,E | 东经11度31.000分 |
022.4 | 速度为22.4节 |
084.4 | 航向为84.4度 |
230394 | UTC日期年月日 |
003.1 | 磁偏角为西偏3.1度 |
W*6A | 校验和 |
4.GNSS定位误差来源
误差来源 | 例子 |
---|---|
信号传播 | 电离层延迟、对流层延迟、多径效应 |
卫星 | 星历误差、时钟误差、相对论效应 |
接收机 | 时钟误差、位置误差、天线相位中心变化 |
地球转动 | 地球潮汐 、负荷潮 |
5.差分定位
差分GNSS定位利用已知位置的基准站将公共误差估算出来,通过相关的补偿算法进一步减小误差,从而提高定位精度。根据差分校正的目标参量的不同,差分GNSS主要分为位置差分、伪距差分和载波相位差分。
5.1 位置差分
在基准站中利用GNSS接收机获取坐标测量值,利用基准站的坐标真值和测量值计算差分校正值,基准站将差分校正值通过数据链路发送给流动站,流动站接收到差分校正值后对自身的测量值进行修正。
5.2 伪距差分
基准站可获得与各个卫星之间的真实距离,在基准站中利用GNNS接收机获取与卫星之间的伪距,并利用滤波器计算伪距修正值,然后将所有卫星的伪距修正值传输给流动站,流动站利用此误差来改正GNSS卫星传输测量伪距,进而提高定位精度。
5.3 载波相位差分(Real Time Kinematic,RTK)
载波差分技术的根本是实时处理两个测站的载波相位,与其他差分技术相比,载波相位差分技术中基准站不直接传输关于GNSS测量的差分校正量,而是发送GNSS的测量原始值。流动站收到基准站的数据后,与自身观测卫星的数据组成相位差分观测值,利用组合后的测量值求出基线向量完成相对定位,进而推算出测量点的坐标。常用的RTK定位技术分为常规RTK和网络RTK。
1)常规RTK
基准站通过数据通信链路将自己所获得的载波相位观测值及站坐标实时播发给在其周围工作的动态用户。流动站数据处理模块则通过动态差分定位的方式,确定流动站相对于基准站的位置,并根据基准站的坐标得到自身的瞬时绝对位置。
2)网络RTK
在一定区域内建立多个(一般为三个或三个以上)基准站,对该地区构成网状覆盖,并以这些基准站中的一个或多个为基准,计算和发播改正信息,对该地区内的卫星定位用户进行实时改正的定位方式,称为网络RTK,又称为多基站RTK。主要优点为覆盖面广,定位精度高,可靠性高,可实时提供厘米级定位。