Class SpaceChannel

Class Documentation

class SpaceChannel

Public Functions

SpaceChannel() = default
inline void SetOccultationBodies(std::vector<NaifId> occult_bodies, VecXd occult_alt)

Construct a new Space Channel object.

Parameters:
  • occult_bodies – occulting bodies

  • occult_alt – occultation altitude

ITransmission ComputeLinkBudget(std::shared_ptr<Transmitter> &txDevice, std::shared_ptr<Receiver> &rxDevice, Real t, std::string time_fixed)

Compute the link budget.

Parameters:
  • txDevice – transmitter device

  • rxDevice – receiver device

  • t – epoch of transmission

  • time_fixed – time fixed at transmitter or receiver (tx or rx)

  • transmission – transmission object

ITransmission ComputeLinkBudgetDR(std::shared_ptr<Transmitter> &txDevice, std::shared_ptr<Receiver> &rxDevice, Real t, std::string time_fixed, double data_rate)

Compute the link budget for a given data rate.

Parameters:
  • txDevice

  • rxDevice

  • t

  • time_fixed

Returns:

ITransmission

Real SolveLightTimeDelayRx(std::shared_ptr<Transmitter> &tx, std::shared_ptr<Receiver> &rx, Real t_rx)

Solve the light time delay at the receiver.

Parameters:
  • tx – transmitter device

  • rx – receiver device

  • t_rx – receiver time

Returns:

Real light time delay

Real SolveLightTimeDelayTx(std::shared_ptr<Transmitter> &tx, std::shared_ptr<Receiver> &rx, Real t_tx)

Solve the light time delay at the transmitter.

Parameters:
  • tx – transmitter device

  • t_tx – transmitter time

Returns:

double light time delay

double ComputeFreeSpaceLossdB(double dist, double lambda)

Compute the free space loss.

Parameters:
  • dist – Distance between the transmitter and receiver [km]

  • lambda – Wavelength of the signal [km]

Returns:

double Free space loss [dB]