主要内容

LTE DL-SCH和PDSCH加工链

LTE中的下行链路共享信道(DL-SCH)是用于用户数据,专用控制和用户特定更高层的信息和下行链路的系统信息的传输的传输信道。物理下行链路共享信道(PDSCH)是携带DL-SCH的编码数据的物理信道。该示例示出参与下行链路共享信道(DL-SCH)和物理下行链路共享信道(PDSCH)处理,并提供访问来自这些中间阶段中的数据的不同阶段。

介绍

LTE工具箱™提供各种粒度级别的物理层建模功能,从可以生成完整上行和下行波形的系统级功能,到执行传输/物理信道处理的PHY信道级功能,以及执行CRC编码的单个信道处理阶段功能。turbo coding, etc. These functions, with the simple interface and ease of parameterization, help in rapid prototyping of standard compliant models and therefore are useful in a wide variety of applications. The advantages of a test and verification workflow using individual channel processing stages illustrated in this example are:

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

  • 缓解接收机或硬件单元测试创​​建的静态或动态测试向量的

  • 了解DL-SCH/PDSCH流程

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

设置

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

%计算单元范围的设置%细胞范围的参数分组成一个单一的结构enb。一个函数的子集下面指定%参数。在这个例子中,我们使用的配置根据RMC R.14 FDD%在TS 36.101附件A.3.4指定哪些%用途50 RB,4端口, 'SpatialMux' 传输方案中, '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中指定。%对于r14 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”'PORT8'“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 Section 5.3.2.2的规则将输入数据位向量分割为代码块段的单元数组(适当时附加填充位和type-24B CRC) [1].这个函数lteDLSCHInfo提供了一种用于在给定的块大小码块分割的信息。

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

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

%用于创建随机传输块的随机数初始化RNG(“默认”);%将调制方案字符数组或单元数组转换为字符串数组均匀加工%pdsch。调制=字符串(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%CRC附加给该传输块crccoded = lteCRCEncode (trBlk {n},“24”);%代码块分段返回代码块段的单元格数组%与填充比特和类型-24B CRC所附根据需要blksegmented = 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);结束%速率匹配返回子块交错位后的码字%的收集和比特选择和用于涡轮编码的剪枝定义% data并合并代码块段的单元格数组连续波{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)必须等于物理信道传输所使用的天线端口数。对于空间多路复用,最多可在8层上传输1或2个码字。层数小于等于物理信道传输所使用的天线端口数。

  • 预编码:所述预编码阶段需要在M-由层矩阵从所述层映射级,并返回大小M-通过-P为在P个天线传输的基质如在TS 36.211第6.3.4节[定义2].对于单端口(端口0,5,7或8),此阶段是透明的且对于发射分集,预编码被应用于2个或4个天线端口。预编码的空间复用取决于是否与特定于小区的参考信号(“SpatialMux”,“CDD”和“多用户”传输方案)或者与UE特定参考信号(“PORT5”,“Port7-8”的天线端口的天线端口,“PORT8”和“Port7-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矩阵layermapped = lteLayerMap(PDSCH,调制的);%预编码的结果是一个(每个天线的符号)由ntxants矩阵precoded = lteDLPrecode(enb, pdsch, layermapped);%可选地应用波束形成(W应该是1或标识,如果没有波束形成)pdschsymbols =将* pdsch.W;

PDSCH解码

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

%解预编码(伪逆基)返回(符号数)-按nlayers矩阵如果(任何(strcmpi(pdsch.TxScheme,{“Port5”“Port7-8”'PORT8'“Port7-14”})))= rxdeprecoded * pdschsymbols PINV(pdsch.W);其他的rxdeprecoded = lteDLDeprecode(ENB,PDSCH,pdschsymbols);结束%图层映射返回包含一个或两个代码字的单元格数组。的码字的%数从调制方案的数目推导出%特征向量layerdemapped = lteLayerDemap (pdsch rxdeprecoded);%初始化恢复的码字水煤浆=细胞(1、nCodewords);n = 1: nCodewords接收到的符号的软%解调解调= lteSymbolDemodulate(layerdemapped {N},pdsch.Modulation {N},“软”);%生成打乱序列scramseq = ltePDSCHPRBS (enb pdsch.RNTI, n - 1,长度(解调),“签署”);%对接收的比特进行解码器水煤浆{n} =解调。* scramseq;结束

DL-SCH解码

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

%初始化接收的传输块和CRCrxTrBlk =细胞(1,nCodewords);crcError =零(1,nCodewords);n = 1: nCodewords% Rate恢复阶段也允许与软信息相结合% HARQ进程,使用输入的cbsbuffers。第一%传输传输块时,软缓冲区被初始化%为空。对于重传,参数cbsbuffers应该是%来自先前传输的软信息cbsbuffers = [];% HARQ进程的初始传输%价格恢复返回Turbo编码的码块的单元阵列raterecovered = lteRateRecoverTurbo(水煤浆{n}, TrBlkSizes, pdsch.RV (n), chs (n), cbsbuffers);NTurboDecIts = 5;% turbo译码迭代周期数%turbo解码返回解码码块的单元阵列turbodecoded = lteTurboDecode (raterecovered NTurboDecIts);%代码块分解将输入的代码块段连接起来%到一个输出数据块,之后除去任何填料和可能存在的% type-24B CRC位[blkdesegmented, segErr] = lteCodeBlockDesegment (turbodecoded (TrBlkSizes + 24));% CRC解码在检查CRC错误后返回传输块[rxTrBlk {n}, crcError (n)) = lteCRCDecode (blkdesegmented,“24”);结束

结论

这个例子解释了下行共享通道(DL-SCH)和物理下行共享通道(PDSCH)处理,并提供了对LTE工具箱中支持这些通道的不同功能的深入了解。万博1manbetx该示例还说明了如何使用低级函数对通道建模,该方法可用于应用程序,包括从这些中间处理阶段生成黄金参考测试向量,以独立验证备选实现的不同处理阶段。这个例子还展示了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)无线接入能力”