主要内容

nrULSCHMultiplex

完成UL-SCH数据和控制复用

    描述

    例子

    [CW.信息] = nrulschmultiplex(puschTCR.TBS.拜托平底靴ccsi1ccsi2返回码字CW.通过对编码的UL-SCH数据和编码的上行控制信息(UCI)进行上行共享通道(UL-SCH)复用,如TS 38.212章节6.2.7中定义的那样[1]pusch为物理上行共享通道配置(PUSCH)。TCR.是目标码率。TBS.是UL-SCH传输的传输块大小。拜托为经过编码的UL-SCH数据。平底靴ccsi1,ccsi2是编码的UCI类型。

    该功能内部计算混合自动重复请求确认(HARQ-ACK)传输的保留位的数量,GACKRvd然后与编码输入的长度进行比较。该比较确定了HARQ-ACK的处理,用于匹配或打孔。

    长度CW.等于PUSCH的比特容量。CW.包含达到PUSCH的位容量的编码信息,并忽略输入中的任何其他附加信息。输出CW.当不足的UL-SCH和编码的UCI(HARQ-ACK,信道状态信息(CSI)1或CSI第2部分)数据存在时,包含零点以实现比特容量。该函数还返回了结构信息,其中包含有关码字中的每个类型的基于1的位置的信息。

    例子

    全部收缩

    创建默认PUSCH配置对象。将带宽部分的第一个21资源块分配给PUSCH。

    pusch = nrPUSCHConfig;pusch。PRBSet = 0:20;

    设置UL-SCH数据的目标码率、载荷长度、HARQ-ACK、CSI第1部分、CSI第2部分。

    tcr = 0.5;%目标代码率TBS = 100;% UL-SCH数据有效载荷长度(传输块大小)ooack = 3;% HARQ-ACK有效载荷长度OCSI1 = 10;% CSI第1部分的有效载荷长度OCSI2 = 10;% CSI第2部分的有效载荷长度

    获取UL-SCH数据,HARQ-ACK,CSI第1部分和CSI第2部分的速率匹配长度。

    rminfo = nruleschinfo(PUSCH,TCR,TBS,OACK,OCSI1,OCSI2);

    为从中获得的速率匹配的输出长度创建UL-SCH,HARQ-ACK,CSI部分1和CSI第2部分的预定义编码位rminfo.结构。

    culsch = 1 (rmInfo.GULSCH, 1);平底靴= 2 * 1 (rmInfo.GACK, 1);ccsi1 = 3 * 1 (rmInfo.GCSI1, 1);ccsi2 = 4 * 1 (rmInfo.GCSI2, 1);

    从预定义的经过编码的UL-SCH数据和经过编码的UCI类型中获取码字。

    连续波= nrULSCHMultiplex (pusch tcr、tbs culsch,平底靴,ccsi1, ccsi2);

    要查看多路复用操作,请绘制码字。码字以CSI第1部分的元素开始,后跟Harq-Ack,CSI部分1,CSI第2部分和UL-SCH数据和CSI第2部分的混合。

    绘制(CW)Xlabel(“码字索引”) ylabel ('码字值') 标题(“多路复用操作”

    图包含轴。具有标题复用操作的轴包含类型线的对象。

    创建一个具有pi/2-BPSK调制方案且无跳频的PUSCH配置对象。设置HARQ-ACK的beta偏移量为20,CSI第1部分和CSI第2部分的beta偏移量分别为6.25。将比例系数指定为0.8,这将限制分配给UCI的资源元素(REs)的数量。

    pusch = nrPUSCHConfig;pusch。调制='pi / 2-bpsk';pusch.frequencyhopping ='两者都不';pusch.betaoffsetack = 20;pusch.betaoffsetcsi1 = 6.25;pusch.betaoffsetcsi2 = 6.25;PUSCH.UCISCALING = 0.8;

    设置UL-SCH数据的目标码率、载荷长度、HARQ-ACK、CSI第1部分、CSI第2部分。

    tcr = 0.5;%目标代码率tbs = 1032;% UL-SCH数据有效载荷长度(传输块大小)ooack = 8;% HARQ-ACK有效载荷长度OCSI1 = 88;% CSI第1部分的有效载荷长度OCSI2 = 720;% CSI第2部分的有效载荷长度

    获取数据、HARQ-ACK、CSI第1部分和CSI第2部分的速率匹配长度。

    rminfo = nruleschinfo(PUSCH,TCR,TBS,OACK,OCSI1,OCSI2);

    创建UL-SCH数据,HARQ-ACK,CSI第1部分和CSI第2部分的随机有效载荷位。

    DATA = RANDI([0 1],TBS,1);ACK = RANDI([0 1],OACK,1);CSI1 = RANDI([0 1],OCSI1,1);CSI2 = RANDI([0 1],OCSI2,1);

    创建一个UL-SCH编码器System对象。

    encul = nrulsch;

    将传输块装入UL-SCH编码器。

    setTransportBlock(符合Encul,数据);

    获取编码的长度位rminfo.gulsch.通过调用编码器。

    RV = 0;%冗余版本为0Colsch = Encul(PUSCH.Modulation,Pusch.numlayers,Rminfo.Gulsch,RV);

    对HARQ-ACK,CSI第1部分和CSI第2部分的随机有效载荷进行从中获得的速率匹配的输出长度进行编码rminfo.结构。

    cack = nruciencode(ack,rminfo.gack,pusch.modulation);ccsi1 = nruciencode(csi1,rminfo.gcsi1,pusch.modulation);ccsi2 = nruciencode(csi2,rminfo.gcsi2,pusch.modulation);

    从UL-SCH的编码位和UCI类型的编码位获取代码字。

    (cw、信息)= nrULSCHMultiplex (culsch pusch tcr, tbs,平底靴,ccsi1, ccsi2)
    cw =8112x1 INT8列向量1 0 1 0 0 0 1 1 1 0⋮
    info =结构与字段:Ulschindices:[1622x1 UINT32] ACKININICES:[1159x1 UINT32] CSI1 indices:[4482x1 UINT32] CSI2INDICES:[849x1 UINT32] UCIXINDICES:[0x1 UINT32] UCIYINDICES:[0x1 UINT32]

    输入参数

    全部收缩

    PUSCH配置参数,指定为nrpuschconfig目的。此功能仅使用这些功能nrpuschconfig对象属性。

    调制方案,指定为“正交相移编码”'pi / 2-bpsk''16QAM''64QAM',或'256QAM',字符串标量或字符数组。

    调制方案 每个符号的比特数
    'pi / 2-bpsk' 1
    “正交相移编码” 2
    '16QAM' 4.
    '64QAM' 6.
    '256QAM' 8.

    数据类型:char|字符串

    传输层数,指定为123.,或4.

    数据类型:双倍的

    映射物理共享通道的类型,指定为“一个”“B”

    数据类型:char|字符串

    物理共享通道的OFDM符号分配,指定为非负整数的两个元素向量。此属性的第一个元素表示符号分配的开始(基于0)。第二元素表示分配的OFDM符号的数量。

    当您将此属性设置为[]或向量的第二个元素0.,则没有为通道分配符号。

    数据类型:双倍的

    在BWP中对PUSCH的物理资源块(PRB)分配,指定为从0到274的整数向量。

    数据类型:双倍的

    转换预编码,指定为其中一个值。

    • 0.错误的) - 禁用转换预编码。波形类型是循环前缀正交频分复用(CP-OFDM)。

    • 1真正的) - 启用变换预编码。波形类型是离散傅立叶变换扩展正交频分复用(DFT-S-OFDM)。

    数据类型:双倍的|逻辑

    用于物理上行链路共享通道的跳频,指定为其中一个选项。

    • '两者都不'

    • 'intrastrot'

    • 'Interslot'

    如果指定插槽频率跳频,并且输入编码位不满足TS 38.212第6.2.7节的等式,则该函数返回假设不存在跳频的码字。

    数据类型:char|字符串

    Beta偏移量的Harq-Ack,指定为正整数。此属性确定多路复用HARQ-ACK的资源数。标称值是TS 38.213表9.3-1的条目之一。

    数据类型:双倍的

    缩放因子,用于限制在PUSCH上分配给UCI的资源元素的数量,指定为0到1之间的标量。标称值为0.5、0.65、0.8或1。

    数据类型:双倍的

    用户设备(UE)的无线电网络临时标识符,指定为0到65,535的整数。

    数据类型:双倍的

    PUSCH DM-RS配置参数,指定为一个nrPUSCHDMRSConfig配置对象。

    启用PT-RS,指定为其中一个值。

    • 0.错误的) - 禁用PT-RS配置。

    • 1真正的) - 启用PT-RS配置。

    数据类型:双倍的|逻辑

    PUSCH相位跟踪参考信号(PT-RS)配置,指定为nrpuschptrsconfig配置对象。

    UL-SCH传输中的码字的目标代码率,指定为范围(0,1)的标量。

    数据类型:双倍的

    传输块大小与UL-SCH传输中的码字相关联,指定为非负整数。价值0.表示在PUSCH上没有传输块或没有UL-SCH传输。

    数据类型:双倍的

    编码的UL-SCH数据位,指定为长度的二进制值列向量g.这g是编码的数量和速率匹配的UL-SCH数据位返回信息的输出参数nruleschinfo.函数。编码的UL-SCH位,拜托,是通过处理传输块而获得的编码和速率匹配的比特。价值[]表示没有UL-SCH数据传输。如果您指定了TBS.输入参数为0., 这拜托输入参数必须为空。

    g必须等于数据的位容量。

    数据类型:int8|双倍的

    编码的HARQ-ACK位,指定为长度的实值列向量gack.这gack是返回的编码和匹配率匹配的数量匹配的harq-ack位数信息的输出参数nruleschinfo.函数。价值[]表示没有HARQ-ACK传输。HAQR-ACK位的标称值为0.1-1,-2

    gack必须是传输层数量和调制顺序的乘积。

    数据类型:int8|双倍的

    编码的CSI部分1位,指定为长度的实值列向量GCSI1..这GCSI1.是编码和匹配的数量匹配的CSI部分1位返回的位信息的输出参数nruleschinfo.函数。价值[]表示没有CSI部分的传输。CSI部分1位的标称值是0.1-1,-2

    GCSI1.必须是传输层数量和调制顺序的乘积。

    数据类型:int8|双倍的

    编码的CSI第2部分,指定为长度的实值列向量GCSI2..这GCSI2.是返回的编码和速率匹配的数量匹配的CSI第2部分位信息的输出参数nruleschinfo.函数。价值[]表示没有CSI第2部分传输。CSI第2部分的标称值为0.1-1,-2.名义上,CSI第2部分只有在CSI第1部分存在时才存在。

    GCSI2.必须是传输层数量和调制顺序的乘积。

    数据类型:int8|双倍的

    输出参数

    全部收缩

    PUSCH上传输的码字,作为实值列向量返回。如果您将任何输入参数提供为数据类型int8,码字的输出数据类型是int8.代码字中的位的标称值是0.1-1,-2

    长度CW.等于PUSCH的比特容量。

    CW.输出是大小的空值0.-经过-1对于所有这些情况。

    • 当。。。的时候PRBSET.财产的财产pusch参数是[]

    • 当。。。的时候象征性财产的财产pusch参数是[]或者,当为PUSCH分配的连续OFDM符号的数量为零

    • 当所有输入参数时拜托平底靴ccsi1,ccsi2是空的

    数据类型:int8|双倍的

    关于输出码字的每种类型的基于1的位置信息CW.,作为包含这些字段的结构返回。每个字段的输出数据类型是UINT32。

    场地 描述
    ulschindices.

    码字中UL-SCH编码位的位置

    ackindices.

    码字中的编码HARQ-ACK位的位置

    csi1indices.

    Coded CSI部分1位的码字中的位置

    csi2indices.

    码字中编码的CSI第2部分位的位置

    UcixIndices.

    X UCI占位符的位置

    UCIYIndices

    码字中Y UCI占位符的位置

    如果返回的码字,CW.,则该结构中的每个字段也是一个空数组。

    参考

    [1]3GPP TS 38.212。“NR;多路复用和信道编码。“第三代合作伙伴计划;技术规范集团无线电接入网络

    [2]3 gpp TS 38.213。“NR;物理层控制程序。”第三代合作伙伴计划;技术规范集团无线电接入网络

    扩展功能

    C / C ++代码生成
    使用MATLAB®Coder™生成C和c++代码。

    在R2020B中介绍