. ..
.
本文涉及到的容有:
(1)UE在什么时候开始接收RAR
(2)怎么确定RA-RNTI
(3)UE没有收到RAR后的处理
(4)RAR的格式
1.UE监测RAR
文章《LTE-TDD随机接入过程(2)-前导码Preamble的格式与时频位置》已经详细说明了UE发送Preamble前导码的时频位置。当UE发出Preamble后,并不是立即准备接收RAR(Random Access Response),而是在发送前导码之后的第3个子帧之后才开始准备接收RAR。当然,UE也不可能一直等待RAR,如果UE连续检测了ra-ResponseWindowSize个子帧仍然没有收到RAR,则不再继续监测RAR信息。
the UE shall monitor the PDCCH for Random Access Response(s) identified by the RA-RNTI defined below, in the RA Response window which starts at the subframe that contains the end of the preamble transmission plus three subframes and has length ra-ResponseWindowSize subframes. ra-ResponseWindowSize参数由SIB2中的RACH-ConfigCommon字段带给UE,围是2-10个子帧,即UE最多连续监测RAR的时长是10ms。
z.
. ..
.
2.RA-RNTI的计算
eNB加扰RAR、UE解扰RAR的RA-RNTI并不在空口中传输,但UE和eNB都需要唯一确定RA-RNTI的值,否则UE就无法解码RAR,因此RA-RNTI就必须通过收发双都明确的Preamble的时频位置来计算RA-RNTI的值。
RA-RNTI: The Random Access RNTI is used on the PDCCH when Random Access Response messages are transmitted. It unambiguously identifies which time-frequency resource was utilized by the UE to transmit the Random Access preamble. 协议规定了RA-RNTI的计算公式为:RA-RNTI= 1 + t_id+10*f_id。
其中,t_id表示发送Preamble的起始位置的子帧ID号(围是0-9),f_id表示四元素组中的f_RA值(围是0-5),之前的文章《LTE-TDD随机接入过程(2)-前导码Preamble的格式与时频位置》已经详细描述了这两个值的具体含义。
eNB只要能解码出Preamble前导码,就能唯一确定t_id和f_id参数,也就能唯一确定RA-RNTI值。
3.UE没有收到RAR的处理
UE有可能在RAR的监测窗口没有解码到RAR消息,这有可能是eNB侧没有检测到PRACH中的Preamble信息,有可能是没有调度RAR信息,也有可能是下行无线链路有干扰导致UE解码RAR失败,无论是哪种原因,UE没有收到RAR是有可能发生的。
如果在RAR响应窗口没有收到RAR,或者收到的RAR中携带的Preamble并不是本UE之前发送的Preamble,那么表示UE本次接收RAR失败,UE将执行如下操作:
(1)将本地变量PREAMBLE_TRANSMISSION_COUNTER加1 z.
. ..
.
(2)如果PREAMBLE_TRANSMISSION_COUNTER变量=(preambleTransMax+1),那么将通知协议上层“本次RA失败”,不再执行(3)、(4)过程。这之后的流程,是继续执行新一次的RA过程,还是执行扫频选小区,甚至换网过程,协议并没有明确说明,由UE侧基带厂商自行决定。 (3)如果PREAMBLE_TRANSMISSION_COUNTER<(preambleTransMax+1),且之前的Preamble是由UE侧MAC选择的,那么UE将在0到backoff参数之间随机选择一个值,作为当前失败时刻到下一次发送Preamble时刻的时延。 (4)选择时频资源位置,重新发起RA过程。 从上述过程可以看到,UE侧在每次RA过程中,会维护一个计数器
PREAMBLE_TRANSMISSION_COUNTER,围是【0,preambleTransMax】,一旦超过preambleTransMax值,则表示本次RA失败。preambleTransMax参数表示本次Preamble发送(含重传)的最大次数,和
ra-ResponseWindowSize参数一样,也是包含在SIB2中的RACH-ConfigCommon字段中,见上文截图。
围从3到200不等,一般取5次即可。
backoff参数表示上次接收RAR失败到下次重新发送Preamble之间的最大延时,单位是ms,eNB侧的MAC层通过RAR消息配置到UE。围是0-960ms。如果值属于Reserved,则按照960ms处理。
前导码的发送和重传时机如下图所示。
z.
. ..
.
MSG1每次发送前导码的功率值PREAMBLE_RECEIVED_TARGET_POWER计算如下:
PREAMBLE_RECEIVED_TARGET_POWER = preambleInitialReceivedTargetPower +DELTA_PREAMBLE + (PREAMBLE_TRANSMISSION_COUNTER – 1) *powerRampingStep 其中,
PREAMBLE_TRANSMISSION_COUNTER是当前MSG1的传输次数,第一次(新传)时,PREAMBLE_TRANSMISSION_COUNTER被设置为1。
preambleInitialReceivedTargetPower表示初始功率值,围从-120dBm到-90dBm不等。
powerRampingStep表示功率抬升因子,围从0dB到6dB不等。
上述三个参数都由SIB2中的RACH-ConfigCommon字段带给UE,见前文截图。
DELTA_PREAMBLE是一个功率偏移量,与Preabmle的格式相关。
z.
. ..
.
4.RAR的格式
随机接入过程中的MAC PDU包含3个部分:MAC头、payload(1个或多个RAR单元)和可选的填充padding。
MAC头包含1个或多个MAC子头,但只能有1个子头可以包含Backoff Indicator,且这个子头只能放在第一个子头位置。其他没有包括Backoff Indicator的子头均对应一个RAR单元。如下图所示。之所以将BI子头放在第一个子头位置,我想可能是为了减少UE侧的处理时间,比如存在这种情况:UE1-UE10共10个UE同时接入,如果将UE1的RAPID子头不放在第一个位置,那么UE1还要遍历接下来的所有子头,读取每个子头的E值和T值,才能知道这个RAR有没有携带BI子头,而如果规定BI子头固定放在第一个位置,那么UE1在解码BI子头和自己的RAPID子头后,就不需要关心余下所有子头的T字段了。
带BI(Backoff Indicator)参数的MAC子头,由E/T/R/R/BI组成,而其他的子头则由E/T/RAPID组成,如下图所示。需要注意的是,在没有解码到任BI值的时候,UE本地使用的BI参数是0ms,而如果一旦解码成功RAR,无论这个RAR是否携带了本UE的Preamble,UE都要存下本次解码得到的BI,以备重传Preamble的时候使用。但一旦重新发起RA过程,UE侧BI参数都将被复位为0ms。
z.