GnssMeasurement 结构参考
#include < gps.h >
详细说明
代表 GNSS 测量,它包含原始信息和计算信息。
独立性 - 此结构中报告的所有信号测量信息(例如 sv_time、pseudorange_rate、multipath_indicator)应仅基于 GNSS 信号测量。您不得通过基于已知或估计的位置、速度或时间计算或报告预期测量值来合成测量值。
现场文件
双累积_delta_range_m |
GnssAccumulatedDeltaRangeState accumulated_delta_range_state |
双累积_delta_range_uncertainty_m |
int64_t carrier_cycles |
浮动载波频率赫兹 |
双载波相位 |
双载波相位不确定性 |
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。
双伪距速率_mps |
时间戳的伪距速率,以 m/s 为单位。给定伪距速率值的校正包括对接收器和卫星时钟频率误差的校正。确保此字段是独立的(请参阅GnssMeasurement结构顶部的注释。)
必须提供“未校正的”“伪距率”,并同时提供GpsClock的“漂移”字段(提供未校正的伪距率时,不要应用上述校正。)
该值包括“伪距率不确定性”。正的“未校正”值表示 SV 正在远离接收器。
“未校正”“伪距率”的符号及其与“多普勒频移”符号的关系由下式给出:伪距率 = -k * 多普勒频移(其中 k 是常数)
这应该是最准确的可用伪距速率,基于来自该通道的新信号测量。
必须以典型的载波相位 PRR 质量(每秒几厘米/秒的不确定性,或更好)提供此值 - 当信号足够强和稳定时,例如来自 GPS 模拟器的信号 >= 35 dB-Hz。
int64_t received_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_MEASUREMENT_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 is set Bit sync (D1): [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC is set Subframe (D2): [ 0 0.6s ] : GNSS_MEASUREMENT_STATE_BDS_D2_SUBFRAME_SYNC is set Subframe (D1): [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC is set Time of周:[0 1 周]:GNSS_MEASUREMENT_STATE_TOW_DECODED 已设置
对于 Galileo,这是: 收到 Galileo 一周中的时间,测量时间以纳秒为单位。
E1BC 密码锁:[0 4ms]:GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK 已设置 E1C 第二个密码锁:[0 100ms]:GNSS_MEASUREMENT_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 已设置
int64_t received_sv_time_uncertainty_in_ns |
双 snr_db |
int16_t svid |
卫星车辆 ID 号,在GnssSvInfo::svid中定义 这是一个强制值。
双倍 time_offset_ns |
以纳秒为单位进行测量的时间偏移。参考接收器的时间由 GpsData::clock::time_ns 指定,应该以与GpsClock::type相同的方式解释。
time_offset_ns 的符号由以下等式给出:测量时间 = GpsClock::time_ns + time_offset_ns
它为测量提供单独的时间戳,并允许亚纳秒精度。这是一个强制值。
此结构的文档是从以下文件生成的: