主要内容

5G NR PUSCH波形的EVM测量

这个例子展示了如何测量PUSCH固定参考信道(FRC)波形的误差矢量幅度(EVM)。该示例还展示了如何添加包括相位噪声和无记忆非线性在内的损伤。

简介

对于基站接收机射频测试,3GPP 5G NR标准定义了一组FRC波形。频率范围1 (FR1)和频率范围2 (FR2)的frc在TS 38.104附录A中定义。

这个例子展示了如何生成NR波形(FRC)并添加损伤。该示例使用相位噪声和无记忆非线性。它展示了如何计算结果信号的EVM,然后绘制每个正交频分复用(OFDM)符号、槽和子载波的均方根(RMS)和峰值EVM。然后计算整体EVM (RMS EVM在整个波形上的平均值)。TS 38.101-1和TS 38.101-2的附件F分别定义了FR1和FR2中EVM的替代计算方法。下图显示了本例中实现的处理链。

仿真参数

每个FRC波形由以下参数的组合定义:

  • 频率范围编号

  • 所使用的调制和编码方案(MCS)的顺序

  • 财务汇报局对指定财务管理系统的索引

从版本15 frc中选择FR1和FR2的其中一个。

所选参考信道(rc)必须遵循G-FRX——一个Y-Z格式,X是频率范围数(1或2),YTS 38.104附录A中使用的MCS的顺序(即从1到5的值)和Z为财务汇报局在给定MCS下的指数。有效的范围Z值取决于频率范围和MCS (X而且Y)如果输入波形不是FRC波形,则最多支持一层EVM测量。金宝app

rc =“G-FR1-A1-7”% FRC

打印EVM统计信息,设置displayEVM真正的.要禁用打印,请设置displayEVM.要绘制EVM统计信息,请设置plotEVM真正的.若要禁用绘图,请设置plotEVM

displayEVM = true;plotEVM = true;
如果displayEVM流('参考通道= %s\n'、rc);结束
参考通道= G-FR1-A1-7

根据TS 38.101-1 (FR1)或TS 38.101-2 (FR2)(附件F)的定义分别测量EVMevm3GPP真正的evm3GPP默认禁用。

evm3GPP = false;

创建一个波形发生器对象,然后生成波形。

wavegen = hNRReferenceWaveformGenerator(rc);[tx波形,tmwaveinfo,resourcesinfo] = generate波形(wavegen,wavegen. config . numsubframes);

损伤:相位噪声和无记忆非线性

这个例子考虑了两种损害:相位噪声和无记忆非线性。通过切换标志来启用或禁用损害phaseNoiseOn而且nonLinearityModelOn

phaseNoiseOn = true;非线性modelon = true;

将波形归一化以适应非线性的动态范围。

tx波形= tx波形/max(abs(tx波形),[],“所有”);

该波形由一帧频分双工(FDD)和两帧时分双工(TDD)组成。重复这个信号两次。对于本例,删除结果波形的前半部分,以避免由相位噪声模型引入的瞬态。

tx波形= repmat(tx波形,2,1);

引入相位噪声失真。图中显示了相位噪声特性。所考虑的载波频率取决于频率范围。我们分别为FR1和FR2使用4 GHz和28 GHz。相位噪声特性是用R1-163984“相位噪声建模的讨论”中描述的极点或零模型产生的。

如果phaseNoiseOn sr = tmwaveinfo.Info.SamplingRate;%载频如果wavegen.Config.FrequencyRange = =“FR1”% FR1的载频Fc = 4e9;其他的% FR2的载频Fc = 28e9;结束计算相位噪声电平。offsetlog = (3:0.1:log10(sr/2));%模型偏移从1e3Hz到sr/2foffset = 10.^ offsetlog;线性频偏PN_dBc_Hz = hPhaseNoisePoleZeroModel(foffset,fc,“一个”);图;semilogx (foffset PN_dBc_Hz);包含(“频率偏移(Hz)”);ylabel (“dBc /赫兹”);标题(“相位噪声模型”);网格将相位噪声应用于波形pnoise = com . phasenoise (“FrequencyOffset”foffset,“水平”PN_dBc_Hz,“SampleRate”、sr);rx波形=零(大小(tx波形),“喜欢”, txWaveform);i = 1:size(tx波形,2)rx波形(:,i) = pnoise(tx波形(:,i));发行版(pnoise)结束其他的rx波形= tx波形;% #好< UNRCH >结束

引入非线性失真。对于本例,使用Rapp模型。图中显示了引入的非线性。将Rapp模型的参数设置为与TR 38.803“无记忆多项式模型-附件A.1”中的无记忆模型的特征相匹配。

如果nonLinearityModelOn rapp = com . memoryless非线性(“方法”“拉普模式”);拉普。平滑度= 1.55;拉普。OutputSaturationLevel = 1;%图非线性特征plotNonLinearCharacteristic (rapp);应用非线性i = 1:size(rx波形,2)rx波形(:,i) = rapp(rx波形(:,i));发行版(拉普)结束结束

这个信号之前重复了两次。去掉这个信号的前半部分,以避免损伤模型引入的任何瞬态。

dm = wavegen.ConfiguredModel{4};如果dm = =“FDD”nFrames = 1;其他的% TDDnFrames = 2;结束rx波形(1:nFrames*tmwaveinfo.Info.SamplesPerSubframe*10,:) = [];

测量

函数hNRPUSCHEVM执行以下步骤来解码和分析波形:

  • 粗频偏估计与校正

  • 整型频偏估计与校正

  • FDD在一帧上使用解调参考信号(DM-RS)同步(TDD为两帧)

  • 接收波形的OFDM解调

  • 良好的频偏估计和校正

  • 信道估计

  • 均衡

  • 共相误差(CPE)估计与补偿

  • PUSCH EVM计算(使能开关evm3GPP根据TS 38.101-1(FR1)或TS 38.101-2 (FR2)附录F中规定的EVM测量要求进行加工。

该示例测量并输出每个符号、每个插槽和每帧峰值EVM和RMS EVM的各种EVM相关统计信息。该示例显示每个槽和帧的EVM,并显示整个输入波形的总体EVM平均值。该示例生成这些图:EVM与每个OFDM符号、槽、子载波、总体EVM和带内发射的关系。每个EVM相关的图显示峰值与RMS EVM的关系。

计算和显示EVM测量CFG = struct();cfg。Evm3GPP = Evm3GPP;cfg。PlotEVM = PlotEVM;cfg。DisplayEVM = DisplayEVM;[evmInfo,eqSym,refSym] = hNRPUSCHEVM(wavegen.Config, rx波形,cfg);
维生素与统计为BWP idx: 1 RMS维生素,维生素与峰值,槽0:2.170 - 7.345% RMS维生素,维生素与峰值,插槽1:2.001 - 5.759% RMS维生素,维生素与峰值,槽2:2.038 - 6.248% RMS维生素,维生素,槽3:2.040 - 6.352% RMS维生素,维生素,槽4:2.108 - 5.690% RMS维生素,维生素,槽5:2.039 - 5.747% RMS维生素,维生素,槽6:2.234 - 6.997% RMS维生素,维生素,槽7:2.176 - 7.760% RMS维生素,维生素,槽8:2.128 - 7.049% RMS维生素,维生素,槽9:2.460 - 7.097%平均均方根维生素与帧0:2.143%平均总体RMS维生素:2.143%峰值EVM: 7.7604%

本地函数

函数plotNonLinearCharacteristic (memoryLessNonlinearity)绘制功率放大器(PA)减值的非线性特性%由输入参数memoryless非线性表示,即a非线性通信工具箱(TM)系统对象。%输入样本x =复杂(1 /√(2))*(1 + 2 *兰特(1000 1)),(1 /√(2))*(1 + 2 *兰特(1000 1)));%非线性yRapp = memoryless非线性(x);释放对象,给它不同数量的样本释放(memoryLessNonlinearity);图特征图;图(10 * log10 (abs (x) ^ 2), 10 * log10 (abs (x) ^ 2));持有;网格图(10 * log10 (abs (x) ^ 2), 10 * log10 (abs (yRapp) ^ 2),“。”);包含(输入功率(dBW));ylabel (输出功率(dBW));标题(“非线性损伤”)传说(线性特性的“拉普非线性”“位置”“西北”);结束

相关的话题