1.什么是前导码Preamble
前导码Preamble是UE在物理随机接入信道中发送的实际内容,由长度为Tcp的循环前缀CP和长度为Tseq的序列Sequence组成。
2.前导码Preamble格式
LTE-TDD的前导码有5种格式,分别是Preamble Format 0/1/2/3/4,如下图所示。
从上面协议给出的这张表格中,可以推导出以下几个信息:
(1)每种前导码格式占用的子帧个数。因为TDD-LTE的每个子帧时长是30720Ts,从表中可以得出,前导码格式0的Preamble时间=3168Ts+24576Ts=27744Ts<30720Ts,只需要占用1个上行子帧,同样可以计算得到,前导码格式1、2需要占用2个上行子帧,前导码格式3则需要占用3个上行子帧才能发完。特殊地,前导码格式4只能在UpPTS中使用,即LTE-FDD没有格式4。
(2)每种前导码支持的最大小区半径。因为每个子帧的长度是30720Ts,去掉前导码占用的时间,那么前导码格式0还剩下的保护时间GT=(30720-3168-24576)Ts=2976Ts=2976*[1/(15000*2048)]s=96.875us。之所以空出一部分的保护间隔,在于随机接入之前,UE还没有和eNB完成上行同步,UE在小区中的位置还不确定,因此需要预留一段时间,以避免和其他子帧发生干扰。考虑eNB和UE之间的往返传输,因此最大小区半径=(3.0*10^8) m/s * 96.875 us / 2 = 14.53 km。同理,可以计算得到其他前导码格式的最大小区覆盖半径。因此,不同的小区覆盖半径,可以选择不同的前导码格式。这也是为什么前导码要分不同格式的原因。
(3)每种PRACH的持续时间。比如Preamble格式0,它的前导码持续时间=(3168+24576)Ts=0.9031ms,这与协议36101-6.3.4.2.1的数据相符。同时,从这个持续时间也可以印证每种前导码格式所占的子帧个数。
(4)前导码格式4的使用。上面的表中可以看到,格式4的前导码时长=(448+4096)Ts=4544Ts。协议明确规定,格式4只能在4384Ts或5120Ts的UpPTS上传输。36211-Table4.2-1给出了各种特殊子帧配置下的Ts长度。从表格中可以看到,当下行CP=上行CP=normal CP的时候,特殊子帧配置5、6、7、8配置的UpPTS时长满足条件;当下行CP=上行CP=extended CP的时候,特殊子帧配置4、5、6配置的UpPTS时长满足条件。
特殊子帧配置Special subframe configuration参数在SIB1的TDD-Config信元中,如下图。
UE在解码SSS(Secondary Synchronization Signal,辅同步信号,以后再写这块内容)的时候,可以确定下行normal CP值。SIB中的ul-CyclicPrefixLength参数用于配置上行CP类型。一般情况下,上行和下行的CP类型相同。
需要注意的是,当CP类型为normal时,UpPTS的长度=4384Ts<格式4的前导码时长4544Ts,所以协议规定了,前导码格式4时,Preamble数据从UpPTS结束前的4832Ts处开始,因此这个时候需要占用部分GP(Guard Period)时间。如下图所示。可以推导出,格式4的小区最大覆盖半径是(4832-4544)Ts*(3.0*10^8)/2=1.406km。
经过上述几个步骤的推导和说明,可以整理得到下面这个表格。
上面已经说过,不同的GT保护时间决定了小区的最大覆盖半径,GT时间越长,小区的覆盖面积越大,这个结论从下图这张示意图中也可以看出来。三个不同位置的UE1/2/3同时向eNB发送前导码,那么eNB首先会收到近端UE1的请求,最后收到UE3的前导码。如果有个UE4,距离比UE3还要远,此时eNB无法收到完整的前导码,UE4将无法接入到该小区。
3.UE和eNB确定当前使用哪种前导码
PRACH configuration Index参数决定了前导码的格式。从协议表格Table 5.7.1-3中可以看到,PRACH configuration Index值为0~19时,使用Preamble Format 0;PRACH configuration Index值为20~29时,使用Preamble Format 1;PRACH configuration Index值为30~39时,使用Preamble Format 2;PRACH configuration Index值为40~47时,使用Preamble Format 3;PRACH configuration Index值为48~57时,使用Preamble Format 4。
因为PRACH configuration Index参数来自于RRC层的SIB2消息(36331协议),所以UE和eNB侧都会有同样的一套参数。PRACH configuration Index的具体参数路径是:SystemInformationBlockType2->radioResourceConfigCommon->RadioResourceConfigCommonSIB->prach-Config->PRACH-ConfigSIB->prach-ConfigInfo->prach-ConfigIndex。
4.UE会在什么时候什么位置发Preamble
UE发送前导码的时刻和位置由PRACH configuration Index参数(范围0-63,具体路径见前文)和上下行子帧配置UL/DL configuration参数共同决定。UL/DL configuration参数同样来自于RRC层的SIB1消息(36331协议),具体参数路径是:SystemInformationBlockType1->tdd-Config->TDD-Config->subframeAssignment。
36211-Table5.7.1-4给出了前导码的位置与PRACH configuration Index和UL/DL configuration两个参数之间的关系,因该表占篇幅较大,只截图部分,不影响理解。
从Table5.7.1-4中可以看到,根据PRACH configuration Index和UL/DL configuration参数,可以获取一个或多个四元素数组,分别对应参数(f_RA, t0_RA, t1_RA, t2_RA)。
t0_RA表示PRACH出现的帧位置,=0表示出现在所有的无线帧中,=1表示出现在偶数无线帧,=2表示出现在奇数无线帧。
t1_RA表示PRACH出现的帧内位置,=0表示PRACH资源是位于第一个半帧,=1表示位于第二个半帧。
t2_RA表示前导码开始处的上行子帧号,在两个连续上下行切换点间的第一个上行子帧表示为0。即2号子帧和7号子帧值=0。上下行子帧配置等于1时,t0_RA/t1_RA/t2_RA三个参数的含义如下图所示。
f_RA是一个频率位置系数,用于计算PRACH占用的RB起始位置n_RA_PRB。PRACH固定占6个RB,因此LTE支持的带宽不能少于6个RB(Each random access preamble occupies a bandwidth corresponding to 6 consecutive resource blocks for bothframe structures.)。有了n_RA_PRB这个参数,就可以知道PRACH在频域上的位置[n_RA_PRB,n_RA_PRB+5],有了t0_RA/t1_RA/t2_RA这三个参数,UE就可以知道在哪个子帧发送PRACH,eNB也会去相应的子帧上盲检测PRACH信息。对于有多个四元素数组的情况,eNB需要对每个可能的位置进行盲检测。
计算PRACH起始RB位置n_RA_PRB的公式如下:
公式中的各参数说明:
(1)n_RA_PRBoffset由RRC的prach-FreqOffset(范围0~94)参数决定,与PRACH configuration Index参数属于同一个结构体,因此获取参数路径也是相同:SystemInformationBlockType2->radioResourceConfigCommon->RadioResourceConfigCommonSIB->prach-Config->PRACH-ConfigSIB->prach-ConfigInfo->prach-FreqOffset。
(2)f_RA、t1_RA直接从Table5.7.1-4的四元素组中查表获得。
(3)N_UL_RB是带宽RB个数,与DL_bandwidth值相同,如果是20M带宽,则值=100。
(4)N_SP是下行向上行切换点的点数,与上下行子帧配置UL/DL configuration参数相关,因此只有前导码4才会用到。比如上下行子帧配置1,那么N_SP=2,因为在子帧1和子帧6完成了2次下行向上行的切换。只有在上下行子帧配置3、4、5的时候,N_SP=1。
(5)n_f表示当前的系统帧号。
至此,UE和eNB就可以明确的知道PRACH的发送/接收位置了。以带宽20M,prach-FreqOffset=0,PRACH configuration Index=9,UL/DL configuration=2举例说明,此时(f_RA, t0_RA, t1_RA, t2_RA)有三种值,分别是(0,0,0,0),(0,0,1,0)和(1,0,0,0)。
对应的频域位置:
f_RA=0时,n_RA_PRB=0+6*0=0,
f_RA=1时,n_RA_PRB=100-6-0-6*0=94。
对应的时域位置:
(0,0,0,0):PRACH占用从k=0开始到k=5的连续6个RB块,时域L是每个无线帧的2号子帧。
(0,0,1,0):PRACH占用从k=0开始到k=5的连续6个RB块,时域L是每个无线帧的7号子帧。
(1,0,0,0):PRACH占用从k=94开始到k=99的连续6个RB块,时域L是每个无线帧的2号子帧。即PRACH的位置如下图。
5.eNB侧实现
为避免PRACH与其他UE的上行业务RB冲突,eNB调度PUSCH时一般会避开PRACH占用的可能RB位置。另外,为了减少盲检测处理时长、增加PUSCH可用的RB个数,可以选择只有一种四元素数组的配置。
6.参考文献
(1)3GPP TS 36.211 V9.1.0 (2010-03) Physical Channels and Modulation
(2)3GPP TS 36.331 V9.18.0 (2014-06) Radio Resource Control (RRC)
(3)3GPP TS 36.101 V9.14.0 (2012-12) User Equipment (UE) radio transmission and reception
(4)http://www.sharetechnote.com
(5)http://lteuniversity.com/get_trained/expert_opinion1/b/hongyanlei/archive/2010/12/21/cell-size-configuration-in-random-access-procedure-i-preamble-format.aspx