本示例展示了使用LTE Toolbox™参数化端到端仿真和静态波形生成所涉及的步骤和不同的方法。在本例中,我们重点讨论下行链路,但所讨论的概念也适用于上行链路。
LTE工具箱可用于生成符合标准的LTE/LTE- advanced上行、下行和侧链复杂基带波形,可用于许多终端用户应用,包括端到端仿真、静态波形生成、回归测试和性能分析。该工具箱提供了灵活方便的功能全链接生成,适合用户需求。由于在每个链路中有多个通道和信号,工具箱还提供了一种方法来生成与标准定义的测量通道相对应的预定义参数集,这些参数集可以作为标准定义的测量通道使用,也可以进一步修改以参数化波形生成和端到端仿真。对于下行链路,工具箱包括这些以TS 36.101中定义的参考测量通道(RMC)的形式预先定义的参数集[1].这个例子演示了lteRMCDL
和lteRMCDLTool
功能结合,支持LTE下行波形生成不同的用户金宝app需求。对应的上行功能为lteRMCUL
和lteRMCULTool
.
在这个例子中,我们将讨论工具箱提供的两个顶级函数:lteRMCDL
,它创建一个完整的参数集,并且lteRMCDLTool
,产生下行波形。通过结合这两种功能,可以很容易地生成符合标准的LTE波形。
下行波形发生器函数需要一个单一层次的MATLAB结构,该结构指定输出波形中存在的传输信道、物理信道和物理信号的所有参数集。generator函数返回时域波形、填充的资源网格和在创建波形时使用的参数集。
工具箱包括lteRMCDL
功能,它可以为预配置的参考测量通道(RMC)以及自定义配置提供完全填充的参数结构。控件可以直接使用该参数结构lteRMCDLTool
函数来生成波形,也可以将其用作模板,用于为任何组成通道或信号创建具有用户指定值的波形。例如,改变传输方案/模式、调制方案、码率或改变物理信道的功率级别。的所有用户提供的值都是在调用lteRMCDL
函数。这是因为lteRMCDL
函数不会重写已经在输入处定义的任何参数值(只读参数除外)。下图显示了典型模拟设置的参数化。
LTE工具箱支持指定定义物理通道金宝app和信号的参数集的不同方法。以下各节将对此作进一步解释:
根据重要的单元范围和PDSCH参数创建参数集:lteRMCDL
函数提供参数扩展和传输块大小处理,从全细胞和PDSCH参数。假设所有下行和特殊(如果TDD模式)子帧都是预定的。这允许指定参数的一个子集,然后函数计算兼容的缺失参数来创建完整的参数集。这种方法通常可以用于创建子帧5是活动的配置。
使用一个预先定义的参数集:lteRMCDL
函数支持以rmc形金宝app式定义的许多标准参数集。如果有一个配置完全匹配需求,或者如果我们想生成一个与RMC相对应的波形,我们可以直接使用RMC号来查找RMC表和创建参数集。所支持的rmc及其金宝app顶级参数如下所示:
自定义一个预先定义的参数集在许多情况下,我们想要的波形配置与预定义集给出的稍有不同。在本例中,我们可以从一个预定义的rmc开始,并修改需要不同值来创建完整的自定义参数集的参数。下面“在子帧5中使用码率和参考PDSCH参数化”一节中的一个例子说明了这一点。注意,带有用户数据的子帧将按照RMC。如果TDD
使用双工模式TDDConfig
改变为与RMC不同的值,那么子帧0,5和特殊子帧的行为将保持不变,而所有其他下行子帧将继承子帧9的属性(即活动/非活动、分配、目标码率)。
下面的流程图解释了如何使用一些关键单元范围和PDSCH参数设置参数集。从这些参数的一个子集lteRMCDL
函数可以通过参数展开来创建完整的参数集。
%以下示例显示如何创建20MHz, QPSK, 3/4速率%波形对应于传输模式8 ('Port7-8'传输)%方案),全分配,2个发射天线数据流= [1 0 0 1];定义输入用户数据流params =结构();%初始化参数结构参数个数。NDLRB = 100;% 20 MHz带宽参数个数。CellRefP = 2;%前两个端口上的Cell参考信号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 =“正交相移编码”;%调制方案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编号来创建完整的参数集。
要创建一个与TS 36.101中规定的R.0 RMC相对应的波形,附录a .3 [1]
params = lteRMCDL (“R.0”);定义参数集[dl波形,dlGrid, dlParams] = lteRMCDLTool(params,dataStream);%如果终端应用是波形生成,我们也可以使用RMC%数字直接与发生器创建波形[dl波形,dlGrid, dlParams] = lteRMCDLTool(“R.0”, dataStream数据);
假设我们想定义一个2码字全频带10MHz PDSCH,使用2层开环空间复用、16QAM调制和1/2速率,并在子帧5中使用参考PDSCH传输。查看TS 36.101表A.3.1.1-1:下行参考测量通道概述,R.31-3A匹配这些标准,但与64QAM调制和可变码率。
为了创建所需的参数集,我们从R.31-3A RMC开始,以使PDSCH传输在子帧5中。然后重写调制和码率。的lteRMCDL
函数根据码率执行传输块大小的计算。
params =结构();%初始化参数结构参数个数。RC =“R.31-3A”;params.PDSCH.TargetCodeRate = 1/2;params.PDSCH.Modulation =16 qam的;%现在使用lteRMCDL填充其他参数字段fullParams = lteRMCDL (params);%使用完整参数集“fullParams”生成波形[dl波形,dlGrid, dlParams] = lteRMCDLTool(fullParams,{dataStream, dataStream});% #好< * ASGLU >
注意,我们使用'R.31-3A'作为起点,作为我们所需的参数集紧密匹配这个RMC(包括子帧5中的参考PDSCH)。我们也可以通过不指定上面的RC(或将RC设置为空([]))来生成参数集。在这种情况下,参数集将对应于所有下行和特殊(如果是TDD模式)子帧中的参考PDSCH。
在某些情况下,我们知道MCS或传输块的大小,并希望创建相应的波形。下图显示了使用MCS进行参数化所涉及的步骤。
例如,要为MCS索引10创建一个参数集,给定资源分配是50 RB:
mcsIndex = 10;%从MCS值得到ITBS和调制(髂胫,调制)= lteMCS (mcsIndex);params =结构();%初始化参数结构% Bandwidth (NDLRB)必须大于或等于allocation参数个数。NDLRB = 50;%设置带宽params.PDSCH.PRBSet = (0: params.NDLRB-1) ';%全面分配params.PDSCH.Modulation =调制;%设置调制方式nrb =大小(params.PDSCH.PRBSet, 1);%获取分配的RBs的数量tbs =双(lteTBS (nrb胫));%获取传输块大小%现在创建'TrBlkSizes'矢量,在子帧5中不传输params. pdschs . trblksizes = [ones(1,5)*tbs 0 ones(1,4)*tbs]; / /设置全局大小%现在使用lteRMCDL填充其他参数字段fullParams = lteRMCDL (params);%现在使用完整参数集'fullparams'生成波形[dl波形,dlGrid, dlParams] = lteRMCDLTool(fullParams,dataStream);
此方法还可用于创建带有非标准定义的传输块大小的参数集,或者当所需的传输块大小对应于大于0.93的代码率时(标准将代码率限制为最大值0.93)。对于这些情况,我们可以指定传输块大小,如上面的示例所示,其他参数将由lteRMCDL
函数。注意,rmc通常不会在子帧5中定义参考PSDCH传输,因为可能存在SIB1 PSDCH。如果需要一个参考PDSCH,那么有两种方法来启用它:
RMC是通过'RC'字段指定的,或者是'R.31-3A'或'R.31-4'。
'RC'字段不存在或被指定为空(例如params. html)。RC =[])。
的lteRMCDL
和lteRMCDLTool
函数可用于生成波形,其中参数在一帧的子帧中变化(如CFI, PRBSet, TargetCodeRate)。CFI和目标码率可以指定为向量,PRBSet可以指定为单元格数组,当每个子帧的值都在变化时。
在这个例子中,我们创建了一个对应于R.31-3 FDD RMC的波形,其中每一个子帧的码率和分配都是不同的。这是一个两码字RMC与码率0.61在子帧0,0.62在子帧5和0.59在所有其他子帧。在子帧5中分配的资源块数为(4…99),在所有其他子帧中分配的全带宽为(0…99)
params =结构();%初始化参数结构参数个数。NDLRB = 100;%设置带宽(20mhz)参数个数。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)'params.PDSCH.TargetCodeRate = [0.61 0.59 0.59 0.59 0.59 0.62 0.59 0.59 0.59 0.59 0.59 0.59 0.59 0.59 0.59];params.PDSCH.TxScheme =CDD的;% 2码字闭环空间复用器params.PDSCH.NLayers = 2;每个码字% 1层params.PDSCH.Modulation = {64 qam,64 qam};%设置调制为2个码字%使用lteRMCDL填充其他参数字段。由此产生的% 'fullParams'可以手动根据R.31-3给出的参数进行检查表A.3.9.1-1 . % FDD RMC in TS 36.101fullParams = lteRMCDL (params);%使用完整参数集“fullParams”生成波形[dl波形,dlGrid, dlParams] = lteRMCDLTool(fullParams,{dataStream, dataStream});
3GPP TS 36.101《用户设备(UE)无线电发射和接收》