Struct GnssMeasurementOptions

Struct Documentation

struct GnssMeasurementOptions

Public Types

enum class TxYawModel

Transmitter body-frame (yaw-steering) model used when computing the C/N0 off-boresight angles for the transmitter antenna gain.

Values:

enumerator NOMINAL

Canonical Sun-pointing nominal yaw steering (GnssAttitude::Compute).

enumerator DEDICATED

Block-specific dedicated eclipse yaw-steering law, evaluated continuously from geometry: GPS uses GnssYawSteering::Gps3EclipseYawAngle, Galileo uses GalileoIovEclipseYawAngle; other systems fall back to nominal. These laws differ from nominal only near the orbit noon/midnight singularity (small beta), where the real satellite rate-limits its yaw. Evaluated everywhere the geometry applies (no maneuver-window state machine), so it is an approximation of the true eclipse-season attitude, not a maneuver schedule.

Public Members

std::vector<GnssObservable> observables = {GnssObservable::PSEUDORANGE, GnssObservable::DOPPLER, GnssObservable::CARRIER_PHASE}
GnssMeasurementStateIndices indices
ClockBiasUnit clock_bias_unit = ClockBiasUnit::SECONDS
TxYawModel tx_yaw_model = TxYawModel::NOMINAL

Transmitter yaw-steering model for the C/N0 antenna-gain geometry. Default NOMINAL reproduces the canonical Sun-pointing frame bit-for-bit.

Time receive_time_scale = Time::TAI

Epochs passed to GNSSMeasurements::Compute / Precompute are receiver signal-reception epochs in this time scale.

Time ephemeris_time_scale = Time::TAI

GNSS constellation ephemeris epochs are represented in this scale. GnssConstellation stores its tables as TAI seconds by convention.

Frame frame = Frame::ECI

Receiver and transmitter states are expressed in this frame.

bool solve_light_time = true
bool recompute_transmit_time_from_ephemeris = false

If true, GnssMeasurement::Compute resolves the transmit epoch from the current user state and the channel ephemeris coefficients instead of reusing the transmit epoch stored in the precomputed channel. This is intended for estimated/filter measurements; truth generation can keep the precomputed light-time solution tied to the truth state.

int light_time_max_iterations = 10
Real light_time_tolerance_s = 1.0e-11
bool apply_transmitter_relativity = true
bool apply_shapiro_delay = true
Real shapiro_mu = GM_SUN

Deprecated: Shapiro delay is currently evaluated for the Sun only.

Vec3 shapiro_body_position = Vec3::Zero()

Deprecated: Shapiro delay is currently evaluated using SunPosition().

bool apply_visibility = true
bool apply_cn0_threshold = true
Real cn0_threshold_dbhz = 15.0
Real cn0_acquisition_threshold_dbhz = 22.0
Real cn0_tracking_threshold_dbhz = 20.0
bool apply_ionosphere_plasma_delay = false
Real default_ionosphere_plasma_delay_m = 0.0