# LimeADPD I/Q - DPD with I/Q Imbalance Mitigation

## Transmitter I/Q imbalance

Complex-valued signal *x(t)*, exposed to the source of frequency-independent I/Q imbalance, results to the signal *y(t)*:

The parameters *ε* and *φ* represent the amplitude and phase imbalance terms.
For wideband signals, I/Q imbalance manifests frequency-dependent behavior caused by analogue components in I and Q modulator paths.

LimeADPD I/Q method is used for joint PA linearization and RF transmitter I/Q imbalance mitigation. It is designed for implementation in software-defined radio (SDR) base stations (BS).

## LimeADPD I/Q Indirect Learning Architecture

The modification of LimeADPD which performs joint PA nonlinearity minimization and I/Q imbalance mitigation is given in Figure 2.

Pre-distorter and post-distorter blocks are divided into Memory Polynomial (MP) based non-conjugate and linear conjugate sub-blocks, as presented in Figure 2. The pre-distorter MP non-conjugate part (named with DPD in the Figure 2) takes at input signal *xp(n)*:

and it is dedicated to minimization of PA and transmitter nonlinearity effects. The linear conjugate part, denoted as I/Q corrector, takes at input the complex-conjugated signal *xp*(t)*:

and is introduced to suppress the effects of transmitter’s I/Q imbalance.

Figure 2: Indirect learning architecture for I/Q image rejection and PA linearization

## Complex Valued Memory Polynomial

For a given complex input:

and conjugated complex input signal:

LimeADPD I/Q model produces complex output:

where:

are the polynomial coefficients while *e(n)* is the squared envelope of the input:

In the above equations, parameter *N*_{1}represents the DPD memory length and *M*_{1}is the nonlinearity order. The I/Q corrector block is modeled by linear FIR filter block with length *N*_{2}.

The advantage of LimeADPD I/Q is low complexity in terms of reduced number of complex valued coefficients.

## LimeADPD I/Q Equations

Based on discussions given in previous sections and using signal notations of Figure 2, the ADPD I/Q pre-distorter implements the following equations:

while the post-distorter does similar:

Note that the pre-distorter and post-distorter share the same set of complex
coefficients **g** and **h**. Delay line is given by:

## LimeADPD I/Q Training Algorithm

The LimeADPD I/Q training algorithm alters complex valued memory polynomial coefficients in order to minimize the difference between PA input *yp(n)* and *y(n)*. The instantaneous error shown is calculated as:

Training is based on minimising Recursive Least Square *E(n)* error:

by solving linear system of equations:

Following RLS algorithm, after every training step, the system of equations is solved. Lime ADPD I/Q involves LU decomposition for equation solving method.