Leakage Calibration#

class SelectiveLeakageCalibration(leakage_response, sampling_rate, delay=0.0, physical_device=None)#

Bases: LeakageCalibrationBase, Visualizable, Serializable

Calibration of a frequency-selective leakage model.

Parameters:
  • leakage_response (np.ndarray) – The leakage impulse response matrix.

  • sampling_rate (float) – The sampling rate of the leakage model in Hz.

  • delay (float, optional) – The implicit delay of the leakage model in seconds. Defaults to zero.

yaml_tag: Optional[str] = 'SelectiveLeakageCalibration'#

YAML serialization tag.

property leakage_response: ndarray#

Leakage impulse response matrix.

Returns:

Numpy matrix of dimensions \(M \times N \times L\), where \(M\) is the number of receive streams and \(N\) is the number of transmit streams and \(L\) is the number of samples in the impulse response.

property sampling_rate: float#

Sampling rate of the leakage model in Hz.

property delay: float#

Implicit delay of the leakage model in seconds.

remove_leakage(transmitted_signal, received_signal, delay_correction=0.0)#

Remove leakage from a received signal.

Parameters:
  • transmitted_signal (Signal) – The transmitted signal.

  • recveived_signal (Signal) – The received signal from which to remove the leakage.

  • delay_correction (float, optional) – Delay correction applied by the device during reception in seconds. Assumed zero by default.

Return type:

Signal

Returns:

The signal with removed leakage.

property title: str#

Title of the visualizable.

Returns: Title string.

to_HDF(group)#

Serialize the object state to HDF5.

Dumps the object’s state and additional information to a HDF5 group.

Parameters:

group (Group) – The HDF5 group to which the object is serialized.

Return type:

None

classmethod from_HDF(group)#

De-Serialized the object state from HDF5.

Recalls the object’s state from a HDF5 group.

Parameters:

group (Group) – The HDF5 group from which the object state is recalled.

Return type:

SelectiveLeakageCalibration

Returns: The object initialized from the HDF5 group state.

estimate_delay()#

Estimate the delay of the leakage model.

Return type:

DelayCalibration

Returns:

The delay of the leakage model in seconds.

static MMSEEstimate(device, num_probes=7, num_wavelet_samples=127, noise_power=None, configure_device=True)#

Estimate the transmit receive leakage for a physical device using Minimum Mean Square Error (MMSE) estimation.

Parameters:
  • device (PhysicalDevice) – Physical device to estimate the covariance matrix for.

  • num_probes (int, optional) – Number of probings transmitted to estimate the covariance matrix. \(7\) by default.

  • num_wavelet_samples (int, optional) – Number of samples transmitted per probing to estimate the covariance matrix. \(127\) by default.

  • noise_power (np.ndarray, optional) – Noise power at the receiving antennas. If not specified, the device’s noise power configuration will be assumed or estimated on-the-fly.

  • configure_device (bool, optional) – Configure the specified device by the estimated leakage calibration. Enabled by default.

Return type:

SelectiveLeakageCalibration

Returns: The initialized SelectiveLeakageCalibration instance.

Raises:
  • ValueError – If the number of probes is not strictly positive.

  • ValueError – If the number of samples is not strictly positive.

  • ValueError – If the noise power is negative.