主要内容

EVM测量5G NR PDSCH波形

此示例显示如何测量NR测试模型(NR-TM)或固定参考通道(FRC)波形的误差矢量幅度(EVM)。该示例还展示了如何添加包括相位噪声和无记忆非线性的损伤。

介绍

对于基站RF测试,3GPP 5G NR标准定义了一组NR-TM波形。对于用户设备(UE)测试,标准定义了一组FRC波形。频率范围1(FR1)的NR-TMS和FRC在TS 38.141-1中定义,而频率范围2(FR2)的NR-TMS和FRC在TS 38.141-2中定义。

此示例显示如何生成NR波形(TM或FRC)并添加损伤。在这里,我们考虑相位噪声和无记忆非线性。然后,我们计算所得信号的EVM。我们绘制每个OFDM符号,插槽和子载波的RMS和峰值EVM。我们还计算整体EVM(RMS EVM在完整波形上平均)。TS 38.104的附录B和附件C分别定义了用于计算FR1和FR2中EVM的替代方法。下图显示了在该示例中实现的处理链。

仿真参数

每个NR-TM或FRC波形由以下组合定义:

  • NR-TM / FRC名称

  • 信道带宽

  • 子载波间距

  • 双工模式

%选择FR1和FR2的版本15 NR TM之一:%“NR-FR1-TM1.1”,“NR-FR1-TM1.2”,“NR-FR1-TM2”,%“NR-FR1-TM2A”,“NR-FR1-TM3.1”,“NR-FR1-TM3.1a”,%“NR-FR1-TM3.2”,“NR-FR1-TM3.3”,“NR-FR2-TM1.1”,%“NR-FR2-TM2”,“NR-FR2-TM3.1”% 或者%选择FR1和FR2的第15版FRC中的一个:%“DL-FRC-FR1-QPSK”,“DL-FRC-FR1-64QAM”,%“DL-FRC-FR1-256QAM”,“DL-FRC-FR2-QPSK”,%“DL-FRC-FR2-16QAM”,“DL-FRC-FR2-64QAM”rc =“NR-FR1-TM3.2”;%参考通道(NR-TM或FRC)%选择NR波形参数BW =“10MHz”;% 信道带宽SCS =“30khz”;%子载波间距DM =“FDD”;%双工模式

对于TMS,所生成的波形可以包含多于一个PDSCH。选择的PDSCH分析是基于RNTI。缺省情况下,考虑以下RNTIS用于EVM计算:

  • NR-FR1-TM2:RNTI = 2(64QAM EVM)

  • NR-FR1-TM2A:RNTI = 2(256QAM EVM)

  • NR-FR1-TM3.1:RNTI = 0和2(64QAM EVM)

  • NR-FR1-TM3.1A:RNTI = 0和2(256QAM EVM)

  • NR-FR1-TM3.2:RNTI = 1(16QAM EVM)

  • NR-FR1-TM3.3:RNTI = 1(QPSK EVM)

  • NR-FR2-TM2:RNTI = 2(64QAM EVM)

  • NR-FR2-TM3.1:RNTI = 0和2(64QAM EVM)

根据规格(TS 38.141-1,TS 38.141-2),这些TMS不设计用于执行EVM测量:NR-FR1-TM1.1,NR-FR1-TM1.2,NR-FR2-TM1.1。但是,如果生成这些TMS,则示例测量以下RNTIS的EVM。

  • NR-FR1-TM1.1:RNTI = 0(QPSK EVM)

  • NR-FR1-TM1.2:RNTI = 2(QPSK EVM)

  • NR-FR2-TM1.1:RNTI = 0(QPSK EVM)

对于FRC,默认情况下,考虑RNTI 0进行EVM计算。如果输入波形既不是TM也不是FRC波形,则支持EVM测量的最大一层。金宝app

该示例计算上面列出的RNTI的EVM。要覆盖默认的RNTI,请指定targetrntis.向量

targetrntis = [];

打印EVM统计信息,设置displayevm.真的。禁用打印,设置displayevm.错误的。绘制EVM统计数据,集Plotevm.真的。禁用绘图,设置Plotevm.错误的

displayevm = true;plotevm = true;
如果displayevm fprintf('参考通道=%s \ n',rc);结尾
参考通道= NR-FR1-TM3.2

测量在TS 38.104中定义的EVM,附件B(FR1)/附件C(FR2),设置EVM3GPP.真的EVM3GPP.默认情况下已禁用。

EVM3GPP = FALSE;

创建波形生成器对象并生成波形

TMWAVEGEN = HNRReferenceWaveFormGenerator(RC,BW,SCS,DM);[txwaveform,tmwaveinfo,resourstsinfo] = generatewaveform(tmwavegen,tmwavegen.config.numsubframes);

障碍:相位噪声和非线性

此示例考虑了两个损伤:相位噪声和记忆非线性。通过切换标志启用或禁用损伤Phasenoiseon.nonlinearitymodelon.

phasenoiseon = true;nonlinearitymodelon = true;

标准化波形以适合非线性的动态范围。

txwaveform = txwaveform / max(abs(txwaveform),[],'全部');

波形由用于TDD的FDD和两个帧组成。重复信号两次。我们将取下所产生波形的前半部分以避免相位噪声模型引入的瞬态。

txwaveform = Repmat(TxWaveForm,2,1);

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

如果phasenoiseon sr = tmwaveinfo.info.samplingrate;% 载频如果tmwavegen.config.frequencyRange ==.“fr1”FR1的%载波频率FC = 4E9;别的FR2的%载波频率FC = 30E9;结尾%计算相位噪声水平。foffsetlog =(4:0.1:log10(SR / 2));%模型偏移从1E3Hz到SR / 2foffset = 10. ^ foffsetlog;%线性频率偏移pn_dbc_hz = hphasenoisepolezeromodel(foffset,fc,'C');数字;semilogx(foffset,pn_dbc_hz);Xlabel('频率偏移(Hz)');ylabel('dbc / hz');标题(“相位噪声模型”);网格%将相位噪声施加到波形pnoise = comm.phaseNoise('surformoffset',foffset,'等级',pn_dbc_hz,'采样率',SR);pnoise.randomstream =“MT19937AR与种子”;rxwaveform = zeros(大小(txwaveform),'喜欢',txwaveform);为了i = 1:大小(txwaveform,2)rxwaveform(:,i)= pnoise(txwaveform(:,i));释放(Pnoise)结尾别的rxwaveform = txwaveform;%#OK 结尾

引入非线性失真。对于此示例,请使用RAPP模型。该图显示了引入的非线性。设置RAPP模型的参数,以匹配TR 38.803“记忆多项式模型 - 附件A.1”的记忆型号的特性。

如果nonlinearitymodelon rapp = comm.memorylessnonlinity('方法''rapp model');rapp.smoothness = 1.55;RAPP.OUTPUTSATOUNTELEVEL = 1;%绘图非线性特征plotnonlinearcharactery(rapp);%申请非线性为了i = 1:大小(rxwaveform,2)rxwaveform(:,i)= rapp(rxwaveform(:,i));释放(RAPP)结尾结尾

先前将信号重复两次。删除该信号的前半部分。这避免了损伤模型引入的任何瞬态。

如果DM ==.“FDD”nframes = 1;别的%TDD.nframes = 2;结尾rxwaveform(1:nframes * tmwaveinfo.info.samplespersubframe * 10,:) = [];

测量

函数hnrpdschevm执行这些步骤以解码和分析波形:

  • 使用DM-RS在一帧FDD上使用DM-RS同步(TDD的两个帧)

  • OFDM解调接收波形

  • 渠道估计数

  • 均衡

  • 常见相位误差(CPE)估计和补偿

  • PDSCH EVM计算(启用交换机EVM3GPP.,根据TS 38.104,附件B(FR1)/附件C(FR2)中规定的EVM测量要求进行处理。

示例测量并输出每个符号,每个插槽和每个帧峰值EVM和RMS EVM的各种EVM相关统计信息。该示例为每个插槽和帧显示EVM。它还显示在整个输入波形上平均的总体EVM。该示例产生了许多绘图:EVM与OFDM符号,插槽,子载波和总体EVM。每个绘图显示峰值VS RMS EVM。

cfg = struct();cfg.evm3gpp = EVM3GPP;cfg.targetrntis = targetrntis;cfg.plotevm = plotevm;cfg.displayevm = displayevm;cfg.label = tmwavegen.configuredmodel {1};%计算和显示EVM测量[evminfo,eqsym,recsym] = hnrpdschevm(tmwavegen.config,rxwaveform,cfg);
RMS EVM,峰值EVM,插槽0:3.929 20.636%RMS EVM,峰值EVM,插槽1:3.779 13.962%RMS EVM,峰EVM,槽2:3.683 10.465%RMS EVM,峰值EVM,槽3:3.679 12.549%RMS EVM,峰值EVM,插槽4:4.169 17.878%RMS EVM,峰值EVM,槽5:4.053 17.728%RMS EVM,峰值EVM,槽6:3.960 15.706%RMS EVM,峰值EVM,槽7:4.031 14.790%RMS EVM,峰值EVM,插槽8:3.799 14.443%RMS EVM,峰值EVM,插槽9:3.803 12.730%RMS EVM,峰值EVM,槽10:3.946 14.595%RMS EVM,峰值EVM,槽11:3.661 14.484%RMS EVM,峰值EVM,峰值EVM,峰值EVM,插槽12:3.773 13.534%RMS EVM,峰值EVM,插槽13:3.930 17.440%RMS EVM,峰值EVM,槽14:3.754 12.184%RMS EVM,峰值EVM,槽15:3.832 17.780%RMS EVM,峰值EVM,SLOT 16:3.774 14.530%RMS EVM,峰值EVM,槽17:3.950 14.131%RMS EVM,峰值EVM,槽18:3.948 18.886%RMS EVM,峰EVM,峰值EVM,Slot 19:3.871 13.786%平均RMS EVM帧0:3.868%平均总体RMS EVM:3.868%总峰EVM = 20.6363%

本地功能

功能Plotnonlinearchαacternative(记忆不断的线性)%绘制功率放大器(PA)损伤的非线性特性%由输入参数内存编号表示,这是一个%Comm.MemoryLessNonearity通信工具箱(TM)系统对象。%输入样本x =复合物((1 / sqrt(2))*( -  1 + 2 * rand(1000,1),(1 / sqrt(2))*( -  1 + 2 * rand(1000,1)));%非线性YRAPP = MemorylessNonlineARITY(X);%释放对象以馈送它不同数量的样本释放(记忆Nononlinity);%绘图特征数字;绘图(10 * log10(abs(x)。^ 2),10 * log10(abs(x)。^ 2));抓住;网格绘图(10 * log10(abs(x)。^ 2),10 * log10(abs(yrapp)。^ 2),'。');Xlabel('输入功率(DBW)');ylabel('输出功率(DBW)');标题('非线性障碍') 传奇('线性特征''rapp nonlinearity''地点''西北');结尾

相关话题