Receiver

class Receiver(seed=None, reference=None, selected_receive_ports=None, *args, **kwargs)[source]

Bases: MixingOperator[ReceiverSlot], Generic[ReceptionType], RandomNode

Operator receiving from a device.

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

  • reference (Device, optional) – Reference device to which the channel shall be estimated.

  • 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.

  • *args – Operator base class initialization parameters.

  • **kwargs – Operator base class initialization parameters.

cache_reception(signal)[source]

Cache recent reception at this receiver.

Parameters:
  • signal (Signal | None) – Signal model to be cached for the next reception.

  • channel_realization (ChannelRealizationBase | None) – Recently received channel state.

Return type:

None

receive(signal=None, cache=True)[source]

Process a received signal by the receiver.

Wrapper around the abstract _receive method.

Parameters:
  • signal (Signal, optional) – Signal model to be processed.

  • cache (bool, optional) – Cache the received information

Return type:

TypeVar(ReceptionType, bound= Reception)

Returns: Information rceived by this operator.

Raises:
  • RuntimeError – If signal model was not provided and no signal is cached.

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

property device: Device | None

Device this object is assigned to.

None if this object is currently considered floating / unassigned.

property num_receive_antennas: int

Number of considered receiving antennas.

property num_receive_ports: int

Number of considered receiving ports.

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 reception: ReceptionType | None

Information inferred from the most recent reception.

Updated during the receive routine. None if the cache has been cleared or receive has not been called yet.

property reference: Device | None

Reference transmitter for this receiver.

Returns:

A handle to the referenced device. None if the device was not specified.

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.

Raises:

ValueError – If the selected ports don’t match the configured device’s receive antenna array configuration.

property signal: Signal | None

Cached signal model to be received.

Signal model assumed by receive() if no signal model is provided. Updated with cache_reception(). None if cache has been cleared or receive() has not been called yet.