PUSCH跳频
LTE中, PUSCH传输通过跳频可以提高分集。在上行资源分配类型中已经介绍过,上行资源分配类型1通过将2个RB集合分布在频域上不同的位置来实现频域分集,且不支持PUSCH跳频。而上行资源分配类型0分配的是频域上连续的VRB,需要通过跳频的方式将VRB映射到PRB,从而实现频率分集。
PUSCH跳频(PUSCH frequency hopping)的触发条件为:只有当DCI format 0中的“Frequency hopping flag”字段设置为1,且使用上行资源分配类型0(“Resource allocation type”字段设置为0)时,UE才会进行PUSCH跳频,否则UE不会进行PUSCH跳频。 DCI format 4是不支持PUSCH跳频的。
LTE中定义了2种PUSCH跳频类型:
- 类型1(Type 1):基于UL grant中明确的跳频信息进行跳频; - 类型2(Type 2):根据小区特定的跳频/镜像样式进行基于subband的跳频。
首先,如何确定是使用类型1还是使用类型2的跳频呢?
DCI format 0有一个资源分配字段(“Resource block assignment and hopping resource allocation”字段),如果使能跳频的话,该字段最高1或2 bit(MSB,用NUL_hop表示,称之为hopping bit)是用于指示跳频信息,具体选择1 bit 还是2 bit与上行系统带宽相关,如下表所示。(见36.213的Table 8.4-1)
Table 8.4-1: Number of Hopping Bits NUL_hop vs. System Bandwidth
System BW #Hopping bits for 2nd slot RA (NUL_hop) 6-49 50-110 1 2 NULRB
hopping bit用于指示使用的PUSCH跳频类型是类型1还是类型2。
~(i),如下表所示。(见如果使用的是类型1,hopping bit还决定了nPRB36.213的Table 8.4-2)。
Table 8.4-2: PDCCH DCI Format 0 Hopping Bit Definition
System BW NULRB 6 – 49 Number of Hopping bits 1 Information in hopping bits 0 1 00 ~(i) nPRB?NPUSCH/2?n~S1(i)?modNPUSCH, ?RB?PRBRB??????N Type 2 PUSCH Hopping PUSCHRB~S1(i)modNPUSCH /4??nPRBRB?50 – 110 2 01 10 11 ??NPUSCH/4?n~S1(i)?modNPUSCH ??RBPRBRB???NPUSCH/2?n~S1(i)?modNPUSCH ?RB?PRBRB?? Type 2 PUSCH Hopping ????
从上图可以看出LTE中可用的上行系统带宽与hopping bit取值以及PUSCH跳频类型的对应关系为:
上行系统带宽(RB) 6、15、25 hopping bit取值 0 跳频类型 Type 1 1 00 50、75、100 01 10 11 Type 2 Type 1 Type 1 Type 1 Type 2
DCI format 0中的资源分配字段除去用于跳频信息的1或2 bit后,剩
ULUL(NRB?1)/2)??NUL_hop。剩余的bit携带的是RIV余的比特数为y??log2(NRB值,用于计算RBSTART和LCRBs。(详见上行资源分配类型0的介绍)
接着,我们来确定是跳频的范围?
既然是PUSCH跳频,那跳频的范围只能限定在那些用于PUSCH的RB上,而不能跳频到那些用于PUCCH的RB上,否则会把PUCCH的数据给破坏了。
在进行上行资源分配时,PUCCH通常位于上行频域的两端。这里有2种可能:偶数个RB pair分配给PUCCH,和奇数个RB pair分配给PUCCH。下图是这2种情况的举例:
图1:上行频域分配举例
如果只分配了奇数个RB pair给PUCCH,则会有额外的一个RB pair不能用于PUSCH跳频,如图中标记为灰色的部分。
为了计算出那些用于PUSCH的RB,需要把PUCCH所占的RB pair(以及灰色的部分)给剔除掉。
PUCCHHO 协议中使用NRB表示PUCCH在频域上所占的RB数NRB(或者说RB
pair数),其值是通过pusch-hoppingOffset配置的。
HO 需要剔除掉的不能用于PUSCH传输的RB数NRB的计算公式为:
~
PUSCH 可用于PUSCH传输的RB数NRB(称之为跳频带宽:hopping
bandwidth)按如下方式计算:
PUSCHNRB~HOULUL?NRB?NRB?NRBmod2?UL??NRB?UL~HO?NRB?NRB??Type1PUSCHhoppingType2Nsb?1PUSCHhopping Type2Nsb?1PUSCHhopping
从上面的公式也可以看出,跳频带宽并不能覆盖整个上行系统带宽,这是因为上行频带的两端要预留一部分RB给PUCCH使用。
进行PUSCH跳频的UE会从同一TB的最近一个DCI format 0的资源分配字段(“Resource block assignment and hopping resource allocation”字段)中,确定用于一个子帧的第一个slot(S1)的PUSCH资源分配(RA),该RA包含了该子帧的最小索引PRB(lowest index
S1PRB)信息nPRB(n)。
注: “最近一个DCI format 0”主要是针对上行非自适应重传而言的。新传或上行自适应重传都有一个对应的DCI,用于明确地指定如何进行传输。而对于上行非自适应重传,必须依赖对应同一TB的最近一个DCI format 0来决定如何进行PUSCH跳频。
如果针对同一TB,没有相应的PDCCH,UE会基于如下方式确定其跳频类型:
- 如果同一TB的初始PUSCH传输是半静态调度的,则UE会从最近接收到的用于上行半静态调度的PDCCH中获取跳频信息;(该PDCCH中与跳频相关字段的解析与动态调度中的DCI format 0是一致的)
- 如果PUSCH传输是由RAR中的授权指定的,则UE会从用于同一TB的RAR中的授权中获取跳频信息。(可参见《随机接入过程》的介绍)