LTE波形生成和仿真参数化

这个例子展示了使用LTE Toolbox™参数化端到端模拟和静态波形生成的步骤和不同的方法。在本例中,我们主要关注下行链路,但是所讨论的概念也适用于上行链路。

介绍

LTE工具箱可用于生成符合标准的LTE/LTE高级上行、下行和侧链复杂基带波形,可用于端到端模拟、静态波形生成、回归测试和性能分析等多种终端用户应用。工具箱提供了根据用户需求灵活而容易地生成完整链接的功能。由于每个链路中有多个通道和信号,工具箱还提供了一种方法来生成与标准定义的测量通道相对应的预定义参数集,这些参数集可以作为标准定义的测量通道使用,也可以进一步修改以参数化波形生成和端到端仿真。对于下行链路,工具箱以参考测量通道(RMC)的形式包括这些预定义的参数集,在TS 36.101 [1]。这个例子演示了这两个函数,lteRMCDLlteRMCDLTool,组合后可以支持LTE下行万博1manbetx链路波形生成针对不同用户的需求。对应的上行链路功能lteRMCULlteRMCULTool

LTE下行参数化及波形生成功能

在本例中,我们讨论工具箱提供的两个顶级函数,lteRMCDL哪些可以帮助创建一个完整的参数集和lteRMCDLTool可以产生下行波形。结合这两种功能,可以很容易地生成符合标准的LTE波形。

下行波形发生器功能lteRMCDLTool需要一个分层的MATLAB结构,它指定了传输通道、物理通道和输出波形中出现的物理信号的所有参数的集合。生成器函数返回时域波形、填充的资源网格和用于创建波形的参数集。

该工具箱包括功能lteRMCDL它可以为预配置的参考测量通道(RMC)和自定义配置提供完全填充的参数结构。可以直接使用该参数结构lteRMCDLTool功能生成的波形,它可被用作模板,用于任何的构成信道或信号的创建与用户指定的值的波形。例如,改变传输方案/模式,调制方案,编码率或改变物理信道的功率电平。这是要注意重要的是所有用户提供的值调用之前定义lteRMCDL函数。这是因为lteRMCDL函数不会重写在输入处已经定义的任何参数值(只读参数除外)。下图显示了典型模拟设置的参数化。

LTE下行链路参数选项

LTE工具箱支持指定参数集的不同万博1manbetx方式,这些参数集定义了组成的物理通道和信号。下文各节将对此作进一步解释:

  • 从创建重要的细胞 - 宽度和PDSCH参数的参数集:lteRMCDL函数提供从单元范围和PDSCH参数进行参数扩展和传输块大小处理。所有下行和特殊(如果TDD模式)子帧都被认为是预定的。这允许指定参数的一个子集,然后该函数计算兼容缺失的参数来创建完整的集合。这种方法通常可用于创建子帧5处于活动状态的配置。

  • 使用预定义的参数集之一:lteRMCDL功能支持多种标准定万博1manbetx义的参数集的RMC的形式(见lteRMCDL详情)。如果有与需求完全匹配的配置,或者如果我们想要生成与RMC相对应的波形,我们可以直接使用这个RMC号来查找RMC表和创建参数集。支持的rmc及其顶万博1manbetx级参数如下:

  • 自定义一个预定义的参数集:有许多情况下,我们希望比预先定义的一组给定的稍微不同的波形配置。在这种情况下,我们可以用预先定义的RMC的一个开始,并修改参数(一个或多个),这需要不同的值,以创建完整的定制参数集。这是通过在所述部分的示例“参数设置使用代码在子帧5速率和参考PDSCH”,如下所示。需要注意的是用户数据的子帧将按照该RMC。如果TDD使用双工模式和TDDConfig从RMC改变为不同的值,则子帧0,5和特殊子帧的行为将子帧9的保持不变,并且所有其它下行链路子帧将继承的属性(即,活性/非活性,分配目标码率)。

使用重要的单元范围和PDSCH参数进行参数化

下面的流程图说明了如何使用一些单元格范围的键和PDSCH参数来设置参数集。从这些参数的子集,lteRMCDL功能可以创建通过参数扩展的完整参数集。

%下面的示例演示如何创建一个20MHz的,QPSK 3/4率%波形对应于传输模式8(“Port7-8”传输%方案)具有完全分配和2个发射天线dataStream = [1 0 0 1];定义输入用户数据流params =结构();初始化参数结构参数个数。NDLRB = 100;% 20 MHz带宽params.CellRefP = 2;%在第一两个端口小区参考信号params.PDSCH。PRBSet = (0: params.NDLRB-1) ';%全面分配params.PDSCH.TargetCodeRate = 3/4;目标码率params.PDSCH.TxScheme =“Port7-8”;%传输方式8params.PDSCH。NLayers = 2;%2层传输params.PDSCH。调制='QPSK';%调制方案params.PDSCH.NSCID = 0;%匆忙身份params.PDSCH。NTxAnts = 2;%2个发射天线params.PDSCH.W = lteCSICodebook(params.PDSCH.NLayers,params.PDSCH.NTxAnts, 0) ';%预编码矩阵%现在使用lteRMCDL来填充其他参数字段fullParams = lteRMCDL(PARAMS);%使用全参数集“fullParams”生成波形[dl波形,dlGrid, dlParams] = lteRMCDLTool(fullParams,dataStream);% dl波形为时域波形,dlGrid为资源网格和% dlParams是波形生成中使用的全部参数集。

使用预定义的参数集进行参数化

如果有一个预定义的参数集完全符合需求,或者如果我们想要生成一个与RMC相对应的波形,那么使用这个RMC号来创建完整的参数集。

为了创建对应于所述R.0 RMC的波形在TS 36.101中指定,附件A.3 [1]

PARAMS = lteRMCDL('R.0');%定义参数集[dlWaveform,dlGrid,dlParams] = lteRMCDLTool(PARAMS,数据流);如果最终应用程序是波形生成,我们也可以使用RMC数字直接用发生器产生波形[dl波形,dlGrid, dlParams] = lteRMCDLTool('R.0',dataStream数据);

参数在子帧5使用码率和参考PDSCH

假设我们要定义使用2层开环空间复用,16QAM调制和1/2速率与在子帧5参考PDSCH传输的两码字的全频带的10MHz PDSCH寻找在TS 36.101表A.3.1.1-1:概述下行链路参考测量信道,R.31-3A匹配这些标准但具有64QAM调制和可变编码率。

为了创建所需的参数集,我们从r31 - 3a RMC开始,以在子帧5中启用PDSCH传输。然后我们覆盖调制和编码速率。的lteRMCDL函数根据码率计算传输块大小。

params =结构();初始化参数结构参数个数。RC =“R.31-3A”;params.PDSCH。TargetCodeRate = 1/2;params.PDSCH。调制='16QAM';%现在使用lteRMCDL来填充其他参数字段fullParams = lteRMCDL(PARAMS);%使用全参数集“fullParams”生成波形[dlWaveform,dlGrid,dlParams] = lteRMCDLTool(fullParams,{数据流,数据流});%#确定<* ASGLU>

请注意,我们使用“R.31-3A”作为起点,因为我们所需要的参数集与这个RMC非常匹配(包括在子帧5中引用PDSCH)。在这种情况下,参数集将在所有下行和特殊(如果TDD模式)子帧中对应于引用PDSCH。

使用MCS/传输块大小参数化

在某些情况下,我们知道MCS或传输块的大小,并希望创建相应的波形。下图显示了使用MCS进行参数化所涉及的步骤。

例如,为MCS索引10创建一个参数集,给定资源分配为50 RB:

mcsIndex = 10;%获得从MCS值的ITBS和调制(髂胫,调制)= lteMCS (mcsIndex);params =结构();初始化参数结构%带宽(NDLRB)必须大于或等于分配参数个数。NDLRB = 50;设置带宽params.PDSCH。PRBSet = (0: params.NDLRB-1) ';%全面分配params.PDSCH。调制=modulation;设置调制方案nrb =大小(params.PDSCH.PRBSet, 1);获取分配的RBs的数量TBS =双(lteTBS(NRB,ITBS));%获取传输块大小%现在创建在子帧5中没有传输的“trblksize”向量params.PDSCH.TrBlkSizes = [一(1,5)* TBS 0酮(1,4)* TBS];%现在使用lteRMCDL来填充其他参数字段fullParams = lteRMCDL(PARAMS);%现在使用全参数集“fullparams”生成波形[dl波形,dlGrid, dlParams] = lteRMCDLTool(fullParams,dataStream);

这种方法还可以用于创建一个参数集,该参数集的传输块大小不是标准定义的,或者当所需的传输块大小对应于大于0.93的码率时(标准将码率限制为最大值0.93)。对于这些情况,我们可以指定如上例所示的传输块大小,其他参数将由lteRMCDL函数。注意,由于可能存在SIB1 PDSCH, rmc通常不会在子帧5中定义引用PSDCH传输。如果需要引用PDSCH,有两种方法可以启用它:

  1. RMC是通过“RC”字段指定的,并且是“R.31-3A”或者“R.31-4”。

  2. 在“RC”字段是不存在,或者被规定为空(例如params.RC = [])。

使用可变码率和资源分配的参数化

lteRMCDLlteRMCDLTool函数可以用来生成参数在一个帧的子帧中变化的波形(例如CFI、PRBSet、TargetCodeRate)。当每个子帧的值都在变化时,可以将CFI和目标码率指定为向量,将PRBSet指定为单元格数组。

在本例中,我们创建了一个与R.31-3 FDD RMC相对应的波形,其中每个子帧的码率和分配是不同的。这是一个两码字RMC,在子帧0中码率为0.61,在子帧5中码率为0.62,在所有其他子帧中码率为0.59。分配的资源块数在子帧5中为(4…99),在所有其他子帧中为全带宽(0…99)

params =结构();初始化参数结构参数个数。NDLRB = 100;设置带宽(20mhz)params.CellRefP = 2;设置单元特定的参考信号端口参数个数。CFI = 1;%1个符号分配给PDCCHparams.PDSCH。PRBSet = {(0:99)' (0:99)' (0:99)' (0:99)' (0:99)(4:99) ` (0:99) ` (0:99) ` (0:99) ` (0:99) `;params.PDSCH。TargetCodeRate = [0.61 0.59 0.59 0.59 0.59 0.59 0.62 0.59 0.59 0.59 0.59 0.59];params.PDSCH.TxScheme ='CDD';%2码字闭环空间复用params.PDSCH。NLayers = 2;% 1层每码字params.PDSCH。调制={64 qam,64 qam};设置2个码字的调制%用途lteRMCDL填充其他参数字段。所结果的%“fullParams”可以根据R.31-3给出的值手动检查%FDD RMC在TS 36.101表A.3.9.1-1fullParams = lteRMCDL(PARAMS);%使用全参数集“fullParams”生成波形[dlWaveform,dlGrid,dlParams] = lteRMCDLTool(fullParams,{数据流,数据流});

选定的参考书目

  1. 3GPP TS 36.101“用户设备(UE)无线电发射和接收”