一种5GNR的TBS计算方法及MACPDU复用方法和设备与流程

专利2022-06-30  88


本申请涉及通信技术领域,特别涉及一种5gnr的tbs计算方法及macpdu复用方法和设备。



背景技术:

5gnr中的物理下行共享信道(pdsch)和物理上行共享信道(pusch)采用低密度奇偶校验码(ldpc)编码,由于传输块尺寸(tbs)将很大,基于内存的考虑,不能再沿用lte中根据调制与编码策略(mcs)与tbs的映射表来直接获知对应的tbs;而是改为根据mcs查表得到对应码率,再根据码率和分配的nprb以及采用的调制方式之间的关系,计算得到能够承载的比特个数,最后依据能够承载的比特个数计算出tbs。其中,nprb是物理资源块(prb)的个数。

ldpc编码选择的basegraph与码块(cb)大小和码率相关,而不同basegraph的传输块(tb)块大小与码块个数以及循环冗余校验(crc)添加又会影响码率。当tbs较大,分块个数较多时,tb因为需要对每个分块的cb添加crc,因此会影响最终码率值。如果使用二次纠正,相对复杂,需要研究简单实用的tbs计算方法、以及媒体接入控制协议数据单元(macpdu)复用流程。

而现有协议只约定了mcs与码率的对应关系,tbs尺寸计算的影响因素,并未考虑输入参数互为影响时的macpdu复用方法以及tbs计算的具体实现细节。



技术实现要素:

本申请提供了一种5gnr的tbs计算方法及macpdu复用方法和设备,以实现tbs的快速计算,并简化上下行数据处理流程。

本申请公开了一种传输块尺寸tbs计算方法,包括:

获得mcs的索引imcs和分配的prb个数;

根据imcs的取值确定当前待传输的是否为重传数据包,如果为重传数据包则按照最近一次为新传时计算出的tbs作为本次的tbs,结束;如果为新传数据包,则:

根据所述imcs和高层配置参数,选择对应的imcs与码率的映射表格,查找对应的目标码率r和调制阶数qm;

根据目标码率r、prb个数以及高层配置的层数υ计算出能够承载的比特个数ninfo;

根据能够承载的比特个数ninfo计算tbs:

如果ninfo≤3824,则tbs不用分块,将ninfo量化为8、16、或者32的倍数,按照量化的值匹配表格中最接近且不小于该值的tbs,量化公式为:

n′info=max(24,(ninfo>>n)<<n)

其中,通过对寄存器的移位,实现的除法与向下取整的功能;

如果ninfo>3824,则将ninfo量化为64、128、256…的倍数,量化公式为:

n′info=max(3840,((ninfo-24 1<<(n-1))>>n)<<n)

其中,通过对寄存器的移位,实现的除法与四舍五入的功能;

并根据量化后的n′info、目标码率r和ldpc编码选择的basegraph计算码块个数c,对传输块按照分块的个数进行8字节对齐,计算出tbs:

tbs=8*c*ceil((n′info 24)/8*c)-24。

较佳的,所述根据imcs的取值确定当前待传输的是否为重传数据包包括:

如果不支持256qam和可变预编码,如果29≤imcs≤31,则当前待传输的为重传数据包,否则,为新传数据包;

除上述情况之外,如果28≤imcs≤31,则当前待传输的为重传数据包,否则,为新传数据包。

较佳的,所述根据目标码率r、prb个数以及高层配置的层数υ计算出能够承载的比特个数ninfo包括:

按照ninfo=nre·r·qm·υ计算,其中:

nre是数据信道的re总数,nre=min(156,n′re)·nprb,其中:

n’re为一个prb内的re个数,

为一个prb内的频域的子载波数目;

为一个时隙内的pusch分配的符号个数;

为dciformat0_0/0_1中指示的dm-rscdmgroups中调度pusch时刻内的每个prb的dm-rs的re个数;

为高层参数xoh-pusch配置的值,如果没有配置xoh-pusch,则该值默认为0。

较佳的,所述根据量化后的n′info、目标码率r和ldpc编码选择的basegraph计算码块个数c包括:

判断r是否小于等于0.25,如果是,则根据c=ceil((n′info 24)/3816)计算码块个数c,并确定对应的ldpc分段的最大码块尺寸为kcb=3840;

否则,判断量化后的n′info是否小于等于8424,如果是,则码块个数c为1,对应的ldpc分段的最大码块尺寸为kcb=8448,否则,根据c=ceil((n′info 24)/8424)计算码块个数c,并确定对应的ldpc分段的最大码块尺寸为kcb=8448。

本申请还公开了一种macpdu复用方法,包括:

按照权利要求1所述方法计算tbs;

用tbs减去mac层需要传输的macce后,计算得到剩余的字节数resbytesnum;

查询rlc待传字节数是否为零,如果为零,则上报bsr为零,组装macce和填充,完成macpdu的复用,否则执行以下操作:

步骤6.按照rb承载的优先级顺序读取rlcpdu;

步骤7.判断rlcpdu的字节数果是否小于等于resbytesnum-3,如是则执行步骤8,否则跳到步骤12;

步骤8.将rlcpdu添加mac子头后封装为一个macsubpdu;

步骤9.判断是否剩余resbitnum<3bytes或者所有待传数据的rlc承载处理完成,满足条件则执行步骤10,否则返回步骤6,继续处理rlcpdu;

步骤10.在macsubpdu后添加macce子头及macce内容,完成macpdu的复用;

步骤11.通知rlc复用后缓存中剩余的字节,结束;

步骤12.将rlcpdu按照剩余字节数拆分,传输能够承载的字节数,并微调rlc子头,添加mac子头封装为一个macsubpdu;

步骤13.通知rlc被分段的rbid以及传输后该承载剩余的字节,以及复用后缓存中剩余字节。

较佳的,在所述步骤12中,计算能够承载的字节数时,先扣除mac子头占用字节数,当rlcpdu小于128字节时,mac子头为2字节,否则,mac子头为3字节。

本申请还公开了一种tbs计算设备,包括:信息获取模块和tbs计算模块,其中:

所述信息获取模块,用于获得mcs的索引imcs和分配的prb个数;

所述tbs计算模块用于执行以下操作:

根据imcs的取值确定当前待传输的是否为重传数据包,如果为重传数据包则按照最近一次为新传时计算出的tbs作为本次的tbs,结束;如果为新传数据包,则:

根据所述imcs和高层配置参数,选择对应的imcs与码率的映射表格,查找对应的目标码率r和调制阶数qm;

根据目标码率r、prb个数以及高层配置的层数υ计算出能够承载的比特个数ninfo;

根据能够承载的比特个数ninfo计算tbs:

如果ninfo≤3824,则tbs不用分块,将ninfo量化为8、16、或者32的倍数,按照量化的值匹配表格中最接近且不小于该值的tbs,量化公式为:

n′info=max(24,(ninfo>>n)<<n)

其中,通过对寄存器的移位,实现的除法与向下取整的功能;

如果ninfo>3824,则将ninfo量化为64、128、256…的倍数,量化公式为:

n′info=max(3840,((ninfo-24 1<<(n-1))>>n)<<n)

其中,通过对寄存器的移位,实现的除法与四舍五入的功能;

并根据量化后的n′info、目标码率r和ldpc编码选择的basegraph计算码块个数c,对传输块按照分块的个数进行8字节对齐,计算出tbs:

tbs=8*c*ceil((n′info 24)/8*c)-24。

较佳的,所述tbs计算模块具体用于执行以下操作确定当前待传输的是否为重传数据包:

如果不支持256qam和可变预编码,如果29≤imcs≤31,则当前待传输的为重传数据包,否则,为新传数据包;

除上述情况之外,如果28≤imcs≤31,则当前待传输的为重传数据包,否则,为新传数据包。

较佳的,所述tbs计算模块具体用于执行以下操作计算出能够承载的比特个数ninfo:

按照ninfo=nre·r·qm·υ计算,其中:

nre是数据信道的re总数,nre=min(156,n're)·nprb,其中:

n’re为一个prb内的re个数,

为一个prb内的频域的子载波数目;

为一个时隙内的pusch分配的符号个数;

为dciformat0_0/0_1中指示的dm-rscdmgroups中调度pusch时刻内的每个prb的dm-rs的re个数;

为高层参数xoh-pusch配置的值,如果没有配置xoh-pusch,则该值默认为0。

较佳的,所述tbs计算模块具体用于执行以下操作计算码块个数c:

判断r是否小于等于0.25,如果是,则根据c=ceil((n′info 24)/3816)计算码块个数c,并确定对应的ldpc分段的最大码块尺寸为kcb=3840;

否则,判断量化后的n′info是否小于等于8424,如果是,则码块个数c为1,对应的ldpc分段的最大码块尺寸为kcb=8448,否则,根据c=ceil((n′info 24)/8424)计算码块个数c,并确定对应的ldpc分段的最大码块尺寸为kcb=8448。

本申请还公开了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如前所述的tbs计算方法以及macpdu复用方法的步骤。

本申请还公开了一种电子设备,包括如前所述的非易失性计算机可读存储介质、以及可访问所述非易失性计算机可读存储介质的所述处理器。

由上述技术方案可见,本申请优化了tbs计算方法,可以通过mcs与分配的无线承载(rb)个数,快速计算能够承载比特数,继而计算出的tbs大小,计算过程同时考虑了mac子头的添加、码块分段以及添加的crc对码率的影响,使得tbs值更加精确,实现了目标用户tbs的快速计算。

此外,本申请提出的macpdu的复用方法,通过提前判断出rlc的pdu是否需要分段,从而不需要反复与rlc交互,直接使用rlc缓存中的数据完成macsubpdu的封装,在macpdu复用完成后,告知rlc剩余缓存情况以及是否有承载分段等信息,简化了上下行数据处理流程。基站的流程涉及到多用户处理,需要判断待传数据(即:想要发送的数据)与实际可用资源能够承载的数据是否匹配,本申请提出的资源匹配方法不需要二次修正或者资源回退处理,只需一次即可完成资源分配。

此外,本申请还具有以下有益效果:

1.本申请具有优化的码块个数c计算流程和简化的tbs计算流程;为避免浮点运算,充分利用了量化的ninfo特性实现向上取整、向下取整、四舍五入等运算公式,从而大大提升了运算速度。

2.本申请充分利用5gnr的ul-sch的macpdu格式,直接生成macsubpdu,方便数据管理。

3.本申请按照rb优先级顺序获取某个承载的rlc数据,并通过先行判断是否需要分段,减少了mac与rlc的交互。

4.本申请在pusch后续没有缓存数据时,上报bsr为零,通知基站没有上行数据要发送,节约了空口资源。

附图说明

图1为本申请实施例中终端pusch发送的流程图;

图2为本申请实施例中tbs计算流程的示意图;

图3为本申请实施例中根据n′info计算码块个数c的流程图;

图4为ul-sch的macpdu示意图;

图5为本申请实施例中tbs计算设备的组成结构示意图。

具体实施方式

为使本申请的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本申请作进一步详细说明。

为解决现有技术所存在的问题,本申请提供了一种5gnr的tbs计算方法,该方法既适用于基站,也适用于终端,包括以下步骤:

步骤101:获得mcs的索引imcs和分配的prb个数。

步骤102:根据imcs的取值确定当前待传输的是否为重传数据包,如果为重传数据包则按照最近一次为新传时计算出的tbs作为本次的tbs,结束;如果为新传数据包,则执行步骤103。

步骤103:根据所述imcs和高层配置参数,选择对应的imcs与码率的映射表格,查找对应的目标码率r(targetcoderate)和调制阶数qm(modulationorder)。

其中,所述高层配置参数具体包括:qam64lowse是否开启、是否支持256qam、可变预编码功能是否开启、是否支持pusch-tp-pi2bpsk。

步骤104:根据目标码率r、prb个数以及高层配置的层数υ计算出能够承载的比特个数ninfo。

将能够承载的比特个数记为ninfo,其计算公式为:ninfo=nre·r·qm·υ,其中,nre是数据信道(对于上行,数据信道为pusch;对于下行,数据信道为pdsch)的re总数,nre=min(156,n're)·nprb,其中:

n’re为一个prb内的re个数,

为一个prb内的频域的子载波数目;

为一个时隙(slot)内的pusch分配的符号(symbol)个数;

为dciformat0_0/0_1中指示的dm-rscdmgroups中调度pusch时刻内的每个prb的dm-rs的re个数;

为高层参数xoh-pusch配置的值,如果没有配置xoh-pusch(取值为0,6,12,or18),则该值默认为0。

步骤105:根据能够承载的比特个数计算tbs,具体为:

如果ninfo≤3824,则tbs不用分块,将能够承载的比特个数量化为8、16、或者32的倍数,按照量化的值匹配表格中最接近且不小于该值的tbs,量化公式为:n′info=max(24,(ninfo>>n)<<n);

其中,可以通过对寄存器的移位,实现的除法与向下取整的功能。

如果ninfo>3824,则将能够承载的比特个数量化为64、128、256…等的倍数,量化公式为:

其中,

本申请通过将量化公式修改为:

n′info=max(3840,((ninfo-24 1<<(n-1))>>n)<<n)

其中,通过对寄存器的移位,实现的除法与四舍五入,并通过用加减法替换除法运算,来提升运算速度。

然后根据量化后的n′info、目标码率r和ldpc编码选择的basegraph计算分块个数c,对tb块按照分块的个数进行8字节对齐,计算出tbs:

tbs=8*c*ceil((n′info 24)/8*c)-24。

其中,所述根据量化后的n′info、目标码率r和ldpc编码选择的basegraph计算码块个数c包括:

判断r是否小于等于0.25,如果是,则根据c=ceil((n′info 24)/3816)计算码块个数c,并确定对应的ldpc分段的最大码块尺寸为kcb=3840;

否则,判断量化后的n′info是否小于等于8424,如果是,则码块个数c为1,对应的ldpc分段的最大码块尺寸为kcb=8448,否则,根据c=ceil((n′info 24)/8424)计算码块个数c,并确定对应的ldpc分段的最大码块尺寸为kcb=8448。

下面对本申请技术方案的描述以终端的上行pusch传输为例,基站侧的pdsch发送与终端的上行pusch发送类似,只是用于计算的prb个数为基站剩余资源prbnum与流控模块处理输出的prbnum取小之后的值,以该值作为nprb。

图1为本申请实施例中终端pusch发送的流程图,该流程包括以下步骤:

步骤1.开始。

步骤2.接收基带的下行控制信息(dci),根据授权dci中的字段计算给ue分配的prb个数,以及mcs的索引(imcs)。

步骤3.根据授权dci中的字段和高层配置参数计算出本次授权分配的tbs,计算tbs的流程如图2所示,稍后将予以详细说明。

步骤4.用tbs减去mac层需要传输的macce后,计算得到剩余的字节数resbytesnum。

步骤5.查询rlc待传字节数是否为零,如果不为零则执行步骤6,否则跳到步骤14。

步骤6.按照rb承载的优先级顺序读取rlcpdu。

步骤7.判断rlcpdu的字节数是否小于等于resbytesnum-3,如果是则执行步骤8,否则跳到步骤12。

步骤8.将rlcpdu添加mac子头后封装为一个macsubpdu。

步骤9.判断是否剩余resbitnum<3bytes或者所有待传数据的rlc承载处理完成,满足条件则执行步骤10,否则返回步骤6继续处理rlcpdu。

步骤10.在macsubpdu后添加macce子头及macce内容,完成macpdu的复用。

步骤11.通知rlc复用后缓存中剩余的字节,供rlc后续调整缓存,之后跳到步骤15结束流程。

步骤12.将rlcpdu按照剩余字节数拆分,传输能够承载的字节数,并微调rlc子头,添加mac子头封装为一个macsubpdu(计算能够承载rlcpdu字节数时需要先扣除mac子头占用字节数,当rlcpdu小于128字节时,mac子头为2字节,否则,mac子头为3字节)。

步骤13.通知rlc被分段的rbid以及传输后该承载剩余的字节,以及复用后缓存中剩余字节,供rlc后续调整缓存,之后跳到步骤15结束流程。

步骤14.上报基站缓冲状态报告(bsr)为0,组装macce和填充(padding),完成macpdu的复用。

步骤15.结束。

图2为本申请实施例中tbs计算流程的示意图,该流程适用于基站与终端,包括以下步骤:

步骤1.开始。

步骤2.获取入口参数:imcs、为ue分配的prb总个数。

步骤3.根据imcs的取值确定是否为重传数据包,如果为重传数据包则执行步骤4,如果为新传数据包则执行步骤5。

具体而言,如果为不支持256qam和可变预编码时,如果29≤imcs≤31,则为重传数据包,否则,为新传数据包;

除上述情况之外,如果28≤imcs≤31,则为重传数据包,否则,为新传数据包。

步骤4.重传时按照最近一次pdcch指示为新传时计算出的tbs作为本次接收数据包的tbs,直接跳到步骤10,结束流程。

步骤5.依据本次新传dci中指示的imcs和高层配置参数,即qam64lowse是否开启、是否支持256qam、可变预编码功能是否开启、是否支持pusch-tp-pi2bpsk,选择对应的imcs与码率的映射表格(共有5种类型的表格),查找对应的目标码率r(targetcoderate)和调制阶数qm(modulationorder)。其中,上行由于支持bpsk调制和可变预编码,根据是否开启可变预编码和是否支持bpsk调制开关选择不同的mcs映射表格获取目标码率和qm,其余过程类似。

步骤6.依据本次dci中的资源分配域可得知分配的prb个数(prbnum),根据码率r和prb个数以及高层配置的层数υ计算出能够承载的bit个数ninfo,ninfo=nre·r·qm·υ。

其中,pusch的re总数:nre=min(156,n're)·nprb;

一个prb内的re个数(n're):

其中,为一个prb内的频域的子载波数目;

为一个时隙(slot)内的pusch分配的符号(symbol)个数;

为dciformat0_0/0_1中指示的dm-rscdmgroups中调度pusch时刻内的每个prb的dm-rs的re个数;

为高层参数xoh-pusch配置的值,如果没有配置xoh-pusch(取值为0,6,12,or18),则该值默认为0。

步骤7.依据该pusch能够承载的比特个数计算tbs,如果ninfo≤3824,则执行步骤8,否则执行步骤9。

步骤8.tbs不用分块,直接将pusch能够承载的比特个数量化为8、16、或者32的倍数,按照量化的值匹配表格中最接近且不小于该值的tbs,量化公式为:

n′info=max(24,(ninfo>>n)<<n)

其中,

通过对寄存器的移位,实现的除法与向下取整的功能。

步骤9.将pusch承载的bit个数ninfo量化为64、128、256…等的倍数,tbs有可能需要分块,根据ldpc编码选择的basegraph按照公式计算分块个数,对tb块按照分块的个数进行8字节对齐,计算出tbs(选择的basegraph不同则分块的tb不一样)。

量化公式:其中

量化公式修改为n′info=max(3840,((ninfo-24 1<<(n-1))>>n)<<n)

其中,通过对寄存器的移位,实现的除法与四舍五入,且用加减法替换除法运算,提升运算速度。根据n′info计算出码块个数c的流程如图3所示。计算出码块个数c后,根据公式计算tbs:

tbs=8*c*ceil((n′info 24)/8*c)-24。

步骤10.结束。

图3为本申请实施例中根据ni'nfo计算码块个数c的流程图,参见图3,该流程包括:

步骤1.开始。

步骤2.获取入口参数:量化后的能够承载的比特数n′info和码率r。

步骤3.判断r是否小于等于0.25,如果是,则执行步骤4,否则,执行步骤5。

步骤4.根据公式计算码块个数:c=ceil((n′info 24)/3816),对应的最大码块尺寸为kcb=3840,跳到步骤8。

步骤5.判断n′info是否小于等于8424,如果是,则执行步骤6,否则,执行步骤7。

步骤6.码块个数为1,c=1,对应的最大码块尺寸为kcb=8448,跳到步骤8。

步骤7.根据公式计算码块个数c=ceil((n′info 24)/8424),对应的最大码块尺寸为kcb=8448。

步骤8.返回码块个数c,与ldpc分段的kcb值。

步骤9.结束。

图4为ul-sch的macpdu示意图。

码块分段的原则为:

对于ldpcbasegraph1,最大码块尺寸为:kcb=8448;

对于ldpcbasegraph2,最大码块尺寸为:kcb=3840。

crc添加原则为:

净荷大于3824,则添加24位crc,否则,添加16位crc。

对应于上述方法,本申请还公开了一种tbs计算设备,其组成结构如图5所示,包括:信息获取模块和tbs计算模块,其中:

所述信息获取模块,用于获得mcs的索引imcs和分配的prb个数;

所述tbs计算模块用于执行以下操作:

根据imcs的取值确定当前待传输的是否为重传数据包,如果为重传数据包则按照最近一次为新传时计算出的tbs作为本次的tbs,结束;如果为新传数据包,则:

根据所述imcs和高层配置参数,选择对应的imcs与码率的映射表格,查找对应的目标码率r和调制阶数qm;

根据目标码率r、prb个数以及高层配置的层数υ计算出能够承载的比特个数ninfo;

根据能够承载的比特个数ninfo计算tbs:

如果ninfo≤3824,则tbs不用分块,将ninfo量化为8、16、或者32的倍数,按照量化的值匹配表格中最接近且不小于该值的tbs,量化公式为:

n′info=max(24,(ninfo>>n)<<n)

其中,通过对寄存器的移位,实现的除法与向下取整的功能;

如果ninfo>3824,则将ninfo量化为64、128、256…的倍数,量化公式为:

n′info=max(3840,((ninfo-24 1<<(n-1))>>n)<<n)

其中,通过对寄存器的移位等操作,实现的除法与四舍五入的功能;

并根据量化后的n′info、目标码率r和ldpc编码选择的basegraph计算码块个数c,对传输块按照分块的个数进行8字节对齐,计算出tbs:

tbs=8*c*ceil((n′info 24)/8*c)-24。

较佳的,所述tbs计算模块具体用于执行以下操作确定当前待传输的是否为重传数据包:

如果不支持256qam和可变预编码,如果29≤imcs≤31,则当前待传输的为重传数据包,否则,为新传数据包;

除上述情况之外,如果28≤imcs≤31,则当前待传输的为重传数据包,否则,为新传数据包。

较佳的,所述tbs计算模块具体用于执行以下操作计算出能够承载的比特个数ninfo:

按照ninfo=nre·r·qm·υ计算,其中:

nre是数据信道的re总数,nre=min(156,n're)·nprb,其中:

n’re为一个prb内的re个数,

为一个prb内的频域的子载波数目;

为一个时隙内的pusch分配的符号个数;

为dciformat0_0/0_1中指示的dm-rscdmgroups中调度pusch时刻内的每个prb的dm-rs的re个数;

为高层参数xoh-pusch配置的值,如果没有配置xoh-pusch,则该值默认为0。

较佳的,所述tbs计算模块具体用于执行以下操作计算码块个数c:

判断r是否小于等于0.25,如果是,则根据c=ceil((n′info 24)/3816)计算码块个数c,并确定对应的ldpc分段的最大码块尺寸为kcb=3840;

否则,判断量化后的n′info是否小于等于8424,如果是,则码块个数c为1,对应的ldpc分段的最大码块尺寸为kcb=8448,否则,根据c=ceil((n′info 24)/8424)计算码块个数c,并确定对应的ldpc分段的最大码块尺寸为kcb=8448。

此外,本申请还提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如前所述的tbs计算方法的步骤。本申请还提供了一种电子设备,包括如上所述的非易失性计算机可读存储介质、以及可访问所述非易失性计算机可读存储介质的所述处理器。

此外,本申请还提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如前所述的macpud复用方法的步骤。本申请还提供了一种电子设备,包括如上所述的非易失性计算机可读存储介质、以及可访问所述非易失性计算机可读存储介质的所述处理器。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。


技术特征:

1.一种传输块尺寸tbs计算方法,其特征在于,包括:

获得mcs的索引imcs和分配的prb个数;

根据imcs的取值确定当前待传输的是否为重传数据包,如果为重传数据包则按照最近一次为新传时计算出的tbs作为本次的tbs,结束;如果为新传数据包,则:

根据所述imcs和高层配置参数,选择对应的imcs与码率的映射表格,查找对应的目标码率r和调制阶数qm;

根据目标码率r、prb个数以及高层配置的层数υ计算出能够承载的比特个数ninfo;

根据能够承载的比特个数ninfo计算tbs:

如果ninfo≤3824,则tbs不用分块,将ninfo量化为8、16、或者32的倍数,按照量化的值匹配表格中最接近且不小于该值的tbs,量化公式为:

n'info=max(24,(ninfo>>n)<<n)

其中,通过对寄存器的移位,实现的除法与向下取整的功能;

如果ninfo>3824,则将ninfo量化为64、128、256…的倍数,量化公式为:

n'info=max(3840,((ninfo-24 1<<(n-1))>>n)<<n)

其中,通过对寄存器的移位,实现的除法与四舍五入的功能;

并根据量化后的n'info、目标码率r和ldpc编码选择的basegraph计算码块个数c,对传输块按照分块的个数进行8字节对齐,计算出tbs:

tbs=8*c*ceil((n'info 24)/8*c)-24。

2.根据权利要求1所述的方法,其特征在于,所述根据imcs的取值确定当前待传输的是否为重传数据包包括:

如果不支持256qam和可变预编码,如果29≤imcs≤31,则当前待传输的为重传数据包,否则,为新传数据包;

除上述情况之外,如果28≤imcs≤31,则当前待传输的为重传数据包,否则,为新传数据包。

3.根据权利要求1或2所述的方法,其特征在于,所述根据目标码率r、prb个数以及高层配置的层数υ计算出能够承载的比特个数ninfo包括:

按照ninfo=nre·r·qm·υ计算,其中:

nre是数据信道的re总数,nre=min(156,n're)·nprb,其中:

n’re为一个prb内的re个数,

为一个prb内的频域的子载波数目;

为一个时隙内的pusch分配的符号个数;

为dciformat0_0/0_1中指示的dm-rscdmgroups中调度pusch时刻内的每个prb的dm-rs的re个数;

为高层参数xoh-pusch配置的值,如果没有配置xoh-pusch,则该值默认为0。

4.根据权利要求1或2所述的方法,其特征在于,所述根据量化后的n'info、目标码率r和ldpc编码选择的basegraph计算码块个数c包括:

判断r是否小于等于0.25,如果是,则根据c=ceil((n'info 24)/3816)计算码块个数c,并确定对应的ldpc分段的最大码块尺寸为kcb=3840;

否则,判断量化后的n'info是否小于等于8424,如果是,则码块个数c为1,对应的ldpc分段的最大码块尺寸为kcb=8448,否则,根据c=ceil((n'info 24)/8424)计算码块个数c,并确定对应的ldpc分段的最大码块尺寸为kcb=8448。

5.一种macpdu复用方法,其特征在于,包括:

按照权利要求1所述方法计算tbs;

用tbs减去mac层需要传输的macce后,计算得到剩余的字节数resbytesnum;

查询rlc待传字节数是否为零,如果为零,则上报bsr为零,组装macce和填充,完成macpdu的复用,否则执行以下操作:

步骤6.按照rb承载的优先级顺序读取rlcpdu;

步骤7.判断rlcpdu的字节数果是否小于等于resbytesnum-3,如是则执行步骤8,否则跳到步骤12;

步骤8.将rlcpdu添加mac子头后封装为一个macsubpdu;

步骤9.判断是否剩余resbitnum<3bytes或者所有待传数据的rlc承载处理完成,满足条件则执行步骤10,否则返回步骤6,继续处理rlcpdu;

步骤10.在macsubpdu后添加macce子头及macce内容,完成macpdu的复用;

步骤11.通知rlc复用后缓存中剩余的字节,结束;

步骤12.将rlcpdu按照剩余字节数拆分,传输能够承载的字节数,并微调rlc子头,添加mac子头封装为一个macsubpdu;

步骤13.通知rlc被分段的rbid以及传输后该承载剩余的字节,以及复用后缓存中剩余字节。

6.根据权利要求5所述的方法,其特征在于:

在所述步骤12中,计算能够承载的字节数时,先扣除mac子头占用字节数,当rlcpdu小于128字节时,mac子头为2字节,否则,mac子头为3字节。

7.一种tbs计算设备,其特征在于,包括:信息获取模块和tbs计算模块,其中:

所述信息获取模块,用于获得mcs的索引imcs和分配的prb个数;

所述tbs计算模块用于执行以下操作:

根据imcs的取值确定当前待传输的是否为重传数据包,如果为重传数据包则按照最近一次为新传时计算出的tbs作为本次的tbs,结束;如果为新传数据包,则:

根据所述imcs和高层配置参数,选择对应的imcs与码率的映射表格,查找对应的目标码率r和调制阶数qm;

根据目标码率r、prb个数以及高层配置的层数υ计算出能够承载的比特个数ninfo;

根据能够承载的比特个数ninfo计算tbs:

如果ninfo≤3824,则tbs不用分块,将ninfo量化为8、16、或者32的倍数,按照量化的值匹配表格中最接近且不小于该值的tbs,量化公式为:

n'info=max(24,(ninfo>>n)<<n)

其中,通过对寄存器的移位,实现的除法与向下取整的功能;

如果ninfo>3824,则将ninfo量化为64、128、256…的倍数,量化公式为:

n'info=max(3840,((ninfo-24 1<<(n-1))>>n)<<n)

其中,通过对寄存器的移位,实现的除法与四舍五入的功能;

并根据量化后的ni'nfo、目标码率r和ldpc编码选择的basegraph计算码块个数c,对传输块按照分块的个数进行8字节对齐,计算出tbs:

tbs=8*c*ceil((n'info 24)/8*c)-24。

8.根据权利要求7所述的设备,其特征在于,所述tbs计算模块具体用于执行以下操作确定当前待传输的是否为重传数据包:

如果不支持256qam和可变预编码,如果29≤imcs≤31,则当前待传输的为重传数据包,否则,为新传数据包;

除上述情况之外,如果28≤imcs≤31,则当前待传输的为重传数据包,否则,为新传数据包。

9.根据权利要求7或8所述的设备,其特征在于,所述tbs计算模块具体用于执行以下操作计算出能够承载的比特个数ninfo:

按照ninfo=nre·r·qm·υ计算,其中:

nre是数据信道的re总数,nre=min(156,n're)·nprb,其中:

n’re为一个prb内的re个数,

为一个prb内的频域的子载波数目;

为一个时隙内的pusch分配的符号个数;

为dciformat0_0/0_1中指示的dm-rscdmgroups中调度pusch时刻内的每个prb的dm-rs的re个数;

为高层参数xoh-pusch配置的值,如果没有配置xoh-pusch,则该值默认为0。

10.根据权利要求7或8所述的设备,其特征在于,所述tbs计算模块具体用于执行以下操作计算码块个数c:

判断r是否小于等于0.25,如果是,则根据c=ceil((n'info 24)/3816)计算码块个数c,并确定对应的ldpc分段的最大码块尺寸为kcb=3840;

否则,判断量化后的n'info是否小于等于8424,如果是,则码块个数c为1,对应的ldpc分段的最大码块尺寸为kcb=8448,否则,根据c=ceil((n'info 24)/8424)计算码块个数c,并确定对应的ldpc分段的最大码块尺寸为kcb=8448。

11.一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如权利要求1至4中任一项所述的tbs计算方法的步骤。

12.一种电子设备,其特征在于,包括如权利要求11所述的非易失性计算机可读存储介质、以及可访问所述非易失性计算机可读存储介质的所述处理器。

13.一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如权利要求5或6所述的macpdu复用方法的步骤。

14.一种电子设备,其特征在于,包括如权利要求13所述的非易失性计算机可读存储介质、以及可访问所述非易失性计算机可读存储介质的所述处理器。

技术总结
本申请公开了一种TBS计算方法和设备,包括:获得MCS的索引IMCS和分配的PRB个数;根据IMCS的取值确定当前待传输的是否为重传数据包,如果为重传数据包则按照最近一次为新传时计算出的TBS作为本次的TBS,结束;如果为新传数据包,则根据所述IMCS和高层配置参数,选择对应的IMCS与码率的映射表格,查找对应的目标码率R和调制阶数Qm;根据目标码率R、PRB个数以及高层配置的层数υ计算出能够承载的比特个数Ninfo;根据能够承载的比特个数Ninfo计算TBS。本申请还公开了一种MAC PDU复用方法及对应的设备。应用本申请公开的技术方案,能够实现TBS的快速计算,并简化上下行数据处理流程。

技术研发人员:董敏;张月宾;张凯
受保护的技术使用者:普天信息技术有限公司
技术研发日:2018.11.28
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-57083.html

最新回复(0)