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 link_type:
Literal
['uplink'
,'downlink'
] [Required] (alias 'linkType')¶
-
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¶