Base Modem#

Inheritance diagram of hermespy.modem.modem.BaseModem

class BaseModem(encoding=None, precoding=None, waveform=None, seed=None)[source]#

Bases: RandomNode, ABC

Base class for wireless modems transmitting or receiving information over devices.

Configure a TransmittingModem, ReceivingModem or the convenience wrappers SimplexLink and DuplexModem 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 (CommunicationWaveform, 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 the encoder_manager and precoding.

property num_receive_ports: int#

Number of receive antenna ports.

property num_transmit_ports: int#

Number of transmit antenna ports.

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.

abstract property transmitting_device: Device | None#

Tranmsitting device operated by the modem.

None if the device is unspecified.

property waveform: CommunicationWaveform | None#

Description of the communication waveform emitted by this modem.

The only mandatory attribute required to transmit or receive over a modem.