主要内容

NR UCI PUSCH多路复用

这个例子显示了不同的处理步骤的数据和控制多路复用形成一个码字与物理上行共享通道(PUSCH)使用5 g工具箱™特性。

介绍

上行控制信息(UCI)消息包含一个混合自动重复请求承认(HARQ-ACK),信道状态信息(CSI),和一个调度请求(SR)。这些UCI消息编码和传输通过物理上行控制信道(PUCCH)或多路复用PUSCH。CSI报告配置可以非周期(使用PUSCH),定期(使用PUCCH)或semi-persistent(使用PUCCH或DCI-activated PUSCH)。CSI报告由两部分组成。CSI第1部分有一个固定载荷大小和用于识别在CSI第2部分的信息比特数。CSI第1部分之前必须完全传播的传播CSI第2部分。HARQ-ACK(如果有的话)和CSI(如果有的话)编码和多路复用有或没有编码UL-SCH数据,然后PUSCH传播。

数据和控制多路复用

HARQ-ACK编码,编码的数据编码CSI第1部分和第2部分编码CSI是多路形成一个码字6.2.7 TS 38.212部分中概述的步骤[1]

UCI的信息传播在未使用的OFDM符号解调参考信号(DM-RS)传播。在任何一个OFDM符号用于UCI传输UCI类型,UCI的映射类型取决于可用的资源元素(REs)数量UCI传输和UCI的剩余REs所需的类型。如果剩余REs UCI类型所需的数量在一个OFDM符号大于一半的可用REs UCI传播,UCI类型的映射是连续的。否则,映射是均匀分布在一个OFDM符号可用REs实现分集增益。的编码比特数占据在UCI的再保险或数据传输,等于调制的产品订单和数量的层。

OFDM符号的编码HARQ-ACK位放置,在第一次连续DM-RS OFDM符号。编码的CSI第1部分和第2部分位放置未使用的OFDM符号开始的DM-RS在共享信道分配象征。多路复用操作取决于HARQ-ACK位的数量。当HARQ-ACK位的数量小于或等于2,编码HARQ-ACK位被刺穿。否则,rate-matched HARQ-ACK编码比特。

多路复用涉及这些处理步骤。

  • 步骤1:当HARQ-ACK位的数量小于或等于2,发现HARQ-ACK预留位置。

  • 步骤2:当HARQ-ACK位的数量大于2,映射编码HARQ-ACK位(如果有的话)。

  • 步骤3:将编码映射CSI第1部分和第2部分CSI(如果有的话)。

  • 步骤4:将编码映射UL-SCH位(如果有的话)。

  • 第五步:当HARQ-ACK位的数量小于或等于2,映射编码HARQ-ACK位(如果有的话)。

  • 第六步:形成了码字。

这个例子显示了两个独立的步骤1到6例PUSCH,与一个资源块占据所有的OFDM符号槽,一个层,一个π/ 2-BPSK调制方案,和DM-RS占领OFDM符号象征2、7和11(基于)。中的REs除了DM-RS REs DM-RS OFDM符号用于数据传输。对第一种情况,HARQ-ACK位的数量小于或等于2。在第二种情况下,HARQ-ACK位的数量大于2。这图显示了网格只有DM-RS符号的位置。这个网格填充编码类型UL-SCH HARQ-ACK, CSI第1部分、第2部分和CSI,根据每个案件的多路复用操作。传输块大小设置为24,和目标码率设置为314/1024。每个CSI部分负载的数量设置为10,和所有相关的β因素设置为1。

配置资源网格和PUSCH载体

配置一个nrCarrierConfig对象创建一个15 kHz载波资源网格与一个资源块。配置一个nrPUSCHConfig对象来获取各自DM-RS位置如前图所示。此外,配置UCI参数(BetaOffsetACK,BetaOffsetCSI1,BetaOffsetCSI2,UCIScaling)。房地产BetaOffsetACK确定数量的资源复用HARQ-ACK PUSCH。的属性BetaOffsetCSI1BetaOffsetCSI2确定数量的资源复用CSI PUSCH报告。房地产UCIScaling限制REs的数量分配给PUSCH UCI。

%设置载体配置载体= nrCarrierConfig;母舰。SubcarrierSpacing = 15;%副载波间距在千赫(15、30、60、120、240)母舰。CyclicPrefix =“正常”;%循环前缀(“正常”或“扩展”)母舰。NSizeGrid = 1;%载波资源网格的资源块数量(1……275)%设置PUSCH配置pusch = nrPUSCHConfig;pusch。调制=“π/ 2-BPSK”;%调制方案(“π/ 2-BPSK”、“正交相移编码”,16 qam, 64 qam,或256 qam)pusch。NumLayers = 1;%层数(1、2、3、4)pusch。SymbolAllocation = [0 14];% OFDM符号分配(S L)pusch。PRBSet = 0;%的复审委员会分配向量中的值范围(0,274)pusch。MappingType =“一个”;%映射类型(A或B)pusch。FrequencyHopping =“没有”;%跳频配置(‘都’,‘interSlot’,或‘intraSlot’)pusch。SecondHopStartPRB = 0;%的第二跳开始在[0,274]范围,确保结合PRBSet不超过274人pusch.TransformPrecoding= 0;%变换预编码(0或1)%设置UCI参数pusch。BetaOffsetACK = 1;%βHARQ-ACK抵消pusch。BetaOffsetCSI1 = 1;%βCSI第1部分抵消pusch。BetaOffsetCSI2 = 1;%βCSI第2部分抵消pusch。UCIScaling = 1;% UCI比例因子%设置DM-RS参数pusch.DMRS。DMRSConfigurationType = 1;% DM-RS配置类型(1或2)pusch.DMRS。DMRSTypeAPosition = 2;% DM-RS类型职位(2或3)pusch.DMRS。DMRSLength = 1;% DM-RS长度(1或2)pusch.DMRS。DMRSAdditionalPosition = 2;%的DM-RS额外的位置(0、1、2或3)pusch.DMRS。NumCDMGroupsWithoutData = 1;%的CDM组没有数据(1、2或3)%设置PT-RS参数pusch。EnablePTRS = 0;%禁用或启用PT-RS(0或1)pusch.PTRS。FrequencyDensity = 2;% PT-RS频率密度(2 - 4)pusch.PTRS。TimeDensity = 1;% PT-RS时间密度(1、2或4)pusch.PTRS。REOffset =“00”;% PT-RS资源元素抵消(“00”,“01”,“10”,或“11”)pusch.PTRS。NumPTRSSamples = 2;%的PT-RS样本(2 - 4)pusch.PTRS。NumPTRSGroups = 2;%的PT-RS组(2、4、8)%设置目标代码,传输块大小,负载长度的CSI第1部分和第2部分CSItcr = 314/1024;%的目标代码率范围(0,1)tbs = 24;%的传输块大小ocsi1 = 10;%的CSI第1部分碎片ocsi2 = 10;%的CSI第2部分

案例1:HARQ-ACK的位元数小于或等于2

出于演示目的,在本例中HARQ-ACK位设置为1。获取信息的编码比特数每种类型,使用nrULSCHInfo函数。指定PUSCH配置、目标代码的速度和载荷值,编码HARQ-ACK位的数量是2,编码的数量CSI第1部分和第2部分CSI位19岁,和编码UL-SCH位的数量是94。

步骤1:当HARQ-ACK位的数量小于或等于2,找到的保留HARQ-ACK位置和马克在网格。

保留HARQ-ACK位置的数量是通过计算rate-matching HARQ-ACK长度与HARQ-ACK位设置为2。使用指定PUSCH配置、目标代码率和传输块大小,保留HARQ-ACK位置是4。REs的HARQ-ACK映射到可用的OFDM符号在第一次连续DM-RS OFDM符号。这个图显示了HARQ-ACK预留的位置。

步骤2:当HARQ-ACK位的数量大于2,地图编码HARQ-ACK位。

因为HARQ-ACK位的数量小于或等于2在这种情况下,跳过这个步骤。

步骤3:映射编码CSI第1部分CSI第2部分

CSI映射(CSI第1部分随后CSI第2部分)从第一non-DMRS OFDM符号中可用PUSCH分配。的配置设置,从OFDM符号的映射0(基于)。映射位置确定基于可用REs的数量和REs CSI第1部分传输所需的数量。CSI第1部分传输需要19 >因为只有12 REs可供传输,每个重新占领了在这种情况下,CSI第1部分在OFDM符号0。对第1部分剩余的CSI的传播符号,映射到下一个OFDM符号不用于DM-RS(也就是说,OFDM符号1)。在OFDM符号1中,12 REs是可用的,但是CSI第1部分只需要7 >因为所需的剩余REs CSI第1部分是超过一半的可用的REs UCI传播,CSI本图映射到连续的研究》第1部分显示了该场景。

一旦编码CSI第1部分完全映射,映射编码CSI的第2部分开始。映射从第一non-DMRS OFDM符号用于PUSCH传输(也就是说,OFDM符号0)。在OFDM符号0,没有REs可供UCI传输,这OFDM符号是跳过。因此,映射移动到下一个OFDM符号(也就是说,OFDM符号1)。在OFDM符号1,5 REs可供UCI传输,19 REs CSI第2部分传输的需要。这种情况会导致映射5 REs CSI第2部分,然后继续相同的映射规则在CSI第1部分DM-RS以外的为下一个OFDM符号。除了第1部分编码CSI,第2部分编码CSI和UL-SCH数据可以映射到HARQ-ACK预留位置。这个图显示了CSI第2部分的映射。保留HARQ-ACK位置被CSI第2部分覆盖在OFDM符号3。在OFDM符号4,CSI第2部分的数量分布,因为REs其余CSI第2部分传输所需小于一半的可用的REs UCI传播。

步骤4:映射编码UL-SCH数据位。

此图显示了UL-SCH数据映射到网格中的剩余的位置。

步骤5:当HARQ-ACK位的数量小于或等于2,地图编码HARQ-ACK位。

中的HARQ-ACK比特映射保留HARQ-ACK位置在分布式模式。这个数字表明HARQ-ACK映射到网格。占领的HARQ-ACK穿刺CSI第2部分保留HARQ-ACK位置。

步骤6:形成了码字通过阅读第一位频率和时间下一个方法在每个除了DM-RS REs。

使用nrULSCHMultiplex功能码字,执行步骤1到6。

%设置载荷大小的HARQ-ACK值小于或等于2oack = 1;% HARQ-ACK位的数量%获得UL-SCH编码信息信息= nrULSCHInfo (pusch tcr、tbs oack, ocsi1, ocsi2);%设置随机编码UL-SCH HARQ-ACK, CSI第1部分和第2部分CSI碎片culsch =兰迪([0 1]info.GULSCH 1);平底靴=兰迪([0 1]info.GACK 1);ccsi1 =兰迪([0 1]info.GCSI1 1);ccsi2 =兰迪([0 1]info.GCSI2 1);%的码字和位置每种类型(数据和UCI)[cw, indInfo] = nrULSCHMultiplex (culsch pusch tcr, tbs,平底靴,ccsi1, ccsi2);%创建和绘制输出第一层网格与预定义的符号不同类型的百分比值createAndPlotGrid(载体、pusch cw indInfo)

图包含一个轴。坐标轴标题网格包含不同类型的位置包含6类型的对象形象,线。这些对象代表UL-SCH, DM-RS HARQ-ACK, CSI第1部分、第2部分CSI。

案例2:HARQ-ACK比特数大于2

案例1中提到的相同的配置设置,更改HARQ-ACK位的数量从1到3。对于这个设置,编码HARQ-ACK位的数量是6,编码CSI第1部分和第2部分的数量每个位19岁,和编码UL-SCH位的数量是106。

步骤1:当HARQ-ACK位的数量小于或等于2,找到的保留HARQ-ACK位置和马克在网格。

因为HARQ-ACK位的数量大于2在这种情况下,跳过这个步骤。

步骤2:映射编码HARQ-ACK位。

REs的HARQ-ACK映射到可用的OFDM符号在第一次连续DM-RS OFDM符号。REs HARQ-ACK所需的数量是6。因为这个值不大于一半的可用的REs数量UCI传播,HARQ-ACK分布的映射如这个图所示。

步骤3:映射编码CSI第1部分和编码CSI第2部分位类似案例1。

步骤4:映射编码UL-SCH数据位类似案例1。

步骤5:当HARQ-ACK位的数量小于或等于2,地图编码HARQ-ACK位。

因为HARQ-ACK位的数量大于2在这种情况下,跳过这个步骤。

步骤6:形成了码字。

%设置载荷大小的HARQ-ACK比特值大于2oack = 3;% HARQ-ACK位的数量%获得UL-SCH编码信息信息= nrULSCHInfo (pusch tcr、tbs oack, ocsi1, ocsi2);%设置随机编码UL-SCH HARQ-ACK, CSI第1部分和第2部分CSI碎片culsch =兰迪([0 1]info.GULSCH 1);平底靴=兰迪([0 1]info.GACK 1);ccsi1 =兰迪([0 1]info.GCSI1 1);ccsi2 =兰迪([0 1]info.GCSI2 1);%的码字和位置每种类型(数据和UCI)[cw, indInfo] = nrULSCHMultiplex (culsch pusch tcr, tbs,平底靴,ccsi1, ccsi2);%创建和绘制输出第一层网格与预定义的符号不同类型的百分比值createAndPlotGrid(载体、pusch cw indInfo)

图包含一个轴。坐标轴标题网格包含不同类型的位置包含6类型的对象形象,线。这些对象代表UL-SCH, DM-RS HARQ-ACK, CSI第1部分、第2部分CSI。

进一步的探索

改变不同的参数影响的时间和频率分配PUSCH和负载的每个UCI类型不同的再保险位置UCI类型。

使PT-RS UCI的一些能力不同类型码字。

使intra-slot跳频观察不同UCI的映射类型在每一跳。

这个例子展示了如何生成各自的UCI类型的一些能力和执行多路复用生成码字与PUSCH有关。这个例子强调了不同的多路复用时所涉及的步骤HARQ-ACK位的数量小于或等于2和大于2。

引用

  1. 3 gpp TS 38.212。“NR;多路复用和信道编码(15)发布。”第三代合作伙伴项目;技术规范集团无线接入网络

本地函数

函数createAndPlotGrid(载体、pusch cw indInfo)%初始化网格qm = strcmpi (pusch.Modulation, {“π/ 2-BPSK”,“正交相移编码”,16 qam的,64 qam,256 qam})* (1 2 4 6 8)';gridOFDM =复杂(0([运营商。NSizeGrid * 12。SymbolsPerSlot双(pusch.NumLayers) * qm]));%指定预定义值为每个实体所需的可视化chpLevel =结构;chpLevel。PUSCH = 0.6;chpLevel。dmr = 1.1;chpLevel。ACK = 0.4;chpLevel。CSI1 = 1.5;chpLevel。CSI2 = 2;使用预定义的值%分配码字cw1 = 0(大小(cw));cw1 (indInfo.ULSCHIndices) = chpLevel.PUSCH;cw1 (indInfo.ACKIndices) = chpLevel。应答;cw1 (indInfo.CSI1Indices) = chpLevel。CSI1;cw1 (indInfo.CSI2Indices) = chpLevel。CSI2;%的传奇情节标签labelStr = {“UL-SCH”,“DM-RS”,“HARQ-ACK”,“CSI第1部分”,“CSI第2部分”};% PUSCH和DM-RS指数puschIndices = nrPUSCHIndices(载体、pusch);dmrsIndices = nrPUSCHDMRSIndices(载体、pusch);% PT-RS指数如果pusch。EnablePTRS labelStr{结束+ 1}=“PT-RS”;chpLevel。ptr = 1.6;ptrsIndices = nrPUSCHPTRSIndices(载体、pusch);结束%地图DM-RS、PT-RS PUSCH网格索引[~,puschExtInd] = nrExtractResources (puschIndices gridOFDM);gridOFDM (dmrsIndices) = chpLevel.DMRS;如果pusch.TransformPrecoding% DFT-s-OFDMtitleStr =“之前预测不同类型变换预编码”;cwLen = 0(大小(puschIndices, 1), pusch.NumLayers * qm);如果pusch。EnablePTRS cwLen (ptrsIndices) = chpLevel.PTRS;结束cwLen (cwLen = = 0) = cw1;gridOFDM(重塑(puschExtInd ', 1) []) = cwLen;其他的% CP-OFDMtitleStr =“网格包含不同类型的位置”;如果pusch。EnablePTRS gridOFDM (ptrsIndices) = chpLevel.PTRS;结束gridOFDM(重塑(puschExtInd ', 1) []) = cw1;结束%绘制网格数字地图=喷气机(64);cscaling = 30;我=图像(1:尺寸(gridOFDM, 2), 1:尺寸(gridOFDM, 1), cscaling * abs (gridOFDM (:,: 1)));colormap (im.Parent地图)%添加一个传奇形象chpval = struct2cell (chpLevel);clevels = cscaling * [chpval {}):;N =长度(clevels);L =线((N), (N),“线宽”8);%生成线%指数的彩色地图,并将选中的颜色与线条集(L, {“颜色”},mat2cell(地图(min (1 + clevels长度(map)),:), (1, N), 3))%根据地图设置颜色%创造传奇传奇(labelStr{}):轴xyylabel (副载波的)包含(OFDM符号的标题(titleStr)结束

另请参阅

功能

对象

相关的话题