全球导航卫星系统(GNSS)设备返回的原始报文通常被称为 ”NMEA 0183″ 报文。NMEA 0183 是由国家海洋电子协会(National Marine Electronics Association, NMEA)制定的一种通信协议,用于船舶和航海导航设备之间的数据交换,包括 GNSS 接收器、声纳、自动舵等设备。尽管最初设计用于航海领域,但 NMEA 0183 协议也被广泛应用于各种 GNSS 接收设备中,用以输出位置、速度、时间等信息。
NMEA 0183 报文由一系列的 ASCII 文本行组成,每行代表一种特定类型的数据。每行文本通常以 ’$’ 开始,后跟一个或多个数据字段,字段之间由逗号分隔,最后以校验和结束。报文的类型由报文的第一个字段(即数据句类型)指定,例如:
GPGGA:全球定位系统定位信息,包含了经纬度、海拔、定位质量等信息。
GPGLL:地理定位信息,提供经纬度和时间。
GPGSA:GNSS DOP(Dilution of Precision,精度衰减因子)和活动卫星信息。
GPGSV:可见 GNSS 卫星信息,包括卫星编号、高度、方位和信噪比。
GPRMC:推荐最小导航信息,包括时间、日期、位置、速度等。
例如,一个 GPGGA 报文可能看起来像这样:
$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47
其中,123519是时间(12:35:19 UTC),4807.038,N和 01131.000,E 分别是纬度和经度,1表示定位质量(1 表示 GPS 定位),08是使用的卫星数量,0.9是 HDOP(水平精度衰减因子),545.4,M是海拔高度(米),后面的 46.9,M 是地球椭球面相对于平均海平面的高度。
NMEA 0183 报文为不同类型的海洋和地面 GNSS 接收设备提供了一种标准化的数据输出格式,使得设备间的数据共享和交换变得更加容易。随着技术的发展,一些新的协议和数据格式(如 NMEA 2000 和 UBX)也被开发出来,用于满足更高速度和更复杂数据交换的需求。