参考金辉_LTE的新浪博客,其中有部分摘录,博客地址为:
http://blog.sina.com.cn/s/blog_927cff010101a042.html
http://blog.sina.com.cn/s/blog_927cff010101a05x.html
12.1 前言
PDCCH提供的主要功能之一就是传输物理层资源分配指示,并且在每个子帧上,PDCCH指示频域资源分配。
频域资源(一组资源块)分配信令设计的主要挑战是在灵活性和信令开销之间找到一个好的这种方案。一个可行的方法是发送组合的资源分配消息给所有UE,但有可能被拒绝,这是因为可靠到达所有的UE需要很高的功率,包括小区边缘的UE。
LTE资源分配有3中类型:type0、type1和type2,具体使用哪种资源分配类型取决于所选的DCI format以及DCI内相关bit的配置。(有关DCI的介绍,请阅读:LTE学习之路(11)中的第2部分PDCCH之DCI)
表1:DCI format与下行资源分配类型的对应关系
12.2 RBG介绍
用bitmap(位图)指示分配给所调度UE的RBG(Resource Block Groups,资源块组),其中资源块组是一组连续的PRB。RBG的大小P是关于系统带宽的函数,如下表所示。
表2:type0资源分配的RBG大小
例如:以下行系统带宽 = 50 RB为例,其P值为3,RBG的总数为17,前16个RBG各包含3个PRB,最后一个RBG只包含2个PRB。
12.3 下行资源分配类型0(type 0)
在type0中,DCI format 1/2/2A/2B/2C通过一个bitmap来指示分配给UE的RBG。bitmap共包含比特,每比特对应1个RBG,最高位表示RBG 0,最低位表示RBG -1,以
此类推。如果某个RBG分配给了某个UE,则bitmap中对应比特置为1;否则置为0.
举例说明如下:
下行链路系统带宽为 PRB的RBG总数由公式给出。图1给出了=25,=13,P=2的情况。从而bitmap共包含13bit来指示调度结果。
图1
假设分配给某个UE的资源的bitmap为:1001110100010,则该UE被分配了RBG 0、RBG 3、RBG 4、RBG5、RBG 7、RBG 11
小结:
从上面的例子可以看出:1)type0支持频域上的非连续RB分配;2)调度的粒度较粗,调度的最小单位是RBG,对于较大的带宽而言,无法按照单个RB来分配资源。
12.4 下行资源分配类型1(type 1)
Type1是将所有的PRB分成P个RBG子集(subset),每个RBG子集p()包含从RBG p开始,间隔为P的所有RBG。
注意:分配给UE的VRB资源必须是来自于同一个RBG子集(type1分配的资源是VRB而不是PRB,这时与type0的区别之一)。
DCI format 1/2/2A/2B/2C通过3个域来指示分配给UE的VRB。
第一个域包含个比特,用于指定所选的RBG子集,即p的值;
第二个域包含1个比特(shift bit),用于指定子集内的资源是否偏移,1表示偏移,0表示不偏移;
第三个域包含一个bitmap,bitmap的每一比特对应所选RBG子集中的一个VRB,最高位表示子集中的第一个VRB,最低位表示子集中的最后一个VRB,以此类推。如果某个VRB分配给了某个UE,则bitmap中对应比特置为1,否则置为0。bitmap的大小,即包含的比特数计算如下:
公式(1)
说明:
一个选定的RBG子集中的VRB起始于该子集中最小的VRB号+偏移量,并对应bitmap中的最高位。
该偏移量以VRB的数量表示,并且是发生在选定的RBG子集内的偏移。
如果DCI的资源块分配信息中的第二个域为0,则RBG子集p的偏移;如果DCI的资源块分配信息中的第二个域为1,则RBG子集p的偏移,且bitmap中最低位比特调整为对应RBG子集中的最后一个VRB。
为RBG子集p包含的VRB数目,计算公式如下:
公式(2)
对于RBG子集p而言,其bitmap中的每一bit i(i=0,1,…..,)对应的VRB可通过如下公式计算:
公式(3)
举例说明(系统带宽为25RB):
1)由于系统带宽为25RB ,则P=2(即有两个子集):子集0(从RBG 0开始)和子集1(从RBG 1开始);
表3:type1中的子集(=25RB)
2),即第一个域使用1比特指定所选的RBG子集;
3)第二个域使用1比特指定RBG子集中的资源是否偏移;
4)bitmap包含的比特数,即bitmap只能对应11个VRB;
5)每个RBG子集p包含的VRB数为:
从而,可以看出bitmap不足以表示每个子集中包含的所有VRB。
6)接下来,详细介绍第二个域,即shift bit对bitmap所表示的VRB的影响。
如果是shift bit=0,RBG子集p偏移;
如果是shift bit=1,RBG子集p偏移为:
从之前的分析可以看出,每个子集包含哪些RBG是确定的,也就是说,包含哪些VRB也是确定的。如图2所示:
图2
当shift bit=0时,根据公式(3)可知bitmap(对于25RB的系统带宽,龚11bit)每一个比特对应哪个VRB。 结果如下:
从上图可以看出,如果shift bit = 0(不发生偏移),每个子集的bitmap对应的VRB,是从图8给定的VRB集合中的第一个VRB开始(对应子集0,起始VRB为VRB0;对应子集1,起始VRB为VRB2),顺序选取11个VRB。
当shift bit=1时,根据公式(3)可知bitmap(对于25RB的系统带宽,龚11bit)每一个比特对应哪个VRB。结果如下:
从上图可以看出,如果shift bit = 1(发生偏移),每个子集的bitmap对应的VRB,是从图8给定的VRB集合中的第一个VRB,加上偏移量开始(对应子集0,偏移量 ,即在图2给定的p= 0的VRB集合中,往前移2个,得到起始VRB为VRB4;对应子集1,偏移量 ,即在图8给定的p = 1的VRB集合中,往前移1个,得到起始VRB为VRB3),顺序选取11个VRB。
小结:
从上面的例子可以看出:1)资源分配类型1支持频域上的非连续RB分配;2)和资源分配类型0相比,资源分配类型1支持粒度为1 RB的分配;3)资源分配类型0和资源分配类型1使用相同的bit数来表示资源的分配;4)bitmap的比特数实际上比RBG子集中的VRB数要少,通过shift bit,bitmap才能覆盖所有的VRB。
12.5 下行资源分配类型2(type 2)
在type2中,分配给UE的资源为一段连续的VRB,其VRB可以是集中式(localized),也可以是分布式的(distributed)。
对于DCI format 1A/1B/1D而言,有一个bit的标志位来表示使用集中式的VRB还是分布式的VRB,该bit=0时表示使用集中式,该bit=1表示使用分布式,而在DCI format 1C中,总是使用分布式的VRB。
对于集中式VRB分配而言,分配给一个UE的资源可以从1个VRB到整个系统带宽的所有VRB。
如果DCI format 1A使用分布式VRB分配方式,且其DCI的CRC由P-RNTI、RA-RNTI或SI-RNTI加扰,则分配给对应UE的VRB数可以从1个到个。的计算如下:(协议36.211的6.2.3.2)
从上表可以看出,当时,;当时,还是取决于下行调度方案中的信令。
如果DCI format 1A/1B/1D使用分布式VRB分配方式,且其DCI的CRC由C-RNTI加扰,则当下行带宽为6~49RB时,分配给对应UE的VRB数可以从1个到最多个;则当下行带宽为50~110RB时,分配给对应UE的VRB数可以从1个到最多16个。
对于DCI format 1A/1B/1D而言,资源分配由一个资源指示值RIV(resource indication value)来表示。通过这个值,可以推导出分配给UE的起始RB()以及连续分配的RB的长度(),计算公式如下:
公式(4)
其中:且不超过
当UE收到一个RIV后,如何计算和呢?
通过可以知道是还是,并最终计算出和。
由于且不超过,且必定有,故,也就有
公式(5)
当UE收到RIV后,计算的值x。
起始RB()为3,连续分配的VRB数()为8,所以有:
由于DCI format 1C中,总是使用分布式的VRB分配方式,分配给某个UE的资源可以从个到个VRB,其中为增长的步进值,并预下行系统带宽相关(如下图所示)。
表:值预下行系统带宽之间的对应关系
对于DCI format 1C而言,资源分配额也是通过一个资源指示值RIV来表示。
通过这个值,可以推导出分配给UE的起始RB()以及连续分配的RB的长度(),计算公式如下:
公式(6)
其中,并且,同时,且不超过。
对于DCI format 1C而言,UE收到一个RIV后计算和的方法与DCI format 1A/1B/1D类似。
假设在DCI format 1C中的资源分配且系统带宽为25RB,,从而有:
因为,所以
小结:
从上面的例子可以看出:
1)资源分配类型2只支持连续VRB的分配;
2)对于资源分配类型2,DCI format 1A/1B/1D与DCI format 1C的格式是不同的,DCI format 1C多了步进的概念;
3)与资源分配类型0/1只支持集中式VRB分配不同,资源分配类型2既支持集中式VRB也支持分布式VRB。