Base Modem¶

- class BaseModem(encoding=None, waveform=None, frame_generator=None, seed=None)[source]¶
Bases:
Generic[CWT],RandomNode,SerializableBase class for wireless modems transmitting or receiving information over devices.
Configure a
TransmittingModem,ReceivingModemor the convenience wrappersSimplexLinkandDuplexModemimplementing this abstract interface.- Parameters:
encoding (
Union[EncoderManager,Sequence[Encoder],None]) – Bit coding configuration. Encodes communication bit frames during transmission and decodes them during reception.waveform (
Optional[TypeVar(CWT, bound= CommunicationWaveform)]) – The waveform to be transmitted by this modem.frame_generator (
FrameGenerator|None) – Frame generator used to pack and unpack communication frames. If not specified, a stub generator will be assumed.seed (
int|None) – Seed used to initialize the pseudo-random number generator.
- classmethod Deserialize(process)[source]¶
Deserialize an object’s state.
Objects cannot be deserialized directly, instead a
Factorymust be instructed to carry out the deserialization process.- Parameters:
process (
DeserializationProcess) – The current stage of the deserialization process. This object is generated by theFactoryand provides an interface to deserialization methods supporting multiple backends.- Return type:
TypeVar(_BMT, bound= BaseModem)- Returns:
The deserialized object.
- serialize(process)[source]¶
Serialize this object’s state.
Objects cannot be serialized directly, instead a
Factorymust be instructed to carry out the serialization process.- Parameters:
process (
SerializationProcess) – The current stage of the serialization process. This object is generated by theFactoryand provides an interface to serialization methods supporting multiple backends.- Return type:
- property encoder_manager: EncoderManager¶
Description of the modem’s forward error correction.
Refer to
EncoderManagerfor further information.
- property frame_duration: float¶
Duration of a single communication frame in seconds.
Convenience wrapper for the
waveformframe_durationproperty.
- property frame_generator: FrameGenerator¶
- property samples_per_frame: int¶
Number of discrete-time samples per processed communication frame.
Convenience wrapper for the
waveformsampling_rateproperty.
- property sampling_rate: float¶
Sampling rate of the processed waveforms in Hz.
Convenience wrapper for the
waveformsampling_rateproperty.
- property symbol_duration: float¶
Duration of a single communication symbol in seconds.
Convenience wrapper for the
waveformsymbol_durationproperty.