Use of Java-DSP to Demonstrate Power Amplifier Linearization Techniques · Use of Java-DSP to...
Transcript of Use of Java-DSP to Demonstrate Power Amplifier Linearization Techniques · Use of Java-DSP to...
AC 2011-2321: USE OF JAVA-DSP TO DEMONSTRATE POWER AMPLI-FIER LINEARIZATION TECHNIQUES
Robert Santucci, Arizona State University
Robert Santucci is an electrical engineering Ph.D. student at Arizona State University researching theuse of digital signal processing techniques for power amplifier linearization in wireless communicationssystems.
Prof. Andreas S Spanias, Arizona State University, ECEE, SenSIP Center
Andreas Spanias is Professor in the School of Electrical, Computer, and Energy Engineering at ArizonaState University (ASU). He is also the founder and director of the SenSIP center and industry consortium(NSF I/UCRC). His research interests are in the areas of adaptive signal processing, speech processing,and audio sensing. He and his student team developed the computer simulation software Java-DSP (J-DSP - ISBN 0-9724984-0-0). He is author of two text books: Audio Processing and Coding by Wileyand DSP; An Interactive Approach. He served as Associate Editor of the IEEE Transactions on SignalProcessing and as General Co-chair of IEEE ICASSP-99. He also served as the IEEE Signal ProcessingVice-President for Conferences. Andreas Spanias is co-recipient of the 2002 IEEE Donald G. Fink paperprize award and was elected Fellow of the IEEE in 2003. He served as Distinguished lecturer for the IEEESignal processing society in 2004.
c©American Society for Engineering Education, 2011
Use of Java-DSP to Demonstrate Power
Amplifier Linearization Techniques
Abstract
J-DSP is a Java-based object-oriented programming environment developed from the
ground up for education and research by Arizona State University. This paper builds upon our
previous work1 by developing several new and advanced functions that support a more detailed
treatment of power amplifier linearization techniques. The tutorials developed are intended to
familiarize students with the mixed-signal application of digital signal processing (DSP) in
coordination with a radio transmitter’s power amplifier. Specifically, the new functions illustrate
the effects of design tradeoffs between DSP and circuits while masking the complexity of the
implementations for senior undergraduate students. This is accomplished by plotting the internal
state of the predistorter and producing two metrics, adjacent channel power ratio (ACPR) and
error vector magnitude (EVM), that quantify absolute performance for a given simulation. Two
different techniques for amplifier linearization are presented, and a tutorial has been developed
for each technique.
The first technique is the gain-based predistorter. The previous tutorials1 demonstrated
the gain compression present in power amplifiers, and the resulting harmonics introduced in the
output spectrum. It also demonstrated how a well designed gain-based look-up-table (LUT) can
be configured to fix the distortion, and students could run different configurations and see the
improvement. In this iteration of the tutorials, the gain-based LUT has been expanded to show
the internal gains of the predistorter bins, the nominal power amplifier gain within a given bin,
the histogram of points lying within a bin for given modulation scheme, and the net linearized
system gain within each given bin. As before, spectra for both linearized and nominal cases are
shown. These new features allow demonstration of internal effects and quantify the performance
differences created by design choices in the look-up-table.
The second technique, completely new to our research, is the artificial neural network
based predistortion. In this technique, a neural network is trained to identify the inverse function
of the power amplifier with desired gain removed. As output, the simulations yield ACPR,
EVM, spectrum with and without predistortion, and the internal gains of the predistorter,
linearized power amplifier system, and the nominal power amplifier.
Introduction
In this paper we present two tutorials of new J-DSP functions and exercises that are
intended to familiarize senior-level undergraduate digital signal processing (DSP) students with
the mixed-signal processing techniques used in wireless transmitters2,3
. We illustrate several
design tradeoffs using simple block diagram simulations in J-DSP4,5,6
that expose undergraduate
students to the concepts without having to cover the advanced hardware and algorithmic
complexity of these designs. In presenting these mixed-signal examples, we demonstrate the
interdependence between three generally separate senior-level courses: radio-frequency (RF)
circuit design, DSP, and communications. This exposes students to the cross disciplinary
tradeoffs that must be made over the course of a large design project. After completing the
tutorials, students will be given an assessment to determine and justify tradeoffs in an initial
system design. Below we give an introduction to the utility and applications of RF power
amplifiers (PAs), and then we continue with a description of the predistortion issues.
With the rapid deployment currently underway for smartphone technology, and new data
intensive usage models, it has become critical for cellular phone carriers to get the highest
possible data-rate through the relative fixed available bandwidths7. This has forced cellular
phone providers to move away from traditional constant amplitude modulation schemes, such as
those used in the Global System for Mobile Communications (GSM) phones, to modulation
schemes that make more efficient use of available bandwidth by modulating both amplitude and
phase to transmit more bits per symbol. As a result of using amplitude modulation, current
cellular phones must utilize transmitters and receivers with strict linearity requirements
throughout the dynamic range of the modulated signal8.
In addition to transmitting more bits per symbol, wireless providers want to transmit
these symbols faster. This allows less filtering between the symbols, which can cause spectral
broadening. Additionally, in an uncontrolled wireless environment the wireless signal can take
multiple different paths to the receiving antenna. The varying paths to the receive antenna can
be either direct line-of-sight or can involve multiple reflections off buildings, mountains, or even
walls within a building. These paths can each have different propagation delays, and this can
cause problems when the symbol rate is very fast in time. One way around this is to transmit
many symbols in parallel very slowly. Thus, if the duration of each signal is much longer than
the difference in time between the longest and shortest path, the path delay effect is largely
mitigated.
The natural next question is how to transmit multiple symbols in parallel in a wireless
communication system without using many independent transmitters and receivers. This can be
accomplished in constructing the signal to be transmitted. The traditional approach has been to
transmit symbols as a series in time that moves as fast as the available bandwidth and spectrum
requirements allow. In this new approach the symbols are not allocated as time-series, but rather
to different frequencies in the discrete-time frequency-domain. Then, the time-domain signal to
transmit is generated by taking the Inverse Fast Fourier Transform (IFFT) of the discrete
frequency spectrum. Because the different frequency tones are orthogonal, this technique is
known as Orthogonal Frequency Domain Multiplexing (OFDM) 9
. It allows very tight allocation
of the transmitted frequency spectrum to get maximum bit-rate with the smallest spillover into
adjacent frequencies and can avoid multipath effects, but it does have some downsides. One of
these downsides is that after the IFFT is taken the phase of each independent modulated sinusoid
combines in a nearly random manner, which causes the time-domain signal to have a wide
amplitude variation, or dynamic range10
.
In a cellular transmitter, the power amplifier is often the largest consumer of power as it
drives the high power signal out of the antenna, so its power efficiency has a significant effect on
handset battery life. The transmitted signal can be made very linear by keeping the amplifier
biased in such a manner that the radio frequency (RF) signal never takes the amplifier into a
compression region. However, designs where the bias point remains stationary over a wide-
range of output signal levels require a large amount of bias power. This bias power is not
transmitted out of the antenna, but rather is dissipated as heat and “wasted” energy.
By biasing the amplifier intentionally in a manner such that a portion of each RF cycle is
spent in compression, the bias power requirement can be made lower and thus overall power
efficiency of the amplifier can be increased. As a downside, this clipping induced by
compression reduces the fundamental gain and introduces harmonics that must be filtered away.
The level at which compression occurs within a given amplifier is most commonly a fixed
amplitude. As a result of the fixed compression level, the fraction of an RF cycle spent in
compression and consequently fundamental gain becomes a function of the amplitude of the
signal being amplified8. For constant-amplitude modulation schemes, this change in
fundamental gain with varying amplitudes was not a big cost as it did not alter the baseband
signal dramatically. For non-constant amplitude modulation schemes, a tradeoff forms involving
amplifier efficiency versus its constant gain, also known as linearity. This tradeoff, involving
changes in the fundamental gain and harmonic energy, is explored in our previous work.
For the best possible overall performance it would be beneficial to develop a system in
which the amplifier could be operated in its highly efficient compressed region where gain
becomes non-linear while having a system to mitigate the nonlinear effects. Digital predistortion
is one method of altering the signal to be transmitted in such a way that when the altered signal is
passed through the non-linear distortion of the amplifier, the desired signal is produced. Because
amplifier characteristics can change across operating voltage, temperature, and aging, the
distortion of the amplifier must be continually measured 11
. Using these measurements, a
technique for inverting the distortion must be utilized. Fundamentally, most techniques warp, or
predistort, the signal prior to the amplifier. A typical schematic used for warping the signal to be
transmitted is shown in Figure 1 2
. Here, the baseband modem generates a time-domain signal
which is warped by the predistorter prior to being converted to RF by the upconverter, and
finally amplified by the PA. A low-pass filtering operation is required after the PA to eliminate
harmonics of the carrier, then a portion of this transmitted signal is coupled to a receiver which
then calculates the actual point transmitted. Using the knowledge of what signal was intended to
be transmitted and what signal was actually transmitted, a correction can then be applied. This
paper covers two different techniques for correcting and applying this correction. The first
technique utilizes a look-up-table and least-mean-squares (LMS) learning. The second technique
uses neural networks.
vpd(n)Modem
Pre-
distorterf ↑
PAvin(n)
Coupler
~
f ↓ Adaptation
data LPFvAct(n)
Figure 1: Typical Digital Predistortion System. Modified from 2
For the experiments performed in this tutorial, it will be assumed that our power
amplifier has only amplitude variation due to the amplitude of the incoming signal. This
distortion is often denoted as amplitude-modulation to amplitude-modulation (AM/AM)
distortion. In the event of the phase being changed or modulated by the amplitude of the
incoming signal, this is known as amplitude-modulation to phase-modulation (AM/PM)
distortion. For our examples in this tutorial, the amplifier contains only AM/AM distortion and
is modeled by a polynomial in the baseband-equivalent domain, shown in (1). While this
simplification makes illustration of the concept easier for the tutorials, most amplifiers have
AM/PM distortion and for fast-rate modulation even exhibit a dependency on previous points,
known as memory effects11
.
| ( )| (| ( )| | ( )| | ( )|
) (1)
Gain-Based Look-up-Table Predistortion Description
The algorithm used for gain-based look-up-table predistortion is described in depth in our
previous work1, but a brief summary is presented again in this paper. Additionally, practical
tradeoffs in its implementation are discussed and demonstrated to a greater extent in this work.
The gain-based look-up-table exploits that the amplifier distortion occurs primarily as a
slowly varying function of the input power of the signal vpd(n) fed into the amplifier2. If the
amplifier is monotonic, then increasing the input power will also increase the output power of the
amplifier and similarly for decreases in power. Thus, if the gain of the amplifier at any given
input power is not as desired, then the input power can be artificially increased or decreased to
hit the desired gain. This artificial decrease or increase to achieve the desired gain is done by the
predistorter. In the gain-based look-up-table predistorter, input magnitudes are split into regions
based on contiguous input powers 2. The regions are henceforth referred to as bins, and for each
bin a correction factor is developed. The look-up-table portion of the name refers to the
selection of gain-correction factor, b, by selecting a bin based on the input signal power. The
correction factor is learned using the LMS algorithm 12
. A DSP flowchart showing
implementation is shown in Figure 2.
Non-DSP
PA
Desired
PA Gain: go
e(n)
Adaptive Predistorter
+
Σ
-
vAct(n)
vDes(n)
Error
Desired Signal
Actual OutputPredist Output
G(·)
f ↑ f ↓
b, bin1b, bin2
:b, binN
| · |2
xvpd(n)vin(n)
Modem Output
select
Figure 2: DSP Implementation of Gain-Based Look-up-Table Predistortion, modified from 2
The error e(n) between the actual transmitter output vAct(n) measured by the receiver at
time step n and the desired transmitter output vDes(n) for a given modem value vin(n) is used to
adapt the gain correction factor b for the selected bin by the formula below, where µ controls the
rate of adaptation :
( ) ( ) ( ) ( ) (2)
In a practical system, there is the potential lag of several symbol times while measuring
the actual output. In that case, care must be taken to properly synchronize the desired signal gain
path with the actual output path by the insertion of delay. Accordingly, this delays the update of
bselected by additional cycles. Care must be taken to ensure the updates are done properly and
avoid overshooting. This can be done either by decreasing µ and applying incremental updates,
or by blocking further updates while a calculation is in progress.
When designing the look-up-table, one of the tradeoffs in the design that must be made is
the number of bins for the LUT. Choosing a smaller number of bins allows decreasing the
memory that must be allocated to the LUT and also decreases the number of weights that must
be trained via adaptation. This enables faster adaption if the amplifier is being operated in a
highly dynamic environment, perhaps where an object interferes with the antenna’s impedance
seen by the power amplifier. Creation of more LUT bins increases memory requirements and the
number of samples required for training, but allows for correcting a smaller and more consistent
region of the amplifier’s gain versus input power curve.
Non-linearity in the power amplifier manifests itself as a gain that changes as a function
of the magnitude being transmitted at a given time instant. In the frequency domain, this can be
seen as a convolution of the original data signal with a weak signal with bandwidth similar to the
original signal. The result of this is a spectral leakage of the transmitted signal into adjacent
bands. This leakage can entirely block receivers on adjacent bands. Say transmitter A is
physically close to the receiver B. Receiver B is intending to receive a signal from a distant
transmitter B, operating in the band adjacent to channel A. The leakage into adjacent band from
transmitter A may actually be strong enough at the receiver B to completely mask or at the very
least present a large noise source to the signal from transmitter B13
. Smart allocation of
frequencies within a cellular system can alleviate this problem to some extent, but it can still
influence channel spacing, or the frequency gap between adjacent channels. To use frequency as
efficiently as possible it is desirable to keep this channel spacing as small as possible. The ratio
of signal power to the power leaked into the adjacent channel is known as the adjacent channel
power ratio. In equation form, where Vact is the discrete time frequency spectrum of the
transmitted signal, ACPR is:
(∑ | ( )|
∑ | ( )|
) (3)
The distortion introduced by the changing amplifier gain also causes errors within the
signal bandwidth. In an OFDM scheme, a certain number of OFDM subcarriers are usually
reserved for “pilots”. These pilot tones make identifying any phase shift or gain change between
signal generation and measurement possible14
. In a simple scheme, these tones are equally
spaced. The ratio between the original pilot tone on subcarrier k and the complex value received
on that subcarrier is calculated and found as H(k). For all of the data carrying subcarriers
between pilot tones, the scaling H(k) can be found via interpolation of the two nearest pilot tones.
After applying the scaling factor H(k) to all subcarriers, a hard decision is made selecting the
constellation point nearest the measured complex value on the subcarrier. Error Vector
Magnitude (EVM) is a metric quantifying the distance between the measured complex value and
the ideal constellation point placement. Where Vhard(k) is the hard decision constellation point
for subcarrier k, and Vact(k) is the value at the point of measurement, and H(k) is the scaling, or
channel estimate, for subcarrier k, EVM is defined as:
(
∑ |
( ) ( )
( )|
∑ | ( )|
)
(4)
For an ideal signal, no power would leak into adjacent bands and the constellation points
would be exactly where OFDM generated them. Consequently, an ideal signal would have EVM
and ACPR of both -∞ dB. Depending on the communications standard used, numbers for
average EVM and ACPR are given in the standard. By increasing the EVM and ACPR
performance (decreasing their value in dB), predistortion allows either increasing transmit power
available from an amplifier or substitution of an amplifier with a cheaper, lower power device.
Both ACPR and EVM are now calculated within the JDSP modules to provide a metric
quantifying performance of the power amplifier with and without predistortion.
Figure 3: Gain-Based LUT Predistortion Simulation
Gain-Based Look-up-Table Predistortion Tutorial
For the experiments in this section, it may be helpful to refer to the example setup in
Figure 3.
1. Start Java-DSP.
2. Place a “Long Signal Generator” block into the schematic.
3. Double-click on the “SigGen(L)” long signal generator block. Select pin #1 and an input
as “OFDM BPSK 64 carrier 4xOSR Frequency Domain”. This places a 4x oversampled
OFDM data source, where each subcarrier uses BPSK modulation.
4. Place a new “PAbyLUT” block. It can be found in the existing functions menu under
“Power Amplifiers”. This is a power amplifier linearized using a gain-based LUT block.
Connect its input to the output of the long signal generator.
5. Place a “Plot2” block. Connect its top input to the top output of the “PAbyLUT” block.
Connect its bottom input to the bottom output of the “PAbyLUT” block.
6. Double click on the “Plot2” block. Check the box to turn on the grid, set the dropdown to
select Magnitude squared by “Magn.^2”. Select dB as the output to plot, and then use
Manual Axis to set the vertical axis from -80dB up to +20dB. Both plots on the screen
will now use the same vertical axis scale to avoid misleading output. The top plot will be
the power spectrum of unpredistorted amplifier output. The bottom plot will be the
power spectrum of the predistorted amplifier system output.
7. Next “double click” on the “PAbyLUT” block to open the “PA Linearized by Gain-Based
Look Up Table” dialog. Set the LUT size to 16. Note: this will only be enabled if the
long signal generator is on frame number 1 as it does not make sense to change the LUT
size in the middle of data transmission. Set mu to be 0.25. Set the power back off, or the
difference between the PA maximum output power and the modem maximum output
power to 1.5dB. Hit the “Update” button to apply the changes. In the left most column,
the internal states of the power amplifier are shown. The first graph in the left column
shows the amplitude gain for each LUT bin in the predistorter. The second graph shows
a histogram of the number of points processed and to which bins they have belonged,
giving an idea as to the probability density function of the modem data and if all look-up-
table bins are being utilized. The third graph shows the nominal (without predistortion)
gain of the power amplifier at the center of the specified LUT bin range. The fourth
graph shows the nominal PA gain without linearization, notice how it falls away from 1
as amplitude increases. Finally, it shows the value of the gain correction factor within the
bin, and then the output of the amplifier when the correction factor is applied in
predistortion prior to the amplifier. The right graph shows the gain of the PA, both
linearized and nominal, and the predistorter as a function of the input signal magnitude.
From this view, you can see the segmentation resulting from selection of the LUT bin at
the edges of each bin, especially the high power ones where variation is more rapid. The
second plot in the right hand column is similar, but shows magnitude out versus
magnitude in rather than gain out. The final two plots in the right hand column show the
performance of the predistorter over several frames. The blue lines indicate the EVM
and ACPR performance for each OFDM frame for the nominal power amplifier. The
magenta lines indicate the performance of the power amplifier when linearized by the
predistorter. When predistortion is working well, these lines should be below the blue
line. As the LUT bins become better trained in subsequent frames, you will see these
lines drop further down. Finally, you can verify output powers are comparable by
looking at the magnitude of the output spectrums in the “Plot2” window both with and
without predistortion.
8. To run the simulation for one OFDM frame, push the “>>” button in the “long signal
generator” block. Repeat pushing this button to run additional frames up to the 32nd
frame. Observe the progression of the EVM and ACPR against frame index as the
correction factors become better learned. Also, monitor the PA gain and magnitude
curves. Notice how the gain curve of the linearized system converges toward “1” for the
linearized system.
9. Rewind the simulation back to the beginning by pushing the “|<<” button within the
“long signal generator” block.
10. Shrink the size of the LUT to 4 bins, and hit Update to apply it. Now there should be
only 4 LUT indexes plotted in the left column. Repeat steps 7-8 noticing the overall
performance increase in ACPR and EVM of the linearized power amplifier versus the
nominal one. Is it as large as it was for the case when the LUT had 16 entries? Did it
converge more quickly or less quickly?
a. In the case of this simulation, decreasing the number of entries in the LUT had the
effect of allowing the LUT to be trained more quickly, but the linearization
performance of the trained table was not as good as when there were more entries
in the LUT, as demonstrated by the smaller difference between the nominal and
linearized EVM and ACPR. This can also be observed in the segmented variation
about 1.0 in the plot of linearized gain versus input magnitude on the top of the
right column.
Figure 4: LUT Predistortion Performance with 4 bins
11. Rewind the simulation again as in step 9. Increase the size of the LUT to 128, hit
“Update” to apply the change. Now repeat steps 7 and 8 for the large LUT. Is the
linearization performance very good compared to the other cases? Why or why not?
a. When the size of the LUT becomes very large, there are very few points in each
bin to train the gain correction factor. This can be observed from the histogram
on the top-left of each plot. As a result, the correction factors are not fully trained
even after 31 frames of modulated data.
Figure 5: LUT Predistortion Performance with 128 Bins
12. Rewind the simulation again as in step 9. Increase the mu value, or learning factor, up to
the value of 2.5. Run the simulation again as in steps 7 and 8. What has happened to the
linearization performance? Does it learn more quickly? Is it a little bit erratic? Why did
this happen?
a. Here for this value of mu, it can be seen that even with few points the correction
factors will be learned very quickly due to the large value of mu. Be careful with
this approach. Very large mu can cause the system to learn compensate very
quickly to noise should noise be included in the simulation. It can also move very
substantially in adjustment to a single measurement.
Figure 6: LUT Predistortion Performance with Large μ
13. Rewind the simulation again as in step 9. Increase the mu value, or learning factor, up to
the value of 15.0. Hit update and re-run the simulation as in steps 7 and 8. What has
happened to the linearization performance? Why did this happen?
a. Now, the linearizer is adjusting too much in response to the error and massively
overshooting its error adjustment. Consequently, the gain curve becomes highly
erratic and linearization does not improve overall system performance.
Figure 7: LUT Predistortion Performance with Extremely Large μ
14. Rewind the simulation again as in step 9. Set the number of LUT bins back to 16 and the
learning factor back to 0.25. Increase the power back off factor to 10dB. In doing so, the
amplifier is not being driven hard into its compression region. How is the nominal PA
performance? Does linearization still yield a large performance improvement? Is it still
necessary? Have the LUT correction factors been trained for the higher power bins?
Repeat the simulation as in steps 7 and 8.
a. For a large power back off, the PA is already operating in a very linear region. As
such, there is little performance gain to be had by utilizing predistortion. In fact,
the modem output amplitudes are never large enough to even train most of the
bins in the LUT as shown in the histogram of PA output points. The cost paid is
that the PA is consuming a large amount of bias power while producing little
output power.
Figure 8: LUT Predistortion Performance with Large Power Back Off
15. Experiment with different combinations of LUT size, learning factor, and power backoff.
See what interesting effects that can be seen and what tradeoffs are optimal in ACPR and
EVM improvement.
Neural Network based Predistortion
An alternate approach to doing predistortion proposed by Boumaiza3 utilizes neural
networks. The goal of this approach is to train the neural network to the inverse function of the
power amplifier, excepting the desired gain, and place that network in the system prior to the
amplifier. Neural network predistortion starts to outperform gain-based LUT predistortion as the
distortion becomes more complex. An example of when distortions get more complex is for
wideband signals when the amplifier’s bias network is not behaving ideally. In these cases, the
state of the bias and thus the amplifier’s instantaneous gain are dependent on the current and
recent previous symbols transmitted 11
. While the gain-based LUT has been extended in 15,16
by
making the assumption that the non-linear portion of the distortion is generated based on the
power of the current symbol and that the memory effects due to previous symbol powers are
linear, this assumption is a simplification of the circuit behavior. This assumption is not needed
for neural networks. To allow easier presentation of tradeoffs in our tutorial, the neural network
is being applied to a simple memoryless AM/AM power amplifier.
The neural network used in digital predistortion consists of a set of neurons arranged in
layers. The first layer consists of the inputs from the baseband modem. The final layer consists
of one node with output amplitude in the case of the AM/AM memoryless amplifier. In between
these two layers are additional hidden layers, whose input and output are both not visible from
outside of the network. The hidden layer outputs are simply a mathematical construct and have
no correlation to the underlying device physics. The neurons in each hidden layer take a
weighted sum of each of the previous layer’s outputs and a bias. This weighted sum is then
passed through the hyperbolic tangent function to produce the neuron output, which is a function
with continuous derivatives and gives the network the ability to model smooth non-linearities.
The output layer takes as input a weighted sum of the final hidden layer’s neurons and a bias,
and then passes them through a linear output function which allows scaling the values to the
appropriate range. To make the network work appropriately, the weights applied to each
interconnect shown in orange on Figure 9 must be trained to an appropriate value.
Non-DSP
G(·)
f ↑ f ↓PA
Remove
Desired
Gain
1/go
Neural Network
Predistortion
+
1
+
1
+
1
+
1
+
1
vin(n)
Modem
Output
Predistorter
Output
vpd(n)
RecordvAct(n) Actual OutputTraining Input Data
Record
Training
Target
Data
Figure 9: Neural Network Based Predistorter Using Two Hidden Layers
The selection of network topology and computation of proper weights is what makes
applying neural networks difficult. The objective is to identify the inverse function of the power
amplifier gain, except for the desired gain, and place it prior to the amplifier so that when the
amplification is performed only the desired gain remains. This is implemented by recording the
input and output from the RF section of the power amplifier. The weights are initially set to
random values normally distributed about zero. After each frame, the weights are updated using
back-propagation, a process that works backwards through the network attributing each weight
to an effect on the output error. To do this, a training set of data representative of the desired
network behavior must be attained. To model the inverse function of the amplifier, the training
inputs are the power amplifier output values divided by the desired gain. The training target data
is then the input to the power amplifier. Due to the non-linear characteristics of the data, the
Levenberg-Marquardt algorithm has been found to be the most effective to use for weight
determination. To avoid passing actual data through the untrained network, for the first packet
the predistorter is bypassed and raw modem output is sent directly to the power amplifier. The
performance of the network could be further optimized if regularization, or scaling of the inputs
to consume the whole range of the hyperbolic tangent, was performed.
One of the issues in selection of network topology is to make sure the network is being
trained to the behavior of the circuit, rather than fitting the network to every point in the training
data set including noise. This overfitting can usually be seen as an approximation function with
too much oscillating curvature, which should not exist for any expected power amplifier.
Various strategies exist for fighting this problem including network pruning and cross-
validation17
. In network pruning, the network attempts to remove as many neurons as possible
while maintaining a good fit against the training data. In training and validation, a portion of the
training data is used for calculating network weights. The error in estimation of the validation
data is then computed to ensure that it is becoming lower as the network is trained. In the
examples in this tutorial, the Encog Java neural network framework18
is used to implement the
network computations. To keep simulations quick, only 125 training iterations are made through
the network per pass. These iterations are most commonly referred to as epochs. Better results
could be attained with more epochs.
Neural Network based Predistortion Tutorial
For the experiments in this section, it may be helpful to refer to the example setup in Figure 10.
1. Start Java-DSP.
2. Place a “Long Signal Generator” block into the schematic.
3. Double-click on the “SigGen(L)” long signal generator block. Select pin #1 and an input
as “OFDM BPSK 64 carrier 4xOSR Frequency Domain”. This places a 4x oversampled
OFDM data source, where each subcarrier uses BPSK modulation.
4. Place a new “PAbyNNet” block. This is a power amplifier linearized using a neural
network block. Connect its input to the output of the long signal generator.
Figure 10: Neural Network Predistortion Demonstration
5. Place a “Plot2” block. Connect its top input to the top output of the “PAbyNNet” block.
Connect its bottom input to the bottom output of the “PAbyNNet” block.
6. Double click on the “Plot2” block. Check the box to turn on the grid, set the dropdown to
select Magnitude squared by “Magn.^2”. Select dB as the output to plot, and then use
Manual Axis to set the vertical axis from -80dB up to +20dB. Both plots on the screen
will now use the same vertical axis scale to avoid misleading output. The top plot will be
the power spectrum of unpredistorted amplifier output. The bottom plot will be the
power spectrum of the predistorted amplifier system output.
7. Double click on the “PANNet” block. Four values are available to be set. The first is the
extent to which the power amplifier input is backed off the maximum output of the
amplifier. The next value is the number of hidden layers in the neural network, up to two
layers for this example. The final two values are the number of neurons in each of the
hidden layers. The neural network topology is only editable during the prior to the first
frame of neural network data, for subsequent frames they are greyed out. This is to
prevent the network topology from being changed between frames. There are 4 graphs to
summarize the output of each frame. The first graph shows the gain of the nominal
(unpredistorted) power amplifier in blue, the predistorter gain in magenta, and the net
linearized system gain in black against the modem signal amplitude. The second graph
shows the same 3 lines, but instead of presenting the answer in gain it is presented as
magnitude. The last two graphs shown the ACPR and EVM for each frame without (in
blue) and with (in magenta) predistortion. For the first simulation, set the power back off
to 1.5dB. Select a 1 hidden layer neural network and place three neurons in the hidden
layer.
8. Run the simulation for 31 frames by pushing the “>>” button in the long signal generator
block to advance the simulation by 1 frame. Then after running it once, rewind the
simulation using the “|<<” button. Rerun the simulation, notice the results may change
do the random initialization of the network prior to training.
9. Rewind the simulation using the “|<<” button. Set the neural network topology. Set the
neural network to include 8 neurons in one hidden layer. Rerun the simulation several
times. Do you see inconsistently in the results? When the network is well trained, do
you see the how is the ACPR and EVM performance relative to the case with 3 neurons.
If the network does not work well, what is observed about the predistorter gain? Is there
a change in simulation time?
a. As the number of neurons is increased, when the training is successful the
performance generally exceeds the case of 3 neurons. However, the training more
often goes awry and may require considerably more time to converge. Examples
of predistortion gain are shown below for cases with good and bad convergence in
the predistorter.
Figure 11: LUT Predistortion with Good (left) and Bad (right) Random Initial Weights
10. Rewind the simulation using the “|<<” button. Set the neural network topology. Set the
neural network to include 3 neurons each in two hidden layers. Rerun the simulation.
Do you see inconsistently in the results? When the network is well trained, do you see
the how is the ACPR and EVM performance relative to the case with 3 neurons. If the
network does not work well, what is observed about the predistorter gain? Is there a
change in simulation time?
a. The two-hidden layer neural is overly complex for the simple memoryless
AM/AM power amplifier. It does not fit the inverse function well with the
limited number of epochs used in training. Better performance may be available
with a more selective initialization of the weights based on prior knowledge of the
expected amplifier behavior instead of random weights.
Figure 12: LUT Predistortion with Multiple Hidden Layers
Conclusions
This paper presented J-DSP simulation modules and exercises to teach amplifier linearization
and predistortion techniques to senior undergraduate and graduate students. The exercises are
based on the J-DSP simulation tool, may be used by instructors in a class setting to demonstrate
both the key signal processing concepts associated with these algorithms, and the ways design
decisions in the signal processing domain can dictate circuit and communications requirements.
Acknowledgements
This work has been funded in part by NSF CCLI (TUES) phase 3award number 0817596.
References
[1] Santucci, R; Gupta, T.; Shah, M.; Spanias, A., “Advanced functions of Java-DSP for use in electrical and
computer engineering courses,” ASEE 2010, Louisville, KY, 2010.
[2] Cavers, J.K., "Amplifier linearization using a digital predistorter with fast adaptation and low memory
requirements," IEEE Transactions on Vehicular Technology, vol.39, no.4, pp.374-382, Nov 1990.
[3] Boumaiza, S.; Mkadem, F., “Wideband RF power amplifier predistortion using real-valued time-delay neural
networks,” 2009 European Microwave Conference, pp.1449-1452, Sept. 29 2009-Oct. 1 2009.
[4] Atti, V., Development of MATLAB and JAVA software models for Algebraic CELP Algorithms. Master’s
thesis, Arizona State University.
[5] Spanias, A.; Atti, V., Interactive On-line Undergraduate Laboratories Using J-DSP, IEEE Trans. on Education
Special Issue on Web-based Instruction, 48(4), 2005, pp. 735-749.
[6] Argyris, C., Development of an Internet based digital signal processing tool for on-line simulations. Master’s
thesis, Arizona State University, 1999.
[7] Proakis, John G, Digital Communications, 4th Ed. New York, NY: McGraw Hill, 2001.
[8] Cripps, Steve C., RF Power Amplifiers for Wireless Communications. Norwood, MA: Artech House, 1999.
[9] Goldsmith, Andrea, Wireless Communications. New York, NY: Cambridge University Press, 2005.
[10] Larson, L.; Asbeck, P.; Kimball, D.; “Digital control of RF power amplifiers for next-generation wireless
communications," Proceedings of 35th European Solid-State Device Research Conference, pp. 39- 44, 12-16 Sept.
2005.
[11] Vuolevi, J.H.K.; Rahkonen, T.; Manninen, J.P.A.; “Measurement technique for characterizing memory effects
in RF power amplifiers,” IEEE Transactions on Microwave Theory and Techniques, vol.49, no.8, pp.1383-1389,
Aug 2001.
[12] Widrow, B.; McCool, J.; Ball, M., "The complex LMS algorithm," Proceedings of the IEEE, vol.63, no.4, pp.
719- 720, April 1975.
[13] Pozar, David, Microwave Engineering, 3rd Ed. United States of America: Wiley & Sons, 2004.
[14] Coleri, S.; Ergen, M.; Puri, A.; Bahai, A.; “Channel estimation techniques based on pilot arrangement in OFDM
systems,” IEEE Transactions on Broadcasting, vol.48, no.3, pp. 223- 229, Sep 2002.
[15] Jardin, P.; Baudoin, G.; “Filter Lookup Table Method for Power Amplifier Linearization,” IEEE Transactions
on Vehicular Technology, vol.56, no.3, pp.1076-1087, May 2007.
[16] Santucci, R.; Spanias, A., “A block adaptive predistortion algorithm for transceivers with long transmit-receive
latency,” 2010 4th International Symposium on Communications, Control and Signal Processing (ISCCSP), 3-5
March 2010.
[17] Haykin, Simon. Neural Networks: A Comprehensive Foundation. 2nd Edition., Upper Saddle River, NJ :
Prentice-Hall, 1999.
[18] Encog Java and DotNet Neural Network Framework Homepage: http://www.heatonresearch.com/encog