Wireless communication transmissions commonly require wide bandwidth signal transmission over
a wide signal dynamic range. To transmit signals over a wide dynamic range and achieve high
efficiency, RF power amplifiers (PAs) commonly operate in their nonlinear region. As this
constellation diagram shows, the nonlinear behavior of a PA causes signal constellation
distortions that pinch the amplitude (AM-AM distortion) and twist phase (AM-PM distortion)
of constellation points proportional to the amplitude of the constellation point.

The goal of digital predistortion is to find a nonlinear function that linearizes the net
effect of the PA nonlinear behavior at the PA output across the PA operating range. When the
PA input is *x*(*n*), and the predistortion function is
*f*(*u*(*n*)), where
*u*(*n*) is the true signal to be amplified, the PA
output is approximately equal to
*G*×*u*(*n*), where
*G* is the desired amplitude gain of the PA.

The digital predistorter can be configured to use a memory polynomial with or without cross
terms.

The memory polynomial with cross terms predistorts the input signal as

The memory polynomial with cross terms has
(*M*+*M*×*M*×(*K*-*1*))
coefficients for *c*_{m} and
*a*_{mjk}.

The memory polynomial without cross terms predistorts the input signal as

The polynomial without cross terms has
*M*×*K* coefficients for
*a*_{mk}.

**Estimating Predistortion Function and Coefficients**

The DPD coefficient estimation uses an indirect learning architecture to find function
*f*(*u*(*n*)) to predistort input
signal *u*(*n*) which precedes the PA input.

The DPD coefficient estimation algorithm models nonlinear PA memory effects based on the
work in reference papers by Morgan, et al [1], and by Schetzen [2], using the theoretical
foundation developed for Volterra systems.

Specifically, the inverse mapping from the PA output normalized by the PA gain,
{*y*(*n*)/*G*}, to the PA input,
{*x*(*n*)}, provides a good approximation to the
function *f*(*u*(*n*)), needed to
predistort {*u*(*n*)} to produce
{*x*(*n*)}.

Referring to the memory polynomial equations above, estimates are computed for the
memory-polynomial coefficients:

The memory-polynomial coefficients are estimated by using a least squares fit
algorithm or a recursive least squares algorithm. The least squares fit algorithm or a
recursive least squares algorithms use the memory polynomial equations above for a memory
polynomial with or without cross terms, by replacing
{*u*(*n*)} with
{*y*(*n*)/*G*}. The function order
and dimension of the coefficient matrix are defined by the degree and depth of the memory
polynomial.

For an example that details the process of accurately estimating memory-polynomial
coefficients and predistorting a PA input signal, see Digital Predistortion to Compensate for Power Amplifier Nonlinearities.

For background reference material, see the works listed in [1] and [2].