Adaptive DPD Design

A workflow for modeling and simulating PAs and adaptive DPDs.
5.9K Downloads
Updated 1 Aug 2014

View License

See the README.PDF for an explanation of the contents of this zip file and how to use the models. See DPD.PDF for general background on PA and DPD modeling.
Digital pre-distortion (DPD) is a baseband signal processing technique that corrects for impairments inherent to RF power amplifiers (PAs). These impairments cause out-of-band emissions or spectral regrowth and in-band distortion which correlates with an increased bit-error-rate (BER). Wideband signals with a high peak-to-average ratio, as is characteristic of LTE/4G transmitters, are particulary susceptible to these unwanted effects.
In this paper, we illustrate a workflow for modeling and simulating PAs and DPDs. The models shown in this article are based on two technical papers, [1] and [2]. We start from PA measurements. From measurements, we derive a static DPD design based on a memory polynomial. Such a polynomial corrects for both the non-linearities and memory effects in the PA. For simulation purposes, we construct a system-level model to evaluate the DPD’s effectiveness. Because any PAs characteristics will vary over time and operating conditions, we extend the static DPD design to an adaptive one. We evaluate two adaptive DPD designs, one based on the (Least-Mean Square) LMS algorithm and a second using the Recurive Predictor Error Method (RPEM) algorithm.

Cite As

Kerry Schutz (2024). Adaptive DPD Design (https://www.mathworks.com/matlabcentral/fileexchange/45890-adaptive-dpd-design), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2013b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Linear and Nonlinear Regression in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.6.0.0

2014.07.31 - Added rpem_dpd_coef.mat which was missing. This impacted dpd_adapt_verify.slx.

2014.07.26 - Added fit_memory_poly_model.m as it was missing from the original submission. Thank you Raymond Wu for pointing this out.

1.0.0.0