Impairments#

class IQImbalance(alpha: complex, beta: complex, name: str = 'iq_impairment')#

Apply IQ imbalance impairments.

Signal Model#

\[y[n] = \alpha x[n] + \beta x^*[n]\]

where :

  • \((\alpha,\beta) \in \mathbb{C}^2\) corresponds to the complex weights for the signal and its complex conjugate.

Attributes#

alphacomplex number

A complex number specifying the \(\alpha\) parameter

betacomplex number

A complex number specifying the \(\beta\) parameter

class CFO(cfo: float, name: str = 'cfo_impairment')#

Apply Carrier Frequency Offset (CFO).

Signal Model#

\[y[n] = x[n] e^{j\omega_0 n}\]

where :

  • \(\omega_0\) corresponds to the normalized carrier frequency offset (in rad/samples).

Attributes#

cfofloat

the normalized carrier frequency offset

class Delay(tau: int, pad_zeros: bool = True, name: str = 'delay_impairment')#

Introduces a delay to the input signal.

Signal Model#

\[y[n] = x[n - \tau]\]

where :

  • \(\tau \in \mathbb{N}^+\) is the number of samples to delay the input signal (non-negative integer)

Attributes#

tauint

The number of samples to delay the input signal.

pad_zerosbool

If True, pads the delayed signal with zeros to match the input size.