Locale Icon
English
  • Forums

    Popular Forums

    • LTspice
    • RF and Microwave
    • Video
    • Power Management
    • Precision ADCs
    • FPGA Reference Designs
    • Linux Software Drivers

    Product Forums

    • Amplifiers
    • Microcontrollers
    • Clock and Timing
    • Data Converters
    • Direct Digital Synthesis (DDS)
    • Energy Monitoring and Metering
    • Interface and Isolation
    • MEMS Inertial Sensors
    • Power Management
    • Processors and DSP
    • Switches/Multiplexers
    • Temperature Sensors
    • Voltage References
    View All

    Application Forums

    • A2B
    • Audio
    • Automated Test Equipment (ATE)
    • Condition-Based Monitoring
    • Depth, Perception & Ranging Technologies
    • Embedded Vision Sensing Library
    • Motor Control Hardware Platforms
    • Precision Technology Signal Chains Library
    • Video
    • Wireless Sensor Networks Reference Library

    Design Center Forums

    • ACE Evaluation Software
    • ADEF System Platforms
    • Design Tools and Calculators
    • FPGA Reference Designs
    • Linux Software Drivers
    • Microcontroller no-OS Drivers
    • Reference Designs
    • Signal Chain Power (SCP)
    • Software Interface Tools
    • System Demonstration Platform (SDP) Support
  • Learn

    Highlighted Webinar

    Upcoming Webinar: Simplify High-Accuracy Instrumentation Design with Latest Precision Data Converters

    Join us for an insightful webinar on how ADI’s Precision technology is transforming the landscape of high accuracy instrument design with cutting-edge...

    Places

    • ADI Education Home
    • ADI Webinars
    • GMSL U
    • StudentZone (Analog Dialogue)
    • Video Annex
    • Virtual Classroom

    Libraries

    • 3D ToF Depth Sensing Library
    • Continuous-Wave CMOS Time of Flight (TOF) Library
    • Embedded Vision Sensing Library
    • Gigabit Multimedia Serial Link (GMSL) Library
    • Optical Sensing Library
    • Precision Technology Signal Chains Library
    • Software Modules and SDKs Library
    • Supervisory Circuits Library
    • Wireless Sensor Networks Library

    Latest Webinars

    • Simplifying Connectivity - Remote Controlled (RC) Nodes in a Software Defined Vehicle (SDV)
    • Upcoming Webinar: Simplify High-Accuracy Instrumentation Design with Latest Precision Data Converters
    • Design High Performance Power Systems with Ultralow Noise Technology
    • µModule Solution for Intelligent Motion Control
    • Accelerating Embedded System Development with CodeFusion Studio™︎
    View All Webinars
  • Community Hub

    Challenge Yourself!

      KCC's Quizzes AQQ286 about Right Labels on the Right Boxes containing colored balls

      1. Quote of the week: "Knowledge is knowing a tomato is a fruit. Wisdom is not putting it in a fruit salad" - unknown Sources: commons.wikimedia...

    View All

    What's Brewing

      Quiz! Why a Hybrid Approach Works Blog and Test Your Knowledge

      Quiz! Understand ISO 26262 Compliance Test your knowledge with our quick quiz , based on the blog " Safety in Layers: Why a Hybrid Approach Works ...

    View All

    Places

    • Community Help
    • Logic Lounge
    • Super User Program

    Resources

    • EZ Code of Conduct
    • EZ How To Help Articles
    • Getting Started Guide
    • ADI: Words Matter
    • Community Help Videos
    View All
  • Blogs

    Highlighted Blogs

    Exploring DCM and CCM in SMPS: Part 1 of 6

    Power supplies are the unsung heroes of electronic devices, ensuring that they receive the precise, stable, and clean DC voltages they need to function...

     

    Let’s Take a Field-Bus Trip

    Let’s dive deep into what makes field buses unique compared to each other. Building on our previous blog post, What Makes Field Bus Communication Unique...

    Latest Blogs

    • Countable vs Non-countable Faults
    • Power Your Signal: DAS Networks Unleashed: Part 2 of 4
    • Combining Functional Safety and Availability Using Redundancy
    • Top 3 Engineering Blogs That Captivated Minds on EngineerZone
    • How to Generate a Custom Profile for Optimal System Performance
    Read All Blogs

    ADI Blogs

    • EZ Spotlight
    • The Engineering Mind
  • ContentZone

    Visit ContentZone

    ContentZone

    Technical articles. Blogs. Videos. Your ADI content, all in one place.

    View ContentZone

    Featured Content

    Featured Content Title

    Blurb About Content

    View Content By Industry

    • Aerospace and Defense Systems
    • Automotive Solutions
    • Consumer Technology Solutions
    • Data Center Solutions
    • Energy Solutions
    • Healthcare Solutions
    • Industrial Automation Technology Solutions
    • Instrumentation and Measurement Solutions
    • Intelligent Building Solutions
    • Internet of Things (IoT)
    • Wireless Communication Solutions

    View Content By Technology

    • A2B Audio Bus
    • ADI OtoSense Predictive Maintenance Solutions
    • Dynamic Speaker Management
    • Gallium Nitride (GaN) Technology
    • Gigabit Multimedia Serial Link (GMSL)
    • Industrial Vision
    • Power Solutions
    • Precision Technology
    • RF
    • Security Solutions
    • Sensor Interfaces
    • SmartMesh
  • Partners

    Partner Forums

    • Boston Engineering
    • PalmSens
    • Richardson RFPD
    • Tri-Star Design, Inc.

    Partner Libraries

    • Calian, Advanced Technologies Library
    • Clockworks Signal Processing Library
    • Colorado Engineering Inc. (DBA CAES AT&E) Library
    • Epiq Solutions Library
    • Fidus Library
    • VadaTech Library
    • Vanteon Library
    • X-Microwave Library
EngineerZone
EngineerZone
TES GUI & Software Support ADRV9001 – ADRV9007
  • Log In
  • User
  • Site
  • Search
OR
Ask a Question
TES GUI & Software Support ADRV9001 – ADRV9007
  • RF and Microwave
  • Wide Band RF Transceivers
  • TES GUI & Software Support ADRV9001 – ADRV9007
  • Cancel
TES GUI & Software Support ADRV9001 – ADRV9007
Documents Digital Pre-Distortion
  • Q&A
  • Docs/FAQs
  • Members
  • Tags
  • More
  • Cancel
  • Documents
  • +Debug: FAQ
  • -Device Configurations: FAQ
    • Analog and Half-Band Peak Detectors
    • +Automated TDD
    • -Digital Pre-Distortion
      • DPD Tuning
    • Implement an External LNA in TES
  • +Physical Design of Customer Systems: FAQ
  • +Produce Sample Code
  • +Quick Start: FAQ
  • +SD Card Image: FAQ
  • +SDK Errata: FAQ
  • +Software Functions: FAQ

Digital Pre-Distortion

Introduction to DPD

This tutorial will cover a brief intro on Digital Pre-Distortion (DPD), why its used and how it works. It will also cover how to go about setting up a DPD measurement, including running calibrations for losses in equipment and give two examples using different Power Amplifiers (PA). The data shown in this tutorial is from real in lab measurements.
This tutorial is for anyone looking to implement or evaluate the performance of the ADRV9002 or ADRV9005 DPD feature. 
To follow along with the practical you will need an ADRV9002 evaluation platform, Transceiver Evaluation Software from the latest SDK, PA and accompanying attenuators and splitters based on your requirements (more on how to chose these below).

Digital Pre-Distortion 

DPD is a feature that uses a real-time feedback loop to pre-distort data being transmitted through a power amplifier (PA). It's used in transceiver applications to generate a more robust linear signal for transmitting data, to keep within ACPR specifications for RF bands and to utilise the PA in its most efficient state to maximise power useage. The PA is most efficient in its compression region, as shown in Figure 1, where the signal gets non-linearitiese introduced as a result. DPD works by taking in the output of the PA, calculating the non-linearity and applying an opposite distortion to the signal before it is transmitted and reaches the PA. The sum of this pre-distortion and the PA distortion should output a perfectly linear signal. This allows the user to get the best performance out of the chosen PA, however each PA will have different performance even with DPD and will need to be fine-tuned. 

For more in-depth understanding and debugging refer to the User Guide for all up-to-date documentation on the DPD and TES functionality.

 

Figure 1. PA Output

FAQ

  1. What is the maximum useable bandwidth for the DPD?
    The maximum bandwidth for DPD on the ADRV9002 is 20MHz. This is based off 1/5th of the maximum internal Tx observation bandwidth of the DPD block, which is 100MHz. Using this much margin allows the DPD engine to correct some of the odd harmonics that will have the biggest impact on stability. 

Setup for DPD

Measurements

The DPD engine requires both Tx and Rx signals to calculate the coefficients. The coefficients will be applied in the Tx signal (pre-distort). Shown in

Figure 2. DPD HW Setup

This setup means that for the user’s implementation, one of the Rx channels will need to be permanently used as the DPD observation path. In the ADRV9002, this means the user can implement one of the following: 

1T1R TDD with DPD 
1T2R TDD with DPD
2T1R TDD with DPD 
2T2R TDD with DPD 
1T1R FDD with DPD 

 

Figuring out what your hardware setup will include is the next step. To do this we would recommend starting with the frequency band your application is targeting, from there you will need to understand the link budget and how much power output will be needed from the transmit system. From this point you can start to look for a suitable PA for the system. When you have found a PA that will operate in the freq of interest and provide enough power you can determine the rest of the DPD feedback loop. Using the input power required to push the PA into the compression region you can determine if an addition gain block is needed before the PA as the output from the EVB will be between 5 and 7dBm max. The ouput power of the PA will determin how much attenuation is needed to bring the loopback signal down to the required -18dBm to the input of the ADRV9002. This will also help identify the power rating on the attenuators needed. 

At this stage you will have a PA, attenuators, gain block and coupler/splitter chosen for the feedback loop. 

Example 1

Equipment List 

  • ADRV9002 evaluation platforrm 
  • PC with latest TES 
  • Spectrum Analyser
  • Signal Generator
  • Power sensor
  • PA / Gain block
  • RF cables 
  • Attenuators 
  • Splitter/Coupler 

Calibration 

Calibrating each piece of the feedback loop is very important to get the most accurate picture of what is happening in the loop and will help evaluate and stabalise the DPD. Calibration is pretty simple but time consuming as it involves using a signal generator and a power sensor to input a signal of good quality and know freq and amplitude into a cable or coupler and sensing the power on the other end of the part under test. The difference in power level through the part is the loss and should be noted. Running this calibraion at the freq uency of interest is important as the response of each part can change against frequency. 

You can use the losses measured to fine tune the attenuation levels in the loopback. 

Hardware setup

Shown in Figure 3 is a block diagram of the setup using the ADRV9001 evaluation board (EVB) Tx1 is the transmit channel. The Tx signal must first go through a filter to get rid of harmonics that may make the DPD unstable. The Tx signal is then passed through a simple Minicircuits gain block to increase the signal power level to be able to push the PA into saturation. The gain block is a fixed 40dB so we have the flexibililty on the ADRV9002 side to use the attneuation to set the initial power level for the loopback. The PA outputs around 40dBm so the attneuators next to the PA must be rated to be able to take the 10W of power. In this loopback there is a 20W 20dB attneuator followed by a 10W 10dB and then 2W 20dB to bring the power level down to -10dBm going into the coupler. The coupler also has its own losses that we have claibrated earlier. The cables also have a loss and the sum of these leaves us with -18dBm going into the Rx port on the EVB. There is a little bit of torrerance here, the power level to the Rx1B input should be -18dBm +-5dB for the DPD to operate correctly. This level is not user configurable. 

The user needs to be aware of the kind of data being transmitted, for example if the data has a high PAR then the Tx data will need to be backed off enough so as not to saturate the DACs when the signal goes through the peak expansion (pre distortion). There is no crst factor reduction block in the ADRV9002, the user should be aware of this and make provisions to apply crest factor to all the signals being supplied to the ADRV9002 for transmitting. The importnace of this and other tuning methods will be discussed in the advanced DPD tutorial. 


Figure 3. Simple Example DPD Block Diagram

TES setup

With this simple setup the user can then use the TES to enable the DPD. For more details on any of the steps below please see the User Guide section on Digital Pre-Distortion and ADRV9001 Evaluation System.

  1. After successfully connecting to the FPGA, in the Configure tab select an LTE TDD setup.

Figure 4. Device Configuration

  1. The external path delay will need to be calibrated. This can be done in the with the Iron Python script window in the View Load the ‘External_Delay_Measurement.py’ script. This will return the value in ps for the ‘Path Delay’ in the next step. This file is located in the install folder for the TES C:\Program Files\Analog Devices\ADRV9001 Transceiver Evaluation Software\IronPython

 

Figure 5. Iron Python Script Window

  1. In the Board Configuration tab select the external loopback on the channel that will be performing DPD. Input the peak power and the calibrated path delay.

Figure 6. Board Configuration

  1. In the Digital Pre-Distortion section of the Advanced Features tab the user can now enable the DPD on the channel of choice. There are options to select the Look Up Table size (larger number of entries provides more granularity)

The Pre-LUT Scale can be used to get better DPD performance if the input signal to the DPD block is too small. The default value is 2 and be changed from 0 to 3.75 in 0.25 steps.

The polynomial terms can be set to Default or when further optimising the user can custom tune the Taps for a better response. For now, we use the default setting.

 

Figure 7. Advanced Features (DPD)

  1. In the Digital Pre-Distortion tab, the channel enabled in the Advanced features tab above will also appear enabled here. This tab gives the user the option to increase or decrease the number of samples of real data used to calculate the coefficients. There is an additional power scale that can be used for small input signals.

DPD Activation can be used to prevent the DPD from going unstable if the signal level going to the DPD block drops unexpectedly. For now, these settings can be left as the default values.

 

Figure 8. Digital Pre-Distortion Tab

  1. The part can now be Programmed. Enabling the DPD will require a DPD tracking calibration which looks for a feedback signal. If the hardware setup is not set up correctly the device will fail to program.
    1. Note: In TES version 0.21.0 the DPD updates the coefficients at the start of a frame. If you are using the Automated TDD function the frame length is known and will occur frequently compared to operating in normal mode. In normal mode you will need to Stop and Start the Tx transmitting to trigger a frame and update the DPD coefficients. 
    2. Note: Make sure that the Transmit file being used has no discontinuities between the start and end of the file. The file is being sent in a loop and discontinuities will cause some unwanted spurious that will make destabilise the DPD performance.

 

 

Measurement Results

Doing the same measurement with and without DPD is the best way to show the impact. To run without DPD you will need to reset the part, disable DPD and program the part again. The results from this measurement are shown in Figure 9. The yellow trace is the result before the DPD is used and the pink trace is with DPD enabled. This shows a 16dB improvement however all setups with differing PAs will produce different results. Figure 9 is for illustrative purposes only.

Figure 9. Signal Analyser Measurement Example Measurement

The measurements below were taken using the ADRV9002 customer evaluation board controlled by the Transceiver Evaluation Software. The measurements show the results from two different PAs with DPD and without. 

Measurement 1 - Tetra1

PA: Sky65160-11

ADRV9002 Profile: 

  • Tetra1, 144Ksps
  • Internal LO
  • Tx Continuous On

Transmit Waveform:

  • TETRA1_sample_rate_144K_bw_25K
    • This can be found in \ADRV9001 Transceiver Evaluation Software\Examples\Tx Data\
  • PAR is about 3dB

Figure 10: Measurement 1 - Tetra1

Measurement 2 - LTE10M

PA: Sky66297-11

ADRV9002 Profile: 

  • TDD LTE10, 15.36Msps
  • Internal LO
  • Tx Continuous On

Transmit Waveform:

  • CFR_sample_rate_15p36M_bw_10M
    • This can be found in \ADRV9001 Transceiver Evaluation Software\Examples\Tx Data\
  • PAR is about 9dB

Figure 11: Measurement 2 - LTE10M

Measurement 3 - LTE20M

PA: Sky66297-11

ADRV9002 Profile: 

  • TDD LTE20, 15.36Msps
  • Internal LO
  • Tx Continuous On

Transmit Waveform:

  • CFR_sample_rate_15p36M_bw_10M
    • This can be found in \ADRV9001 Transceiver Evaluation Software\Examples\Tx Data\
  • PAR is about 9dB

Figure 12: Measurement 3 - LTE20M

MATLAB DPD Analysis Tool 

The MATLAB tool is aimed at analyzing the captured data from dpd_capture.py. This is an IronPython script that can be run from the TES to capture Tx and Rx data for analysis. This tool will help check signal integrity, signal alignment, PA compression level and at last the fine tuning of DPD.

Figure 13: MATLAB DPD analysis tool 

This DPD analysis tool takes in a .csv file that is gererated in the TES with the dpd_capture.py script. This is run from the Python editor in the View tab.

Figure 14: Python Editor

For more in depth understanding of the DPD features and setup have a look at the whitepaper on The Complete Guide to Troubleshoot and Fine Tune Digital Predistortion

Running this will require a MATLAB runtime engine and this is included in the install package for the DPD Analyser. 

The ADRV9002_DPD_Analyser can be downloaded here: ADRV9002_DPD_Analyser.zip

The dpd_capture.py file can be downloaded here: dpd_capture.zip

DPD Power Consumption

The ADRV9002's DPD power consumption, while seemingly dominated by the Observation Receiver (ORx), is actually primarily attributed to the DPD Actuator in average power calculations. This is because the ORx, despite consuming around 225mW for Tetra and 281mW for LTE 20 1T/1R during operation, only runs periodically for data capture (approximately every 2 seconds). The capture duration itself is short, ranging from tens of microseconds to several milliseconds depending on the profile: around 7.1ms for Tetra and 23µs for LTE 20.

Therefore, the average ORx power consumption is significantly lower: around 0.8mW for Tetra and a mere 0.003mW for LTE 20 1T1R. This is calculated by multiplying the ORx power consumption with the ratio of data capture time to the period. Consequently, the ADRV9002's average DPD power consumption is mainly determined by the always-on Actuator, resulting in less than 3mW for Tetra, less than 18mW for LTE 20 1T, and less than 36mW for LTE 20 2T. More details on DPD power consumption are provided here:

 PDF

DPD Performance Reports

The ADRV9001 employs DPD system similar to that of the AD9371 and AD9375 transceivers. The published performance reports for these transceivers with various PAs are listed below. Comparable DPD performance can be expected with the ADRV9001 using similar PAs, provided the instantaneous bandwidth (iBW) requirements are met.

  1. https://www.analog.com/media/en/technical-documentation/test-reports/DPD-PA-Test-Report-HTN7G21P160H_Sp0.pdf
  2. https://www.analog.com/media/en/technical-documentation/test-reports/DPD-PA-Test-Report-HTN7G21P160H_Sp0.pdf
  3. https://www.analog.com/media/en/technical-documentation/test-reports/DPD-PA-Test-Report-NXP_20D025_Sp0.pdf
  4. https://www.analog.com/media/en/technical-documentation/test-reports/DPD-PA-Test-Report-NXP_20D025_Sp0.pdf
  5. https://www.analog.com/media/en/technical-documentation/test-reports/DPD-PA-Test-Report-RFPD-DE705_SP0.pdf
  6. https://www.analog.com/media/en/technical-documentation/test-reports/DPD-PA-Test-Report-Skyworks_SKY66297_Sp0.pdf  
  7. https://www.analog.com/media/en/technical-documentation/test-reports/DPD-PA-Test-Report-Skyworks_SKY66292_Sp0.pdf
  8. https://www.analog.com/media/en/technical-documentation/test-reports/DPD-PA-Test-Report-Skyworks_SKY66295-11_Sp0.pdf
  9. https://www.analog.com/media/en/technical-documentation/test-reports/DPD-PA-Test-Report-Skyworks_SKY66296-11_Sp0.pdf
  10. https://www.analog.com/media/en/technical-documentation/test-reports/DPD-PA-Test-Report-Skyworks_SKY66288-11_Sp0.pdf
  11. https://www.analog.com/media/en/technical-documentation/test-reports/DPD-PA-Test-Report-Skyworks_SKY66294-11_Sp0.pdf
  12. https://www.analog.com/media/en/technical-documentation/test-reports/DPD-PA-Test-Report-Skyworks_SKY66293-21_Sp0.pdf
  13. https://www.analog.com/media/en/technical-documentation/test-reports/Skyworks_Tested_PA_SKY66394-11_5V_25C_R0.1.pdf

 

Tags: transmit ad9371 Transceiver Evaluation Software ADRV9002 ADRV9001 Gain Blocks dpd ad9375 rf amplifiers Wideband Transceiver IC adl5611 RF Integrated Transceivers Show More
  • Share
  • History
  • More
  • Cancel
 
Related Content
  • ADRV9002 DPD Problems
    SimDavVis
    Hi, We are trying to enable DPD in a custom ADRV9002 board and are struggling with getting anything running. We have a 1T 1R setup (Rx1 running at 900MHz, TX2 running at 2GHz. Feedback path after PA...
  • Implement an External LNA in TES
    ConradCollins
    Background The Rx gain table is a table of gain values that are used to control the gain of the receiver chain of ADRV9001. The table is generated by the Transceiver Evaluation Software (TES) based on...
  • ADAR1000EVAL1Z Stingray SDP-S based testsoftware for Windows
    Zmon
    Hi, I have a Stingray on my Table and want to do some quick measurements and configurations. The Wiki only specifies one test software for the SDP-S connector. Its functionality seems rather limited...
 
Related Content
  • ADRV9002 DPD Problems
    SimDavVis
    Hi, We are trying to enable DPD in a custom ADRV9002 board and are struggling with getting anything running. We have a 1T 1R setup (Rx1 running at 900MHz, TX2 running at 2GHz. Feedback path after PA...
  • Implement an External LNA in TES
    ConradCollins
    Background The Rx gain table is a table of gain values that are used to control the gain of the receiver chain of ADRV9001. The table is generated by the Transceiver Evaluation Software (TES) based on...
  • ADAR1000EVAL1Z Stingray SDP-S based testsoftware for Windows
    Zmon
    Hi, I have a Stingray on my Table and want to do some quick measurements and configurations. The Wiki only specifies one test software for the SDP-S connector. Its functionality seems rather limited...
analog-devices logo

About Analog Devices

  • Who We Are
  • Careers
  • Newsroom
  • What We Do (Signals+)
  • Investor RelationsExternalLink
  • Quality & Reliability
  • Sales and Distribution
  • What's New on Analog.com
  • Contact Us

Find Help

  • Support
  • Resources
  • WikiExternalLink
  • Analog Dialogue

Get the Latest News

Stay up to date with our latest news and articles about Analog Devices' products, design tools, trainings, and events.

Sign Up Now
  • Instagram page
  • Twitter page
  • Linkedin page
  • Youtube page
  • Facebook
  • Legal and Risk
  • Accessibility
  • Privacy Policy
  • Privacy Settings
  • Cookie Settings
沪ICP备09046653号-1

©2025 Analog Devices, Inc. All Rights Reserved

analog-devices

About Analog Devices

Down Up
  • Who We Are
  • Careers
  • Newsroom
  • What We Do (Signals+)
  • Investor RelationsExternalLink
  • Quality & Reliability
  • Sales and Distribution
  • What's New on Analog.com
  • Contact Us

Find Help

Down Up
  • Support
  • Resources
  • WikiExternalLink
  • Analog Dialogue

Get the Latest News

Stay up to date with our latest news and articles about Analog Devices' products, design tools, trainings, and events.

Instagram page Facebook Twitter page Linkedin page Youtube page
  • Legal and Risk
  • Accessibility
  • Privacy Policy
  • Privacy Settings
  • Cookie Settings
沪ICP备09046653号-1

©2025 Analog Devices, Inc. All Rights Reserved