anbox-platform-sdk  1.23.0
Anbox Platform SDK API documentation
GnssMeasurement Struct Reference

#include <types.h>

+ Collaboration diagram for GnssMeasurement:

Public Attributes

int16_t svid
 
GnssConstellationType constellation
 
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
 
float carrier_frequency_hz
 

Detailed Description

Represents a GNSS Measurement, it contains raw and computed information.

Independence - All signal measurement information (e.g. sv_time, pseudorange_rate, multipath_indicator) reported in this struct should be based on GNSS signal measurements only. You may not synthesize measurements by calculating or reporting expected measurements based on known or estimated position, velocity, or time.

Definition at line 830 of file types.h.

Member Data Documentation

◆ c_n0_dbhz

double GnssMeasurement::c_n0_dbhz

Carrier-to-noise density in dB-Hz, typically in the range [0, 63]. It contains the measured C/N0 value for the signal at the antenna port.

This is a mandatory value.

Definition at line 933 of file types.h.

◆ carrier_frequency_hz

float GnssMeasurement::carrier_frequency_hz

Carrier frequency at which codes and messages are modulated, it can be L1 or L2. If the field is not set, the carrier frequency is assumed to be L1.

If the data is available, 'flags' must contain GNSS_MEASUREMENT_HAS_CARRIER_FREQUENCY.

Definition at line 977 of file types.h.

◆ constellation

GnssConstellationType GnssMeasurement::constellation

Defines the constellation of the given SV. Value should be one of those GNSS_CONSTELLATION_* constants

Definition at line 841 of file types.h.

◆ pseudorange_rate_mps

double GnssMeasurement::pseudorange_rate_mps

Pseudorange rate at the timestamp in m/s. The correction of a given Pseudorange Rate value includes corrections for receiver and satellite clock frequency errors. Ensure that this field is independent (see comment at top of GnssMeasurement struct.)

It is mandatory to provide the 'uncorrected' 'pseudorange rate', and provide GpsClock's 'drift' field as well (When providing the uncorrected pseudorange rate, do not apply the corrections described above.)

The value includes the 'pseudorange rate uncertainty' in it. A positive 'uncorrected' value indicates that the SV is moving away from the receiver.

The sign of the 'uncorrected' 'pseudorange rate' and its relation to the sign of 'doppler shift' is given by the equation: pseudorange rate = -k * doppler shift (where k is a constant)

This should be the most accurate pseudorange rate available, based on fresh signal measurements from this channel.

It is mandatory that this value be provided at typical carrier phase PRR quality (few cm/sec per second of uncertainty, or better) - when signals are sufficiently strong & stable, e.g. signals from a GPS simulator at >= 35 dB-Hz.

Definition at line 960 of file types.h.

◆ pseudorange_rate_uncertainty_mps

double GnssMeasurement::pseudorange_rate_uncertainty_mps

1-Sigma uncertainty of the pseudorange_rate_mps. The uncertainty is represented as an absolute (single sided) value.

This is a mandatory value.

Definition at line 968 of file types.h.

◆ received_sv_time_in_ns

int64_t GnssMeasurement::received_sv_time_in_ns

The received GNSS Time-of-Week at the measurement time, in nanoseconds. Ensure that this field is independent (see comment at top of GnssMeasurement struct.)

For GPS & QZSS, this is: Received GPS Time-of-Week at the measurement time, in nanoseconds. The value is relative to the beginning of the current GPS week.

Given the highest sync state that can be achieved, per each satellite, valid range for this field can be: Searching : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A code lock : [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK is set Bit sync : [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC is set Subframe sync : [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC is set TOW decoded : [ 0 1week ] : GNSS_MEASUREMENT_STATE_TOW_DECODED is set

Note well: if there is any ambiguity in integer millisecond, GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS should be set accordingly, in the 'state' field.

This value must be populated if 'state' != GNSS_MEASUREMENT_STATE_UNKNOWN.

For Glonass, this is: Received Glonass time of day, at the measurement time in nanoseconds.

Given the highest sync state that can be achieved, per each satellite, valid range for this field can be: Searching : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A code lock : [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK is set Symbol sync : [ 0 10ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC is set Bit sync : [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC is set String sync : [ 0 2s ] : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC is set Time of day : [ 0 1day ] : GNSS_MEASUREMENT_STATE_GLO_TOD_DECODED is set

For Beidou, this is: Received Beidou time of week, at the measurement time in nanoseconds.

Given the highest sync state that can be achieved, per each satellite, valid range for this field can be: Searching : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A code lock: [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK is set Bit sync (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 week : [ 0 1week ] : GNSS_MEASUREMENT_STATE_TOW_DECODED is set

For Galileo, this is: Received Galileo time of week, at the measurement time in nanoseconds.

E1BC code lock : [ 0 4ms ] : GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK is set E1C 2nd code lock: [ 0 100ms ] : GNSS_MEASUREMENT_STATE_GAL_E1C_2ND_CODE_LOCK is set

E1B page : [ 0 2s ] : GNSS_MEASUREMENT_STATE_GAL_E1B_PAGE_SYNC is set Time of week: [ 0 1week ] : GNSS_MEASUREMENT_STATE_TOW_DECODED is set

For SBAS, this is: Received SBAS time, at the measurement time in nanoseconds.

Given the highest sync state that can be achieved, per each satellite, valid range for this field can be: Searching : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A code lock: [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK is set Symbol sync : [ 0 2ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC is set Message : [ 0 1s ] : GNSS_MEASUREMENT_STATE_SBAS_SYNC is set

Definition at line 918 of file types.h.

◆ received_sv_time_uncertainty_in_ns

int64_t GnssMeasurement::received_sv_time_uncertainty_in_ns

1-Sigma uncertainty of the Received GPS Time-of-Week in nanoseconds.

This value must be populated if 'state' != GPS_MEASUREMENT_STATE_UNKNOWN.

Definition at line 925 of file types.h.

◆ state

GnssMeasurementState GnssMeasurement::state

Per satellite sync state. It represents the current sync state for the associated satellite. Based on the sync state, the 'received GPS tow' field should be interpreted accordingly.

This is a mandatory value.

Definition at line 849 of file types.h.

◆ svid

int16_t GnssMeasurement::svid

Satellite vehicle ID number, as defined in GnssSvInfo::svid This is a mandatory value.

Definition at line 835 of file types.h.


The documentation for this struct was generated from the following file: