Extra Operators

Inheritance diagram of hermespy.core.operators.SilentTransmitter, hermespy.core.operators.SignalTransmitter, hermespy.core.operators.SignalReceiver, hermespy.core.operators.StaticOperator

This module contains convenience transmit and receive signal processing layers used primarily for debugging and trouble shooting.

class SilentTransmitter(num_samples, selected_transmit_ports=None)[source]

Bases: StaticOperator, Transmitter[Transmission], Serializable

Silent transmitter mock.

Parameters:
  • num_samples (int) – Number of samples per transmission.

  • selected_transamit_ports – Digital transmit prots this dsp algorithm operates on.

classmethod Deserialize(process)[source]

Deserialize an object’s state.

Objects cannot be deserialized directly, instead a Factory must be instructed to carry out the deserialization process.

Parameters:

process (DeserializationProcess) – The current stage of the deserialization process. This object is generated by the Factory and provides an interface to deserialization methods supporting multiple backends.

Return type:

SilentTransmitter

Returns:

The deserialized object.

serialize(process)[source]

Serialize this object’s state.

Objects cannot be serialized directly, instead a Factory must be instructed to carry out the serialization process.

Parameters:

process (SerializationProcess) – The current stage of the serialization process. This object is generated by the Factory and provides an interface to serialization methods supporting multiple backends.

Return type:

None

property power: float[source]

Expected power of the transmitted signal in Watts.

Note

Applies only to the signal-carrying parts of the transmission, silent parts shuch as guard intervals should not be considered.

class SignalTransmitter(signal, *args, **kwargs)[source]

Bases: StaticOperator, Transmitter[Transmission], Serializable

Custom signal transmitter.

Parameters:

signal (Signal) – Signal to be transmittered by the static operator for each transmission.

classmethod Deserialize(process)[source]

Deserialize an object’s state.

Objects cannot be deserialized directly, instead a Factory must be instructed to carry out the deserialization process.

Parameters:

process (DeserializationProcess) – The current stage of the deserialization process. This object is generated by the Factory and provides an interface to deserialization methods supporting multiple backends.

Return type:

SignalTransmitter

Returns:

The deserialized object.

frame_duration(bandwidth)[source]
Return type:

float

serialize(process)[source]

Serialize this object’s state.

Objects cannot be serialized directly, instead a Factory must be instructed to carry out the serialization process.

Parameters:

process (SerializationProcess) – The current stage of the serialization process. This object is generated by the Factory and provides an interface to serialization methods supporting multiple backends.

Return type:

None

property power: float[source]

Expected power of the transmitted signal in Watts.

Note

Applies only to the signal-carrying parts of the transmission, silent parts shuch as guard intervals should not be considered.

property signal: Signal[source]

Signal to be transmitted by the static operator for each transmission.

class SignalReceiver(num_samples, selected_receive_ports=None, expected_power=0.0)[source]

Bases: StaticOperator, Receiver[Reception], Serializable

Custom signal receiver.

Parameters:

num_samples (int) – Number of samples per transmission.

classmethod Deserialize(process)[source]

Deserialize an object’s state.

Objects cannot be deserialized directly, instead a Factory must be instructed to carry out the deserialization process.

Parameters:

process (DeserializationProcess) – The current stage of the deserialization process. This object is generated by the Factory and provides an interface to deserialization methods supporting multiple backends.

Return type:

SignalReceiver

Returns:

The deserialized object.

frame_duration(bandwidth)[source]
Return type:

float

samples_per_frame(bandwidth, oversampling_factor)[source]

Number of samples required to process at least a single frame.

Parameters:
  • bandwidth (float) – The processed signal’s bandwidth in Hz.

  • oversampling_factor (int) – Factor by which the processed signal is oversampled.

Return type:

int

Returns:

Number of samples.

serialize(process)[source]

Serialize this object’s state.

Objects cannot be serialized directly, instead a Factory must be instructed to carry out the serialization process.

Parameters:

process (SerializationProcess) – The current stage of the serialization process. This object is generated by the Factory and provides an interface to serialization methods supporting multiple backends.

Return type:

None

property energy: float[source]
property power: float[source]

Expected power of the received signal in Watts.

Note

Applies only to the signal-carrying parts of the transmission, silent parts shuch as guard intervals should not be considered.

class StaticOperator(num_samples)[source]

Bases: object

Base class for static device operators

Parameters:

num_samples (int) – Number of samples per transmission.

serialize(process)[source]
Return type:

None

property num_samples: int[source]

Number of samples per transmission.

Returns: Number of samples.