Struct IslCrosslinkMeasurement::Config

Nested Relationships

This struct is a nested type of Class IslCrosslinkMeasurement.

Struct Documentation

struct Config

Configuration + per-epoch geometry for the combined crosslink/GPS model.

Public Members

int sub_state_size = 8

per-satellite state block size [r,v,cb,cd]

int n_links = 0

number of two-way crosslinks (hub <-> linked sat i)

int idx_position = 0

hub position offset within its state block

int idx_velocity = 3

hub velocity offset

int idx_clock_bias = 6

hub clock-bias offset (for the pseudorange rows)

int idx_clock_drift = 7

hub clock-drift offset (for the anchor Doppler rows)

std::vector<Vec3d> anchor_pos_mci

Known-position anchor transmitter positions [m], hub Moon-centered inertial frame (Frame::MOON_CI), e.g. a lunar surface station; empty for a crosslink-only update.

std::vector<Vec3d> anchor_vel_mci

Anchor inertial velocities [m/s], Frame::MOON_CI (parallel to anchor_pos_mci), required only when include_anchor_doppler is set.

double sigma_range_m = 1.0

two-way crosslink range noise 1-sigma [m]

double sigma_range_rate_mps = 1.0e-3

crosslink range-rate noise 1-sigma [m/s]

double sigma_pseudorange_m = 200.0

one-way anchor pseudorange noise 1-sigma [m]

bool include_anchor_doppler = false

When true, each anchor also yields a one-way Doppler (pseudorange-rate) row, u . (v_hub - v_anchor) + C * clock_drift_hub (u = line of sight), appended after all anchor pseudorange rows. Adds velocity + clock-drift observability.

double sigma_anchor_doppler_mps = 1.0e-3

one-way anchor Doppler noise 1-sigma [m/s]

bool include_time_transfer = false

When true, each two-way crosslink also yields a two-way time-transfer row: the clock-bias difference C * (b_hub - b_link_i) between the two endpoints. Two-way ranging cancels the clocks (its sum-of-one-ways gives range), whereas the difference of the same two one-way exchanges recovers the relative clock offset. These rows are appended after the anchor pseudorange rows.

double sigma_time_transfer_m = 1.0

two-way time-transfer noise 1-sigma [m]

bool include_frequency_transfer = false

When true, each crosslink also yields a two-way frequency-transfer row: the range-rate-equivalent clock-*drift* difference C * (d_hub - d_link_i), appended after the time-transfer rows. This is the rate companion to the time transfer and makes the endpoints’ relative clock drift directly observable.

double sigma_frequency_transfer_mps = 1.0e-3

frequency-transfer noise 1-sigma [m/s]