码迷,mamicode.com
首页 > 其他好文 > 详细

LTE下行物理层传输机制(9)-集中式和分布式资源映射

时间:2016-07-29 22:58:32      阅读:1310      评论:0      收藏:0      [点我收藏+]

标签:

LTE系统里,RB资源的动态调度是在eNB侧实现的,这里的“RB资源”实际上是特指虚拟RB(Virtual RB)而不是物理RB(Physical RB)。VRB是MAC层在调度的时候使用的,属于逻辑上的概念,而PRB是物理层在实际映射RE资源的时候需要使用的,属于实际物理意义上的概念。VRB和PRB之间,存在着不同的映射关系:最简单的映射关系就是VRB的位置和PRB的位置是相同的,它们之间是一一对应的;另外一种复杂点的关系就是VRB和PRB并不是一一对应的,但是可以依赖某种特定的映射关系,通过VRB可以明确的推出PRB的位置。前一种一一对应的简单关系就是集中式的资源分配,而后面一种复杂点的映射关系,就是分布式的资源分配。

eNB侧在调度资源的时候,可以根据不同的场景使用不同的分配方式。比如当采用DCI2/DCI2A的时候,使用集中式的资源分配,而采用DCI1A的时候,既可以使用集中式的资源分配,也可以使用分布式的资源分配。下面就具体描述这两种分配方式。

下行VRB有两种资源映射方式:集中式(localized type)的VRB资源映射方式和分布式(distributed type)的VRB资源映射方式。无论是哪种VRB映射方式,所指的VRB都是指“RB对”(a pair of VRBs)。我们知道,一个子帧包括2个时隙,一个RB是由频域上的12个子载波以及时域上的一个时隙组成的(关于RB的组成结构请参考《LTE物理传输资源(3)-时频资源》),因此对于频域上的12个子载波,一个子帧就对应了2个RB,这两个RB就叫做一个"RB对"。在考虑VRB资源映射的时候,同个子帧内2个时隙的RB是放在一起考虑的,使用n_VRB来表示RB号的时候,是指一个VRB对,而不是特指某个时隙的VRB。也就是说,在描述下行资源映射方式的时候,虽然文字上说的是VRB与PRB的位置关系,实际上说的是VRB对PRB对的位置关系。

技术分享

1.集中式的资源映射(Localized type)

在集中式的资源映射方式中,VRB对和PRB对是一一对应的,即VRB的位置就是PRB的位置,RB资源块序号n_PRB=n_VRB,范围是0~(N_DL_RB-1)。下图就是5MHz带宽下,集中式分配VRB资源时,PRB和VRB的位置关系。

技术分享

2.分布式的资源映射(Distributed type)

在分布式的资源映射方式中,VRB对PRB对不是一一对应的,连续的VRB序号将映射到不连续的PRB序号上,并且一个子帧内的2个时隙也有着不同的映射关系(如下图1所示),通过这种方法来达到“分布式”的资源分配。无论是将连续的VRB对映射到不连续的PRB对上,还是分开每个PRB对,使一个PRB对的两个RB的资源传输带有一定的频率间隔(可以看成基于时隙(slot)的跳频),目的都是为了达到频率上的分集效应。

技术分享

图1

上面的图1是下行带宽为5MHz的分布式资源分配过程示意图,这个图只是用来帮助理解分布式的过程,不代表实际PRB的映射位置就与上图画的一致。这张图简洁直观,可以很好的描述这个过程,下面从协议的角度具体说说这种映射关系,或者说如何从VRB对得到PRB对的实际映射位置。

3.获取GAP参数

在分布式的分配过程中,2个时隙中的PRB将映射到频域上的不同位置,从而实现基于时隙的跳频。上面图1中的Gap参数,就是用来表示一个RB对之间的频率偏移值,以RB个数为计量单位。不同的带宽,这个GAP值是不同的,一旦带宽确定下来,这个Gap值也就确定了。

从下面的Table 6.2.3.2-1中可以看到,当下行带宽是1.4MHz(N_DL_RB=6)、3MHz(N_DL_RB=15)、5MHz(N_DL_RB=25)时,只有一种Gap值可以选择,对应的频率偏移值N_gap1分别是:1.4MHz时N_gap1=3、3MHz时N_gap1=8、5MHz时N_gap1=12。上面图1中的Gap=12,符合5MHz带宽(N_DL_RB=25)的协议规定。

技术分享

对于10MHz(N_DL_RB=50)、15MHz(N_DL_RB=75)、20MHz(N_DL_RB=100)这几种较大的带宽,协议规定了两种不同的Gap值,具体选择哪一种,由DCI通知到UE。如DCI1A格式,对于分布式VRB分配来说,有个1bit的字段(见下图中黄色高亮内容),就是用来表示当前Gap采用的是Gap1还是Gap2。

技术分享

4. 可用于频率交织(interleaving)的VRB范围

并不是所有的VRB都可以用来进行交织的,如果用n_VRB来表示VRB的频率位置,那么可以用来交织的VRB的范围是0~(N_DL_VRB - 1)。只有该范围内的VRB才可以进行RB对的交织,才可以进行分布式的VRB资源分配。

技术分享

如上图所示,如果n_VRB的范围是0~10,那么eNB进行分布式资源调度时,RB的id号只能分配到0~10这11个VRB。注意这里的参数N_DL_VRB不是下行带宽的RB个数N_DL_RB,不要混淆了。参数N_DL_VRB计算如下:

(A)如果采用GAP1,则 N_DL_VRB = N_DL_VRB_GAP1 = 2 × Min(N_gap1,  N_DL_RB - N_gap1。比如当前是5MHz带宽,N_gap1=12,N_DL_RB=25,则N_DL_VRB = 2 × Min(12,25-12) = 2 × 12 = 24。如果是10MHz带宽,N_gap1=27,N_DL_RB=50,则N_DL_VRB = 2 × Min(27,50-27) = 2 × 23 = 46。因此对于10MHz带宽来说,采用频率间隔GAP1时只有0~45这46个VRB对才可以进行RB的频率交织,才能进行分布式的RB分配。

(B)如果采用GAP2,则 N_DL_VRB = N_DL_VRB_GAP2 = floor(N_DL_RB / (2 × N_gap2) × 2 × N_gap2。比如当前是10MHz带宽,N_gap2=9,N_DL_RB=50,则N_DL_VRB = floor(50 / 18)× 18 = 2 × 18 = 36。

5.获取交织矩阵(interleaving matrix)

在进行频率交织的过程中,需要用到交织矩阵interleaving matrix)的概念,交织矩阵是一个列数固定等于4的矩阵,通过交织矩阵可以很方便的知道什么位置的VRB映射到什么位置的PRB。

协议规定,连续_N_DL_VRB个VRB可以组成一个交织单元(interleaving uint),每个交织单元可以用一个元素个数为_N_DL_VRB的交织矩阵来表示。参数_N_DL_VRB可以通过下面的方式得到:

(A)如果采用GAP1,则 _N_DL_VRB = N_DL_VRB。从这个公式中可以看到,所有可以用于分布式调度的VRB资源(即N_DL_VRB值)只能组成一个交织单元,形成一个交织矩阵。比如当前是5MHz带宽,N_DL_VRB=24,那么一个VRB交织单元由连续的24个VRB组成,即交织矩阵中有24个元素。

(B)如果采用GAP2,则 _N_DL_VRB = 2 × N_gap2。比如当前是10MHz带宽,N_gap2=9,那么一个VRB交织单元由连续的18个VRB组成,即交织矩阵中有18个元素。由于此时N_DL_VRB=36,即可以有36个VRB用于分布式资源分配,所以这种情况下,所有可用于分布式资源分配的VRB可以组成2个交织单元,生成2个交织矩阵。

技术分享

如上图所示,每个交织单元的交织矩阵,是一个4列、N_row行的矩阵,N_row = ceil(_N_DL_VRB / (4×P))× P,P的取值见下表。如果当前是5MHz带宽,P=2,采用GAP1,_N_DL_VRB = N_DL_VRB = 24,那么N_row = ceil(24 / (4×2))× 2 = 6。

技术分享

交织矩阵中的VRB,按照“按行写入”和“按列读出”的规则进行操作。按照这种规则,存在着组成一个交织单元的VRB个数不够填满一个交织矩阵的情况,因此协议规定第2列和第4列的最后(Null / 2)行需要插入Null个空值,插入的Null空值在读出的时候将会被忽略。其中,Nnull = 4 × N_row - _N_DL_VRB。如果当前是5MHz带宽,_N_DL_VRB = N_DL_VRB = 24,N_row = 6,那么Nnull = 4 × 6 - 24 = 0,表示不需要在第2列和第4列的最后插入空值,所有的VRB正好构成一个交织矩阵,如下图示意。

技术分享

6.VRB向PRB的映射

有了交织矩阵,再根据下面3个步骤,就可以将VRB映射到PRB中。这3个步骤是:

(1)从交织矩阵中按列依次读取元素,遇到Nnull则跳过,取下一个非Nnull的元素,这样得到的就是偶数时隙PRB的参考位置;

(2)对偶数时隙的参考位置进行偏移,偏移量为(_N_DL_VRB / 2),得到奇数时隙PRB的参考位置;

(3)如果根据上面两个步骤得到的RB位置大于或等于_N_DL_VRB / 2),则再次进行一次偏移,偏移量为(Ngap - _N_DL_VRB / 2),从而得到偶数时隙和奇数时隙的最终PRB映射位置。

技术分享

经过上面3个步骤,可以知道VRB=3、4、5这三个VRB,经过分布式映射后,得到的PRB的位置分别是(偶数时隙,奇数时隙)=(18,6)、(1,13)、(7,19)。

上面的VRB向PRB的映射过程,也可以用数学公式进行严格的推导,推导过程如下。

(1)根据交织得到偶数时隙的参考位置

偶数时隙ns对应的PRB的参考位置 _n_PRB(ns)由下面的公式计算得到:

技术分享

(2)对偶数时隙的位置进行(_N_DL_VRB / 2)的偏移,得到奇数时隙的参考位置

奇数时隙ns的位置 _n_PRB(ns) 由下面的公式计算得到:

技术分享

(3)对前面两个步骤中得到的大于或等于(_N_DL_VRB / 2)的位置,再次偏移(Ngap - _N_DL_VRB / 2),得到最终的PRB位置。

对于所有的时隙ns,包括偶数时隙和奇数时隙,根据下面的公式进行偏移:

技术分享

前文已经根据交织矩阵得到了PRB的映射位置,为了与之相互印证,下面仍然以5MHz带宽来举例说明数学公式的使用过程和计算结果:

(1)根据前文的相关描述过程,可以得到N_gap1 = 12_N_DL_VRB = 24N_row = 6Nnull = 0。假定eNB给UE分配了VRB=3、4、5这三个连续的VRB,那么计算PRB位置的过程如下:

(A)虚拟资源对n_VRB=3,占用一个偶数时隙和一个奇数时隙。从上面的公式中可以看到,偶数时隙的PRB位置只是用来递归计算奇数时隙的PRB位置,在实际计算时并不需要知道具体的时隙号,使用偶数时隙0和使用时隙2、4、6等等,计算得到的PRB的映射结果是相同的,所以这里可以用时隙0表示偶数时隙,用时隙1表示奇数时隙。因此:

对于偶数时隙(ns=0),_n_PRB(0) = 6 × ((3 mod 24)mod 4)+ floor((3 mod 24)/ 4)+ 24 × floor(3 / 24)= 18。因为满足 18 >(24 / 2)的条件,因此物理资源位置n_PRB(0) = 18 + 12 - 24 / 2 = 18。 

对于奇数时隙(ns=1),_n_PRB(1) = (_n_PRB(0) + 24 / 2)mod 24 + 24 × floor(3 / 24)= 6。因为满足 6 <(24 / 2)的条件,因此物理资源位置n_PRB(1) = 6, 不需要再次进行偏移。

(B)虚拟资源对n_VRB=4

对于偶数时隙(ns=0),_n_PRB(0) = 6 × ((4 mod 24)mod 4)+ floor((4 mod 24)/ 4)+ 24 × floor(4 / 24)= 1。因为满足 1 <(24 / 2)的条件,因此物理资源位置n_PRB(0) = 1。 

对于奇数时隙(ns=1),_n_PRB(1) = (_n_PRB(0) + 24 / 2)mod 24 + 24 × floor(4 / 24)= 13。因为满足 13 >(24 / 2)的条件,因此物理资源位置n_PRB(1) = 13 + 12 - 24 / 2 = 13。 

(C)虚拟资源对n_VRB=5

对于偶数时隙(ns=0),_n_PRB(0) = 6 × ((5 mod 24)mod 4)+ floor((5 mod 24)/ 4)+ 24 × floor(5 / 24)= 7。因为满足 7 <(24 / 2)的条件,因此物理资源位置n_PRB(0) = 7。 

对于奇数时隙(ns=1),_n_PRB(1) = (_n_PRB(0) + 24 / 2)mod 24 + 24 × floor(5 / 24)= 19。因为满足 19 >(24 / 2)的条件,因此物理资源位置n_PRB(1) = 19 + 12 - 24 / 2 = 19。 

eNB分配资源的时候,是选择集中式的还是分布式的,是由eNB侧决定并通过DCI通知到UE侧的。不同的设备厂家,算法不同,调度的结果会有差别。对于DCI1A格式,其中的字段“Localized/Distributed VRB assignment flag”就是用来表示当前采用的VRB分配方式(采用Type2分配方式),具体请参考博文《LTE下行物理层传输机制(5)-DCI格式的选择和DCI1A》。DC2、DC2A格式的VRB只能选择集中式分配(采用Type0或Type1分配方式)。

参考文献:

(1)3GPP TS 36.211 V9.1.0 (2010-03) Physical Channels and Modulation 

(2)3GPP TS 36.212 V9.4.0 (2011-09) Multiplexing and channel coding

LTE下行物理层传输机制(9)-集中式和分布式资源映射

标签:

原文地址:http://blog.csdn.net/m_052148/article/details/51994477

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!