主要内容

LTE DL-SCH和PDSCH加工链

在LTE中,下行链路共享信道(DL-SCH)是用于传输用户数据、专用控制和用户特定的高层信息以及下行链路系统信息的传输信道。物理下行链路共享信道(PDSCH)是承载DL-SCH编码数据的物理信道。此示例显示了下行链路共享信道(DL-SCH)和物理下行链路共享信道(PDSCH)处理中涉及的不同阶段,并提供对这些中间阶段数据的访问。

介绍

在LTE工具箱™为物理层建模功能与粒度的不同级别范围从系统级功能,可以生成完整的上行链路和下行链路波形以执行传输/物理信道处理和个别信道处理级功能执行CRC PHY信道级的功能编码,Turbo编码等这些功能,与简单的界面和易用性的参数化,帮助在符合标准的模型快速成型,因此在各种各样的应用。测试和验证的工作流程中使用本例所示个别信道的处理阶段的优点是:

  • 用作备用实现的黄金参考

  • 为接收器或硬件单元测试创建静态或动态测试向量的简易性

  • 了解DL-SCH/PDSCH流程

不同的粒度级别允许用户创建具有所需中间数据访问权限的模型,并生成大量波形或测试向量以进行自动测试。对于DL-SCH和PDSCH处理和解码,工具箱提供lteDLSCHltePDSCHltePDSCHDecodelteDLSCHDecode.如TS 36.212第5.3.2节所述,这些是能够处理相关运输或物理通道的所有阶段的通道级功能[1]和TS 36.211第6.4节[2].这个例子展示了在需要访问中间值/处理阶段的用例中,如何使用函数执行DL-SCH和PDSCH编码和解码的单独通道处理步骤。LTE工具箱为DL-SCH和PDSCH提供的处理链的各个阶段和功能如下图所示。

设置

示例中使用的函数需要全细胞参数和信道特定参数的组合。这些是作为结构字段或单个参数输入到函数的。

%计算单元范围的设置%的细胞级参数被分组为单个结构的eNB。一种在本例中使用的功能的数量%需要的一个子集%下面指定的参数。在本例中,我们使用配置%根据TS 36.101附录A.3.4中规定的RMC R.14 FDD%使用50个RB、4端口、“空间复用”传输方案、“16QAM”符号%调制,2个码字和1/2码率。enb.NDLRB=50;%资源块数enb.CellRefP = 4;%细胞特定参考信号端口enb.NCellID=0;%单元IDenb.CyclicPrefix=“正常”%正常循环前缀enb。CFI = 2;%控制区域长度enb。DuplexMode =“FDD”% FDD双工模式enb。TDDConfig = 1;%的上行链路/下行链路配置(仅TDD)enb.SSC = 4;%特殊的子帧配置(仅TDD)enb.NSubframe = 0;%子帧数%传输/物理通道设置,方便使用DL-SCH和PDSCH%通道特定设置在参数结构pdsch中指定。%对于R.14 FDD RMC中,有两个码字,因此在调制方式%指定为包含两种调制方案的单元阵列%码字。如果配置一个码字,调制方案可以%字符向量或具有字符向量的单元格数组。将TrBlkSizes参数配置为具有%将元素数更正为预期的码字数。这个速率匹配阶段的软位数由终端决定表4.1-1所示。在这个例子中% transport block size从TS 36.101附件A.3.4中的表中查找。%这也可以通过使用r14 RMC的lteRMCDL函数来完成。%DL-SCH设置TrBlkSizes = [11448;11448);%2个元件2码字传输pdsch。Rv = [0 0];% RV为2个码字pdsch.NSoftbits = 1237248;UE类别2的软通道位数%PDSCH设置pdsch。TxScheme =“SpatialMux”%使用的传输方案pdsch。调制= {“16QAM”“16QAM”};%用于2个码字的符号调制pdsch。NLayers = 2;%两个空间传输层pdsch.NTxAnts = 2;%发射天线的数量pdsch.RNTI=1;% RNTI值pdsch.PRBSet=(0:enb.NDLRB-1)';%全部分配的PRBpdsch。PMISet = 0;%预编码矩阵索引pdsch。W = 1;没有特定于ue的波束形成%只适用于“Port5”、“Port7-8”、“Port8”和“Port7-14”方案如果任何(strcmpi (pdsch。TxScheme, {“Port5”“Port7-8”“端口8”“Port7-14”pdsch}))。W = ' (lteCSICodebook (pdsch.NLayers pdsch。NTxAnts [0 0]));结束

下行共享通道(DL-SCH)处理

本节介绍DL-SCH传输信道编码。每个调度子帧都有一个传输块进入处理链(对于空间多路复用方案,可以有两个传输块)。传输块被编码,速率与PDSCH信道比特容量匹配。PDSCH的容量取决于PRB分配、调制方案和传输方案,这个值作为输出提供ltePDSCHIndices函数。传输信道编码处理包括如上面的图1中的下面的阶段。

  • 传输块CRC附件:传输块的错误检测由24位CRC根据TS 36.212章节5.3.2.1提供[1].

  • 代码块分割和代码块CRC附件:如上述图1所示,码块分割,根据TS 36.212 5.3.2.2节的规则将输入数据比特向量到码块分段的单元阵列(具有填充比特和类型-24B CRC附加适当的)[1].这个函数lteDLSCHInfo提供给定块大小的代码块分段信息。

  • 信道编码:根据TS 36.212第5.3.2.3节,对代码块进行单独的turbo编码[1].涡轮编码器(lteTurboEncode)可以并行处理包含所有代码块段的单元数组,并返回包含单个turbo编码块段的单元数组。

  • 速率匹配和代码块连接:涡轮编码块然后单独根据TS 36.212第5.3.2.4 [速率匹配1],并根据TS 36.212章节5.3.2.5将得到的速率匹配块连接起来[1来创建一个用于在PDSCH上传输的码字。

%用于创建随机传输块的随机数初始化rng(“默认”);%转换的调制方式char数组或电池阵列字符串数组均匀加工%pdsch.Modulation =串(pdsch.Modulation);%从传输块的数量中获取码字的数量nCodewords =元素个数(TrBlkSizes);%生成传输块(多个)trBlk =细胞(1、nCodewords);%初始化码字n=1:nCodewords trBlk{n} = randi([0 1],TrBlkSizes(n),1);结束%从中获取速率匹配所需的物理通道位容量% ltePDSCHIndices信息输出[~, pdschInfo] = ltePDSCHIndices (pdsch, enb pdsch.PRBSet);为alteratematchturbo定义一个带参数的结构数组chs = pdsch;chs (nCodewords) = pdsch;%对于2个码字,数组有两个元素%初始化码字连续波=细胞(1、nCodewords);n = 1: nCodewords%为传输块添加CRCcrccoded = lteCRCEncode (trBlk {n},“24”);%代码块分段返回代码块段的单元格数组%根据需要添加填充位和24B型CRCblksegmented=lteCodeBlockSegment(crccoded);通道编码返回单元阵列中的turbo编码片段chencoded = lteTurboEncode (blksegmented);%捆绑在结构CHS的参数用于速率匹配的%功能需要全细胞和特定信道参数chs (n)。调制= pdsch.Modulation {n};chs (n)。DuplexMode = enb.DuplexMode;chs (n)。TDDConfig = enb.TDDConfig;为码字的层的%数计算如果n==1个chs(n)。NLayers=楼层(pdsch.NLayers/nCodewords);其他的CHS(n)的.NLayers =小区(pdsch.NLayers / nCodewords);结束%速率匹配子块之后返回一个码字交织,位%为turbo编码定义的收集、位选择和修剪%的数据和合并码块分段的单元阵列连续波{n} = lteRateMatchTurbo (chencoded pdschInfo.G (n), pdsch.RV (n), chs (n));结束

物理下行共享通道(PDSCH)处理

根据使用的传输方案,一个或两个传输编码块(码字)可在PDSCH上同时传输(参见TS 36.211第6.4节[2])。如上图2所示,码字离岗加扰,调制,层映射,预编码,可选UE特定的波束形成和资源元素映射。矩阵的大小为N × P,其中N为一个天线端口的调制符号数,P为发射天线数。

  • 扰:在一个子帧中最多可以传输两个码字,对于每个码字,根据TS 36.211第6.3.1节的规定,用不同的置乱序列对比特进行置乱[2].置乱序列在每个子帧的开始处初始化,并依赖于RNTINCellIDNSubframe和码字索引。

  • 调制:然后使用一种调制方案('QPSK', '16QAM', '64QAM'或'256QAM')对加密码字进行符号调制。

  • 层映射:然后,根据所使用的传输方案,将复调制符号映射到一个或几个层上(TS 36.211第6.3.3节[1])。对于单端口(端口0,5,7或8)中,使用一个单一的层。对于发射分集只有一个码字被允许和层(2或4)的数量必须等于用于物理信道的发送的天线端口的数目。用于空间复用1首或2个码字可以在最多8层进行传输。层的数目小于或等于用于物理信道的发射天线端口的数目。

  • 预编码:预编码阶段从层映射阶段接收M-by-Layers矩阵,并返回大小为M-by-P的矩阵,以便在TS 36.211第6.3.4节中定义的P天线上传输[2].对于单端口(端口0、5、7或8),该级是透明的,对于发射分集,预编码应用于2或4个天线端口。空间复用的预编码取决于是否使用具有小区特定参考信号的天线端口(“空间复用”、“CDD”和“多用户”传输方案)或具有UE特定参考信号的天线端口(“端口5”、“端口7-8”、“端口8”和“端口7-14”传输方案)。

  • 映射到资源元素:然后将复调制符号映射到TS 36.211第6.3.5节中定义的资源元素[2]创建用于传输的网格。本示例中未显示此阶段,但可以通过使用创建空资源网格轻松完成lteDLResourceGrid并将符号映射到资源元素ltePDSCHIndices函数。

%初始化调制符号调制=细胞(1、nCodewords);n = 1: nCodewords%生成扰码序列scramseq = ltePDSCHPRBS (enb pdsch.RNTI, n - 1,长度(cw {n}));%争夺码字加扰= XOR(scramseq,CW {N});%符号调制加扰码字调制{N} = lteSymbolModulate(加扰,pdsch.Modulation {N});结束%层映射结果是一个(每层符号)-by-NLayers矩阵LayerMap=lteLayerMap(pdsch,调制);%预编码的结果是一个(每个天线的符号)由ntxants矩阵预编码= lteDLPrecode(ENB,PDSCH,layermapped);%应用波束成形任选(W应为1或身份,如果没有波束形成)pdschsymbols =预编码* pdsch.W;

PDSCH译码

解码是在复调制PDSCH符号矩阵上的物理下行链路共享信道(PDSCH)处理的逆过程,这取决于小区范围的设置结构enb和信道特定的配置结构pdsch.信道反处理包括解预编码、层映射与码字分离、软解调与解编。解预编码是利用预编码矩阵的矩阵伪逆来实现的。对于涉及传播信道和/或噪声的应用,在解码之前对接收的符号进行信道估计和均衡。看到ltePDSCHDecode为进一步的信息。

%Deprecoding(伪逆基于)返回(符号数)-by-NLayers矩阵如果(任何)strcmpi(pdsch.TxScheme{“Port5”“Port7-8”“端口8”“Port7-14”})))rxdeprecoded=pdschsymbols*pinv(pdsch.W);其他的rxdeprecoded=lteDLDeprecode(enb、pdsch、pdschsymbols);结束%层解映射返回包含一个或两个码字的单元阵列。这%根据调制方案的数量推导出码字的数量%特征向量layerdemapped=lteLayerDemap(pdsch,RXDeprocoded);%初始化恢复的码字水煤浆=细胞(1、nCodewords);n = 1: nCodewords%接收符号的软解调解调=lteSymbolDemodulate(层映射{n},pdsch.调制{n},'柔软的');%生成打乱序列scramseq = ltePDSCHPRBS(ENB,pdsch.RNTI,N-1,长度(解调),“签署”);接收的比特%解扰水煤浆{n} =解调。* scramseq;结束

DL-SCH解码

下行共享信道(DL-SCH)译码包括速率恢复、turbo译码、块级联和CRC计算。另外的功能lteDLSCHDecode也提供相同的功能。这个功能也返回类型-24A传输块CRC的解码结果,类型-24B码块CRC设定,HARQ过程进行解码状态解码结果和用于指定初始HARQ过程状态提供参数化。

%初始化接收的传输块和CRCrxTrBlk=单元(1,n);crcError=零(1,n个单词);n = 1: nCodewords%费率恢复阶段,还允许对软信息合并%的HARQ过程,使用输入cbsbuffers。为了第一%传输传输块时,软缓冲区被初始化%为空。对于重新传输,参数cbsbuffers应为%来自上一次传输的软信息cbsbuffers = [];% HARQ进程的初始传输%速率恢复返回turbo编码代码块的单元数组raterecovered = lteRateRecoverTurbo(CWS {N},TrBlkSizes,pdsch.RV(N),CHS(n)时,cbsbuffers);NTurboDecIts = 5;% turbo译码迭代周期数%Turbo解码返回已解码代码块的单元数组turbodecoded = lteTurboDecode (raterecovered NTurboDecIts);%代码块分解将输入的代码块段连接起来%在删除任何填充符和%类型-24B CRC比特可存在[blkdesegmented, segErr] = lteCodeBlockDesegment (turbodecoded (TrBlkSizes + 24));% CRC解码在检查CRC错误后返回传输块[rxTrBlk {N},crcError(N)] = lteCRCDecode(blkdesegmented,“24”);结束

结论

这个例子解释了下行共享通道(DL-SCH)和物理下行共享通道(PDSCH)处理,并提供了对LTE工具箱中支持这些通道的不同功能的深入了解。金宝app该示例还说明了如何使用低级函数对通道建模,该方法可用于应用程序,包括从这些中间处理阶段生成黄金参考测试向量,以独立验证备选实现的不同处理阶段。这个例子还展示了LTE工具箱和MATLAB平台如何能够创建一个强大的环境,用于大规模的验证和测试。

再探

您可以修改本示例中提供的参数有不同的配置进行试验。对于如用于模拟不同的传输模式的情况下,一些感兴趣的参数是传输方案(TxScheme),调制方案(调制)、码字的数目(元素的数目TrBlkSizes).

选定的参考书目

  1. 3GPP TS 36.212“多路复用和信道编码”

  2. 3GPP TS 36.211“物理信道和调制”

  3. 3GPP TS 36.213《物理层程序》

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

  5. 3GPP TS 36.306 “用户设备(UE)的无线接入能力”