Class LinkMeasurement

Class Documentation

class LinkMeasurement

Public Functions

LinkMeasurement(std::vector<NaifId> occult_bodies, VecXd occult_alt, Real hardware_delay)

Construct a new Isl Measurement object using transmitters and receivers.

Parameters:
  • occult_bodies – occulting bodies

  • occult_alt – occultation altitude

  • hardware_delay – hardware delay

  • link_type – link type (e.g. “one-way”, “two-way”, “dual-one-way”)

void SetLinkParams()
inline void SetSeed(int seed)
inline void SetFixedRangeError(double range_sigma)
inline void SetFixedRangeRateError(double range_rate_sigma)
inline void UseFixedError()
inline void DisableFixedError()
inline int GetSeed() const
inline LinkParams GetLinkParams() const
inline Real GetTxEpoch() const
inline Real GetRxEpoch() const
inline void Reset()
void GenerateOneWayLink(Real epoch, std::shared_ptr<Transmitter> &tx, std::shared_ptr<Receiver> &rx, std::string fixed_txrx)

Get the One Way Link object.

Parameters:
  • epoch_rx – epoch of the receiver or transmitter

  • tx – transmitter

  • rx – receiver

  • fixed_txrx – fixed transmitter or receiver (tx or rx)

Returns:

ITransmission

inline void GenerateOneWayLinkAtRxEpoch(Real epoch, std::shared_ptr<Transmitter> &tx, std::shared_ptr<Receiver> &rx)
inline void GenerateOneWayLinkAtTxEpoch(Real epoch, std::shared_ptr<Transmitter> &tx, std::shared_ptr<Receiver> &rx)
VecX GetTrueOneWayLinkMeasurement(std::vector<LinkMeasurementType> meas_types)
VecX GetOneWayLinkMeasurement(Real epoch_rx, Vec6 rv_tx, Vec6 rv_rx, Vec2 clk_tx, Vec2 clk_rx, MatXd H_ow_rx, Real hardware_delay, std::vector<LinkMeasurementType> meas_types, bool with_noise, bool with_jacobian)
Real GetOneWayRangeMeasurement(Real epoch_rx, Vec6 rv_tx, Vec6 rv_rx, Vec2 clk_tx, Vec2 clk_rx, MatXd &H_ow_rx, Real hardware_delay, bool with_noise, bool with_jacobian)
Real GetOneWayRangeRateMeasurement(Real epoch_rx, Vec6 rv_tx, Vec6 rv_rx, Vec2 clk_tx, Vec2 clk_rx, MatXd &H_ow_rx, Real hardware_delay, bool with_noise, bool with_jacobian)
void GenerateTwoWayLink(Real epoch, std::shared_ptr<Transponder> &tr_receiver, std::shared_ptr<Transponder> &tr_target, std::string txrx_fixed)

Generate Two way link (receiver->target->receiver)

Parameters:
  • epoch – epoch of the receiver or transmitter

  • tr_receiverTransponder (receiver)

  • tr_targetTransponder (target)

  • txrx_fixed – fixed time of transmitter or receiver (tx or rx)

Returns:

std::vector<ITransmission>

inline void GenerateTwoWayLinkAtRxEpoch(Real epoch, std::shared_ptr<Transponder> &tr_receiver, std::shared_ptr<Transponder> &tr_target)
inline void GenerateTwoWayLinkAtTxEpoch(Real epoch, std::shared_ptr<Transponder> &tr_receiver, std::shared_ptr<Transponder> &tr_target)
VecX GetTrueTwoWayLinkMeasurement(std::vector<LinkMeasurementType> meas_types)
VecX GetTwoWayLinkMeasurement(Real epoch_rx, Vec6 rv_tx, Vec6 rv_rx, MatXd H_tw_rx, Real hardware_delay, std::vector<LinkMeasurementType> meas_types, bool with_noise, bool with_jacobian)
Real GetTwoWayRangeMeasurement(Real epoch_rx, Vec6 rv_receiver, Vec6 rv_target, MatXd &H_tw_range, Real hardware_delay, bool with_noise, bool with_jacobian)
Real GetTwoWayRangeRateMeasurement(Real epoch_rx, Vec6 rv_receiver, Vec6 rv_target, MatXd &H_tw_rr, Real hardware_delay, bool with_noise, bool with_jacobian)