Antenna Calibration

Inheritance diagram of hermespy.hardware_loop.physical_device.AntennaCalibration, hermespy.hardware_loop.physical_device.NoAntennaCalibration, hermespy.hardware_loop.calibration.antennas.ScalarAntennaCalibration
class AntennaCalibration(device=None)[source]

Bases: Calibration

Base class for antenna array calibrations.

abstract correct_reception(reception)[source]

Correct a received signal block in-place.

Parameters:

reception (SignalBlock) – The signal block to be corrected.

Return type:

None

abstract correct_transmission(transmission)[source]

Correct a transmitted signal block in-place.

Parameters:

transmission (SignalBlock) – The signal block to be corrected.

Return type:

None

hdf_group_name = 'antenna_calibration'

Group name of the calibration in the HDF save file.

class ScalarAntennaCalibration(transmit_correction_weights, receive_correction_weights, physical_device=None)[source]

Bases: AntennaCalibration

Scalar calibration for antenna arrays.

Initialize the scalar calibration.

Parameters:
  • transmit_correction_weights (ndarray) – Scalar weights applied to transmit ports of the antenna array.

  • receive_correction_weights (ndarray) – Scalar weights applied to receive ports of the antenna array.

  • physical_device (PhysicalDevice | None) – The physical device to which the calibration belongs.

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:

ScalarAntennaCalibration

Returns:

The deserialized object.

static Estimate(scenario, device, reference_device)[source]

Estimate a scalar calibration for the device using a reference device.

Parameters:
  • scenario (PhysicalScenario) – The scenario in which the calibration is performed.

  • device (PhysicalDevice) – The device to be calibrated.

  • reference_device (PhysicalDevice) – The reference device used for calibration.

Return type:

ScalarAntennaCalibration

Returns: The estimated scalar calibration.

correct_reception(reception)[source]

Correct a received signal block in-place.

Parameters:

reception (SignalBlock) – The signal block to be corrected.

Return type:

None

correct_transmission(transmission)[source]

Correct a transmitted signal block in-place.

Parameters:

transmission (SignalBlock) – The signal block to be corrected.

Return type:

None

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 receive_correction_weights: ndarray

Scalar weights applied to receive ports of the antenna array.

property transmit_correction_weights: ndarray

Scalar weights applied to transmit ports of the antenna array.

class NoAntennaCalibration(device=None)[source]

Bases: AntennaCalibration

No calibration for antenna arrays.

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:

NoAntennaCalibration

Returns:

The deserialized object.

correct_reception(reception)[source]

Correct a received signal block in-place.

Parameters:

reception (SignalBlock) – The signal block to be corrected.

correct_transmission(transmission)[source]

Correct a transmitted signal block in-place.

Parameters:

transmission (SignalBlock) – The signal block to be corrected.

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