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。一个在本例中使用的功能的数量%需要的一个子集下面指定%参数。在这个例子中,我们使用的配置根据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中指定。%对于R.14 FDD RMC中,有两个码字,因此在调制方式%被指定为同时含有的调制方案的单元阵列%的码字。如果配置了一个码字,调制方案可%的字符向量或特征向量的单元阵列。将trblksize参数配置为%的正确数量的元素的码字的预期数量的。该用于速率匹配级的软比特的数量%由UE决定%类别见TS 36.306表4.1-1。在这个例子中,%的传输块大小是从TS 36.101附件A.3.4表查找。这也可以通过使用r14rmc的lteRMCDL函数来实现。%DL-SCH设置TrBlkSizes = [11448;11448);%2个元件2码字传输pdsch.RV = [0 0];% RV为2个码字pdsch.NSoftbits = 1237248;% UE类别2的软通道比特数%PDSCH设置pdsch.TxScheme =“SpatialMux”;用于%传输方案pdsch.Modulation = {'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:根据TS 36.212第5.3.2.1 [由一个24位的CRC被提供错误检测为所述传输块1]。

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

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

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

%随机数初始化为产生随机传输块(S)RNG('默认');%转换的调制方式char数组或电池阵列字符串数组%均匀的处理pdsch.Modulation =串(pdsch.Modulation);%获取码字的数量从传输块的数量nCodewords = numel(TrBlkSizes);%生成传输块(多个)trBlk =细胞(1,nCodewords);初始化码字%对于n = 1时:nCodewords trBlk {N} =兰迪([0 1],TrBlkSizes(n)的,1);结束%获得所需的用于从速率匹配物理信道位容量%ltePDSCHIndices信息输出[〜,pdschInfo] = ltePDSCHIndices(ENB,PDSCH,pdsch.PRBSet);为lteRateMatchTurbo定义一个带有参数的结构数组chs = pdsch;chs (nCodewords) = pdsch;对于两个码字,数组有两个元素初始化码字%连续波=细胞(1、nCodewords);对于n = 1: nCodewords为传输块添加% CRCcrccoded = lteCRCEncode (trBlk {n},'24A');代码块分段返回代码块段的单元数组%与填充比特和类型-24B CRC所附根据需要blksegmented = lteCodeBlockSegment(crccoded);%信道编码返回turbo编码区段在单元阵列chencoded = lteTurboEncode(blksegmented);%捆绑在结构CHS的参数用于速率匹配的函数需要单元范围和通道特定的参数CHS(N).Modulation = 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);结束%速率匹配子块之后返回一个码字交织,位%的收集和比特选择和用于涡轮编码的剪枝定义%的数据和合并码块分段的单元阵列CW {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-由层矩阵从所述层映射级,并返回大小M-通过-P为在P个天线传输的基质如在TS 36.211第6.3.4节[定义2]。对于单个端口(端口0、5、7或8),这个阶段是透明的,为了传输分集,对2或4个天线端口进行预编码。空间多路复用的预编码取决于是使用具有单元特定参考信号的天线端口(“SpatialMux”、“CDD”和“MultiUser”传输方案),还是使用具有单元特定参考信号的天线端口(“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,调制的);%预编码导致(每个天线符号)-by-NTxAnts矩阵预编码= lteDLPrecode(ENB,PDSCH,layermapped);%应用波束成形任选(W应为1或身份,如果没有波束形成)pdschsymbols =预编码* pdsch.W;

PDSCH解码

解码是物理下行链路共享信道(PDSCH)的处理的复杂调制PDSCH码元的矩阵逆,这取决于细胞范围的设置结构基站和信道特定的配置结构PDSCH。信道反求处理包括解压缩、层解压缩和码字分离、软解调和解压缩。利用预编码矩阵的伪逆来进行预编码。对于涉及传播信道和/或噪声的应用,信道估计和均衡是在解码之前对接收到的符号进行的。看到ltePDSCHDecode了解更多信息。

%Deprecoding(伪逆基于)返回(符号数)-by-NLayers矩阵如果(任何(strcmpi(pdsch.TxScheme,{'PORT5''Port7-8''PORT8''Port7-14'})))= rxdeprecoded * pdschsymbols PINV(pdsch.W);其他rxdeprecoded = lteDLDeprecode(ENB,PDSCH,pdschsymbols);结束%层解映射返回包含一个或两个码字的单元阵列。该码字的%数从调制方案的数目推导出%字符向量layerdemapped = lteLayerDemap(PDSCH,rxdeprecoded);%初始化恢复的码字CWS =细胞(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也提供相同的功能。这个功能也返回类型-24A传输块CRC的解码结果,类型-24B码块CRC设定,HARQ过程进行解码状态解码结果和用于指定初始HARQ过程状态提供参数化。

%初始化接收的传输块和CRCrxTrBlk =细胞(1,nCodewords);crcError =零(1,nCodewords);对于n = 1: nCodewords%费率恢复阶段,还允许对软信息合并%的HARQ过程,使用输入cbsbuffers。为了第一所述传输块的%透射,软缓冲器被初始化%为空。对于重传,参数cbsbuffers应该是%来自先前传输的软信息cbsbuffers = [];%的HARQ过程的初始传输%价格恢复返回Turbo编码的码块的单元阵列raterecovered = lteRateRecoverTurbo(CWS {N},TrBlkSizes,pdsch.RV(N),CHS(n)时,cbsbuffers);NTurboDecIts = 5;涡轮解码的迭代循环的%数%turbo解码返回解码码块的单元阵列turbodecoded = lteTurboDecode (raterecovered NTurboDecIts);%的代码块desegmentation串接输入码块分段%到一个输出数据块,之后除去任何填料和%类型-24B CRC比特可存在[blkdesegmented,SEGERR] = lteCodeBlockDesegment(turbo译码,(TrBlkSizes + 24));%CRC检查CRC错误之后解码返回传输块[rxTrBlk {N},crcError(N)] = lteCRCDecode(blkdesegmented,'24A');结束

结论

这个例子解释了下行共享通道(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)的无线接入能力”