GnssMeasurement 结构参考

GnssMeasurement 结构参考

#include < gps.h >

数据字段

size_t  尺寸
 
GnssMeasurementFlags   标志
 
int16_t  svid
 
GnssConstellationType   星座
 
double  time_offset_ns
 
GnssMeasurementState   state
 
int64_t  received_sv_time_in_ns
 
int64_t  received_sv_time_uncertainty_in_ns
 
double  c_n0_dbhz
 
double  pseudorange_rate_mps
 
double  pseudorange_rate_uncertainty_mps
 
GnssAccumulatedDeltaRangeState   accumulated_delta_range_state
 
double  accumulated_delta_range_m
 
double  accumulated_delta_range_uncertainty_m
 
浮点数 carrier_frequency_hz
 
int64_t  carrier_cycles
 
double  carrier_phase
 
double  carrier_phase_uncertainty
 
GnssMultipathIndicator   multipath_indicator
 
double  snr_db
 

详细说明

表示 GNSS 测量数据,其中包含原始信息和计算信息。

独立性 - 此结构体中报告的所有信号测量信息(例如 sv_time、pseudorange_rate、multipath_indicator)都应仅基于 GNSS 信号测量结果。您不得根据已知或估算的位置、速度或时间计算或报告预期测量结果,从而合成测量结果。

定义位于文件 gps.h 1656 行

字段文档

double accumulated_delta_range_m

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

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

如果“累计增量范围状态”不等于 GPS_ADR_STATE_UNKNOWN,则必须填充此值。不过,只有在“累积差值范围状态”为 GPS_ADR_STATE_VALID 时,数据才会准确。

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

GnssAccumulatedDeltaRangeState accumulated_delta_range_state

累计增量范围的状态。它表示 ADR 是否已重置或是否存在周期滑动(表示锁定丢失)。

此值为必填项。

定义位于文件 gps.h 1821 行中。

double accumulated_delta_range_uncertainty_m

累积增量范围的 1 标准差不确定性(以米为单位)。如果“累计增量范围状态”不等于 GPS_ADR_STATE_UNKNOWN,则必须填充此值。

定义位于文件 gps.h 1841 行。

double c_n0_dbhz

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

此值为必填项。

定义位于文件 gps.h 1778 行。

int64_t carrier_cycles

卫星和接收器之间的完整载波周期数。引用频率由字段“carrier_frequency_hz”给出。可以从 accumulated_delta_range_state 标志推断出此值累积过程中可能出现的周期性滑动和重置。

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

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

float carrier_frequency_hz

用于调制代码和消息的载波频率,可以是 L1 或 L2。如果未设置此字段,系统会假定载波频率为 L1。

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

定义位于文件 gps.h 1850 行。

double carrier_phase

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

引用频率由字段“carrier_frequency_hz”给出。该值包含“载波相位不确定性”。

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

定义位于文件 gps.h 1873 行。

double carrier_phase_uncertainty

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

定义位于文件 gps.h 1880 行。

定义给定 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.h 1901 行。

double pseudorange_rate_mps

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

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

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

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

这应该是可用的最准确的伪距离速率,基于此信道中的新信号测量结果。

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

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

double pseudorange_rate_uncertainty_mps

pseudorange_rate_mps 的 1 标准差不确定性。不确定性表示为绝对(单边)值。

此值为必填项。

定义位于文件 gps.h 1813 行。

int64_t received_sv_time_in_ns

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

对于 GPS 和 QZSS,此字段表示:测量时间收到的 GPS 星期时间(以纳秒为单位)。此值相对于当前 GPS 周的开始时间。

鉴于每个卫星可达到的最高同步状态,此字段的有效范围可以是:正在搜索:[ 0 ]:已设置 GNSS_MEASUREMENT_STATE_UNKNOWN;C/A 码锁定:[ 0 1 毫秒]:已设置 GNSS_MEASUREMENT_STATE_CODE_LOCK;位同步:[ 0 20 毫秒]:已设置 GNSS_MEASUREMENT_STATE_BIT_SYNC;子帧同步:[ 0 6 秒]:已设置 GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC;已解码的 TOW:[ 0 1 周]:已设置 GNSS_MEASUREMENT_STATE_TOW_DECODED

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

如果“state”不等于 GNSS_MEASUREMENT_STATE_UNKNOWN,则必须填充此值。

对于 Glonass,此字段表示:测量时间收到的 Glonass 时间(以纳秒为单位)。

鉴于每个卫星可达到的最高同步状态,此字段的有效范围可以是:正在搜索 : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A 码锁定 : [ 0 1 毫秒 ] : GNSS_MEASUREMENT_STATE_CODE_LOCK 已设置符号同步 : [ 0 10 毫秒 ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC 已设置位同步 : [ 0 20 毫秒 ] : GNSS_MEASUREMENT_STATE_BIT_SYNC 已设置字符串同步 : [ 0 2 秒 ] : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC 已设置时间 : [ 0 1 天 ] : GNSS_MEASUREMENT_STATE_GLO_TOD_DECODED 已设置

对于北斗,此字段表示:测量时间收到的北斗星期时间(以纳秒为单位)。

鉴于每个卫星可实现的最高同步状态,此字段的有效范围可以是:正在搜索:[ 0 ] :已设置 GNSS_MEASUREMENT_STATE_UNKNOWN C/A 码锁定:[ 0 1 毫秒] :已设置 GNSS_MEASUREMENT_STATE_CODE_LOCK 位同步 (D2):[ 0 2 毫秒] :已设置 GNSS_MEASUREMENT_STATE_BDS_D2_BIT_SYNC 位同步 (D1):[ 0 20 毫秒] :已设置 GNSS_MEASUREMENT_STATE_BIT_SYNC 子帧 (D2):[ 0 0.6 秒] :已设置 GNSS_MEASUREMENT_STATE_BDS_D2_SUBFRAME_SYNC 子帧 (D1):[ 0 6 秒] :已设置 GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC 星期时间:[ 0 1 周] :已设置 GNSS_MEASUREMENT_STATE_TOW_DECODED

对于 Galileo,此字段的含义为:测量时间收到的 Galileo 星期时间(以纳秒为单位)。

E1BC 代码锁定:[ 0 4 毫秒]:设置了 GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK。E1C 第 2 个代码锁定:[ 0 100 毫秒]:设置了 GNSS_MEASUREMENT_STATE_GAL_E1C_2ND_CODE_LOCK。

E1B 页面:[ 0 2s ]:已设置 GNSS_MEASUREMENT_STATE_GAL_E1B_PAGE_SYNC

对于 SBAS,此字段表示:测量时间收到的 SBAS 时间(以纳秒为单位)。

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

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

int64_t received_sv_time_uncertainty_in_ns

所接收 GPS 星期几的 1 标准差不确定性(以纳秒为单位)。

如果“state”不等于 GPS_MEASUREMENT_STATE_UNKNOWN,则必须填充此值。

定义位于文件 gps.h 1770 行中。

size_t size

设置为 sizeof(GpsMeasurement)

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

double snr_db

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

定义位于文件 gps.h 1909 行。

每个卫星的同步状态。它表示关联卫星的当前同步状态。根据同步状态,应相应地解读“received GPS tow”字段。

此值为必填项。

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

int16_t svid

卫星车辆 ID 号,如 GnssSvInfo::svid 中所定义。此值为必需值。

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

double time_offset_ns

测量所用时间偏移(以纳秒为单位)。参照接收器的时间由 GpsData::clock::time_ns 指定,应按 GpsClock::type 所示的方式进行解读。

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

它会为测量结果提供单独的时间戳,并且精确到纳秒级。此值为必填项。

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


此结构体的文档是根据以下文件生成的:
  • hardware/libhardware/include/hardware/ gps.h