VRB到PRB的映射
eNodeB在决定将哪些RB分配给某个特定UE时,可能会将时域和频域相关的下行信道质量考虑在内。即信道相关的频选调度会将信道的变化,如由频率选择性衰落引起的信道变化等,考虑在内,然后将那些信道质量好的RB(不一定连续)分配给该UE,这样可能会显著地提升UE的速率以及整个小区的吞吐量。
频选调度要求UE上报下行信道质量给eNodeB,这会带来较大的信令开销,同时需要保证eNodeB能够成功并及时地接收到下行信道质量信息,以避免收不到或收到过时的信息。因此在某些场景下,频选调度是不适用的:
· 对于低速业务,如语音业务,与频选相关的反馈信令会带来相对较大的开销,得不偿失;
· 在UE高速移动的场景下,如在高速运行的高铁上,很难或根本不可能跟踪实时信道质量,因而无法提供频选调度所需的信道质量精确度。
在这种情况下,一种可选的方案是将下行传输分布到频域内非连续的资源块上以获得频率分集增益,从而提高传输的可靠性。
下行资源分配类型0和1能够提供分布式资源分配,并且在大多数情况下也能满足需求,但还是有一些缺陷:
· 无法满足单个RB pair的分布式分配需求,即其最小分配单元为1个RB pair;
· 相对较大的PDCCH开销。例如:带宽为100 RB的情况下,资源分配类型0和1需要 bit用于指示下行资源,而资源分配类型2只需要 bit。可以看出,资源分配类型2中用于指示下行资源的bit开销较小。(见36.212的5.3.3.1节)
资源分配类型2既能提供频域上连续的RB资源分配,也能提供频域上非连续的RB资源分配。资源分配类型2有相对较小的PDCCH开销,并在使用分布式VRB的情况下,允许单个RB pair实现频域上的分布式传输。
使用分布式VRB的主要目的是在子带的信道状况不可知或过时的情况下,用于最大化频域分集增益。
LTE定义了2种类型的VRB:集中式VRB(localized VRB)和分布式VRB(distributed VRB)。
VRB与PRB大小相同。无论对于哪一种VRB,同一子帧内的2个slot的一对VRB(VRB pair)被看成一个整体,并被分配相同的VRB number:。
一、集中式VRB
集中式VRB直接一一映射到PRB,即有,并且不支持同一RB pair在slot间跳频,如图1所示。
集中式VRB支持频选相关的动态调度的大多数场景。
资源分配类型0和1只支持集中式VRB。
图1:系统带宽25 RB,集中式VRB下,VRB到PRB的映射过程
二、分布式VRB
下行资源分配类型2既支持集中式VRB,也支持分布式VRB。使用哪种类型是通过DCI format 1A/1B/1D的Localized/Distributed VRB assignment flag字段来配置的。(见36.212的5.3.3.1节)
DCI format 1C只支持分布式VRB。
接下来,我们会介绍分布式VRB映射到PRB的过程(以,,为例)。
分布式VRB到PRB的映射过程主要分为2步:步骤一:交织(interleaving):将连续的VRB pair映射到非连续的PRB pair上;步骤二:同一VRB number在slot间跳频。
步骤一:交织(interleaving)
我们将交织过程细化成几个步骤:
首先介绍一下。的取值与系统带宽相关,并在36.211的Table 6.2.3.2-1中定义(见上图)。当 时,只定义了一个gap值,并且。当时,定义了两个gap值和,并且还是取决于DCI format 1A/1B/1D的Resource block assignment字段的配置。如图2所示。
图2:DCI format 1A/1B/1D中与VRB分配相关的字段
VRB的编号(VRB number)从0到。VRB个数的计算公式如图3所示:
图3:VRB个数的计算公式
VRB个数可能小于系统带宽中包含的PRB个数,多出来的RB pair是不能进行分布式传输的。例如:系统带宽为25 RB的情况下,VRB的个数仅为24,即第25个RB pair不能用于分布式传输。
在之前的博客中,我们已经介绍了RBG,这里我们依然会用到RBG概念中的P值(RBG的大小),见36.213的Table 7.1.6.1-1(如下图)。
从36.211的Table 6.2.3.2-1和36.213的Table 7.1.6.1-1可以看出:gap的大小是的整数倍,这样做的目的是为了使在同一个子帧内,分布式VRB资源分配与资源分配类型0/1能够平滑共存。
(2)确定VRB交织矩阵:“横放”
确定、P值以及VRB个数的目的是为了计算VRB交织矩阵。既然是矩阵,就需要明确该矩阵其有几行几列,包含哪些信息。
一个VRB交织矩阵对应一个VRB交织单元。个连续的VRB number组成一个VRB交织单元,其中
图4:VRB交织单元中包含的VRB数
结合图3、图4可以看出:一共有个VRB需要交织,而每个交织单元只包含个VRB,所以交织单元的个数为 / 。更进一步,对应,只有1个交织单元;对应,有个交织单元。
交织矩阵共有行,4列。VRB number会逐行写入矩阵,并逐列读出(“横放列取”或“横写列读”,“列取”会在后面介绍)。矩阵包含的元素个数可能大于,此时多出来的元素会填充为null,且填充为null的元素位于最后行的第2列和第4列。填充为null的元素个数为。
我们以,使用分布式VRB且,为例来介绍交织矩阵的生成。我们先计算出相关的值,见图5
基于图5,生成的交织矩阵为(这是“横放”的过程,*表示null。其实共有2个交织矩阵,第二个矩阵的处理是类似的,这里就不介绍了):
图6:生成的交织矩阵
(3)确定VRB对应的PRB:“列取”
“列取”是将VRB number是映射到PRB number的过程。在“列取”过程中,null元素会被忽略。
我们先使用图6的例子来说明“列取”的过程中,VRB number是怎么映射到PRB number的,然后再介绍该过程如何对应到公式中。
以图6为例,假如需要确定VRB 12()对应的PRB,我们逐列读取该矩阵,遇*则跳过,直到读到的元素值为12,即读取的顺序为(0, 4, 8, 12),到第4个元素得到值12的元素,而计数是从0开始的,所以VRB 12对应的PRB 3()。
假如需要确定VRB 15()对应的PRB,我们逐列读取该矩阵,遇*则跳过,直到读到的元素值为15,即读取的顺序为(0, 4, 8, 12, 14, 16, 1, 5, 9, 2, 6, 10, 13, 15),到第14个元素得到值15的元素,而计数是从0开始的,所以VRB 15对应的PRB 13()。
图6的矩阵“列取”后的VRB number到PRB number的映射关系如图7所示。
图7:“横放列取”后的映射关系
上面过程看上去比较简单,但通过公式中反映出来就略显复杂了。在图8中,我对协议中公式做了一些标注,以便于大家理解。其实理解公式的一种好方式是自己把一些数据代入公式,然后算一遍,这样能够加深理解。
图8:公式(详见36.211的6.2.3.2节)
步骤二:slot间的跳频
前面已经介绍了VRB number如何映射到PRB number,但对应同一VRB number,奇数slot上的RB会在偶数slot的基础上,在VRB交织单元内偏移。(见图8)
slot间的跳频使得UE在只分配了单个RB pair的情况下,也可以进行分布式传输,从而提高频率分集增益。
同样以,使用分布式VRB且,为例,VRB 12在偶数slot上对应PRB 3(),但在奇数slot上对应PRB 12()。
如果UE 1被分配了VRB 3~5,UE 2被分配了VRB 11~13,则最终的映射结果如图9所示:
可以看出:(1)对于分布式VRB而言,连续的VRB映射到的PRB并不连续,即使是单一的VRB pair在频域上也是分开的;(2)slot间的跳频只在VRB交织单元内进行,不会跳出其对应的交织单元之外。
附:关于VRB到PRB的映射,有很多专利文档,大家可以google一下。
【参考资料】
[1] TS 36.211的6.2.3节 Resource blocks
[2] TS 36.212的5.3.3节 Downlink control information
[3] 《4G LTE/LTE-Advanced for Mobile Broadband》的10.1.2节
[5] 《LTE - The UMTS Long Term Evolution, 2nd Edition》的9.2.2.1节和9.3.5.4节
[6] 《Resource Allocation in LTE》
[7] 《Resource allocation type 2》
文章来源:http://blog.sina.com.cn/s/blog_927cff010101canf.html