本文涉及到的内容有:
(1)怎么解析RIV中的RB资源
(2)前导码Preamble区分A、B两个组
(3)UE选择前导码资源的过程
1.解析RIV获取RB资源
上一篇文章《LTE-TDD随机接入过程(3)-RAR(MSG2)》中提到了RAR的信元结构,其中20bits的UL_GRANT包含了MSG3所占资源的RB、调制方式、功控等参数,这里具体介绍编码和解析RIV(Resource Indication Value)。
UL_GRANT包含的内容如下表所示,RIV占其中的10bits。
- Hopping flag – 1 bit,指示PUSCH是否执行跳频。(本文不考虑跳频) - Fixed size resource block assignment – 10 bits,指示MSG3的RB资源分配,有时候也称RIV参数。 - Truncated modulation and coding scheme – 4 bits,指示MSG3使用的MCS。 - TPC command for scheduled PUSCH – 3 bits,指示PUSCH的TPC参数。 - UL delay – 1 bit。指示MSG3发送时刻。 《LTE-TDD HARQ(1)-上行HARQ时序》已经详细介绍了这个参数的具体含义。 - CQI request – 1 bit。指示UE是否上报CQI。 |
协议36213-8.1给出了RIV的计算公式,如下图所示。其中N_UL_RB是上行带宽的RB个数,该参数由SIB2中的ul_Bandwidth配置到UE,比如20M带宽,N_UL_RB=100。eNB侧根据调度生成的RB位置(RBstart)和长度(Lcrbs),代入该公式,就可以得到RIV值,然后填入UL_GRANT中的“Fixed size resource block assignment”字段即可。
UE侧根据上述公式,就可以反推出MSG3所要使用的RB位置和长度。除了MSG3,后续eNB通过DCI0(以后再单独介绍DCI内容)调度的PUSCH资源,都是通过这个方法进行编码和解析的。
需要注意的是,填写码流的时候,左侧(或低字节)的bit位是MSB,右侧(或高字节)的bit位属于LSB。
A MAC PDU is a bit string that is byte aligned (i.e. multiple of 8 bits) in length. In the figures in subclause 6.1, bit strings are represented by tables in which the most significant bit is the leftmost bit of the first line of the table, the least significant bit is the rightmost bit on the last line of the table, and more generally the bit string is to be read from left to right and then in the reading order of the lines. The bit order of each parameter field within a MAC PDU is represented with the first and most significant bit in the leftmost bit and the last and least significant bit in the rightmost bit. |
另外,协议只给RIV定义了10bits的空间,一方面是考虑节省RAR的信令开销,另一方面也说明了传输MSG3的过程中,并不需要eNB分配太多的RB个数。
2.前导码区分GroupA和GroupB两个组
因为eNB在收到Preamble之后就通过RAR消息配置MSG3的PUSCH资源,在给UE分配RB资源和MCS调制方式的时候,并不知道接下来UE发送的MSG3的数据量大小。如果分配的太多,则浪费资源,分配的太少,可能又不够。因此协议在这里对竞争中使用的前导码做了分组处理,不同的Group可以采用不同的RB+MCS调度组合,从而为eNB侧的调度提供了参考。
跟分配前导码相关的参数出现在SIB2中的RACH-ConfigCommon信元中。其中,
numberOfRA-Preambles参数表示该小区竞争接入过程中可以使用的前导码总个数,范围是4-64。
sizeOfRA-PreamblesGroupA参数表示GroupA的前导码个数,范围是4-60。
从sizeOfRA-PreamblesGroupA参数的范围是4-60可以知道,GroupA是一定存在的,至少有4个前导码属于A组。一旦sizeOfRA-PreamblesGroupA参数确定,那么GroupA的前导码集合就是【0,sizeOfRA-PreamblesGroupA-1】。GroupB是可选的,它的前导码范围是【sizeOfRA-PreamblesGroupA,numberOfRA-Preambles-1】。如果eNB配置的参数numberOfRA-Preambles=sizeOfRA-PreamblesGroupA,那么该小区就不存在Group B,竞争接入的前导码全部属于GroupA。
举个例子说明组A和组B的相互关系。当numberOfRA-Preambles=36,sizeOfRA-PreamblesGroupA=16时,组A和组B的划分如下所示。需要注意的是,eNB在配置参数的时候,应该要预留出非竞争接入的前导码集合,不应该全部配置给竞争前导码。另外,考虑到eNB侧盲检测的处理时延,配置的前导码个数可能有一定的限制。
3.UE选择前导码资源的过程
UE将按照下面的过程来选择前导码资源:
(1)如果ra-PreambleIndex和ra-PRACH-MaskIndex参数被显式指示,且ra-PreambleIndex不等于0,则选择显式指示的前导码和PRACH Mask Index参数。 |
说明:eNB通过DCI1A下发非竞争随机接入过程使用的前导码资源(协议36212),这些资源信息通过ra-PreambleIndex和ra-PRACH-MaskIndex参数来表示。
ra-PreambleIndex表示UE需要使用的前导码ID值,ra-PRACH-MaskIndex参数表示UE使用的PRACH位置,如下表所示,最多可有6个位置可选。在文章《LTE-TDD随机接入过程(2)-前导码Preamble的格式与时频位置》中提到了PRACH四元素组的概念,这个ra-PRACH-MaskIndex参数就是用来指示UE具体在第几个四元素组所指示的PRACH资源中发送前导码。
如果eNB侧配置给UE的ra-PreambleIndex等于0,那么表示当前不能进行非竞争接入,UE需要执行竞争随机接入。
(2)如果不满足条件(1),则按照下面的要求选择前导码资源: (2.1)如果当前还没有发送过MSG3,那么如果存在前导码组B,而且将要传输的MSG3的数据大小(含必要的MAC头、控制信息)大于messageSizeGroupA参数,并且路损小于等于(PCMAX – preambleInitialReceivedTargetPower – deltaPreambleMsg3 – messagePowerOffsetGroupB),那么选择前导码组B;否则选择前导码组A。 |
其中,
messageSizeGroupA参数表示组A的数据大小,单位是bit,范围从56bits到256bits不等,参考前文截图。
PCMAX表示UE配置的最大输出功率。
preambleInitialReceivedTargetPower表示初始发送功率,范围从-120dBm到-90dBm不等,参考前文截图。
deltaPreambleMsg3参数由SIB2下发,值的范围是-1到+6。在带入公式计算路损的时候,需要将该值*2[dB]。比如空口中的参数值=2,那么实际公式中的值=4dB。
messagePowerOffsetGroupB参数是选择前导码的门限参数,单位是dB,与preambleInitialReceivedTargetPower参数一起,由SIB2下发,见前文截图。
从上文分析可以看到,如果要选择前导码组B,除了待传数据量超过组A的要求外,还要满足条件:路损<=(最大输出功率-初始功率-门限功率-偏移功率)。
(2.2)否则,如果已经发出过MSG3(即本次选择前导码资源的时候发现是在重传MSG1),那么本次选择的前导码组必须和第一次发送前导码时候选择的组相同。 (2.3)在所选择的组A或组B中,随机选择一个前导码。之所以随机选择一个,一方面是因为同组内的前导码选哪个都可以,eNB一视同仁,不影响MSG3的资源分配,另外一个原因是为了增加随机性,降低与同小区其他UE形成竞争冲突的可能性。 (2.4)设置PRACH Mask Index=0。 |
至此,UE侧完成了前导码组的选择过程,下面UE将继续选择PRACH的时频资源。时频资源的计算过程已经在《LTE-TDD随机接入过程(2)-前导码Preamble的格式与时频位置》中有详细描述,这里不再详说。
(3)根据prach-ConfigIndex(该参数影响前导码格式和PRACH位置)和PRACH-MaskIndex参数(决定如何从多个PRACH资源中选择其中的一个),以及物理层的时序要求,确定下一个可用的PRACH子帧。为方便后文描述,这里将该PRACH子帧记作子帧U。 (4)如果当前是LTE-TDD制式,并且PRACH-MaskIndex参数=0,那么: (4.1)如果ra-PreambleIndex被显式指示,且值不等于0(即执行非竞争随机接入过程),那么UE在PRACH子帧中随机选择一个PRACH资源。前文截图Table 7.3-1中的All的含义就表示UE可以随机选择任意一个四元素组所在的PRACH资源。 (4.2)否则,在已选择的PRACH子帧U以及接下来的两个连续子帧中的所有可用的PRACH资源中,等概率随机选择一个PRACH资源。 |
(5)否则,根据PRACH-MaskIndex参数选择指定的PRACH资源。参考前文截图Table 7.3-1。 (6)执行随机接入前导码传输过程。 |
4.参考文献
(1)3GPP TS 36.321 V9.6.0 (2012-03) Medium Access Control (MAC) protocol specification
(2)3GPP TS 36.213 V9.3.0 (2010-09) Physical layer procedures
(3)3GPP TS 36.331 V9.18.0 (2014-06) Radio Resource Control (RRC)
(4)3GPP TS 36.101 V9.14.0 (2012-12) User Equipment (UE) radio transmission and reception
(5)3GPP TS 36.212 V9.4.0 (2011-09) Multiplexing and channel coding