GnssMeasurement 结构参考

GnssMeasurement 结构参考

#include < gps.h >

数据字段

尺寸_t尺寸
Gnss测量标志旗帜
int16_t斯维德
Gnss星座类型星座
双倍的时间偏移量ns
Gnss测量状态状态
int64_t收到的 sv_time_in_ns
int64_t receive_sv_time_uncertainty_in_ns
双倍的c_n0_dbhz
双倍的伪距速率mps
双倍的伪距率_不确定性_mps
GnssAccumulatedDeltaRangeState累积增量范围状态
双倍的累积_增量_范围_m
双倍的cumulative_delta_range_uncertainty_m
漂浮载波频率_hz
int64_t载波周期
双倍的载波相位
双倍的载波相位不确定度
Gnss多路径指示器多路径指示器
双倍的信噪比数据库

详细说明

表示 GNSS 测量,它包含原始信息和计算信息。

独立性 - 此结构中报告的所有信号测量信息(例如 sv_time、pseudorange_rate、multipath_indicator)应仅基于 GNSS 信号测量。您不得通过基于已知或估计的位置、速度或时间计算或报告预期测量值来综合测量值。

定义位于文件gps.h的第1656行。

现场文档

双累积_delta_range_m

自上次通道重置以来的累积增量范围(以米为单位)。正值表示 SV 正在远离接收器。

“累积增量范围”的符号及其与“载波相位”符号的关系由以下公式给出:累积增量范围 = -k * 载波相位(其中 k 是常数)

如果“累积增量距离状态”!= GPS_ADR_STATE_UNKNOWN,则必须填充此值。但是,预计数据仅在以下情况下准确:“累积增量距离状态”== GPS_ADR_STATE_VALID。

定义位于文件gps.h的第1835行。

累积增量范围的状态。它指示ADR是否被重置或者是否存在周跳(表示失锁)。

这是一个强制值。

文件gps.h1821行的定义。

双累积_delta_range_uncertainty_m

累积增量范围的 1-Sigma 不确定度(以米为单位)。如果“累积增量距离状态”!= GPS_ADR_STATE_UNKNOWN,则必须填充此值。

文件gps.h1841行的定义。

双 c_n0_dbhz

载噪比密度(以 dB-Hz 为单位),通常范围为 [0, 63]。它包含天线端口处信号的测量 C/N0 值。

这是一个强制值。

文件gps.h1778行的定义。

int64_t 载波周期

卫星和接收器之间的完整载波周期数。参考频率由字段“Carrier_Frequency_hz”给出。可以从accumulated_delta_range_state标志推断出该值的累积中可能的周跳和重置的指示。

如果数据可用,“flags”必须包含 GNSS_MEASUREMENT_HAS_CARRIER_CYCLES。

定义位于文件gps.h的第1861行。

浮动载波频率_hz

调制代码和消息的载波频率,可以是L1或L2。如果未设置该字段,则假定载波频率为 L1。

如果数据可用,“flags”必须包含 GNSS_MEASUREMENT_HAS_CARRIER_FREQUENCY。

文件gps.h1850行的定义。

双载波相位

接收器检测到的 RF 相位,范围为 [0.0, 1.0]。这通常是完整载波相位测量的小数部分。

参考频率由字段“Carrier_Frequency_hz”给出。该值包含“载波相位不确定性”。

如果数据可用,“flags”必须包含 GNSS_MEASUREMENT_HAS_CARRIER_PHASE。

文件gps.h1873行的定义。

双载波相位不确定性

载波相位的 1-Sigma 不确定性。如果数据可用,“标志”必须包含 GNSS_MEASUREMENT_HAS_CARRIER_PHASE_UNCERTAINTY。

文件gps.h1880行的定义。

定义给定 SV 的星座。值应该是 GNSS_CONSTELLATION_* 常量之一

定义位于文件gps.h的第1673行。

一组标志,指示该数据结构中字段的有效性。

定义位于文件gps.h的第1661行。

GnssMultipathIndicator multipath_indicator

指示事件的“多路径”状态的枚举。

多径指示器旨在报告重叠信号的存在,这些信号表现为失真的相关峰值。

  • 如果存在扭曲的相关峰值形状,则报告多径为 GNSS_MULTIPATH_INDICATOR_PRESENT。
  • 如果不存在扭曲的相关峰形状,则报告 GNSS_MULTIPATH_INDICATOR_NOT_PRESENT
  • 如果信号太弱而无法识别此信息,请报告 GNSS_MULTIPATH_INDICATOR_UNKNOWN

示例:在进行标准化重叠多径性能测试 (3GPP TS 34.171) 时,多径指示器应针对那些被跟踪且包含多径的信号报告 GNSS_MULTIPATH_INDICATOR_PRESENT,并针对那些被跟踪但不包含多径的信号报告 GNSS_MULTIPATH_INDICATOR_NOT_PRESENT。

文件gps.h1901行的定义。

双伪距率_mps

时间戳处的伪距速率(以米/秒为单位)。给定伪距速率值的校正包括对接收机和卫星时钟频率误差的校正。确保该字段是独立的(请参阅GnssMeasurement结构顶部的注释。)

必须提供“未校正的”“伪距率”,并提供GpsClock的“漂移”字段(当提供未校正的伪距率时,请勿应用上述校正。)

该值包含“伪距速率不确定性”。正的“未校正”值表示 SV 正在远离接收器。

“未校正”“伪距率”的符号及其与“多普勒频移”符号的关系由以下方程给出:伪距率 = -k * 多普勒频移(其中 k 是常数)

根据来自该通道的最新信号测量,这应该是最准确的伪距速率。

当信号足够强且稳定时,例如来自 GPS 模拟器的信号 >= 35 dB-Hz 时,必须以典型的载波相位 PRR 质量(每秒几厘米/秒的不确定性或更好)提供该值。

定义位于文件gps.h的第1805行。

双伪距_rate_uncertainty_mps

伪距率_mps 的 1-Sigma 不确定性。不确定性表示为绝对(单边)值。

这是一个强制值。

文件gps.h1813行的定义。

int64_t receive_sv_time_in_ns

在测量时间接收到的 GNSS 周时间(以纳秒为单位)。确保该字段是独立的(请参阅GnssMeasurement结构顶部的注释。)

对于 GPS 和 QZSS,这是:在测量时间接收到的 GPS 周时间(以纳秒为单位)。该值相对于当前 GPS 周的开始时间。

给定每个卫星可以达到的最高同步状态,该字段的有效范围可以是: 搜索: [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A 代码锁定 : [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK 已设置 位同步 : [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC 已设置 子帧同步 : [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC 已设置 TOW 解码 : [ 0 1week ] : GNSS_MEASUREMENT_STATE_TOW_DECODED 已设置

请注意:如果整数毫秒存在任何歧义,则应在“状态”字段中相应地设置 GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS。

如果 'state' != GNSS_MEASUREMENT_STATE_UNKNOWN,则必须填充此值。

对于 Glonass,这是:一天中接收到的 Glonass 时间,测量时间(以纳秒为单位)。

给定每个卫星可以达到的最高同步状态,该字段的有效范围可以是: 搜索: [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A 代码锁定 : [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK 已设置 符号同步 : [ 0 10ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC 已设置 位同步 : [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC 已设置 字符串同步 : [ 0 2s ] : GNSS_MEASURMENT_STATE_GLO_STRING_SYNC 已设置 一天中的时间 : [ 0 1day ] : GNSS_MEASUREMENT_STATE_GLO_ TOD_DECODED 已设置

对于北斗,这是:在测量时间(以纳秒为单位)接收到的北斗一周时间。

给定每个卫星可以达到的最高同步状态,该字段的有效范围可以是: 搜索: [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A 代码锁定: [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK 已设置 位同步 (D2): [ 0 2ms ] : GNSS_MEASUREMENT_STATE_BDS_D2_BIT_SYNC 已设置 位同步 (D1): [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC 已设置 子帧 (D2): [ 0 0.6s ] : GNSS_MEASUREMENT_STATE_BDS_D2_SUBFRAME_SYNC 已设置 子帧 (D1) ): [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC 设置的时间周 : [ 0 1week ] : GNSS_MEASUREMENT_STATE_TOW_DECODED 已设置

对于伽利略,这是:在测量时间(以纳秒为单位)收到的伽利略一周时间。

E1BC 代码锁:[ 0 4ms ] :设置 GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK E1C 第二个代码锁:[ 0 100ms ] :设置 GNSS_MEASURMENT_STATE_GAL_E1C_2ND_CODE_LOCK

E1B 页面:[ 0 2s ]:设置 GNSS_MEASUREMENT_STATE_GAL_E1B_PAGE_SYNC 一周时间:[0 1week]:设置 GNSS_MEASUREMENT_STATE_TOW_DECODED

对于 SBAS,这是:测量时间处接收到的 SBAS 时间(以纳秒为单位)。

给定每个卫星可以达到的最高同步状态,该字段的有效范围可以是: 搜索:[ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A 代码锁定:[ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK 已设置 符号同步:[ 0 2ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC 已设置 消息 : [ 0 1s ] : GNSS_MEASUREMENT_STATE_SBAS_SYNC 已设置

定义位于文件gps.h的第1763行。

int64_t returned_sv_time_uncertainty_in_ns

接收的 GPS 周时间的 1-Sigma 不确定性(以纳秒为单位)。

如果 'state' != GPS_MEASURMENT_STATE_UNKNOWN,则必须填充此值。

文件gps.h1770行的定义。

size_t 尺寸

设置为 sizeof(GpsMeasurement)

定义位于文件gps.h的第1658行。

双snr_db

相关器输出的信噪比(以 dB 为单位)。如果数据可用,“标志”必须包含 GNSS_MEASUREMENT_HAS_SNR。这是“观察到的本底噪声之上的相关峰值高度”与“噪声 RMS”的功率比。

文件gps.h1909行的定义。

每个卫星同步状态。它代表关联卫星的当前同步状态。根据同步状态,应相应地解释“接收到的 GPS 拖曳”字段。

这是一个强制值。

定义位于文件gps.h的第1694行。

int16_t svid

卫星车辆 ID 号,如GnssSvInfo::svid中定义。这是一个强制值。

定义位于文件gps.h的第1667行。

双倍 time_offset_ns

进行测量的时间偏移(以纳秒为单位)。参考接收器的时间由 GpsData::clock::time_ns 指定,并且应以与GpsClock::type指示的相同方式进行解释。

time_offset_ns 的符号由以下等式给出: 测量时间 = GpsClock::time_ns + time_offset_ns

它为测量提供单独的时间戳,并允许亚纳秒精度。这是一个强制值。

定义位于文件gps.h的第1686行。


该结构的文档是从以下文件生成的:
  • 硬件/libhardware/include/hardware/gps.h