Channels - ephemerista.comms.channels

The channels.py module.

This module provides the Channel class which models a radio communications channel.

pydantic model ephemerista.comms.channels.Channel

The Channel class.

Fields:
field channel_id: Annotated[UUID] [Optional] (alias 'id')
Constraints:
  • uuid_version = 4

field data_rate: float [Required] (alias 'dataRate')
field forward_error_correction: float = 0.5 (alias 'forwardErrorCorrection')
field margin: float [Required]
field modulation: Literal['BPSK', 'QPSK', '8PSK', '16QAM', '32QAM', '64QAM', '128QAM', '256QAM'] [Required]
field name: str = 'Default Channel'

The name of the channel

field required_eb_n0: float [Required] (alias 'requiredEbN0')
field roll_off: float = 1.5 (alias 'rollOff')
bit_energy_to_noise_density(tx, rx, losses, rng, tx_angle, rx_angle)

Calculate Eb/N0.

This method calculates the energy per bit to noise power spectral density ratio for a link between a transmitting CommunicationSystem and a receiving CommunicationSystem on this channel.

Return type:

float

bit_energy_to_noise_interference_density(tx, rx, losses, rng, tx_angle, rx_angle, bandwidth, interference_power_w)

Calculate Eb/N0 from interference.

Return type:

float

bits_per_symbol()

Return the required bits per symbol for the channel’s modulation scheme.

Return type:

int

property bandwidth: float

bandwidth of the channel in Hz.

Type:

float

events