LTE:下行资源分配类型(一)下行资源分配类型本文主要介绍下行物理信道PDSCH的3种资源分配类型:Type0、Type1和Type2。具体使用哪种资源分配类型取决于所选的DCIformat以及DCI内相关bit的配置。每种DCIformat支持哪种资源分配类型,以及有哪些与资源分配相关的bit,详见36.212的5.3.3节。由于这篇文章主要是介绍几种下行资源分配类型,而不是介绍DCIformat的,所以文章中只是略微提及,并不做深入分析。图1是几种下行DCIformat与下行资源分配类型的对应关系:图1:DCIformat与下行资源分配类型的对应关系注意:(1)下行资源是基于VRB而是PRB分配的。当然,VRB与PRB有一定的对应关系,详见36.211的6.3.2节;(2)DCIformat1/2/2A/2B/2C同时支持Type0和Type1,具体使用哪种类型是通过1比特的域(见图3)来指定的。一、RBG介绍介绍资源分配类型Type0和Type1之前,需要先介绍一下RBG的概念。RBG(ResourceBlockGroup,资源块组)是一组连续的集中式VRB(localizedVRB)。RBG的大小(P,即每个RBG中包含的VRB数。最后一个RBG包含的VRB数可能小于P)与系统带宽相关,对应关系见图2:图2:RBGsize与下行系统带宽的关系(36.213的Table7.1.6.1-1)对应下行系统带宽,RBG的总数为:其中,前个RBG的大小为P;如果%P0,则最后一个RBG的大小为。以下行系统带宽=50RB为例,其P值为3,RBG的总数为17,前16个RBG各包含3个VRB,最后一个RBG只包含2个VRB。二、资源分配类型0(Resourceallocationtype0)在资源分配类型0中,DCIformat1/2/2A/2B/2C通过一个bitmap来指示分配给UE的RBG。bitmap共包含比特,每1比特对应1个RBG,最高位表示RBG0,最低位表示RBG-1,依此类推。如果某个RBG分配给了某个UE,则bitmap中对应比特置为1;否则置为0。图3:DCIformat1/2/2A/2B/2C中与Type0相关的字段以小区系统带宽25RB为例。1)通过查36.213的Table7.1.6.1-1可以知道,RBG大小P=2;2)RBG的总数。其中前12个RBG的每个RBG大小为2,最后一个RBG的大小为1(如图4所示);图4:资源分配类型0的RBG资源(25RB)3)即bitmap共包含13比特。4)假如分配给某UE的资源的bitmap为:1001110100010,则该UE被分配了RBG0、RBG3、RBG4、RBG5、RBG7、RBG11(如图5所示)。图5:资源分配类型0的例子(25RB)从上面的例子可以看出:1)资源分配类型0支持频域上的非连续RB分配;2)调度的粒度比较粗:调度的最小单位是RBG,对于较大的带宽而言,无法按照单个RB来分配资源。当payload较小时,可能会造成资源的浪费。三、资源分配类型1(Resourceallocationtype1)在资源分配类型1中,所有的RBG被分为P个子集,P为RBG的大小(见图2)。每个RBG子集p()包含从RBGp开始,间隔为P的所有RBG。分配给某个UE的VRB资源必须来自于同一个子集。在资源分配类型1中,DCIformat1/2/2A/2B/2C通过3个域来指示分配给UE的VRB(注意:与资源分配类型0不同,这里是VRB,而不是RBG)。图6:DCIformat1/2/2A/2B/2C中与Type1相关的字段第一个域包含比特,用于指定所选的RBG子集,即p的值。第二个域包含1比特(shiftbit),用于指定子集内的资源是否偏移,1表示偏移,0表示不偏移。第三个域包含一个bitmap,bitmap的每一比特对应所选RBG子集中的一个VRB(注意:不是RBG)。最高位表示子集中的第一个VRB,最低位表示子集中的最后一个VRB,依此类推。如果某个VRB分配给了某个UE,则bitmap中对应比特置为1;否则置为0。bitmap的大小,即bitmap包含的比特数为一个选定的RBG子集中的VRB起始于该子集中的最小VRB号+偏移量,并对应bitmap中的最高位。该偏移量以VRB的数量表示,并且是发生在选定的RBG子集内的偏移。如果DCI的资源块分配信息中的第二个域为0,则RBG子集p的偏移;如果DCI的资源块分配信息中的第二个域为1,则RBG子集p的偏移,且bitmap中的最低比特位调整为对应RBG子集中的最后一个VRB。为RBG子集p包含的VRB数,计算公式如下:对于RBG子集p而言,其bitmap中的每一比特i()对应的VRB可通过如下公式计算:关于偏移可能较难理解,莫急,对照后面的例子来学习,会比较清晰的。还是以小区带宽25RB为例。1)通过查36.213的Table7.1.6.1-1可以知道,P=2,即有2个子集:子集0(从RBG0开始)和子集1(从RBG1开始);图7:资源分配类型1中的子集(25RB)2)=1,即第一个域使用1比特指定所选的RBG子集;3)第二个域使用1比特指定RBG子集中的资源是否偏移;4)bitmap包含的比特数=13-1-1=11;即bitmap只能对应11个VRB。5)每个RBG子集p包含的VRB数为1312可以看出,bitmap不足以表示每个子集中包含的所有VRB。6)接下来,我们详细介绍第二个域,即shiftbit对bitmap所表示的VRB的影响。如果shiftbit为0,RBG子集p的偏移;如果shiftbit为1,RBG子集p的偏移为2(13–11)1(12-11)从之前的分析可以看出,每个子集包含哪些RBG是确定的,也就是说,包含哪些VRB也是确定的。对应图7,每个子集可用的VRB集合如图8所示:图8:资源分配类型1中每个子集可用的VRB集合(25RB)当shiftbit=0时,根据下面的公式,可知道bitmap(对于25RB带宽,共11比特)的每一个比特对应哪个VRB。结果如下:图9:每个子集的bitmap中的每个比特对应的VRB(25RB,shiftbit=0)从图9可以看出,如果shiftbit=0(不发生偏移),每个子集的bitmap对应的VRB,是从图8给定的VRB集合中的第一个VRB开始(对应子集0,起始VRB为VRB0;对应子集1,起始VRB为VRB2),顺序选取11个VRB。当shiftbit=1时,根据下面的公式,可知道bitmap(对于25RB带宽,共11比特)的每一个比特对应哪个VRB。结果如下:图10:每个子集的bitmap的每个比特表示的VRB(25RB,shiftbit=1)从图10可以看出,如果shiftbit=1(发生偏移),每个子集的bitmap对应的VRB,是从图8给定的VRB集合中的第一个VRB,加上偏移量开始(对应子集0,偏移量=2,即在图8给定的p=0的VRB集合中,往前移2个,得到起始VRB为VRB4;对应子集1,偏移量=1,即在图8给定的p=1的VRB集合中,往前移1个,得到起始VRB为VRB3),顺序选取11个VRB。图11介绍了使用资源分配类型1的例子(25RB):上半部分对应:资源分配类型1;子集0;shiftbit为0;bitmap为10011101000。即分配该UE的资源为:VRB0、VRB5、VRB8、VRB9、VRB13。下半部分对应:资源分配类型1;子集0;shiftbit为1;bitmap为10011101000。即分配该UE的资源为:VRB4、VRB9、VRB12、VRB13、VRB17。图11:资源分配类型1的例子(25RB)关于资源分配类型1的更多例子,还可以参考[6]。从上面的例子可以看出:1)资源分配类型1支持频域上的非连续RB分配;2)和资源分配类型0相比,资源分配类型1支持粒度为1RB的分配;3)资源分配类型0和资源分配类型1使用相同的bit数来表示资源的分配;4)bitmap的比特数实际上比RBG子集中的VRB数要少,通过shiftbit,bitmap才能覆盖所有的VRB。LTE:下行资源分配类型(二)三、资源分配类型2(Resourceallocationtype2)在资源分配类型2中,分配给UE的资源为一段连续的VRB,其VRB可以是集中式(localized),也可以是分布式的(distributed)。对于DCIformat1A/1B/1D而言,有一个bit(对应Localized/DistributedVRBassignmentflag)用于指示是集中式VRB(该bit为0)还是分布式VRB(该bit为0)。图12:DCIformat1A中与Type2相关的字段对于集中式VRB分配而言,分配给一个UE的资源可以从1个VRB到整个系统带宽的所有VRB。如果DCIformat1A使用分布式VRB分配方式,且其DCI的CRC由P-RNTI、RA-RNTI或SI-RNTI加扰,则分配给对应UE的VRB数可以从1个到个。(的计算见36.211的6.2.3.2节,这里就不做介绍了)如果DCIformat1A/1B/1D使用分布式VRB分配方式,且其DCI的CRC由C-RNTI加扰,则当下行带宽为6~49RB时,分配给对应UE的VRB数可以从1个到最多个;则当下行带宽为50~110RB时,分配给对应UE的VRB数可以从1个到最多16个。对于DCIformat1A/1B/1D而言,资源分配由一个资源指示值RIV来表示。通过这个值,可以推导出分配给UE的起始RB()以及连续分配的RB的长度()。计算公式如下:如果,则;否则。其中且不超过。当UE收到一个RIV后,如何计算和?通过可以知道是还是,并最终计算出和。由于且不超过,且必定有,故,也就有1)当时,;2)当时,。UE收到RIV后,计算的值x,1)如果,则得知,也就得到了最终结果;2)如果,则得知,也就得到了最终结果。图13介绍了DCIformat1A/1B/1D使用资源分配类型2的例子(25RB):起始RB()为3,连续分配的VRB数()为8,,所以。图13:资源分配类型2的例子(25RB)DCIformat1C只支持分布式VRB分配方式。对于DCIformat1C而言,分配给某个UE的资源可以从个到最多个VRB。其中为增长的步进值,并与下行系统带宽相关(如图14)。图14:值与下行系统带宽的对应关系对于DCIformat1C而言,资源分配也是通过一个资源指示值RIV来表示。通过这个值,可以推导出分配给UE的起始RB()以及连续分配的RB的长度()。计算公式如下:如果,则;否则。其中,并且。而且不超过。对于DCIformat1C而言,UE收到一个RIV后计算和的方式与DCIformat1A/1B/1D类似,这里就不做介绍了。假设是在DCIformat1C中的资源分配且系统带宽为25RB,,,则有因为,所以=12*(4-1)+1=37。从上面的例子可以看出:1)资源分配类型2只支持连续VRB的分配;2)对于资源分配类型2,DCIformat1A/1B/1D与DCIformat1C的格式是不同的,DCIformat1C多了步进的概念;3)与资源分配类型0/1只支持集中式VRB分配不同,资源分配类型2既支持集中式VRB也支持分布式VRB。注:本来想修改一下博文,但新浪博客有问题,保存时只有部分内容保存了下来,所以从其他转载的文章拷贝过来,如果对你的阅读产生了干扰,请见谅!【参考资料】[1]TS36.213的7.1.6节Resourceallocation[2]TS36.212的5.3.3节Downlinkcontrolinformation[3]TS36.211的6.2.3.1节Virtualresourceblocksoflocalizedtype[4]《4GLTE/LTE-AdvancedforMobileBroadband》的10.4.4节[5]《LTE-TheUMT