Communication Systems - ephemerista.comms.systems

The systems.py module.

This module provides the CommunicationSystem class.

pydantic model ephemerista.comms.systems.CommunicationSystem

The CommunicationSystem class.

This class composes the Antenna, Receiver, and Transmitter classes to form a model of full communication system. To instances of compatible communication systems are required to compute the properties of a link between the two systems.

Fields:
field antenna: TypeAliasType [Required]
field channels: list[Annotated[UUID]] [Required]
field receiver: TypeAliasType | None = None
field system_id: Annotated[UUID] [Optional] (alias 'id')
Constraints:
  • uuid_version = 5

field transmitter: Transmitter | None = None
carrier_power(rx, losses, rng, tx_angle, rx_angle)

Calculate the carrier power at receiver input in dBW.

Parameters:
  • rx (CommunicationSystem) – The RX communication system.

  • losses (float) – The sum of the environmental losses

  • rng (float) – The slant range in meters.

  • tx_angle (float) – The angle between the transmitter antenna’s boresight vector and the transmitter-receiver vector in radians.

  • rx_angle (float) – The angle between the receiver antenna’s boresight vector and the receiver-transmitter vector in radians.

Returns:

The carrier power at receiver input in dBW.

Return type:

float

carrier_to_noise_density(rx, losses, rng, tx_angle, rx_angle)

Calculate the carrier-to-noise density C/N0.

Parameters:
  • rx (CommunicationSystem) – The RX communication system.

  • losses (float) – The sum of the environmental losses

  • rng (float) – The slant range in meters.

  • tx_angle (float) – The angle between the transmitter antenna’s boresight vector and the transmitter-receiver vector in radians.

  • rx_angle (float) – The angle between the receiver antenna’s boresight vector and the receiver-transmitter vector in radians.

Returns:

The carrier-to-noise density C/N0 in dB.Hz.

Return type:

float

carrier_to_noise_interference_density(rx, losses, rng, tx_angle, rx_angle, bandwidth, interference_power_w)

Calculate the carrier-to-noise interference density C/(I0+N0) in dBHz.

Parameters:
  • rx (CommunicationSystem) – The RX communication system.

  • losses (float) – The sum of the environmental losses

  • rng (float) – The slant range in meters.

  • tx_angle (float) – The angle between the transmitter antenna’s boresight vector and the transmitter-receiver vector in radians.

  • rx_angle (float) – The angle between the receiver antenna’s boresight vector and the receiver-transmitter vector in radians.

  • interference_power_w (float) – The interference power in W

Returns:

The carrier-to-noise interference density C/(I0+N0) in dBHz.

Return type:

float

noise_power(rx, bandwidth)

Calculate the noise power in dBW.

Parameters:
  • rx (CommunicationSystem) – The RX communication system.

  • bandwidth (float) – The channel’s bandwidth in Hz.

Returns:

The noise power in dBW.

Return type:

float