Bootstrap

NR PRACH(五) type1 RA(4-step)基本过程

无线通信,最重要的前提是建立接收端和发射端之间的时间同步。NR中,DL同步一般在小区搜索过程通过decode PSS SSS PBCH(MIB),之后根据协议规定CORESET和 search space 去找SIB1,完成小区驻留的过程完成;这个过程可以获得小区信息,系统帧号,initial Rach参数等必要的信息,进而完成下行同步过程。 而随机接入过程的作用是完成上行同步,进而向网络端发送data 。随机接入包含CBRA 和CFRA两种方式。下面简单说明下两者的区别。典型的Contention Based RACH Procedure 如下 :

i) UE --> NW : RACH Preamble (RA-RNTI)msg1

ii)UE<--NW : Random Access Response (Timing Advance, T_C-RNTI, UL grant for L2/L3 message) msg2

iii) UE --> NW : L2/L3 message(UE ID)msg3

iv) Msg4 for early contention resolutionmsg4

假如两个UE 具有相同的RA-RNTI 且发送了相同的preamble 给网络,之后网络端在第二步又给UE发送了相同的msg2 (T-C-RNTI 和UL grant),两个UE会在相同的时频域资源发送msg3 ,至此对于网络端来说是一个冲突问题,两台UE用相同的资源和网络端通信显然是不能发生的,因此这时候就需要第三和四步,通过UE ID解解决这个冲突问题,确定网络端到底和哪一个UE进行进一步交流。这就是CBRA基本过程及其必要性。

对于CFRA,网络端会提前给配置UE preamble 等专用资源,这里就确保了不可能出现多台UE 拥有相同资源的情况,因而可以省去解决冲突的过程,过程也相对简单。CFRA基本过程:

i) UE<--NW:RACH Preamble (PRACH) Assignment

ii) UE-->NW : RACH Preamble (RA-RNTI)

iii)UE<--NW : Random Access Response (Timing Advance, C-RNTI, UL grant for L2/L3 message)

RA触发场景

RA具体过程主要是在38.321 5.1。如上是38.300中有关会引起RA过程的event总结,截止至R17,引起RA过程的event如上。

在NR R16 版本中,引入了2-step随机接入(2-step RACH),因此从NR 16开始,有两种类型的随机接入:

4-step RACH,也称为 Type-1 random access procedure

2-step RACH,也称为 Type-2 random access procedure

这两种类型的随机接入都支持:基于竞争的随机接入(CBRA)和基于非竞争的随机接入(CFRA)的2 step RACH接入。

对于同一个BWP,网络侧不能同时配置2-step和4-step的CFRA资源,另外只有handover场景支持CFRA 2-step RA。

UE在随机接入过程启动时要根据网络配置选择随机接入类型:

(1)当未配置CFRA资源时,UE使用RSRP threshold在2-step RA和4-step RA之间进行选择(在下一篇再详细贴出这步具体协议内容);

(2)当配置了4-step RA的CFRA资源时,UE以4-step RA执行随机接入;

(3)当配置了 2-step RA的CFRA资源时,UE 使用2-step RA执行随机接入。

4-step RA的MSG1由一个PRACH preamble组成。 MSG1 传输后,UE 在配置的RAR window内监视来自网络下发的RAR。 对于CFRA,MSG1传输会用网络端分配的dedicated preamble,然后在从网络接收到RAR后就结束随机接入过程。 对于CBRA,收到RAR后,UE 使用RAR中调度的UL grant 发送MSG3,并监听 Contention Resolution。 如果在 MSG3(重新)传输后Contention Resolution未成功,则UE重新进行MSG1的传输。

PRACH 资源的选择

UE获得随机接入所需配置后,可以发起初始随机接入流程,RA初始化完成后(设置完相关参数后),首先要选择Preamble资源

UE初始接入时:

(1)选择一个满足RSRP-Threshold要求的SSB,发起接入,如果都不满足RSRP-Threshold,则选择任意一个SSB。

(2)如果MSG3没有发送过,则根据潜在MSG3大小与ra-Msg3SizeGroupA判定是选择Group A还是Group B的Preamble资源;

(3)如果MSG3重传,则选择第一次传输时所用Group 的Preamble资源

(4)从当前SSB的Preamble Group中等概率的随机选择RA-PreambleIndex,这里也是进行CBRA的源头,如果有网络侧分配的dedicated preamble就会直接进行CFRA。

PRACH 资源的选择

UE获得随机接入所需配置后,可以发起初始随机接入流程,RA初始化完成后(设置完相关参数后),首先要选择Preamble资源

UE初始接入时:

(1)选择一个满足RSRP-Threshold要求的SSB,发起接入,如果都不满足RSRP-Threshold,则选择任意一个SSB。

(2)如果MSG3没有发送过,则根据潜在MSG3大小与ra-Msg3SizeGroupA判定是选择Group A还是Group B的Preamble资源;

(3)如果MSG3重传,则选择第一次传输时所用Group 的Preamble资源

(4)从当前SSB的Preamble Group中等概率的随机选择RA-PreambleIndex,这里也是进行CBRA的源头,如果有网络侧分配的dedicated preamble就会直接进行CFRA。

如上是CBRA的基本过程,下面以CBRA为例进行介绍

Msg1 - PRACH Preamble

PRACH power control

Msg1 的发送功率如上述,而Msg 3的发送要用到PUSCH power control。其中PREAMBLE_RECEIVED_TARGET_POWER=preambleReceivedTargetPower + DELTA_PREAMBLE + (PREAMBLE_POWER_RAMPING_COUNTER – 1) × PREAMBLE_POWER_RAMPING_STEP,这些参数都在SIB1中配置。

而Frequency domain location (resource) for PRACH Preamle由RRC parameter msg1-FDM 和 msg1-FrequencyStart决定,Time domain location (resource) for PRACH Preamle由 RRC parameter prach-ConfigurationIndex 决定。

DELTA_PREAMBLE 的确定

RA-RNTI 的计算

UE发送完Msg1,就需要用RA-RNTI去PDCCH上接收RAR相关的DCI 1_0,上图就是RA-RNTI的计算:

s_id 是PRACH 的起始符号索引(0<=s_id<14;t_id是系统帧内 PRACH occasion的起始slot 的索引(0<=t_id<80);f_id 是PRACH 频域位置索引(0<=f_id<80)

ul_carrier_id是Msg1 发送的上行载波指示(0 for NUL carrier, and 1 for SUL carrier)。

如果UE没有在RA-ResponseWindow 内成功接收到Msg2/在ra-ContentionResolutionTimer expiry前没有收到Msg4 /收到的Msg2的RAPID和Msg1不匹配/Msg4携带的UE ID(或加扰的C-RNTI)和Msg3不匹配,都是RA失败,会再次进行RA资源选择,重新发送Msg1(Preamble)。

Msg 1重传时会进行功率抬升PREAMBLE_POWER_RAMPING_STEP ++,当超过 preambleTransMax 时,会向RRC 报Random Access problem引起的RLF。

Msg 2 - RAR (PDCCH/PDSCH )

UE送完Msg1,紧接着就要收RAR。

1 gNB发送用RA-RNTI加扰的DCI给UE。

2 UE 尝试在RAR-window period内用RA-RNTI 检测 PDCCH (DCI) 接收RAR,DCI 1_0 。

3 Msg2 PDSCH Resource Allocation Type 是Resource Allocation Type 1。

4 PDSCH Time Domain Resource Allocation 由 DCI format 1_0(RA RNTI)和PDSCH-ConfigCommon K0,SLIV 决定,如上表所示。

5 SIB1 中会在 initialDownlinkBWP 中配置RA-SearchSpace 时频域资源用于RAR 的接收;

6 RAR-Window 由SIB1 中的IE rar-WindowLength 配置;

7 UE 成功decode PDCCH ,就可收到PDSCH 上的RAR;

8 收到RAR后, UE会检测RAR 中的RAPID in RAR 是否与UE RAPID一致。

RAR由DCI 1_0 调度,频域用resource allocation type 1;当使用DCI 1_1时,如果RRC 层参数pdsch-Config中 resourceAllocation 设置为dynamicswtich,这由收到的DCI 中的Frequency domain resource assignment 决定用resource allocation type 0 还是type 1;其他情况就参照resourceAllocation 中的设置,采用对应的type。

pdsch-Config(BWP级别配置)中 配置resourceAllocation,多出现在RRC Setup和RRCReconfiguration;在idle->connected 的RACH 情况,SIB1 配置小区级参数PDSCH-ConfigCommon,并不会配置resourceAllocation,一般使用DCI 1_0 调度,所以应用黄色字体部分用resource allocation type 1。

UE发送MSG1后,开始ra-ResponseWindow窗口,在窗口内检测RAR的调度

RAR包含三种MAC subPDU

(1)a MAC subheader with Backoff Indicator only;

(2)a MAC subheader with RAPID only(i.e. acknowledement for SI request);

(3)a MAC subheader with RAPID and MAC RAR.

其结构如上。

Backoff indicator

RA fail且RAR 中带有BI ,但RA过程还没有结束时,会进行BI 的设置,从[0,preamble_backoff] 均匀分布中选取一值,作为BI;如果在backoff 期间UE根据提供的Dedicated Preamble CFRA ,比如相关的Dedicated Preamble的SSB波束满足RSRP门限,忽略BI 直接进行RA资源选择;否则等BI超时后再进行下一次RA 过程。

MAC payload for Random Access Response

RAR 最重要的参数就是TA UL Grant 及TC-RNTI,上面TPC command主要涉及到Msg3 的PUSCH 功控 。

收到RAR 后 需不需要发送HARQ_ACK?

根据协议收到RAR后不需要发送HARQ ACK/NACK,实际中,如果UE没有再次发送PRACH ,则gNB认为UE 收到了RAR;否则,UE 会再次发送PRACH。

Step (3) : Msg3 (PUSCH)

发送 Msg3之前,GroupA GroupB 的选择:

(1)如果MSG3没有发送过,则根据潜在MSG3大小与ra-Msg3SizeGroupA判定是选择Group A还是Group B的Preamble资源;有配置Group B,Msg3 size 大于ra-Msg3SizeGroupA 时,就选择GroupB发送 ,否则选Group A;没有配置GroupB 就选择GroupA发送。

(2)如果MSG3重传,则选择第一次传输时所用Group 的Preamble资源

UE根据根据RRC参数msg3-transformPrecoder决定是否对Msg3应用transform precoding;之后UE在PUSCH 上发送 Msg3 携带UE ID。

如上分别是两本spec中msg3的定义,38.300中 说MSG3 是RA过程中的UE的第一次调度传输,而38.321中的描述则显得更为具体,Msg3是RA过程的一部分,msg3会在UL-SCH上传输,msg3中会包含C-RNTI MAC CE或CCCH SDU。这里的CCCH SDU主要是以上消息,都是由idle mode进入到connected mode时,UE侧发起的比较常见消息,只是要结合场景区分要发哪个消息。

NR中,如果UE处于RRC IDLE状态,UE标识是ng-5G-S-TMSI-part1或随机数(39位),如果UE处于RRC INACTIVE状态,UE标识是resume Identity(24位或40位)。具体规定如上图。

协议中规定,UE 收到RAR后根据UL grant 发送PUSCH data时,应该使用RV 0。Msg3 PUSCH 重传(有的话),要用TC-RNTI 加扰DCI 0_0 发送。在收到RAR 至发送PUSCH 之间的时隙间隔 为n+k2+ Δ。

RAR 与之后RAR UL grant 的PUSCH传输的符号间隔 为N_T,1+N_T,2+0.5 ms。

Step (4): Msg4 - Contention Resolution (PDCCH/PDSCH)

发送完Msg3后:开启ra-ContentionResolutionTimer;监听TC-RNTI 加扰的DCI;如果对应DCI 成功decode,之后解析出MAC CE,基站在MSG4通过UE Contention Resolution Identity MAC CE(48位)携带UE ID(如果长度超过48位,只取前48位),如果MSG4和MSG3携带的UE标识相同,UE认为竞争解决,随机接入成功。并将TC-RNTI 升级为C-RNTI......

Step (5) : HARQ ACK for Msg4

一旦成功解析Msg4,UE要在PDSCH 上发送对应的HARQ ACK,此时PDSCH的最后一个符号与HARQ-ACK的第一个PUCCH符号的间隔为N_T,1+0.5ms。

在LTE 时,UE发送MSG1 后,在随机接入响应窗口 RA-ResponseWindow范围内没有收到RAR,

UE需要重发MSG1,重发时,要进行功率攀升(Ramping)

38.321 5.1.2 RA 资源选择章节中 并没有找到针对CBRA Msg1失败后应该怎么做的描述;从5.1.3 章节中有看到一句如上描述,应该是在重传Msg1时,可能会重新选择SSB,当继续使用之前的SSB 时,需要进行功率攀升

如果切换了SSB ,则就不需要进行功率攀升。

;