主要内容

comm.DPDCoefficientEstimator

估计数字预失真的存储多项式系数

描述

comm.DPDCoefficientEstimator给定功率放大器的基带等效输入和基带等效输出,系统对象™估计非线性功率放大器的数字预失真(DPD)存储多项式的系数。有关更多信息,请参见数字预失真

计算预失真系数:

  1. 创建comm.DPDCoefficientEstimator对象并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

有关系统对象如何工作的详细信息,请参见什么是系统对象?

创建

描述

估计量= comm.DPDCoefficientEstimator创建一个数字预失真系数估计器系统对象,用于估计非线性功率放大器数字预失真(DPD)的存储多项式的系数。

例子

估计量= comm.DPDCoefficientEstimator (的名字价值使用一个或多个名称-值对设置属性。例如,dpdcoefficient estimator('多项式类型','交叉项记忆多项式')配置预失真系数估计器系统对象来估计具有交叉项的存储多项式的系数。将每个属性名用引号括起来。

属性

全部展开

除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放功能解锁它们。

如果属性为可调,您可以随时更改其值。

有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计

期望振幅增益,以分贝为单位,指定为标量。此属性值表示在补偿放大器输出处所需的信号增益。

可调:是的

数据类型:

用于预失真的多项式类型,指定为以下值之一:

  • 记忆多项式的-通过使用无交叉项的记忆多项式计算预失真系数

  • “交叉项记忆多项式”-通过使用带有交叉项的记忆多项式计算预失真系数

有关更多信息,请参见数字预失真

记忆多项式的程度,指定为正整数。

数据类型:

样本中的记忆多项式深度,指定为正整数。

数据类型:

用于均衡的自适应算法,指定为以下值之一:

  • “最小二乘法”-使用最小二乘算法估计记忆多项式系数

  • 递归最小二乘-使用递归最小二乘算法估计记忆多项式系数

有关算法参考资料,请参阅[1]而且[2]

数据类型:字符|字符串

递归最小二乘算法使用的遗忘因子,指定为范围(0,1]中的标量。减小遗忘因子减少了收敛时间,但导致输出估计不太稳定。

可调:是的

依赖关系

若要启用此属性,请设置算法递归最小二乘

数据类型:

递归最小二乘算法的初始系数估计,指定为矩阵。

  • 如果InitialCoefficientEstimate是一个空矩阵,递归最小二乘算法的初始系数估计是自动选择对应于一个记忆多项式的恒等函数,从而使输出等于输入。

  • 如果InitialCoefficientEstimate是不是一个非空矩阵,行数必须等于多少MemoryDepth

    • 如果PolynomialType记忆多项式的,列数为存储多项式的次。

    • 如果PolynomialType“交叉项记忆多项式”,列数必须等于n1) + 1是多项式的记忆深度,和n是记忆多项式的次。

有关更多信息,请参见数字预失真

依赖关系

若要启用此属性,请设置算法递归最小二乘

数据类型:
复数支持:金宝app是的

使用

描述

例子

系数=估计量(疼痛paOut估计存储多项式的系数,以供comm.DPD利用记忆多项式来补偿功率放大器中的非线性,从而对复杂基带信号进行预失真。

输入参数

全部展开

功率放大器基带等效输入,指定为列矢量。

数据类型:
复数支持:金宝app是的

功率放大器基带等效输出,指定为长度相同的列矢量疼痛

数据类型:
复数支持:金宝app是的

输出参数

全部展开

记忆多项式系数,以矩阵形式返回。有关更多信息,请参见数字预失真

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj,使用这种语法:

发行版(obj)

全部展开

一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

将数字预失真(DPD)应用于功率放大器的输入信号。DPD系数估计器系统对象使用包含功率放大器输入和输出信号的捕获信号来确定预失真系数矩阵。

加载一个包含功率放大器输入和输出信号的文件。

负载(“commpowamp_dpd_data.mat”“PA_input”“PA_output”

生成一个DPD系数估计器系统对象和一个凸起的余弦发射滤波器系统对象。

估计器= com . dpd...“DesiredAmplitudeGaindB”10...“PolynomialType”记忆多项式的...“度”5,“MemoryDepth”3,“算法”“最小二乘法”);rctFilt = com . raisedcosinetransmitfilter (“OutputSamplesPerSymbol”2);

估计数字预失真记忆多项式系数。

coef = estimator(PA_input,PA_output);

使用生成DPD系统对象系数,由DPD系数估计器输出的估计系数,与系数矩阵相同。

dpd = com . dpd (“PolynomialType”记忆多项式的...“系数”系数);

生成2000个随机符号,并对信号应用16-QAM调制。对调制信号进行提升余弦发射滤波。

S = randi([0,15],2000,1);U = qammod(s,16);x = rctFilt(u);

对数据进行数字预失真处理。DPD System对象返回一个预失真信号,作为功率放大器的输入。

Y = dpd(x);

这个例子展示了DPD记忆多项式的系数矩阵的格式,通过使用一个随机生成的系数矩阵。示例中的步骤包括:

  • 创建使用存储深度设置为的存储多项式系数矩阵配置的数字预失真器系统对象3.这个多项式的次集是5由随机值组成的。

  • 使用记忆多项式系数矩阵预失真信号。

  • 一个预扭曲的输出元素与使用内存多项式系数矩阵手动计算的相应输入元素的比较。

创建一个系数矩阵,表示输出等于输入的预失真器,方法是生成一个3 × 5的零系数矩阵并设置系数(1,1)元素1.在系数矩阵中加入小的随机复杂非线性项。

Coef = 0 (3,5);Coef (1,1) = 1;Coef = Coef + 0.01*(randn(3,5)+1j*randn(3,5));

使用内存多项式系数矩阵创建DPD系统对象,系数

dpd = com . dpd (“PolynomialType”记忆多项式的“系数”系数);

生成输入信号并使用dpd系统对象。

X = randn(20,1) + 1j*randn(20,1);Y = dpd(x);

比较输入对应输出元素的手动扭曲输出y (18)以显示如何使用系数矩阵来计算特定的输出值。

U = x(18:-1:(18-3+1));isequal (y(18)和((系数求和。* [u u。* abs (u)。* (abs (u)。^ 2)。* (abs (u)。^ 3)。* (abs (u)。^ 4)))))
ans =逻辑1

这个例子展示了DPD记忆多项式的系数矩阵的格式,通过使用一个随机生成的系数矩阵。示例中的步骤包括:

  • 创建使用交叉项存储多项式系数矩阵配置的数字预失真器系统对象,其存储深度设置为3.这个多项式的次集是5由随机值组成的。

  • 使用交叉项记忆多项式系数矩阵预失真信号。

  • 一个预失真输出元素与已使用交叉项记忆多项式系数矩阵手动计算的相应输入元素的比较。

创建一个系数矩阵,表示输出等于输入的预失真器,方法是生成一个3 × 5的零系数矩阵并设置系数(1,1)元素1.在系数矩阵中加入小的随机复杂非线性项。

Coef = 0 (3,3*(5-1)+1);Coef (1,1) = 1;系数=系数+ 0.01 * (randn (13) + 1 j * randn (13));

使用交叉项记忆多项式系数矩阵创建DPD系统对象,系数

dpd = com . dpd (“PolynomialType”“交叉项记忆多项式”“系数”系数);

生成输入信号并使用dpd系统对象。

X = randn(20,1) + 1j*randn(20,1);Y = dpd(x);

比较输入对应输出元素的手动扭曲输出y (18)以显示如何使用系数矩阵来计算特定的输出值。

U = x(18:-1:(18-3+1));isequal (y(18)和((系数求和。* [u u * abs (u。)* (abs (u)。^ 2)u * (abs (u)。^ 3)u * (abs (u)。^ 4)))))
ans =逻辑1

更多关于

全部展开

参考文献

[1] Morgan, Dennis R, Ma Zhengxiang, Jaehyeong Kim, Michael G. Zierdt和John Pastalan。功率放大器数字预失真的广义记忆多项式模型。IEEE®信号处理汇刊.第54卷,第10期,2006年10月,3852-3860页。

M. Schetzen。非线性系统的沃尔泰拉和维纳理论。纽约:Wiley出版社,1980年。

扩展功能

在R2019a中引入