功率放大器表征DPD,可降低信号失真

本例提供了一种方法,用于描述具有内存的非线性射频块集™功率放大器(PA)和自适应DPD反馈系统,以减少射频发射机的输出信号失真。过程中的初始步骤确定系数矩阵当选择带有交叉项的Volterra记忆多项式模型时,射频功率放大器模块需要[1]。此步骤使用PA的实际测量数据。在推导出PA模型的系数集后,进行了系统级仿真。该系统包括一个自适应DPD算法,可在仿真过程中使用拨动开关启用,并演示了启用DPD校正后射频发射机系统输出信号的线性度如何提高。

读取和可视化测量PA输入/输出数据

首先加载PA测得的输入输出复合I/Q信号。一种商用功率放大器已在实验室中使用符合标准的LTE信号进行了表征,采样率为15.36 MHz。

加载('simrfV2_powamp_dpd_data.mat')DATARATE = 15.36e6;TSTEP = 1 / DATARATE;

物理放大器的行为是现在可见。下图绘出了输入和输出信号作为时间的函数的绝对值。

numDataPts =长度(inDataPA);情节((1:numDataPts) * Tstep、abs (inDataPA),...(1:numDataPts)* TSTEP,ABS(outDataPA))图例('ABS(In)的'“Abs(了)”'位置''东北')xlabel(“时间(s)”) xlim([0 1e-5]) ylabel('电压(V)')标题(“输入和输出电压信号的绝对值”

下图绘出了PA的幅度特性:输出增益与输入信号的绝对值。通常,散射围绕表示从记忆效应的增益的结果(曲线的分散体)的直线和数据曲线的用于从PA非线性(来自水平直线偏差)输入信号的结果的大的值的弯曲。

TransferPA = abs (outDataPA. / inDataPA);情节(abs (inDataPA), 20 * log10 (TransferPA),'')xlabel(“输入电压绝对值(V)”)ylabel (“幅度功率增益(dB)”)标题(“功率增益传递函数”

确定PA块系数矩阵从测得的输入和输出信号

使用多用途辅助函数simrfV2_powamp_dpd_helper以确定所述放大器的特性的记忆多项式模型的复系数。该模型的存储器长度和度是由经验这里选择,但也可以自动进行该选择。

memLen = 3;degLen = 7;

只有一半的数据都被用于计算拟合系数,作为整个数据集将被用于计算相对误差。

halfDataPts =圆(numDataPts / 2);

助手功能支持不同选择内存模式的可能性。万博1manbetx作为一个例子,以使用无交叉项的记忆多项式:

modType ='memPoly';

助手功能simrfV2_powamp_dpd_helper是可编辑的定制修改,并返回所需的矩阵。

fitCoefMat = simrfV2_powamp_dpd_helper (“coefficientFinder”...inDataPA(1:halfDataPts),outDataPA(1:halfDataPts),memLen,degLen,modType);

为了验证拟合,使用辅助函数来计算由预测信号与测量信号的标准差组成的误差估计。

[errSig] = simrfV2_powamp_dpd_helper ('errorMeasure'...inDataPA,outDataPA,fitCoefMat,modType);DISP(['信号标准偏差= 'num2str (errSig)“%”])
信号标准偏差= 4.8083%

为了显现所测量的输出信号与拟合输出信号两者,绘制时域输出电压。

outDataPA_fit = simrfV2_powamp_dpd_helper (“signalGenerator”...inDataPA、fitCoefMat modType);情节((1:numDataPts) * Tstep、abs (outDataPA),“邻”...(1:numDataPts) * Tstep、abs (outDataPA_fit),'.-')xlabel(“时间(s)”)ylabel ('电压(V)') xlim([0 1e-5])图例(“Abs(了)”“Abs(机构)”'位置''东北')标题(“输出和拟合输出信号的绝对值”

我们还绘制了功率传递函数的幅度:

TransferPA_fit = abs (outDataPA_fit. / inDataPA (:));情节(abs (inDataPA), 20 * log10 (TransferPA),'O'...abs (inDataPA), 20 * log10 (TransferPA_fit),'')xlabel(“输入电压绝对值(V)”)ylabel (“幅度功率增益(dB)”)图例(“阿布斯增益”“阿布斯增益飞度”'位置''东北')标题(“功率增益传递函数”

改善记忆多项式模型,包括交叉项配件

我们现在从输入和输出特性,通过使用不同的方法,包括领先和滞后记忆交叉项确定拟合系数矩阵。

我们使用相同的辅助函数,但是我们使用不同的模型类型。

modType =“ctMemPoly”;fitCoefMat = simrfV2_powamp_dpd_helper (“coefficientFinder”...inDataPA(1:halfDataPts),outDataPA(1:halfDataPts),memLen,degLen,modType);

为了验证拟合,我们计算误差。使用辅助函数计算预测信号与测量信号的标准差。由于前导和滞后的内存交叉项,现在的错误更低了。

[errSig] = simrfV2_powamp_dpd_helper ('errorMeasure'...inDataPA,outDataPA,fitCoefMat,modType);DISP(['信号标准偏差= 'num2str(errSig)])
信号标准偏差= 2.7045

要验证配件具有更高的质量和可视化所测量的输出信号与拟合输出信号,我们绘制数据。

outDataPA_fit = simrfV2_powamp_dpd_helper (“signalGenerator”...inDataPA、fitCoefMat modType);情节((1:numDataPts) * Tstep、abs (outDataPA),“邻”...(1:numDataPts) * Tstep、abs (outDataPA_fit),'.-')xlabel(“时间(s)”)ylabel ('电压(V)') xlim([0 1e-5])图例(“Abs(了)”“Abs(机构)”'位置''东北')标题(“输出和拟合输出信号的绝对值”

TransferPA_fit = abs (outDataPA_fit. / inDataPA (:));情节(abs (inDataPA), 20 * log10 (TransferPA),'O'...abs (inDataPA), 20 * log10 (TransferPA_fit),'')xlabel(“输入电压绝对值(V)”)ylabel (“幅度功率增益(dB)”)图例(“阿布斯增益”“阿布斯增益飞度”'位置''东北')标题(“功率增益传递函数”

最后,我们保存了PA模型的系数矩阵,并将其导入RF块集中进行系统级仿真。

保存('PAcoefficients.mat'“fitCoefMat”

系统级模型,包括PA和DPD与两个正弦测试信号

打开的Simuli万博1manbetxnk RF模块组模型,包括PA模型和自适应算法DPD [2]:

系统级模型PA + DPD

该模型包括被用于测试系统的输出参考三阶截取点的双音调信号发生器。该模型包括使用I-Q调制器上变频到RF频率,PA模型与我们的嵌合系数,耦合器到嗅探PA的输出,和表示天线负载效应的S参数块。接收机链进行下变频到较低的中频。注意,这个系统的模拟带宽为50MHz。

该模型可在不DPD当肘节开关处于向上的位置来模拟。

模型='simrfV2_powamp_dpd';open_system(模型)sim(模型)

手动开关被切换为启用DPD算法。当切换时,TOI(三阶拦截点)在仿真时间的0.5毫秒内从36 dBm提高到大约48 dBm。检查频谱分析仪的失真测量,以验证这些结果,并看看如何降低谐波的功率由于DPD线性化。

set_param([模型/手动开关的),'行动''1')SIM(模型)

通过改变的程度,并在DPD系数估计块中定义的存储深度,你可以找到性能和实施成本之间最合适的权衡。

为了正确地估计DPD系数,DPD系数估计块的输入信号PA In和PA Out必须在时域内对齐。这一点通过查找延迟块得到了验证,它表明由RF系统引入的延迟为0。估计器的期望振幅增益对于确保系统的总线性增益在DPD处于活动状态时不发生变化是很重要的。对于这个特定的模型,增益是使用单独的技术来估计的[2]。

close_system(型号1,0)靠近所有;清晰的

系统级模型,包括PA和DPD与16-QAM波形

打开Simulin万博1manbetxk射频块集模型,包括PA模型和用16 qam调制波形激励的自适应DPD算法。

系统级模型PA + DPD与16-QAM

如果没有DPD线性,该系统具有15dB的调制误差率,因为它可以从星座图测量中可以看出。

模型=“simrfV2_powamp_dpd_comms”;open_system(模型)sim(模型)

手动开关被切换为启用DPD算法。当切换时,平均MER从15分贝提高到约28分贝的仿真时间0.5毫秒。

set_param([模型/手动开关的),'行动''1')SIM(模型)

close_system(型号1,0)靠近所有;清晰的

选定的参考书目

  1. 摩根,丹尼斯R.,整箱马,Jaehyeong金,迈克尔·G.齐尔特,约翰Pastalan。“广义记忆多项式模型功率放大器的数字预失真。”IEEE®交易信号处理。第54卷,第10期,2006年10月,第3852-3860页。

  2. 甘,李和伊马德阿布德Elrady。“记忆多项式系统的数字预失真利用直接和间接学习架构。”在在信号与图像处理的第十一届IASTED国际会议论文集(SIP)(F.克鲁兹-罗尔丹和N. B.史密斯,编),654-802号。卡尔加里,AB:ACTA出版社,2009年。