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 (
EncoderManager|Sequence[Encoder] |None) – Bit coding configuration. Encodes communication bit frames during transmission and decodes them during reception.waveform (
TypeVar(CWT, bound= CommunicationWaveform) |None) – 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.
- frame_duration(bandwidth)[source]¶
Duration of a single communication frame in seconds.
- Parameters:
bandwidth (
float) – Target bandwidth of the communication waveform in Hz.- Return type:
Convenience wrapper for the
waveformframe_durationmethod.
- samples_per_frame(bandwidth, oversampling_factor)[source]¶
Number of samples required to process at least a single frame.
Convenience wrapper for the
waveform'ssamples_per_framemethod.
- 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[source]¶
Description of the modem’s forward error correction.
Refer to
EncoderManagerfor further information.
- property frame_generator: FrameGenerator[source]¶