本示例展示了使用LTE Toolbox™参数化端到端仿真和静态波形生成所涉及的步骤和不同的方法。在本例中,我们重点讨论下行链路,但所讨论的概念也适用于上行链路。
LTE工具箱可用于生成符合标准的LTE/LTE- advanced上行、下行和侧链复杂基带波形,可用于许多终端用户应用,包括端到端仿真、静态波形生成、回归测试和性能分析。该工具箱提供了灵活方便的功能全链接生成,适合用户需求。由于在每个链路中有多个通道和信号,工具箱还提供了一种方法来生成与标准定义的测量通道相对应的预定义参数集,这些参数集可以作为标准定义的测量通道使用,也可以进一步修改以参数化波形生成和端到端仿真。对于下行链路,工具箱包括这些以TS 36.101中定义的参考测量通道(RMC)的形式预先定义的参数集[1]。这个例子演示了lteRMCDL
和ltermcdltool.
功能结合,支持LTE下行波形生成不同的用户金宝app需求。对应的上行功能为lteRMCUL
和ltermiultool.
.
在此示例中,我们讨论工具箱提供的两个顶级功能:lteRMCDL
,创建完整参数集,ltermcdltool.
,它生成下行链路波形。通过组合这两个功能,可以轻松生成标准符合标准的LTE波形。
下行波形发生器函数需要一个单一层次的MATLAB结构,该结构指定输出波形中存在的传输信道、物理信道和物理信号的所有参数集。generator函数返回时域波形、填充的资源网格和在创建波形时使用的参数集。
工具箱包括lteRMCDL
功能,可以为预先配置的参考测量通道(RMC)以及自定义配置提供完全填充的参数结构。该参数结构可以直接使用ltermcdltool.
生成波形的功能,或者它可以用作模板,用于创建具有用户指定值的用户指定值的波形,用于任何组成频道或信号。例如,改变传输方案/模式,调制方案,代码率或更改物理信道的功率电平。值得注意的是,在调用之前定义所有用户提供的值lteRMCDL
功能。这是因为lteRMCDL
函数不会覆盖已在输入中定义的任何参数值(除了只读参数之外)。下图显示了典型模拟设置的参数化。
LTE工具箱支持指定定义组成物理金宝app通道和信号的参数集的不同方式。这些在后续部分中进一步解释:
从重要的单元格范围和PDSCH参数创建参数集:lteRMCDL
功能提供从单元宽和PDSCH参数的参数扩展和传输块大小处理。假设所有下行链路和特殊(如果TDD模式)子帧都被预定。这允许指定参数的子集,然后该函数计算兼容的缺失参数以创建完整集。这种方法通常可以使用,以创建子帧5处于活动状态的配置。
使用一个预先定义的参数集:lteRMCDL
函数支持RMC形式金宝app的许多标准定义的参数集。如果存在完全匹配的配置或者我们希望生成与RMC对应的波形,我们可以直接使用该RMC编号用于RMC表查找和参数集创建。支持的RMCS及其金宝app顶级参数如下所示:
自定义其中一个预定义的参数集:有许多方案我们希望使用预定义设置给出的波形配置略微不同。在这种情况下,我们可以从一个预定义的RMC和修改参数之一开始,该参数需要不同的值来创建完整自定义参数集。这是通过下面的部分“使用代码率的参数化和参考PDSCH参数5”的示例来说明。请注意,具有用户数据的子帧将根据RMC。如果是TDD.
使用双工模式和TDDConfig
从RMC改变为不同的值,然后子帧0,5和特殊子帧的行为将保持不变,并且所有其他下行链路子帧将继承子帧9的属性(即主动/非活跃,分配,目标代码率)。
下面的流程图介绍了如何使用一些密钥单元范围和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.modulation =.'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'生成波形[dlwaveform,dlgrid,dlparams] = ltermcdltool(fullparams,datastream);%dlwaveform是时域波形,dlgrid是资源网格和%DLParams是波形生成中使用的全套参数。
如果有一个完全匹配需求的预定义参数集,或者如果我们想生成一个与RMC相对应的波形,使用那个RMC编号来创建完整的参数集。
要创建与TS 36.101中规定的R.0 RMC对应的波形,附件A.3 [1]
params = ltermcdl('r.0');%定义参数集[dlwaveform,dlgrid,dlparams] = ltermcdltool(params,datastream);%如果终端应用是波形生成,我们也可以使用RMC%number直接与发电机创建波形[dlwaveform,dlgrid,dlparams] = ltermcdltool('r.0',数据流);
假设我们希望使用2层打开环空间复用,16QAM调制和1/2速率来定义两个码字全带10MHz PDSCH,其中参考PDSCH传输在子帧5中5.查看TS 36.101表A.3.1.1-1:概述下行链路参考测量通道,R.31-3A匹配这些标准,但具有64QAM调制和可变码率。
要创建所需的参数集,请使用R.31-3A RMC启动,以在子帧5中启用PDSCH传输。然后,我们覆盖调制和代码率。的lteRMCDL
函数根据码率执行传输块大小计算。
params =结构();%初始化参数结构params.rc =.“R.31-3A”;params.pdsch.targetCoderate = 1/2;params.pdsch.modulation =.'16QAM';%现在使用ltermcdl填充其他参数字段fullparams = ltermcdl(params);%使用完整参数集'fullparams'生成波形[dlwaveform,dlgrid,dlparams] = ltermcdltool(fullparams,{datastream,datastream});%#OK <* ASGLU>
注意,我们使用'R.31-3A'作为起点,作为我们所需的参数集紧密匹配这个RMC(包括子帧5中的参考PDSCH)。我们也可以通过不指定上面的RC(或将RC设置为空([]))来生成参数集。在这种情况下,参数集将对应于所有下行和特殊(如果是TDD模式)子帧中的参考PDSCH。
在某些情况下,我们知道MCS或传输块的大小,并希望创建相应的波形。下图显示了使用MCS进行参数化所涉及的步骤。
例如,要为MCS索引10创建一个参数集,给定资源分配是50 RB:
McSindex = 10;%获取ITBS和MCS值的调制(髂胫,调制)= lteMCS (mcsIndex);params =结构();%初始化参数结构%带宽(NDLRB)必须大于或等于分配params.ndlrb = 50;%设置带宽params.PDSCH.PRBSet = (0: params.NDLRB-1) ';%完全分配params.pdsch.modulation =调制;%设置调制方式nrb =大小(params.PDSCH.PRBSet, 1);%获得分配的RB数量TBS =双(LTETB(NRB,ITBS));%获取传输块大小%现在创建'trblksizes'矢量,没有在子帧5中的传输params.pdsch.trblksizes = [oon(1,5)* tbs 0 one(1,4)* tbs];%现在使用ltermcdl填充其他参数字段fullparams = ltermcdl(params);%现在使用完整参数集'fullparams'生成波形[dlwaveform,dlgrid,dlparams] = ltermcdltool(fullparams,datastream);
该方法还可用于创建具有不标准定义的传输块大小的参数集,或者当所需的传输块大小对应于大于0.93的码率时(标准将代码率限制为最大值为0.93)。对于这些情况,我们可以指定如上图所示的传输块大小,并且其他参数将相应地更新lteRMCDL
功能。注意,由于可能存在SIB1 PDSCH,RMC通常不定义子帧5中的参考PSDCH传输。如果需要引用PDSCH,则有两种方法可以启用它:
RMC是通过'RC'字段指定的,或者是'R.31-3A'或'R.31-4'。
“RC”字段不存在或指定为空(例如PARAMS.RC = [])。
的lteRMCDL
和ltermcdltool.
函数可用于生成波形,其中参数在一帧的子帧中变化(如CFI, PRBSet, TargetCodeRate)。CFI和目标码率可以指定为向量,PRBSet可以指定为单元格数组,当每个子帧的值都在变化时。
在此示例中,我们创建了与R.31-3 FDD RMC对应的波形,其中代码率和分配每个子帧变化。这是两个码字RMC,其代码率为0.61,在子帧0中为0.62,在所有其他子帧中为0.59。在所有其他子帧中的子帧5中的分配资源块的数量是(4 ... 99)和全部带宽(0 ... 99)
params =结构();%初始化参数结构参数个数。NDLRB = 100;%设置带宽(20mhz)params.cellrefp = 2;%设置特定单元的参考信号端口参数个数。CFI = 1;分配给PDCCH的%1符号params.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.62 0.59 0.59 0.59 0.59];params.pdsch.txscheme =.'CDD';%2码字闭环空间muxparams.PDSCH.NLayers = 2;每个码字% 1层params.pdsch.modulation = {64 qam,64 qam};%设置调制为2个码字%使用ltermcdl填充其他参数字段。所结果的可以针对由R.31-3给出的人手动检查%'fullparams'TS 36.101表A.3.9.1-1中%FDD RMCfullparams = ltermcdl(params);%使用完整参数集'fullparams'生成波形[dlwaveform,dlgrid,dlparams] = ltermcdltool(fullparams,{datastream,datastream});
3GPP TS 36.16.101“用户设备(UE)无线电传输和接收”