主要内容

使用下行链路传输和物理通道的LTE波形建模

本例显示如何为一个子帧生成包含物理下行共享信道(PDSCH)、相应的物理下行控制信道(PDCCH)传输和物理控制格式指示信道(PCFICH)的时域波形。

简介

本例演示如何使用LTE工具箱™中的功能为6个资源块、4个天线传输分集生成完整的下行共享信道(DL-SCH)传输。对以下物理通道进行建模:

  • 物理下行共享信道(PDSCH)

  • 物理下行控制信道(PDCCH)

  • 物理下行链路控制格式指示通道(PCFICH)

本例为所有4个天线端口生成一个时域(后OFDM调制)。在这个例子中,只考虑一个子帧(数字0)。

注意:生成RMC波形的推荐方法是使用lteRMCDLTool这个例子展示了如何通过创建和组合单个物理通道来构建波形,就像在LTE系统中发生的那样。

它是设置

eNodeB设置配置为一个结构。

enb。NDLRB = 6;下行资源块数目% (DL-RB)enb。CyclicPrefix =“正常”% CP长度enb。PHICHDuration =“正常”%正常PHICH持续时间enb。DuplexMode =“FDD”FDD双工模式enb。Cfi = 3;% 4 PDCCH符号enb。Ng =“六”% HICH组enb。CellRefP = 4;% 4天线端口enb。NCellID = 10;单元格idenb。NSubframe = 0;%子帧号0

子帧资源网格生成

方法可以轻松创建资源网格lteDLResourceGrid函数。这将为一个子帧创建一个空的资源网格。子坐标系是一个三维矩阵。行数表示可用的子载波数,这等于12 * enb。NDLRB因为每个资源块有12个子载波。列数等于一个子帧中的OFDM符号数,即7*2,因为普通循环前缀每个槽有7个OFDM符号,一个子帧有2个槽。子帧的平面数(三维)为4,对应于中指定的4个天线端口enb。CellRefP

subframe = lteDLResourceGrid(enb);

DL-SCH和PDSCH设置

DL-SCH和PDSCH使用一个结构进行配置pdsch。这里的设置配置4天线发射分集与QPSK调制。

pdsch。NLayers = 4;%层数pdsch。TxScheme =“TxDiversity”传动方案pdsch。调制=“正交相移编码”调制方案pdsch。Rnti = 1;% 16位ue专用掩码pdsch。Rv = 0;%冗余版本

PDSCH映射索引生成

将PDSCH复符号映射到子帧资源网格的索引是使用ltePDSCHIndices。此函数所需的参数包括中的一些单元范围设置enb,信道传输配置pdsch物理资源块(prb)。后者表示PDSCH传输的资源分配。在本例中,我们假设所有资源块都分配给PDSCH。这是使用列向量指定的,如下所示。

这些索引是“基于1”的,用于在资源网格上直接映射,因为MATLAB®使用基于1的索引。在这种情况下,我们假设子帧中的两个槽共享相同的资源分配。通过指定一个两列矩阵作为分配,可以对每个槽进行不同的分配,其中每个列将引用子帧中的每个槽。

得到的矩阵pdschIndices有4列,每列包含一组线性风格的索引,指向每个天线端口中用于PDSCH的资源元素。注意,这个函数返回的索引避免了分配给参考信号、控制区域、广播通道和同步信号的资源元素。

生成的索引以MATLAB使用的1基格式表示,但可以使用该选项使其成为标准特定的基于0的索引基于“0”而不是“基于1”。如果未指定此选项,则默认为基于1的索引生成。

DL-SCH传输的编码块大小可以通过ltePDSCHIndices函数。的ltePDSCHIndices函数返回一个信息结构作为第二个输出,其中包含参数G指定编码和速率匹配的DL-SCH数据位的数量,以满足物理PDSCH容量。该值随后将用于参数化DL-SCH信道编码。

pdsch。PRBSet = (0:enb.NDLRB-1).';子帧资源分配[pdschIndices, pdschInfo] =...ltePDSCHIndices(enb, pdsch, pdsch。PRBSet, {“基于1”});

DL-SCH信道编码

我们现在生成DL-SCH位并应用信道编码。这包括CRC计算、码块分割和CRC插入、turbo编码、速率匹配和码块拼接。它可以使用lteDLSCH

DL-SCH传输块大小根据TS36.101,附件A.2.1.2中的规则选择[1]“有效载荷大小的确定”与目标码率美元$ R = 1/3和每个子帧的比特数codedTrBlkSize

codedTrBlkSize = pdschInfo.G;%可用PDSCH位transportBlkSize = 152;%传输块大小dlschTransportBlk = randi([0 1], transportBlkSize, 1);%执行信道编码codedTrBlock = lteDLSCH(enb, pdsch, codedTrBlkSize,...dlschTransportBlk);

复杂符号生成

以下操作应用于编码传输块以生成物理下行共享信道复杂符号:置乱、调制、层映射和预编码。这可以使用ltePDSCH。中指定的单元范围设置enb该功能还需要调制和信道传输配置相关的其他参数,pdsch。得到的矩阵pdschSymbols有4列。每一列包含要映射到每个天线端口的复杂符号。

pdschSymbols = ltePDSCH(enb, pdsch, codedTrBlock);

PDSCH映射

然后,使用简单的赋值操作将复杂的PDSCH符号轻松地映射到每个天线端口的每个资源网格。PDSCH符号在资源网格中的位置由pdschIndices

在资源网格上映射PDSCH符号subframe(pdschIndices) = pdschSymbols;

DCI消息配置

下行链路控制信息(DCI),传递DL-SCH资源分配、传输格式以及与DL-SCH混合ARQ相关的信息。lteDCI可用于生成要映射到物理下行链路控制通道(PDCCH)的DCI消息。这些参数包括下行资源块(RBs)的数量、DCI格式和资源指示值(RIV)。RIV为26对应全带宽分配。的lteDCI函数返回一个结构和一个包含DCI消息位的向量。两者都包含相同的信息。结构更具可读性,而序列化的DCI消息是更适合发送到信道编码阶段的格式。

dci。DCIFormat =“Format1A”% DCI消息格式dci.Allocation.RIV = 26;%资源指示值[dciMessage, dciMessageBits] = lteDCI(enb, dci);% DCI消息

信道编码

DCI消息位是信道编码的。这包括以下操作:CRC插入、咬尾卷积编码和速率匹配。这个领域PDCCHFormat表示一个控制信道元件(CCE)用于PDCCH的传输,其中一个CCE由36个有用的资源元件组成。

pdcch。NDLRB= enb.NDLRB;DL-RB占总体重的%pdcch。RNTI = pdsch.RNTI;% 16位数值pdcch。PDCCHFormat = 0;聚合级别1的% 1- cce%执行DCI消息位编码,形成已编码的DCI位codedDciBits = lteDCIEncode(pdch, dciMessageBits);

PDCCH位生成

控制区域的容量取决于带宽、CFI (control Format Indicator)、天线端口数量和PHICH组。可用于PDCCH的资源总数可以通过以下方法计算ltePDCCHInfo。返回一个结构pdcchInfo其中不同的字段以不同的单位表示可供PDCCH使用的资源:位、cce、资源元素(REs)和资源元素组(reg)。PDCCH区域中可用的总位数可以在字段中找到pdcchInfo。MTot。这允许我们用适当数量的元素构建一个向量。并非所有PDCCH区域的可用位都必须被使用。因此,采用的惯例是将未使用的位设置为-1,而使用值为0或1的位位置。

注意,我们已经初始化了中的所有元素pdcchBits到-1,表示最初所有位都未使用。的要素codedDciBits映射到相应的位置pdcchBits

只是所有比特的一个子集pdcchBits可能会用到,这些被称为候选位。可以使用ltePDCCHSpace。这将返回一个两列矩阵。每一行都表示提供的单元范围设置的可用候选位置enbPDCCH配置结构pdcch。第一列和第二列分别包含每组候选的第一个和最后一个位置的索引。在这种情况下,这些索引是基于1的,并引用位,因此它们可以用于访问中的位置pdcchBits。向量pdcchBits有664个元素。72位codedDciBits映射到中选定的候选人pdcchBits。因此,在664个元素中,72个元素的值为0和1,而其余元素的值为-1。ltePDCCH将这些位置解释为未使用的,只考虑那些有1和0的位置。

pdcchInfo = ltePDCCHInfo(enb);获取PDCCH的总资源pdcchBits = -1*ones(pdcchInfo。MTot, 1);%用-1初始化为特定于ue的候选控制通道执行搜索空间ltePDCCHSpace(enb, pdcch, {“位”“基于1”});将PDCCH有效负载映射到可用的特定于ue的候选设备上。在这个例子中%第一个可用的候选用于映射已编码的DCI位。pdcchBits(candidate (1,1): candidate (1,2)) = codedDciBits;

复杂符号生成

中使用的位的集合pdcchBits(值不设为-1)生成PDCCH复符号。需要进行以下操作:置乱、QPSK调制、层映射和预编码。

ltePDCCH函数接受一组PDCCH位并生成复值PDCCH符号,执行上述操作。在本例中,pdcchSymbols是一个4列矩阵,每个矩阵对应于每个天线端口。

pdcchSymbols = ltePDCCH(enb, pdcchBits);

PDCCH映射索引生成与资源网格映射

在资源网格上生成符号映射的PDCCH索引。pdcchIndices是一个矩阵,有4列,每个天线端口一列。行包含将PDCCH符号映射到子帧资源网格的线性形式的索引。

pdcchIndices = ltePDCCHIndices(enb, {“基于1”});复杂的PDCCH符号很容易映射到每个资源网格。%表示每个天线端口subframe(pdcchIndices) = pdcchSymbols;

信道编码

一个子帧中OFDM符号的数量与控制格式指示器(CFI)值相关联。单元范围设置结构enb指定CFI值为3,即下行资源块为6时,控制区域使用4个OFDM符号。CFI是使用信道编码的lteCFI。编码位的结果集是一个32个元素的向量。

cfiBits = lteCFI(enb);

复杂符号生成

然后对CFI编码的位进行置乱、QPSK调制、映射到层并预编码以形成PCFICH复杂符号。的pcfichSymbols是一个有4列的矩阵,其中每列包含映射到每个天线端口的PCFICH复符号。

pcfichSymbols = ltePCFICH(enb, cfiBits);

PCFICH索引生成和资源网格映射

使用适当的映射索引将PCFICH复符号映射到子帧资源网格。这些是使用ltePCFICHIndices并将用于将PCFICH符号四联体映射到子帧中第一个OFDM符号中的资源元素组。考虑了所有天线端口,避免了参考信号(RSs)使用的资源元素。注意,得到的矩阵有4列;每一列以线性形式表示每个天线端口的指标。这些索引基于1,但是也可以使用基于0生成。所使用的线性索引样式使资源网格映射过程更加简单。所得到的矩阵包含中复杂的符号pcfichSymbols在指定的位置pcfichIndices

pcfichIndices = ltePCFICHIndices(enb);将PCFICH符号映射到资源网格subframe(pcfichinices) = pcfichSymbols;

画网格

绘制第一个天线的资源网格。这包括(黄色部分)示例中添加的物理通道:PDSCH、PDCCH和PCFICH。使用冲浪()避免混叠。这将绘制网格的值(REs),并将它们与线条(对于12个子载波,冲浪()图12点11线;因此,最后一个子载波是不可见的)。重复资源网格的最后一行,以便最后一个子载波可见。

冲浪(abs([子帧(:,:1);子帧(:,1))));视图(2);H = rotate3d;setAllowAxesRotate (h, gca、假);轴;包含(OFDM符号的);ylabel (副载波的);标题(“资源网格”);

OFDM调制

通过对下行符号进行OFDM调制实现时域映射。得到的矩阵有4列;每个列包含每个天线端口的样本。

[timeDomainMapped, timeDomainInfo] = lteofdm调制(enb, subframe);

选定的参考书目

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