GNSS原理及配置

发布时间: 2024-02-02 11:05:33

GNSSGlobal Navigation Satellite System,全球导航卫星系统)定位的基本原理是通过测量四颗或四颗以上已知位置的卫星与 GNSS 接收机的距离,通过距离交汇的方式来确定接收机的位置。如1所示,图中的 GNSS 接收机为当前要确定位置的设备,卫星 S1S2S3S4 为本次定位要用到的四颗卫星,p1p2p3p4 为测量得到的卫星到接收机的距离。由于存在各种误差的影响,这并不是真正的几何距离,称之为伪距。

AIoT万物智联,智能安全帽生产厂家,执法记录仪生产厂家,智能安全帽智能头盔头盔记录仪执法记录仪智能视频分析/边缘计算AI盒子车载DVR/NVR、布控球智能眼镜智能手电无人机4G补传系统等统一接入大型融合通信可视指挥调度平台VMS/smarteye

根据已知的卫星信息,可以列出如下方程:

 

通过解算方程就能得到接收机的位置。方程式中,c 为光速,CB 为接收机时钟差,X、Y、Z为接收机位置,其中接收机位置和接收机的钟差是未知数。

获取卫星位置

卫星的位置信息通过导航电文调制在卫星播发的信号中。只要能锁定卫星,GNSS 接收机就可以根据电文的格式,把卫星位置相关的信息解调出来,从而确定卫星的位置。

卫星位置信息在电文中是重复播发的,通常重复的周期是 30 秒。这也是为什么在信号条件较好的情况下,冷启动的定位时间是 30 秒左右的原因。

卫星号定义

卫星系统

卫星号

GPS

1 ~ 32

SBAS

33 ~ 54

GLONASS

65 ~ 92

GALILEO

95 ~ 130

QZSS

193 ~ 200

BDS

201 ~ 264

IRNSS

301 ~ 312

启动模式

启动模式主要根据接收机所处的不同状态来定义。这些状态通常由以下因素决定:

  • 位置:接收机是否定位过。

  • 参考时间:接收机是否维持有效的时间。

  • 星历:接收机中备份的星历信息是否有效。

  • 历书:接收机中备份的历书是否有效。

     

根据这些信息的状态,将启动分为工厂启动、冷启动、温启动和热启动,具体定义见下表:

启动方式

位置

时间

星历

历书

工厂启动

冷启动

无/失效

无/失效

无/失效

温启动

热启动

  • 工厂启动:接收机从来没有定过位,第一次使用的情形。

     

  • 冷启动:接收机定过位,但距离上一次定位的时间太长导致历史备份的信息都失效的情形。

     

  • 温启动:接收机定过位,但是距离上一次定位时间超过 小时的情形,这是终端用户遇到的绝大多数场景。

     

  • 热启动:接收机定过位且距离上一次定位的时间小于 小时。

     

TTFF

用户发起定位到终端定位成功之间的时间为 TTFF(Time To First Fix,首次定位时间),主要由卫星捕获的时间和卫星星历的获取时间组成。

卫星捕获时间主要受测试环境的影响,与信号强度相关。

卫星星历的获取有几种方式:

  • 对工厂启动,冷启动和温启动而言,主要从 GNSS 卫星信号中解调得到,时间主要与星历播发周期(通常是 30 秒)、信号强度相关。

     

  • 对热启动而言,由于星历在本地已经有备份,TTFF 主要受卫星捕获的时间影响,所以热启动 TTFF很短,在信号环境好的情况下通常只需要 秒。

     

在具备 AGNSS(Assisted- Global Positioning System,辅助全球导航卫星系统)的情况下,卫星星历直接通过网络下载到终端中,所以 TTFF 大大缩短,通常定位速度可以接近热启动。为了获得更好的 TTFF建议使用 AGNSS 功能。

多星座联合定位

GNSS 卫星定位的精度受到卫星数量和卫星构型的影响。多星座增加了卫星数量,可以有效提升卫星的几何构型,尤其在有遮挡的信号环境下效果非常明显。

从另一方面来分析,TTFF 和卫星星历获取的时间相关。由于各星座间星历调制的格式及时序不一致,则在不同时刻点可以解调到不同卫星的星历信息,相对一个星座而言,极大的增加了快速获取足够卫星星历的概率,从而有效降低 TTFF

影响因素

利用 GNSS 进行定位时,会受到各种各样因素的影响,从而造成定位误差。GNSS 系统的主要误差来源可分为三类:

  • 与 GNSS 卫星有关的误差:主要有卫星星历的误差、卫星钟差等。

     

  • 与信号传播有关的误差:主要有对流层延迟、电离层延迟以及多路径效应。

     

  • 与接收设备有关的误差:主要有接收机钟差,接收机噪声以及由于接收机和卫星存在相对运动引入的相对论效应。

     

同时,卫星的几何构型(和卫星的分布和卫星的数量相关)也会对 GNSS 定位精度造成影响,通常可以通过 NMEA 中的 HDOP 值来分析卫星的几何构型是否良好。

根据上述的各种影响因素,可以了解到 GNSS 定位与卫星信号的强弱、卫星数量的多少、接收机所处的环境是否有遮挡、是否存在反射信号等因素有密切关系。

在具备 AGNSS 的情况下,卫星星历直接通过网络下载到终端中。在此条件下,实际可用于定位的卫星颗数大于不使用 AGNSS 的情况,定位精度因此会好于不使用 AGNSS 的情况。为了获得更好的定位效果,建议使用 AGNSS 功能。

定位模式

除了 GNSS 定位外,还有一些基于网络的定位方式,主要包括基站定位和 Wi-Fi 定位:

  • GNSS 定位是指利用捕获到的 GNSS 卫星信息根据测距原理进行解算来确定接收机的精确位置。

     

  • 基站定位利用设备搜集周围所有收到信号的基站及其 ID,查询定位服务器可知基站位置。再通过计算基站信号传播到终端的角度、时间和强度等信息,就可以确定终端的位置。

     

  • Wi-Fi 定位则是通过设备周围每个 Wi-Fi 热点的信号强弱计算出设备的大致地理位置。每个热点的位置可以通过查询服务器获取。

     

对应到 Android 系统中的 LocationManager,GPSProvider 提供的位置信息就是 GNSS 定位,而NetworkProvider 提供的位置信息就是网络定位。

各种定位模式的定位精度如下:

  • GNSS 定位:根据卫星信号来确定设备位置,在空旷的环境下,误差只有几米。

     

  • Wi-Fi 定位:根据附近的 Wi-Fi 网络来确定设备位置。

     

  • 基站定位:根据设备与移动网络的连接来确定位置,其误差最高可达几千米。

     

常用的NMEA语句

NMEA 语句是 GNSS 定位信息的标准输出格式,主要有以下两种语句格式:

  • GGA 语句:可以获取定位信息,包括经纬度、定位状态、卫星数、卫星构型等信息。

     

  • GSV 语句:可以获取卫星相关的信息,如高度角、方位角以及信号强度(CN0)。

     

对这两条语句的详细解释如下:

  • GGA 数据详解:

     

语句格式:

$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*xx

示例:

$GPGGA,180432.00,4027.027912,N,08704.857070, W,2,07,1.0,212.15,M,-33.81,M,4.2,0555*73

字段1:UTC 时间,格式为 hhmmss.sss

字段2:纬度,格式为 ddmm.mmmm(第一位是0也将传送)。

字段3:纬度半球,或 S(北纬或南纬)。

字段4:经度,格式为 dddmm.mmmm(第一位0也将传送)。

字段5:经度半球,E 或 W(东经或西经)。

字段6:定位质量指示,0=定位无效,1=定位有效,2=差分定位,6=惯导定位。

字段7:使用卫星数量,从 00 到 12(第一个零也将传送)。

字段8:水平精确度,0.5 到 99.9

字段9:天线离海平面的高度,-9999.9 到 9999.9 米。

字段10:大地水准面高度,-9999.9 到 9999.9 米。

字段11:差分 GNSS 数据期限(RTCM SC-104),最后设立 RTCM 传送的秒数量。

字段12:差分参考基站标号,从 0000 到 1023(首位 也将传送)。

xxChecksum 校验和。

  • GSV 数据详解:

     

语句格式:

$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>*xx

示例:

$GPGSV,3,1,10,20,78,331,45,01,59,235,47,22,41,069,,13,32,252,45*70

字段 1:本次 GSV 语句的总数目(1 - 3)。

字段 2:本条 GSV 语句是本次 GSV 语句的第几条(1 - 3)。

字段 3:当前可见卫星总数(00 - 12)(前导位数不足则补 0)。

字段 4PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补 0)。

字段 5:卫星仰角(00 - 90)度(前导位数不足则补 0)。

字段 6卫星方位角(00 - 359)度(前导位数不足则补 0)。

字段 7信噪比(00 - 99dB-Hz

字段 8PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补 0)。

字段 9卫星仰角(00 - 90)度(前导位数不足则补 0)。

字段 10卫星方位角(00 - 359)度(前导位数不足则补 0)。

字段 11信噪比(00 - 99dB-Hz

字段 12PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补 0)。

字段 13卫星仰角(00 - 90)度(前导位数不足则补 0)。

字段 14卫星方位角(00 - 359)度(前导位数不足则补 0)。

字段 15信噪比(00 - 99dB-Hz

xxChecksum 校验和。

影响GNSS信号的因素

材料因素

  • GNSS 模块接收的是 1575.42 MHz 微波信号,1575.42MHz 的微波信号波长是 19 厘米,所以理论上可以透过孔径(直径)大于 19 厘米的金属网,或普通金属桁架结构,比如输电铁塔。

  • 将 GNSS 模块放入任何金属实体中,信号会被完全遮闭掉。

  • 在深度为 厘米以上的水体中使用 GNSS 模块,信号会完全衰减至不可用。

  • 将 GNSS 模块放入玻璃或者塑料腔体中,信号会有轻度衰减。

  • 将 GNSS 模块放在厚重的非金属物体(比如几厘米的木头)中,信号会被完全遮挡。

     

其它因素

  • 天气:GNSS 信号的波长足以让它穿越空气中的各种障碍物。恶劣的天气完全不会对 GNSS 信号正常工作产生影响。

  • 树冠:树叶中含有的水分、树叶上面的水分(露水或下雨)以及树的枝干密集程度对 GNSS 信号的衰减会产生影响。

  • 挡风玻璃:汽车挡风玻璃会让 GNSS 信号轻微衰减,但是车膜对 GNSS 信号的影响要比玻璃大得多。

     

AGNSS 功能开启

  • 用户面(User plane):AGNSS 用户面(User plane)开关默认是开启的,不需要额外去开启 AGNSS开关。当设置好可用 AGNSS 服务器地址和端口号且开启数据业务,在现网下就可以使用 AGNSS 户面(User plane)功能。

     

  • 控制面(Control plane):AGNSS 控制面(Control plane)的开启主要开关在 modem 侧,需要把modem 侧的 AGNSS NV 开启后才能使用该功能。

 

配置 SUPL 服务器地址

在版本发布中都会含有 supl.xml 文件,通过修改来配置 AGNSS 服务器地址。

SERVER-ADDRESS配置 supl 服务器地址。

SERVER-PORTsupl 服务器端口。

不同的 Android 版本、芯片,该 xml 配置文件在版本中的位置存在差异。

服务器证书启用修改

证书的作用是校验连接的服务器是否合法。证书在 GCF 等认证实验室中,部分 Case 是必须的,客户需要根据仪表提供的证书正确配置。

在真实网络环境中,一般不建议使用证书。

证书文件本身需要从服务器或仪表处获得,注意一定要确保证书是正确的,一旦证书错误会导致 SUPL服务无法使用。