Power Amplifier Nonlinearity Impairment Simulation in MATLAB

This section explains power amplifier (PA) nonlinearity impairment and its effect on the constellation diagram using MATLAB code. PA nonlinearity incorporates AM-AM conversion and AM-PM conversion. Parts A and C of the MATLAB code are assumed to be similar to those covered in a separate section on AWGN (Additive White Gaussian Noise).

PART B: Power Amplifier Simulation

PA_backoff_dB = 2; % Power Amplifier Back off w.r.t. 1dB compression point
                   % < 0 --> average power above P1dB
                   % > 0 --> average power below P1dB
in = mapper_out_ori;
in = in';
out = TX_PA(in,PA_backoff_dB);
figure;
plot(real(out),imag(out),'r+');
title('constellation with PA nonlinearities');

TX_PA.m Function

This MATLAB function simulates the power amplifier’s non-linear behavior.

function out = TX_PA(in, Backoff_dB)
[M N] = size(in);
for k=1:N
    % Parameters of nonlinear model
    alpha1 = 1;
    alpha3 = -(1-10^(-1/20))*4/3; % This is an inversion of the formula
                                  % giving the input 1 dB compression point

    % RMS amplitude of signal
    Arms = sqrt(var(in(:,k)));

    % Brings signal to back-off dB below 1dB compression point
    in(:,k) = in(:,k)*10^(-Backoff_dB/20)/Arms;

    % Computes saturation values
    IAsat = 2/3*sqrt(alpha1/abs(alpha3));
    OAsat = 4/9*alpha1*sqrt(alpha1/abs(alpha3));

    % For the lowpass equivalent, multiply alpha3 by 3/4 !
    out(:,k) = alpha1*in(:,k) + 0.75*alpha3*in(:,k).*abs(in(:,k)).^2;

    % Clipping to ensure monotonicity
    ind = find(abs(in(:,k))>IAsat);
    out(ind,k) = OAsat*sign(in(ind,k));

    % Brings signal energy back to its original value
    YRMS = sqrt(var(out(:,k)));
    out(:,k) = out(:,k)/YRMS*Arms;
end

The code calculates the output signal after passing through a simplified power amplifier model. The model uses alpha1 and alpha3 parameters to represent the linear and non-linear components of the amplifier, respectively. It also includes saturation and clipping to emulate real-world PA characteristics. The Backoff_dB parameter controls the input power relative to the amplifier’s 1dB compression point.

Input and Output Constellation Diagram

The following images show the input and output constellation diagrams.

constellation input image

power amplifier nonlinearity effect on constellation

As seen in the images, the PA nonlinearity distorts the constellation diagram. The points are no longer cleanly separated, resulting in performance degradation.

Reference

The code is taken from the book “Digital Front-End Compensation for Emerging Wireless Systems” by François Horlin and André Bourdoux.