Base Modem¶
- class BaseModem(encoding=None, precoding=None, waveform=None, seed=None)[source]¶
Bases:
ABC
,Generic
[CWT
],RandomNode
Base class for wireless modems transmitting or receiving information over devices.
Configure a
TransmittingModem
,ReceivingModem
or the convenience wrappersSimplexLink
andDuplexModem
implementing this abstract interface.- Parameters:
encoding (EncoderManager, optional) – Bit coding configuration. Encodes communication bit frames during transmission and decodes them during reception.
precoding (SymbolPrecoding, optional) – Modulation symbol coding configuration.
waveform (CWT, optional) – The waveform to be transmitted by this modem.
seed (int, optional) – Seed used to initialize the pseudo-random number generator.
- property encoder_manager: EncoderManager¶
Description of the modem’s forward error correction.
Refer to Error Correction for further information.
- property frame_duration: float¶
Duration of a single communication frame in seconds.
Convenience wrapper for the
waveform
frame_duration
property.
- property num_data_bits_per_frame: int¶
Compute the number of required data bits to generate a single frame.
The number of bits depends on the configured
waveform
, as well as theencoder_manager
andprecoding
.
- property precoding: SymbolPrecoding¶
Description of the modem’s precoding on a symbol level.
- abstract property receiving_device: Device | None¶
Receiving device operated by the modem.
None
if the device is unspecified.
- property samples_per_frame: int¶
Number of discrete-time samples per processed communication frame.
Convenience wrapper for the
waveform
sampling_rate
property.
- property sampling_rate: float¶
Sampling rate of the processed waveforms in Hz.
Convenience wrapper for the
waveform
sampling_rate
property.
- property symbol_duration: float¶
Duration of a single communication symbol in seconds.
Convenience wrapper for the
waveform
symbol_duration
property.