Leakage Calibration#

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

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.

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

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.

estimate_delay()[source]#

Estimate the delay of the leakage model.

Return type:

DelayCalibration

Returns:

The delay of the leakage model in seconds.

remove_leakage(transmitted_signal, received_signal, delay_correction=0.0)[source]#

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 delay: float#

Implicit delay of the leakage model in seconds.

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 title: str#

Title of the visualizable.