Receiver

Inheritance diagram of hermespy.core.device.Receiver
class Receiver(seed=None, selected_receive_ports=None, carrier_frequency=None)[source]

Bases: Generic[ReceptionType], RandomNode, MixingOperator

Operator receiving from a device.

Parameters:
  • seed (int | None) – Random seed used to initialize the pseudo-random number generator.

  • selected_receive_ports (Sequence[int] | None) – Indices of antenna ports selected for reception from the operated Device's antenna array. If not specified, all available antenna ports will be considered.

  • carrier_frequency (float | None) – Central frequency of the mixed signal in radio-frequency transmission band. If not specified, the operated device’s default carrier frequency will be assumed during signal processing.

abstract _receive(signal, state)[source]

Process a received signal by the receiver.

Subroutine of the public receive method that performs the pipeline-specific receive processing and consolidates the inferred information into a single Reception object.

Parameters:
  • signal (Signal) – Multi-stream signal model to be processed.

  • state (ReceiveState) – Device state to be considered during reception.

Return type:

TypeVar(ReceptionType, bound= Reception)

Returns:

Information inferred from the received signal.

add_receive_callback(callback)[source]

Add a callback to be called after processing the receive DSP algorithm.

Parameters:

callback (Callable[[TypeVar(ReceptionType, bound= Reception)], None]) – Function to be called after processing the receive DSP algorithm. The receive output is passed as the only argument.

Return type:

Hook[TypeVar(ReceptionType, bound= Reception)]

Returns: Hook to be used for removal.

receive(signal, state, notify=True)[source]

Process a received signal by the receiver.

Wrapper around the abstract _receive method.

Parameters:
  • signal (Signal) – Model of the signal samples to be processed by the DSP algorithm.

  • state (DeviceState) – State of the receiving device to be conmsidered by the DSP algorithm.

  • notify (bool) – Notify the receiver’s callbacks. Enabled by default.

Return type:

TypeVar(ReceptionType, bound= Reception)

Returns: Information received by this operator.

Raises:

ValueError – If the number of signal streams does not match the number of receive ports.

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

abstract property power: float

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.

property selected_receive_ports: Sequence[int] | None

Indices of antenna ports selected for reception from the operated Device's antenna array.

If None, all available antenna ports will be considered.