【数字预失真(DPD)】静态DPD设计扩展为自适应设计及评估两种自适应DPD设计:基于(最小均方)LMS算法、使用递归预测误差方法(RPEM)算法研究(Matlab&Simulink实现)-CSDN博客 (2024)

👨‍🎓个人主页:研学社的博客

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3参考文献

🌈4 Matlab代码实现

💥1 概述

数字预失真(DPD)是一种基带信号处理技术,用于校正射频功率放大器(pa)固有的损伤。这些损伤导致带外发射或光谱再生和带内失真,这与误码率(BER)的增加有关。作为LTE/4G发射机的特点,具有高峰均比的宽带信号特别容易受到这些有害影响。在本文中,我们举例说明了一个建模和模拟PAs和dpd的工作流。本文所示的模型基于两篇技术论文[1]和[2]。我们从PA测量开始。从测量中,我们推导出基于内存多项式的静态DPD设计。这样的多项式校正了PA中的非线性和记忆效应。出于仿真目的,我们构建了一个系统级模型来评估DPD的有效性。由于任何PAs特性都会随时间和操作条件而变化,因此我们将静态DPD设计扩展为自适应设计。我们评估了两种自适应DPD设计,一种基于(最小均方)LMS算法,另一种使用递归预测误差方法(RPEM)算法。

详细讲解见第4部分。

📚2 运行结果

【数字预失真(DPD)】静态DPD设计扩展为自适应设计及评估两种自适应DPD设计:基于(最小均方)LMS算法、使用递归预测误差方法(RPEM)算法研究(Matlab&Simulink实现)-CSDN博客 (1)

【数字预失真(DPD)】静态DPD设计扩展为自适应设计及评估两种自适应DPD设计:基于(最小均方)LMS算法、使用递归预测误差方法(RPEM)算法研究(Matlab&Simulink实现)-CSDN博客 (2)

【数字预失真(DPD)】静态DPD设计扩展为自适应设计及评估两种自适应DPD设计:基于(最小均方)LMS算法、使用递归预测误差方法(RPEM)算法研究(Matlab&Simulink实现)-CSDN博客 (3)

【数字预失真(DPD)】静态DPD设计扩展为自适应设计及评估两种自适应DPD设计:基于(最小均方)LMS算法、使用递归预测误差方法(RPEM)算法研究(Matlab&Simulink实现)-CSDN博客 (4)

【数字预失真(DPD)】静态DPD设计扩展为自适应设计及评估两种自适应DPD设计:基于(最小均方)LMS算法、使用递归预测误差方法(RPEM)算法研究(Matlab&Simulink实现)-CSDN博客 (5)

【数字预失真(DPD)】静态DPD设计扩展为自适应设计及评估两种自适应DPD设计:基于(最小均方)LMS算法、使用递归预测误差方法(RPEM)算法研究(Matlab&Simulink实现)-CSDN博客 (6)【数字预失真(DPD)】静态DPD设计扩展为自适应设计及评估两种自适应DPD设计:基于(最小均方)LMS算法、使用递归预测误差方法(RPEM)算法研究(Matlab&Simulink实现)-CSDN博客 (7)【数字预失真(DPD)】静态DPD设计扩展为自适应设计及评估两种自适应DPD设计:基于(最小均方)LMS算法、使用递归预测误差方法(RPEM)算法研究(Matlab&Simulink实现)-CSDN博客 (8)

【数字预失真(DPD)】静态DPD设计扩展为自适应设计及评估两种自适应DPD设计:基于(最小均方)LMS算法、使用递归预测误差方法(RPEM)算法研究(Matlab&Simulink实现)-CSDN博客 (9)【数字预失真(DPD)】静态DPD设计扩展为自适应设计及评估两种自适应DPD设计:基于(最小均方)LMS算法、使用递归预测误差方法(RPEM)算法研究(Matlab&Simulink实现)-CSDN博客 (10)

【数字预失真(DPD)】静态DPD设计扩展为自适应设计及评估两种自适应DPD设计:基于(最小均方)LMS算法、使用递归预测误差方法(RPEM)算法研究(Matlab&Simulink实现)-CSDN博客 (11)【数字预失真(DPD)】静态DPD设计扩展为自适应设计及评估两种自适应DPD设计:基于(最小均方)LMS算法、使用递归预测误差方法(RPEM)算法研究(Matlab&Simulink实现)-CSDN博客 (12)

【数字预失真(DPD)】静态DPD设计扩展为自适应设计及评估两种自适应DPD设计:基于(最小均方)LMS算法、使用递归预测误差方法(RPEM)算法研究(Matlab&Simulink实现)-CSDN博客 (13)部分代码:

%% Test data used to derive coefs
load meas_pa;
pa_in = pa_in;
pa_out = pa_out;

toss = 500; % ignore initial data that could have transients
pad = 600; % room to play at the end of the data set.
traininglen = 20e4; % Arbitrary subset of pa_in data used to derive coefs
if traininglen > (length(pa_in)-pad-toss)
error('Pick smaller subset for traininglen');
end

%% PA and DPD model parameters
memorylen_pa = 3; %M
degree_pa = 3; %K
degree_pd = 5;
memorylen_pd = 5;

coef_pd=complex(zeros(degree_pd*memorylen_pd,1));
coef_pa=complex(zeros(degree_pa*memorylen_pa,1));
%% Compute input scaling factor with overrange
% and scale raw input accordingly
u = pa_in(toss+1:(traininglen+pad)); % select data and transpose
umax_inv = 1/(max(abs(u)));
umax_inv = 1;
u = u*umax_inv;
v = pa_out(toss+1:(traininglen+pad)); % select data
% Normalize output data to the maximum data. Needed
% to make numeric algorithms work. Note that this step might cause problems
% if there is outlying data OR if one does not account for this scaling.
vmax_inv = 1/(max(abs(v)));
%vmax_inv = 1;
v = v*vmax_inv;
% In general there is no point in deriving the PA model since we
% are not implementing it. Sometimes you may only have PA
% measurements however and from those you wish to simulate the PA
% in the time domain. You can in that case derive a PA model
% but keep in mind it may not be an excellent model if you're
% PA is predominantly IIR in nature. This is true since the
% memory polynomial assumes an FIR model. An FIR filter is great for
% equalizing the effects of an IIR filter but not necessarily great at
% modeling it. What we have found experimentially is that if you have
% an IIR-dominant PA, then you can model the passband quite effectively with this technique
% but the stopband may suffer particularly when there is significant
% dynamic range, i.e. a lot of attenuation in the stop band.
if 0
offset = 0;
up = u(1:end-offset);
vp = v(1+offset:end);
% Compute PA model coefficients.
coef_pa = fit_memory_poly_model(up, vp, traininglen, memorylen_pa, degree_pa);

figure;plot([1:length(coef_pa)],real(coef_pa),'r+-',[1:length(coef_pa)],imag(coef_pa),'b+-');grid
title('PA coefficients');
end

if 1
% Compute DPD Algorithm Coefficients using reversed I/O's
% Adding delay to the output variable (v) was crucial in using this memory
% polynomial based derivation of the DPD. We delay the output
% to compensate for the delay inherent in the PA.
% You must take your PA's particular delay into account. The input and output
% are reversed for the DPD derivation. v is now the input and u is the output. By setting
% vp = v(1+offset:end) we are compensating for the delay in the PA.
% Essentially we are making it appear that the output responds to the
% input "offset" samples earlier, non-causal ish.
% You can create this effective negative delay in the DPD coefficient
% derivation using this "offset" varible. It is not
% necessary to get the offset value perfect. There is a range of acceptable
% values for offset. You simply need to capture the energy within the M taps you're
% alloted. One informal offset calibration procedure is to observe the derived
% DPD coefficients as you change "offset" by 1. You should see the DPD coeffs
% shift by 1 as well. If you notice an uncorrelated change in the DPD coefficients
% then you're offset value needs correction. In some cases you may also
% need to make M larger if you're PA has multiple poles you're trying to
% compensate for. Ideally, place the largest tap in the center of your
% pipeline. So if M = 5, place the largest tap at 3 using "offset" as the
% tuning parameter. This gives you some slop on both sides in case the
% PA delay were to change a little.

🎉3参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]Morgan, Ma, Kim, Zierdt, and Pastalan. “A Generalized Memory Polynomial Model for Digital

Predistortion of RF Power Amplifiers”. IEEE Trans. on Signal Processing, Vol. 54, No. 10, Oct.

2006

[2]Li Gan and Emad Abd-Elrady. “Digital Predistortion of Memory Polynomial Systems Using

Direct and Indirect Learning Architectures”. Institute of Signal Processing and Speech

Communication, Graz University of Technology.

[3]Saleh, A.A.M., "Frequency-independent and frequency-dependent nonlinear models of TWT

amplifiers," IEEE Trans. Communications, vol. COM-29, pp.1715-1720, November 1981

🌈4 Matlab代码实现

【数字预失真(DPD)】静态DPD设计扩展为自适应设计及评估两种自适应DPD设计:基于(最小均方)LMS算法、使用递归预测误差方法(RPEM)算法研究(Matlab&Simulink实现)-CSDN博客 (2024)
Top Articles
Latest Posts
Article information

Author: Saturnina Altenwerth DVM

Last Updated:

Views: 6563

Rating: 4.3 / 5 (44 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Saturnina Altenwerth DVM

Birthday: 1992-08-21

Address: Apt. 237 662 Haag Mills, East Verenaport, MO 57071-5493

Phone: +331850833384

Job: District Real-Estate Architect

Hobby: Skateboarding, Taxidermy, Air sports, Painting, Knife making, Letterboxing, Inline skating

Introduction: My name is Saturnina Altenwerth DVM, I am a witty, perfect, combative, beautiful, determined, fancy, determined person who loves writing and wants to share my knowledge and understanding with you.