Advertisement
Blogs
Advertisement

Digital Predistortion: Seeing Clearly in the House of Mirrors

Thu, 01/26/2012 - 7:33am

By Mike Woodward, Industry Marketing Manager and Chris Aden, Product Marketing Manager at MathWorks

Correcting nonlinear power amplifier behavior is much easier when designing with simulation       

Working with power amplifiers (PAs) is like walking through a carnival house of mirrors–you see a distorted version of reality. But PAs are worse than carnival mirrors because their distortion changes with power level, temperature, and age. Modern broadband wireless standards, including LTE, require linear amplification to minimize out-of-band emissions and maintain power efficiency. As a result, it is more important than ever to correct PA distortion.

Although correcting PAs with digital predistortion (DPD) is not a new idea, implementing an effective DPD system is challenging. DPD systems run on DSPs, FPGAs, or ASICs. But using any of these target devices as a development platform makes for a slow and difficult development process. Each time you change the DPD algorithms, you have to change code, recompile/synthesize, deploy to your target platform, and rerun tests. Rather than use this slow process, leading DPD companies are now using simulation-led design. To demonstrate how simulation-led design works, MathWorks created a DPD development process, used it to build demonstration DPD algorithms, and tested these demonstration algorithms on hardware.

PA modeling 

Our first step was modeling the PA behavior. To do this, we needed to measure how the PA behaves under different operating conditions. We started by generating OFDM IQ data using a waveform model constructed in MATLAB. Next, we built a test rig consisting of a signal generator, the PA, and a signal analyzer, all under the control of a MATLAB script. We injected IQ data into the PA and measured the IQ output data. The result was a set of input and output IQ vectors, which we used to calculated input and output power. As expected, this analysis revealed the typical PA saturation characteristics (the blue curve in Figure 1).

Figure1-MathWorksFigure 1: Power amplifier non-linearity (blue), non-linear correction (green), linearized system (red)

The next step was modeling the PA data. There are several well-known PA models, but fitting data to them is not straightforward. Often there are multiple fitting parameters and finding the optimum combination can be difficult, especially when using C or a similar a language to perform the fitting. Using MATLAB, and in particular the \ (backslash) operator, we created a least-mean-squares (LMS) fit to our model with just a few lines of code.

For our demonstration system, we fit one data set, but we’re aware of several companies who fit multiple data sets to cover variations in temperature, amplifier age, and so on. Their processes are more complex, but the underlying ideas are the same.

With a model that accurately simulated PA behavior, we were prepared to conduct the next stage—DPD design—entirely in a simulation environment. 

DPD design

DPD is easy to understand, but difficult to implement. The idea is to apply some function to the signal before the PA so that the complete system (DPD plus the PA) delivers a linear response. At its simplest, we just need the inverse of the PA function. This inverse function, however, is almost certainly non-linear and may include memory and other effects. As with the process of PA characterization, the problem comes down to quickly fitting model parameters and evaluating the accuracy of the model. In practice, this is an iterative process.

We chose a non-linear DPD model based on memory effect equations. We computed the inverse of our PA data and fitted our model parameters, again using MATLAB. The green curve in Figure 1 is the output of the DPD model and the red curve is the overall system behavior, that is, the behavior of the system with both the DPD and PA in place. As you can see, the DPD model does a good job of linearizing the system.

The model we used is straightforward, but others take a more detailed approach. Some companies create adaptive algorithms that continually adjust their parameters in response to changes in the PA environment, for example temperature, or changes to the PA itself due to aging. These adaptive algorithms require detailed PA models that might be pure modeling constructs rather than based on real PA data. The advantage of this approach is flexibility; engineers can run through a number of different scenarios in a fraction of the time hardware testing would take. In fact, this kind of simulation enables engineers to develop DPD systems before transmission hardware becomes available or to create DPD systems capable of working with different PAs and waveforms.

Hardware testing

No matter how good the simulation, the DPD algorithm must be tested in the real world.

Fig2-MathWorksFigure 2: DPD schematic and images of hardware setup

Figure 2 shows our hardware test rig. We used a 500W LDMOS base station PA from nxp, an AR 60W pre-amplifier, and Agilent test equipment. We applied our DPD algorithm in MATLAB to our IQ data, which enabled us to inject predistorted data into the test system. Figure 3a, which shows the results prior to applying the DPD, clearly shows leakage into adjacent channels. This system would be unacceptable to regulators. Figure 3b shows the effect of adding in DPD: substantially reduced leakage to within spectral mask guidelines.

Fig3b-MathworksFig3-MathWorksFigure 3: DPD results on hardware. 3a (left) shows the output spectrum of a test waveform with no DPD. 3b (right) shows the output spectrum of the same waveform with DPD.

 

What’s next? 

We’re offering the digital predistortion code used in our demonstration system as part of a free library of mixed-signal examples. As well as digital predistortion, the library contains examples of analog-to-digital conversion (ADC), phase-locked loops (PLLs), switched mode power supplies, and more. To download the library, visit http://www.mathworks.com/programs/mixed-signal/index.html.

Linearizing PA output with DPD is like going to the carnival house of mirrors and seeing ordinary mirrors – not as much fun, but a lot less scary.

 

 

Posted by Janine E. Mooney, Editor

January 26, 2012

Advertisement

Share this Story

X
You may login with either your assigned username or your e-mail address.
The password field is case sensitive.
Loading