RF Power Amplifier Behavioral Modeling using MATLAB
Overview
In this webinar, you will learn how to model RF power amplifiers (PA) using measured data. We will excite a PA with a wideband 5G-like signal and capture the PA output signal. We will use MATLAB to create optimal behavioral models of the captured RF power amplifier data. We will compare different modeling techniques used to characterize the selected PA. Each of the modeling techniques will be verified and validated.
Highlights
Using PA measurements and model extraction techniques, we highlight:
- How you can use MATLAB on a NI PXI controller to collect PA data.
- Generation of test signals to drive a Power Amplifier connected to a NI PXIe-5841 VST.
- Use MATLAB to generate nonlinear PA models with and without memory
- Verify model performance by comparing simulated and measured outputs
About the Presenters
Dr. ETHEM MUTLU SÖZER is a principal software engineer at MathWorks Inc. in Natick, MA. He specializes in software development for signal processing and communications toolboxes. His current interests include software defined radio (SDR) and machine learning and deep learning algorithms for wireless communications. Previously he was a research engineer at Massachusetts Institute of Technology, where he developed underwater acoustic communication hardware and software platforms. He has bachelor’s and master’s degrees from Middle East Technical University, and a Ph.D. from Northeastern University.
Tim Reeves is an application engineer for RF and Antenna products at MathWorks, where he has promoted and contributed to these MathWorks product lines for more than 10 years. Prior to joining MathWorks, he worked on the development and modeling of passive RF components used for aerospace, commercial wireless, and wireline applications. Tim holds a B.S. in electrical and computer engineering from the University of Alberta and an M.S. in electrical and computer engineering from the University of Alberta. Tim is also a senior member of the IEEE.
Recorded: 26 Feb 2021
Hello. My name is Ethem Sozer. I'm a Principal Software Engineer at MathWorks working on signal processing and communications algorithms. I've my colleague, Tim Reeves with me today. And together we are going to present the webinar on RF Power Amplifier Behavioral Modeling using MATLAB. Tim.
Thank you, Athem. My name is Tim Reeves, and I am a member of MathWorks Application Engineering Team. And I focus on wireless communications, RF, electromagnetics, along with analog mixed signal systems as pertaining to communications and radar systems. Today, Athem will be going over a workflow with you, where he will first use MATLAB to interface with a National Instruments Pixie test bed to measure the performance of a high power amplifier. Then he is going to show you how you can use MATLAB to create different types of behavioral models for the high power amplifier in which the distinct models can then be used to develop static, or adaptive digital predistortion algorithms to linearize the power amplifier output.
Before that, I will briefly discuss why MATLAB and Simulink are useful for not only designing and validating power amplifier linearization algorithms, but also MATLAB and Simulink are useful in the design and development of wireless communication systems based on the increasingly challenging requirements of present, and emerging wireless standards.
Finally, Athem will direct you to additional resources that mathworks.com that complement the material that was presented today. Before we get into the technical presentation that Athem will be providing, I would like to discuss why it is necessary to make use of abstracted models in the design of RF transmitters, used in wireless communication systems that implement both present, and emerging wireless standards such as 3GPP.
According to the 3GPP standard, implementation of wireless transceivers makes use of carrier frequencies both below 6 gigahertz and millimeter wave frequencies depending on data requirements. The growing complexity of the emerging standards can be managed with system models. A single model that combines each of the disparate aspects of wireless transceiver system design can be used for architectural exploration.
With the increasing demands of these new wireless systems, traditional methodologies where design margin is used in conjunction with siloed component design, are not enough to meet the cost and technical demands that go along with these new technologies. Millimeter wave transceivers require full integration of the assembly from waveform generation, all the way to the antenna array. These fully integrated assemblies can only be tested and validated by over the air test setups.
As individual subsystem testing is not possible, a new design paradigm is required. System level behavioral models and simulation can provide the foundation for each new integrated design. MATLAB and Simulink can be readily used to create detailed systems models that describe each disparate aspect of a 5G wireless communication system, and can be used for architectural exploration of both sub 6 gigahertz systems, as well as millimeter wave systems.
If we look at the specific case of power amplifier linearization, MATLAB can be used to model the power amplifier, and Simulink can be used for the design and validation of digital linearization algorithms. Before Athem describes the specific workflow to obtain a behavioral model for a power amplifier, let's first review key high power amplifier attributes.
A RF power amplifier is the key element that comprises the RF transmitter unit. In order to optimize the efficiency of a RF transmitter, the power amplifier needs to be driven into compression. When a power amplifier is running in compression, the optimal ratio of output RF power from the amplifier to low frequency or DC power supply to the power amplifier is a achieved.
However, when the power amplifier is running in compression, non-linearity causes both adjacent channel spectral regrows, as well as harmonic products that occur at integer multiples of the fundamental carrier frequency of the RF input signal. Inter-modulation products at harmonic frequencies can be filtered out relatively easily. Adjacent spectral regrowth however, needs to be mitigated with other techniques. To simultaneously achieve optimal power amplifier efficiency along with a linear response, either analog or digital linearization techniques are necessary.
Common techniques used to linearize power amplifier operation include digital predistortion, envelope tracking, and crest-factor reduction. The methodology that we will discuss today supports the digital predistortion linearization technique. To develop an optimal linearization algorithm, a model to describe the behavior of the power amplifier is required. My colleague, Athem will be describing a process that allows you to make use of MATLAB to create behavioral models of power amplifiers, that can be used in the development of static or dynamic linearization algorithms. Athem's presentation we'll show you how you can use MATLAB to connect to a National Instruments Pixie measurement setup to collect power amplifier data and create behavioral models that can be used to develop and validate digital predistortion algorithms. Athem, back to you.
Thank you, Tim. Now that we know why you may want to model a power amplifier, let's find out how we can model a power amplifier using MATLAB and a test equipment. First, we need to select the appropriate signal to drive the PA. The PA response depends on the characteristics of the input signal such as bandwidth, and peak to average power ratio, or PAPR. Therefore we first need to select the application and the signal and then do the modeling. One common mistake is to use one kind of a signal to model the amplifier, and then use this model to simulate a system that uses a different type of signal. For example, if you model the amplifier using a narrow band low PAPR signal and then use that model to simulate a system that uses high bandwidth high PAPR signal, then your results may be misleading.
MATLAB provides various signals that you can work with. For example, you can generate standard specific signals like WLAN, LTE, and 5G or you can specify proprietary signals such as OFDM, modulation and QAM modulation. Now that we have decided on the signal to use, now it's time to power up the amplifier. Powering up the amplifier means enough to provide bias for voltages to the pins of the amplifier. After providing the bias voltages to the amplifier, we are going to also connect the input of the amplifier to an Rx transmitter and output of the amplifier to RF receiver. Once we have all the connections, now we are ready to drive the amplifier.
We're going to check the signals in MATLAB. I'm going to send these signals through the power amplifier and then measure the output of the amplifier. You can repeat this process several times under different operating conditions, for example, different input power levels.
Once we have the input and output signals, now we can estimate the model parameters. In this talk, we are going to focus on two models: One is Memoryless Non-linearity, and the other is the Voltera Series Memory polynomial. Here's an example hardware setup. Here, we see an NI PXIe chassis with a vector signal transceiver, or a VST unit. A VST is it high bandwidth RF instrument that combines a vector signal generator, or a VSG with a vector signal analyzer, or a VSA. We can think of the VSG as the RF transmitter, and VSA as the RF receiver.
This box also contains Source Measure Units, SMUs. We're going to use these SMUs to provide bias voltages to the amplifier. We are going to also measure the voltages and the currents consumed by amplifier. The box also has a controller PC. We're going to run MATLAB right on that PC.
Once we have the setup, we can run the signals to the amplifier and measure the output of the amplifier. With these capture signals, we can model the PA. Note that we can use the same hardware setup for hardware in the loop tests. For example, if we designed a DPD, we can measure the effectiveness of the PD using this setup.
Here is how that setup looks in real life. The figure on the left shows the NI PXIe chassis that we are going to use in the upcoming demo. On the left side of the chassis, we see the controller PC. We're going to run MATLAB right on that controller PC in the test equipment itself. On the right hand side, we have the SMUs and DVST.
The figure on the right shows the connections from the NI PXIe chassis to the PA. The red box is used to distribute the bias voltages from the SMUs to the PA pins. The yellow ellipse shows the PA on the test. Now you can move on to the PA modeling example.
Communications Toolbox box has two examples that focus on power amplifier modeling, and digital predistortion. Note that once you have the power amplifier model, you can use this model to design a DPD using Simulink and of RF block set. Today, will focus on the power amplifier model and example.
You can find this example by searching for power amplifier characterization MATLAB in your favorite search engine. You can also find us an example into MATLAB documentation. Lets move to MATLAB and find the example. In MATLAB, in the documentation window, select Communications Toolbox. Click on Examples. And then select RF component modeling sub library. Our power amplifier characterization example is right here. Click on Open My Script because we are going to run this example on the hardware right now together.
This example shows us how to characterize the power amplifier using measure signals from an amplifier, namely, an NXP Airfast PA. We are going to use an NI PXIe chassis with a VST audit. The power amplifier is an NXP Airfast LDMOS Doherty PA with an operating frequency of 3.63 to 3.8 gigahertz. And a nominal gain of 29 dB. This PA requires several bias voltages, which are going to provide using the SMUs on the NI PXIe chassis.
We're going to generate signals in MATLAB. Pass them to the VSG. The VSG will pass them through the PA. The output of the PA will go to an attenuator, and will be captured by a VSA. And then the VSA will send those signals back to MATLAB for further processing. You can run this example in two ways. You can choose your data source as from file. In which case, you're going to run the example of its safe data. Or you can choose hardware and run the demo on the hardware. That's what we are going to do today.
As the test signal, we have two choices. You can use Tones for low bandwidth low PAPR signals, or we can choose OFDM to generate a 5G-like OFDM waveform with 64-QAM modulated signals for each subcarrier. You can also choose the bandwidths. And we are going to use 100 megahertz as the bandwidth for today's demo. Once we have choosing our test signal and the bandwidth, we are ready to generate or test signals around this function, and get the txWaveform.
So identify higher than nonlinearities. We need to use an oversampled signal. In today's demo, we're going to use an OverSampling ratio of 7. Once we have our oversample signal, now we are ready to talk to the device. we're going to generate a VST driver using this function and the name of the device. Once we have the VST driver, now we can set a couple of properties such as the expected gain, which is 39 dB, external detonation, 30 dB, target input power, 8 dBm, and central frequency, 3.7 gigahertz.
Now our VST is ready. Now we can write the waveform to the VST using this function. Once the waveform is written on the VST, we can run our experiments and collect the results. The result is a structure that has referenced power for each sample, Measured AMToAM mapping, synchronize inputs and outputs waveforms, and a linear gain. We use a dsp, that's spectrum analyzer system object to check the input signal spectrum. Here we see the input signal spectrum. We see that the channel power is about 8 dBm, and the occupied Bandwidth is about 100 megahertz, which is as we expected. So the input looks good.
It can also plot the AM/AM characteristics. Here you see the output power versus input power for this PA. You can see that there's some non-linearity and this point cloud shows that there's some memory effects. We can plot the same data but this time gain versus input power. In this case, we can see the non-linearity and the memory effects much better. Note if you have input and output data, we can model our PA. We're going to start with the Memoryless Non-linearity Model.
We're going to use The comm.MemorylessNonlinearity System object. Using the system object and a lookup table, we can model this PA. To create the lookup table, going to create a histogram. And for each histogram bin, we are going to calculate the average output power an average phase shift. With the jury at the lookup table, we can create a comm.MemorylessNonlinearity objects. And then use this object to pass the measured PA inputs to read this Memoryless Non-linearity and estimate the output.
This plot shows the actual signal that you measure and estimate a signal that we generated using the Memoryless Nonlinearity object. There's a good match. We can't quantify that much by measuring the RMS error, which is about 13%. This plot shows again versus input power. The blue is the actual measured, and the red is the estimate. As you can, see the estimated line shows already nonlinearity. There are no memory effects.
Next, we are going to use the Memory Polynomial Model. The Memory Polynomial Model has two degrees of freedom; the memory lengths and a degree of the non-linearity. We did a grid search and found that the best match is when we had the memory lengths set to 5 and degree of non-linearity set to 5 again. We can use this function to estimate the model parameters. These are the model parameters for this measurement. You can see that some values are 0. That's why we are getting a Rank deficiency warning.
We can use the same function to estimate the PA output using these model parameters. This plot shows in time domain the actual signal and estimated signal. The RMS error for this case is about 6%, which is much better than the Memoryless Non-linearity.
This plot shows gain versus input power. In this case, the estimates are again, red. And we can see the memory effects in addition to the non-linearity. Now that we have modeled the PA using two different models, let's compare these models. This plot shows the spectrum of the actual signal, Memoryless Nonlinearity model output, and Memory Polynomial output. The yellow one is the actual signal. The blue one is the Memoryless Non-linearity, and the red one is the Memory polynomial.
As you can see that, the Memoryless Nonlinearity model was not able to capture the spectral regrouped, while the Memory Problem one can match. You can run the same experiment by choosing Cross-Term Memory for your model. In this case, you are going to use a Memory Polynomial with cross-terms.
Note if you have a PA model, you can use this model to simulate a system that has a PA unit. For example, the Digital predistortion to Compensate for power amplifier nonlinearity example does exactly that. It uses these PA measurements to measure the effectiveness of a digital predestortion algorithm. This is all we have for the demo. Let's go back to our presentation. In summary, we have seen why we may want to model a PA. Then, we have seen how to model a PA. Namely, how to select the signal, how to set up the hardware, how to measure the input and output of the PA, and then how to use these measurements to estimate the parameters of a PA model.
Then we compared these models; namely, the Memoryless Non-linearity and Series Memory polynomials. At this point, we are ready to use this PA model to simulate a system that has a PA unit. For example, a system with a DPD.
You can further explore how you can design and test RF systems using MathWorks products. Namely, you can check the RF component modeling examples in communications toolbox. Harmonic Balance Solver and RF Budget Analyzer applications in RF Toolbox, and Circuit envelope simulation using RF Blockset. For an in-depth look at how you can use MATLAB for wireless system design and test, you can check the solution page called MATLAB for wireless communications. You can find us page by searching for MATLAB wireless communications in your favorite search engine. This concludes our webinar. Thank you.