主要内容

LTE DL-SCH和PDSCH处理链

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

介绍

LTE工具箱™提供了物理层建模的功能,其具有从系统级功能的变化级别的粒度范围,这些功能可以生成对执行传输/物理信道处理的PHY信道级功能和执行CRC的各个信道处理阶段函数的PHY信道级功能编码,Turbo编码等这些功能,具有简单的界面和易于参数化,有助于标准兼容型号的快速原型设计,因此在各种应用中都很有用。使用此示例中所示的各个频道处理阶段的测试和验证工作流的优点是:

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

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

  • 了解DL-SCH/PDSCH流程

不同的粒度级别允许用户创建模型,并根据需要对中间数据进行尽可能多的访问,并生成大量波形或测试向量用于自动测试。对于DL-SCH和PDSCH处理和解码,工具箱提供LTEDLSCH.ltePDSCHltePDSCHDecodeLTEDLSCHDEDODE..这些是能够处理相关传输或物理通道的所有阶段的频道级功能,如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%使用50rb, 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参数也很重要%正确的元素数目作为预期的码字数目。这速率匹配阶段的软位数由终端决定TS 36.306表4.1-1中规定的%类别。在这个例子中,% transport block size从TS 36.101附件A.3.4中的表中查找。%这也可以通过使用R.14 RMC的LTERMCDL函数来完成。%DL-SCH设置trblksizes = [11448;11448];2个码字传输的%2元素pdsch。Rv = [0 0];2码字的%RVpdsch.nsoftbits = 1237248;UE类别2的百分比软通道位%PDSCH设置pdsch。TxScheme ='spatialmux'使用的传输方案pdsch。调制= {16 qam的16 qam的};%用于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.函数。传输信道编码过程包括以下阶段,如上图所示。

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

  • 代码块分段和代码块CRC附件:如上图所示,根据TS 36.212第5.3.22节第5.3.2.2节第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 = string(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);%定义了一个结构阵列,具有LterateMatchTurbo的参数chs = pdsch;CHS(ncodewords)= PDSCH;2个代码字的%,数组有两个元素%初始化码字cw = cell(1,ncodewords);n = 1:ncodewords%CRC加入运输块crccoded = 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 = ceil(pdsch.nlayers / ncodewords);结束%速率匹配在子块交织后返回码字,位为turbo编码定义的%集合、位选择和修剪%数据和合并Code块段的单元格数组连续波{n} = lteRateMatchTurbo (chencoded pdschInfo.G (n), pdsch.RV (n), chs (n));结束

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

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

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

  • 调制:然后,使用一个调制方案('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大小的矩阵,用于在P天线上传输,如TS 36.211章节6.3.4所定义[2].对于单端口(端口0,5,7或8),该阶段是透明的,并且对于发射分集,对2或4个天线端口施加预编码。空间多路复用的预编码取决于有特定于单元格的参考信号('spatialmux','cdd'和'多用户的传输方案)或天线端口的天线端口('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}));%争夺码字Scrambled = XOR(Scramseq,CW {n});%符号调制扰乱的码字调制{n} = LTESYMBOMODULES(扰乱,PDSCH.MODURAL {N});结束%层映射结果是一个(每层符号)-by-NLayers矩阵layermapped = lteLayerMap (pdsch,调制);%预编码的结果是一个(每个天线的符号)由ntxants矩阵预编码= LTEDLPRECODE(eNB,PDSCH,LATEMAPPT);%可选地应用波束形成(W应该是1或标识,如果没有波束形成)pdschsymbols =预编码* pdsch.w;

PDSCH解码

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

%depecoding(基于伪逆)返回(符号数)-by-nlayers矩阵如果(任何(strcmpi (pdsch。TxScheme, {“Port5”“Port7-8”“Port8”“Port7-14”}))) rxdeprecoded = pdschsymbols * pinv (pdsch.W);其他的rxdeprecoded = lteDLDeprecode (enb pdsch pdschsymbols);结束%Layer eMaping返回包含一个或两个码字的小区数组。这码字数%由调制方案数推导而来%特征向量layerdemapped = lteLayerDemap (pdsch rxdeprecoded);%初始化恢复的码字水煤浆=细胞(1、nCodewords);n = 1:ncodewords%接收符号软解调解调= lteSymbolDemodulate (layerdemapped {n}, pdsch。调制{n},'柔软的');%生成打乱序列scramseq = ltepdschprbs(eNB,pdsch.rnti,n-1,长度(解调),“签署”);接收位的百分比解扰CWS {n} =解调。* scramseq;结束

DL-SCH解码

下行共享信道(DL-SCH)译码包括速率恢复、turbo译码、块级联和CRC计算。另外的功能LTEDLSCHDEDODE.还提供相同的功能。该功能还返回Type-24A传输块CRC解码结果,键入-24b代码块设置CRC解码结果,HARQ处理解码状态并提供用于指定初始HARQ处理状态的参数化。

%初始化接收的传输块和CRCrxTrBlk =细胞(1、nCodewords);nCodewords crcError = 0 (1);n = 1:ncodewords%速率恢复阶段还允许与软信息相结合HARQ进程,使用输入CBSBuffers。为了第一%传输传输块时,软缓冲区被初始化%是空的。对于重传,参数cbsbuffers应该是%以前传输的软信息cbsbuffers = [];% HARQ进程的初始传输%速率恢复返回turbo编码代码块的单元阵列raterecovered = lteraterecoverturbo(cws {n},trblksize,pdsch.rv(n),chs(n),cbsbuffers);nturbodecits = 5;% turbo译码迭代周期数% Turbo解码返回解码码块的单元数组TurboDecoded = LTETUBODECODE(Raterecovered,Nturbodits);%代码块分解将输入的代码块段连接起来%进入单个输出数据块,在删除任何填充和可以存在的%Type-24b CRC位[blkdesegmented, segErr] = lteCodeBlockDesegment (turbodecoded (TrBlkSizes + 24));% CRC解码在检查CRC错误后返回传输块[rxtrblk {n},crcError(n)] = ltecrcdecode(blkdeseded,“24”);结束

结论

该示例解释了下行链路共享通道(DL-SCH)和物理下行链路共享通道(PDSCH)处理,并提供对LTE工具箱中可用的不同功能的洞察,以支持这些频道。金宝app该示例还示出了如何使用低电平函数来建模信道,并且该方法可以用于包括从这些中间处理阶段的Golden参考测试向量生成的应用程序,以独立地验证备用实现的不同处理阶段。此示例还显示了LTE工具箱和MATLAB平台如何创建强大的环境以进行大规模验证和测试。

进一步的探索

您可以修改此示例中提供的参数以进行不同的配置进行实验。例如,在模拟不同传输模式时,某些感兴趣的参数是传输方案(TxScheme)、调制方案(调制),码字的数量(元素数TrBlkSizes)。

选定的参考书目

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

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

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

  4. 3GPP TS 36.16.101“用户设备(UE)无线电传输和接收”

  5. 3GPP TS 36.306“用户设备(UE)无线电访问能力”