NR PUSCH 频域资源
Posted modem协议笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NR PUSCH 频域资源相关的知识,希望对你有一定的参考价值。
微信同步更新欢迎关注同名“modem协议笔记”
这篇看下频域资源分配,本篇内容主要在38.214 6.1.2.2 resource allocation in frequency domain章节中。
相比于R15,R16 频域资源分配有3种类型 Uplink resource allocation scheme type 0/1/2(增加了Uplink resource allocation type 2)。其中type0 用于tansform precoding disabled的场景,type 1/2没有限制,tansform precoding enable或disable都可以使用。Uplink resource allocation type 2 于RRC 层参数useInterlacePUCCH-PUSCH相关联,主要用于NR-U场景。
对于DCI 0_1/0_2,当pusch-Config 中的IE resourceAllocation配置为dynamicSwitch时,UE需要根据DCI field Frequency domain resource assignment确定是用Uplink resource allocation type 0还是1,DCI Frequency domain resource assignment最高bit用来表示分配类型:0 表示Type0 ,1 表示Type1,剩余bits表示具体资源;否则就根据resourceAllocation具体配置用对应的类型。
resourceAllocation只能配置为resourceAllocationType0, resourceAllocationType1, dynamicSwitch,而type 2有专用场景,当BWP-UplinkDedicated 中有配置useinterlacePUCCH-PUSCH时,就只能用 resourceAllocationType2。
对于DCI 0_0,没有配置useInterlacePUCCH-PUSCH参数时,就只能用resourceAllocationType1;有配置useInterlacePUCCH-PUSCH时 就用resourceAllocationType2。注意在配置useInterlacePUCCH-PUSCH时有要求,就是BWP-UplinkCommon和BWP-UplinkDedicated中要么都配置,要么都不配置该IE。
DCI 中没有带bandwidth part indicator field或UE不支持基于DCI的BWP切换时,就在UE目前激活的BWP内确定频域RB资源;DCI中有带bandwidth part indicator field且UE支持基于DCI的BWP切换时,就在DCI指示的BWP内进行频域资源的确定。
下面看下Uplink resource allocation scheme type 0/1/2具体内容。PUSCH resource allocation type 0和1 基本和PDSCH部分内容一致,PUSCH resource allocation type 2是针对NR-U场景,新增的分配方式。
PUSCH resource allocation type 0
在Type 0中,以RBG为粒度分配。RBG是一个连续的VRB集合,size大小由高层参数rbg-size配置和BWP带宽共同决定。rbg-size配置的话,只能是config2,不配置时,默认为config1;然后根据3GPP 38.214的Table 6.1.2.2.1-1确定分配方式,算出RBG大小及各个RBG包含的RB数。BWP以bitmap的方式表示分配哪些RBG给UE,每个RBG对应1位。Type0支持连续资源分配,也支持非连续资源分配。
抄个PDSCH的例子,BWP大小为48 RB,PUSCH配置为Configuration 1,查表可知RBG大小为4个RB,位图长度为48 / 4 = 12 ,则具体分配的RBG可用位图“100111100111”表示。如果RRC层resourceAllocation配置为dynamicSwitch,此时还要增加一个最高位bit用于区分是type 0还是type 1类型,后面的bit才用于资源的指示。
PUSCH Resource Allocation Type 1
Type1 使用RIV(resource indication value)指示资源 ;以起始位置RB_start和RB数量Lrb表示分配的资源,类似于时域的SLIV。RIV值的最大长度和BWP带宽相关。举个例子,BWP大小为24 RB,RB_start = 10(第11个RB),Lrb = 11(长度为11 RB)。RB_start 从0 开始取值,则示图如下
Type 1只支持连续资源分配,Type0 既可以分配连续资源,也可以分配非连续资源,比Type 1灵活。另一方面,Type0 bitmap的分配方式和Type 1的RIV 相比,Type 1的编码更省资源,更有效率。
当出现DCI size不同的情况时,比如USS 中的DCI 0_0 是从CSS 中的DCI 0_0 中推算出来的,但是实际上目前激活的BWP 的DCI size和CSS 不一样,这时候就要对之前的RIV 过程进行一个同比例的缩放操作,缩放因子就是K。
对于DCI 0_2 的调度,先将resourceAllocationType1GranularityDCI-0-2 指定的参数作为P,按照type 0的方式先进行RBG 分组,然后再用Type 1的 RIV表示起始RBG index和分配的连续RBG的长度,分配资源。
PUSCH Resource Allocation Type 2
type 2与interlace RB 相关联,先看下之前 在PUCCH(二)中提到的interlace的相关内容,interlace RB内容在38.211 4.4.4.6。
m的取值范围0~M-1,其中M 是由u决定的,当u=0,即SCS =15khz时,M=10;u=1 即SCS=30khz时,M=5。
interlace m 对应的是一组RB 集合,以例子来说明,假设M=5 那m的 取值范围0~4,
interlace 0对应CRB( 0,5,10,15,....),
interlace 1对应CRB(1,6,11,16,....),
interlace 2 对应CRB(2,7,12,17,....)
interlace 3对应CRB(3,8,13,18,...),
interlace 4对应CRB(4,9,14,19,....)。
IRB 是在BWP内的interlace RB 的编号,IRB 在BWP内从0开始编号。因而通过interlace 的id就可以确定一个RB set,里面的RB是以CRB为基准,要根据激活BWP的情况,确定包含在BWP内的IRB ,这些处于BWP范围内的IRB才是分配给UE 的资源。
再来看下CRB 和IRB 的关系,通过IRB 的number 根据上面的公式就可以算出CRB的number,举个例子来说明。对于interlace 3 m=3 M=5 ,N_start_BWP=10 ,参数比较小,通过肉眼看就能确定,IRB 0 对应的是CRB 13,IRB 1对应的是CRB 18;下面通过计算来验证下 n_IRB=0 时,n_CRB=5*0+10+(-7mod5)=10+3=13,即IRB 0对应CRB13 ;n_IRB=1时,n_CRB=5*1+10+((-7)mod 5)=18,即IRB1 对应CRB18。
这里要注意的是负数的mod运算,负数mod运算清楚的话,其他的都不是问题。
-7 mod 5=(-5*2+3)mod 5=3 mod 5 =3
-50 mod 26 =(-26*2+2)mod 26=2 mod 26=2
由上可知interlace index确定的就是一个RB sets,Type2 的资源分配就是 确定激活UL BWP内的哪些RB sets中的RB可以分配给UE,下面看下type 2。
type 2 由于SCS的不同(u的不同), Frequency domain resource assignment 需要的bits也不一样,当u=1 SCS=30khz时,需要5+Ybits 确定interlace allocation(5 MSBs)和RB set allocation(Y bits);当u=0 SCS=15khz时,需要6+Ybits 确定interlace allocation(6 MSBs)和RB set allocation(Y bits);Y的确定与激活UL BWP内的RB sets number有关系,确定公式如上。其中N_BWP_RB-set_UL 代表激活的UL BWP内的RB set 的个数。
对于u=0即scs=15khz时,根据RIV与M(M+1)/2的大小关系,可以确定interlace indices m0和l:当0<=RIV<M(M+1)/2时,由Frequency domain resource assignment 6 MSBs 提供的RIV 通过公式确定m0和l;RIV>=M(M+1)/2时,m0和l 由上面的表格确定,由此可以确定分配的interlace 索引,对应的是一系列的RB sets。
对于u=1,即SCS=30khz时,会有5bits 分别对应interlace index(u=1时,M=5;最高位~最低位分别对应interlace 0~4),当对应的bit 位为1时,代表对应的interlace RB set 可能要分配给UE;否则置0。
上面的过程确定了一些可能分配给UE 的interlace indices,这些indices 分别对应一个RB sets,下面需要根据Y 确定 具体哪些RB sets要分配给UE 用。
对于USS 的DCI 0_0 ,DCI 0_1和configured grant Type 1/2,Frequency domain resource assignment Y LSBs 代表一个RIV_RB-sets 值,通过RIV_RB-sets可以确定N_start_RB-set_UL(starting RB set index)及L_RB-set(连续RB sets的numbers) ,和最初的S+L原理一样。举个例子,u=0 SCS=15KHZ 此时M=10,对应interlace 0~9,通过Frequency domain resource assignment 6 MSBs 确定了用于资源分配的是interlace 0~6,下一步Frequency domain resource assignment Y LSBs 确定N_start_RB-set_UL =2,L_RB-set=3,则代表interlac 2 ~4对应的RB sets 分配给UE用;这里要注意 interlace indices 内的RB 是从CRB 开始定义的,所以还要根据激活BWP情况,确定包含在BWP内的IRB个数,这些IRB才是UE最终可以用的RB资源。
以上是关于NR PUSCH 频域资源的主要内容,如果未能解决你的问题,请参考以下文章