5G-NR-PRACH学习

《咒术回战》 - 三人组

1 PRACH 信道

1.1 PRACH preamble 生成

LTE系统中使用Zaddof-Chu (ZC) 序列作为PRACH信道的上行同步序列,因为其具有良好的自相关互相关性恒幅低峰均比等特性。

自相关:对于任意ZC原始序列与其循环移位n位后所得到的序列互不相关;
互相关:互相关和部分相关值接近零,便于接收端准确地把所需的信号检测出来;
恒幅低峰均比:保证相应带宽内的每个频点经理相同的激励,便于实现想干检测中的无偏估计;
在PRACH信道上发送的ZC序列,也被称为PRACH Preamble,前导码。LTE支持两种长度的ZC序列,根据根索引序列,通过循环移位生成多个序列
$$
N_{ZC} = 839\N_{ZC} = 139
$$
NR 中的PRACH信道沿用了LTE的ZC序列设计,支持两种长度ZC序列,和LTE一致,也通过循环移位生成多个序列,只是符号名称不同,含义都是相同的。
$$
L_{RA} = 839\L_{RA} = 139
$$

ZC 序列定义:$x_u(i) = e^{-j \frac{\pi u(i+1)}{L_{RA}}},i = 0,1,…,L_{RA}-1$

经过循环移位后,ZC序列集合为:$x_{u,v}(n)=x_u((n+C_v)modL_{RA})$

具体的生成流程如下图所示:

举例说明,参数如下:
prach-ConfigurationIndex 2
zeroCorrelationZoneConfig = 6
restrictedSetConfig unrestrictedSet
prach-RootSequenceIndex l839 : 20

首先根据 prach-ConfigurationIndex 2 ,查表[TS 38.211 Table 6.3.3.2-2] 可知 Format 0 即long symbol 类型,也就是$L_{RA} = 839$, 之后查表[TS 38.211 Table 6.3.3.1-3]
根据 prach-RootSequenceIndex l839 : 20 可知:$u = 2$ , 并通过ZC序列定义公式生成$x_2(n)$序列。

zeroCorrelationZoneConfig = 6;restrictedSetConfig unrestrictedSet
查表[TS 38.211 Table 6.3.3.1-1]可知$\Delta f_{RA} = 1.25$KHz
再查表[TS 38.211 6.3.3.1-5]可知$N_{CS} = 32$。

根据公式可知$v = 0,1,…,\lfloor L_{RA}/N_{CS} \rfloor - 1 = 0,1,…,\lfloor 839/32 \rfloor -1 = 0,1,…,25$,所以$C_v = v \cdot N_{CS} = v \cdot 32 = [0,32,64,…,800]$,这样可以获得 $x_2(n)$ 的26种循环移位后的序列,也就是获得了26个preamble 序列。

因为 26 < 64,所以根索引会递增为 prach-RootSequenceIndex l839 : 21,对应的$u = 837$,操作与上文相同,又可以生成26个preamble序列。
因为 52 < 64,所以根索引会递增为 prach-RootSequenceIndex l839 : 22,对应的$u = 1$,操作与上文相同,这次只用生成12个preamble序列即可。

经过以上步骤,就获得了64个preamble序列,对其做DFT就是其频域表达。

1.2 PRACH preamble 格式

Preamble总体上分为两大类,long preamble和short preamble,分别对应$L_{RA} = 839,L_{RA} = 139$。其中long preamble分为四种Format,分别为Format 0/1/2/3,short preamble分为九种A1/A2/A3/B1/B2/B3/B4/C0/C2。配置如下表所示:

需要的一些基础参数如下:
$$
T_c = 1/(\Delta f_{max}\cdot N_f) = 1/(480\times 10^3\cdot 4096) = 0.509ns = 0.509\times10^{-6}ms\T_s = 1/(\Delta f_{ref}\cdot N_{f,ref}) = 1/(15\times 10^3\cdot 2048) = 32.552ns = 32.552\times10^{-6}ms\K = \frac{T_s}{T_c} = 64
$$

Preamble结构一般由三部分组成:Cyclic Prefix(CP) + Preamble Sequence (重复) + Guard Period(GP),其中核心部分preamble sequence可能重复多次,取决于不同的Format。

PRACH preamble 格式
特点
long preamble
Format 0
时长1ms; 用于普通场景
Format 1
时长3ms; 用于超远距离覆盖场景
Format 2
时长3.5ms; 其中sequence重复发送4次,用于需要覆盖增强场景(如室内)
Format 3
时长1ms; 用于高速移动场景
short preamble
Format A1/A2/A3
时长和2,4,6个OFDM符号对齐; 没有GAP; 用于覆盖距离较近,UE位置集中的场景
Format B1/B2/B3/B4
时长和2,4,6,12个OFDM符号对齐; 有GAP
Format C0/C2
时长和2,6个OFDM符号对齐; 有GAP,且相对于其他类型较长; 用于较远距离场景

以下为各种格式的细节:图片摘自ShareTechnote

long preamble 分为四种 Format , 分别为 Format 0/1/2/3

Format 0:

![](5G-NR-PRACH学习/p2-Format 0.png)

Format 1:

![](5G-NR-PRACH学习/p3-format 1.png)

Format 2:

Format 3:

![](5G-NR-PRACH学习/p5-format 3.png)

short preamble 分为九种 Format A1/A2/A3/B1/B2/B3/B4/C0/C2

格式 A 没有定义GAP,适用于覆盖距离较近,UE位置集中的场景

Format A1: PRACH时长和 2 OFDM symbol 对齐

![](5G-NR-PRACH学习/p6-format A1.png)

Format A2: PRACH时长和 4 OFDM symbol 对齐

![](5G-NR-PRACH学习/p7-format A2.png)

Format A3: PRACH时长和 6 OFDM symbol 对齐

![](5G-NR-PRACH学习/p8-format A3.png)

格式B 定义了GAP

Format B1: PRACH时长和 **2 OFDM symbol **对齐

![](5G-NR-PRACH学习/p9-format B1.png)

Format B2: PRACH时长和 **4 OFDM symbol **对齐

![](5G-NR-PRACH学习/p10-format B2.png)

Format B3: PRACH时长和 6 OFDM symbol 对齐

![](5G-NR-PRACH学习/p11-format B3.png)

Format B4: PRACH时长和 12 OFDM symbol 对齐

![](5G-NR-PRACH学习/p12-format B4.png)

格式C 定义了GAP,且GAP保护时长较大,适用于覆盖距离较远的场景

Format C0: PRACH时长和 2 OFDM symbol 对齐

![](5G-NR-PRACH学习/p-13format C0.png)

Format C2: PRACH时长和 6 OFDM symbol 对齐

![](5G-NR-PRACH学习/p14-format C2.png)

补充: 如果PRACH Format指示为 A1/B1,A2/B2,A3/B3(混合格式)时,则一个PRACH时隙中最后一个PRACH Occasion 为Format B1/B2/B3,一个PRACH时隙中,前面位置的PRACH Occasion为Format A1/A2/A3。(Format A1/2/3,B1/2/3时长一致(2/4/6 OFDM 符号),差别在于CP和GAP长度,Format A 无GAP)

1.3 映射到物理资源

PRACH信道时域信号定义如下:
$$
s_l{(p,\mu)}(t)=\sum_{k=0}{L_{RA}-1}{a_k}^{(p,RA)}\cdot e^{j2\pi(k+Kk_1+\overline k)\Delta f_{RA}(t-N_{CP,l}{RA}T_c-t_{start}{RA})}\K = \Delta f/\Delta f_{RA}\k_1 = k_0\mu+N_{BWP,i}{start}N_{sc}{RB}+n_{RA}N_{RB}{RA}N_{sc}{RB}-N_{grid}{size,\mu}N_{sc}{RB}/2\k_0\mu = (N_{grid}{start,\mu}+N_{grid}{size,\mu}/2)N_{sc}{RB}-(N_{grid}{start,\mu_0}+N_{grid}{size,\mu_0}/2)N_{sc}{RB}2^{\mu_0-\mu}
$$

其中 $t_{start}^{RA}\leq t <t_{start}{RA}+(N_u+N_{CP,l}{RA})T_c$
$\alpha_k^{(p,RA)} = \beta_{PRACH}\cdot y_{u,v}(k)$

$t_{start}^{RA}$ 表示PRACH preamble

  • 在一个子帧中的开始位置 — ( $\Delta f_{RA} \in {1.25,5,15,30}$KHz )
  • 或者在一个60 KHz的时隙中的位置 — ( $\Delta f_{RA} \in {60,120}$KHz )

1.3.1 时域资源映射

从公式着手:
$$
t_{start}^{RA} = t_{start,l}^\mu \t_{start,l}^{\mu} = \begin {cases} 0 \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad l = 0\ t_{start,l-1}^\mu +(N_u^\mu + N_{CP,l-1}^{\mu})T_c \quad \quad otherwise \end{cases}
$$

符号位置$l$ , $l = l_0+n_t{RA}N_{dur}{RA}+14n_{slot}^{RA}$

其中:

  • $l_0$ 为起始符号位置,根据配置表格获得
  • $n_t^{RA}$ 为一个PRACH时隙内的PRACH发送时刻,$n_t^{RA} \in {0,…,N_t^{RA,slot}-1}$, $L_{RA}= 839$ 时固定为1, $L_{RA} = 139$ 时根据配置表格得到
  • $N_{dur}^{RA}$ 根据PRACH配置索引表格得到,和各自格式对应
  • $\Delta f_{RA} \in {1.25,5}$KHz $\mu = 0$ , 其他情况下,$\mu$按照子载波间隔配置
  • $n_{slot}^{RA}$ : ① $\Delta f_{RA} \in {1.25,5,15,60}$KHz 时,$n_{slot}^{RA} = 0$ 。② $\Delta f_{RA} \in {30,120}$KHz 时,根据配置表格得到(倒数第三列),如果配置为1,则$n_{slot}^{RA} = 1$ 。③ 其他情况,$n_{slot}^{RA}\in {0,1}$

以上配置表格参考协议中的表格,见附录

[TS 38.211 Table 6.3.3.2-2]
[TS 38.211 Table 6.3.3.2-3]
[TS 38.211 Table 6.3.3.2-4]

对于时域资源的映射,只需要知道初始符号位置即可,应为特定的Format对应的preamble时域时长时确定的。

示例说明:prach-ConfigurationIndex = 103,查表可知参数如下:

![](5G-NR-PRACH学习/p15-时域举例1-1 (1).png)

利用上文公式可知,时域资源映射位置,如下图所示:


1.3.2 频域资源映射

PRACH的频域资源主要由两个参数“msg1-FrequencyStart”和“msg1-FDM”决定。频域资源映射主要要确定PRACH频域资源的起始位置,以及PRACH频域占多少个RB。

  • PRACH子载波间隔,1.25 5 15 30 60 120 KHz
  • PRACH资源在频域上的个数,即频域上的PRACH transmission Occasions, 也称为FDM个数,配置范围(1/2/4/8)个,对应高层参数为 msg1-FDM
  • PRACH 第一个频域资源,在频域的起始位置,相对于上行激活BWP(上行初始BWP)中PRB 0的偏移位置,对应高层参数为 msg1-FrequencyStart

多个PRACH transmission occasions 在频域上连续放置。

PRACH频域资源具体情况,在[TS 38.211 Table 6.3.3.2-1]描述

其中$\overline k $ 为下边缘子载波保护个数。分析表格可知,$(\Delta f/\Delta f^{RA}) \cdot N_{RB}^{RA} \cdot N_{sc}^{RB} $ 为 PRACH 占用的子载波数,实际发送使用$L_{RA}$ 个子载波。举个例子,对于第一行:PRACH占用的子载波数 = $(15/1.25)612 = 864$ 个子载波,实际发送使用 839 个子载波。

根据1.3节上PRACH信道时域信号

其中:

  • $\mu_0$ 为UE配置的子载波中最大的 $\mu$ 值
  • $N_{BWP,i}^{start}$ 为配置的上行初始BWP(或者激活上行BWP)的最低RB索引
  • $n_{RA}^{start}$ 为配置的PRACH频域资源在BWP(初始或激活)中的最低RB索引,对应高层参数msg1-FrequencyStar
  • $n_{RA} \in {0,1,…,M-1}$ 表示PRACH transmission occasion 的索引,从0到M,M为配置的PRACH频域资源的PRACH频域资源个数对应的高层参数 msg1-FDM 其取值范围是1,2,4,8

频域资源位置参考如下图所示:

1.4 SSB和RACH信道配置

1.4.1 概述

基站按照前文步骤生成了 preamble,并通过广播发送给UE,UE也知道了PRACH的时频域资源位置,在把preamble放在某个PRACH上发出去之前,还差最关键的一步,那就是基站要确定PRACH与SSB的映射关系。
5G里面凡事都会涉及到Beam这个概念,RACH流程也不例外。一个5G小区会发射多个SSB,也就是说有很多个下行的beam。终端会monitor和测量这些beam,挑选一个信号最好的SSB或者beam进行驻留。很明显,终端要获得比较好的上下行传输性能,需要与基站建立一个beam pair(发送beam和接收beam)。这里要强调一点,beam是分发送和接收的,并不是只有发送有beam,接收也有。另外,说到发送beam和接收beam,这里要区分上下行。

  • 上行(UE -> gNB): beam pair指基站接收beam,终端发送beam
  • 下行(gNB -> UE): beam pair指终端接收beam,基站发送beam

大致的流程如下:

  1. 基站:根据逻辑根索引配置生成64个preamble,通过多组beam广播生成信息给UE。
  2. UE:接收,并测量出最佳的波束方向,随机选取preamble index,选择一个CB preamble,然后以最佳的波束方向反向发送PRACH给基站。
  3. 基站:接收到UE的PRACH,并通过SSB与PRACH之间的关联(SSB仅与CB preamble相关联)确定基站与UE之间的最佳波束方向,以后通过该波束方向向UE发送后续数据。

简而言之,就是PRACH的发送时刻(RO,RACH occasion,PRACH occasion)需要和SSB发送的时刻(SSB index)建立映射关系。基站根据UE上行PRACH的资源位置,决定下行RAR(RA response)发送的波束。

1.4.2 SSB与RO映射顺序

RACH参数配置中ssb-perRACH-OccasionAndCB-PreamblesPerSSB用于配置:

  • 每个RACH时刻对应的SSB个数 N ,取值可以为 1/8 1/4 1/2 1 2 4 8 16
  • 每个SSB在一个RO内所能使用的基于竞争的Preamble个数,R(其实就是按SSB数平分CB-preambles)

ssb-perRACH-Occasion >=1,即 N > = 1时,表示一个RACH Occasion 对应多个SSB
ssb-perRACH-Occasion <1 , 表示一个SSB对应多个RACH Occasion

SSB和RO的映射遵循以下原则:

  • 首先,在一个RO内按照preamble index的升序映射
  • 其次,按照频域RO升序映射
  • 然后,按照一个PRACH slot内时域RO升序映射
  • 最后,按照PRACH slot升序映射

以下举4个例子说明一下:
(1) ssb-perRACH-Occasion = 1/4 , msg1-FDM = 4 $L_{max} = 4$ (也即 SSB个数), SSB 与PRACH occasion映射示意图如下:

(2) ssb-perRACH-Occasion = 1/2 , msg1-FDM = 4 $L_{max} = 8$ , SSB 与PRACH occasion映射示意图如下:

(3) ssb-perRACH-Occasion = 1 , msg1-FDM = 4 $L_{max} = 8$ , SSB 与PRACH occasion映射示意图如下:

(4) ssb-perRACH-Occasion = 2 , msg1-FDM = 2 $L_{max} = 16$ , SSB 与PRACH occasion映射示意图如下:

1.4.3 SSB 和 RACH 映射周期

PRACH在时域和频域上有多个发送时刻,每个SSB块要和PRACH发送时刻建立映射关系。同时引入一个association period 映射周期的概念,即表示所有的SSB块全部映射到RO后,需要在时域上多少个PRACH周期。
映射周期从帧号0开始。所有SSB至少映射一次后,“多余”的RO,没有SSB映射的话,这些RO不用。
Association pattern period – 映射图样周期,包含1个或者多个映射周期association periods,为160 ms ,每隔160 ms 重复进行PRACH和SSB的映射。

举例说明:
ssb-perRACH-Occasion = 1/2 , msg1-FDM = 4 $L_{max} = 4$ , PRACH 周期为 1 Frame = 10 ms,每一个 Frame 中只有一个subFrame 有时域 Occasion ,每一个 subFrame 中 只有一个 时域 occasion 。

2 随机接入过程

2.1 概述

终端成功解出SSB后便获得了NR系统的下行同步,要想完成上行同步以并与NR网络建立RRC连接,那么随机接入RACH流程必不可少。

2.1.1 随机接入触发场景

下面这10条RACH触发原因摘自协议38.300。其中第7、9和10条是NR系统新出现的,也是在以往LTE中没有的。其中第7条是指由RRC_Inactive状态向RRC_Connected状态转换,RRC_Inactive状态是NR中新引入的一种RRC状态;第9条是指对于NR系统中一些不广播的系统消息Other SI,UE采用随机接入流程“按需索要”这些不广播的系统消息;第10条是指beam failure后的恢复流程。

1)Initial access from RRC_IDLE;
2)RRC Connection Re-establishment procedure;
3)DL or UL data arrival during RRC_CONNECTED when UL synchronisation status is “non-synchronised”;
4)UL data arrival during RRC_CONNECTED when there are no PUCCH resources for SR available;
5)SR failure;
6)Request by RRC upon synchronous reconfiguration (e.g. handover);
7)Transition from RRC_INACTIVE;
8)To establish time alignment for a secondary TAG;
9)Request for Other SI;
10)Beam failure recovery.

2.1.2 随机接入流程

随机接入过程可以分为竞争性随机接入过程(CBRA)和非竞争性随机接入(CFRA)。非竞争性随机接入是网络将特定的随机接入资源是分配给UE的,通过Random Access Preamble网络就能识别特定的UE。具体的流程如下图所示(摘自ShareTechnote):

以CBRA的4步(上图CDEF步骤)为例:

  • Msg1: UE在合适的PRACH上向gNB发送Preamble;
  • Msg2: gNB向UE发送RAR,并包含TC-RNTI、UL timing和对Msg3的调度等信息;
  • Msg3/4: 用于竞争冲突解决(多个UE恰巧在同一PRACH时频资源上采用了同一个preamble做RACH)。

2.2 Msg1

前文描述的内容也就是Msg1的大部分内容。在发送Msg1给基站之前, ① 要确定多大的功率发送Msg1的preamble;②要确定RAR是发给自己的,即需要一个身份认证,因此用到了RA-RNTI可以唯一标识Msg1发送的时频资源这一特性。

2.2.1 Msg1的发射功率

根据[TS 38.213 7.4],UE配置PRACH信道的发送功率为 $P_{PRACH,b,f,c}(i) $,其意义是基于服务小区C 的 DL RS 在上行激活带宽 b 载波 f上,在发送时刻 为 i 时的发射功率。

$$
P_{PRACH,b,f,c}(i) = min{P_{CMAX,f,c}(i),P_{PRACH,target,f,c}+PL_{b,f,c}}[dBm]
$$
其中:

  • $P_{CMAX,f,c}(i)$ 是UE配置的最大输出功率,由 [8-1. TS 38.101-1]和 [8-2. TS 38.101-2]给出。
  • $P_{PRACH,target,f,c}$ 为PRACH 目标接收功率 PREAMBLE_RECEIVED_TARGET_POWER 由[11. TS 38.321] 给出计算公式:PREAMBLE_RECEIVED_TARGET_POWER = preambleReceivedTargetPower + DELTA_PREAMBLE + (PREAMBLE_POWER_RAMPING_COUNTER -1) * PREAMBLE_POWER_RAMPING_STEP
    • preambleReceivedTargetPower 由参数 preambleReceivedTargetPower 给出
    • DELTA_PREAMBLE可由[TS 38.321 Table 7.3-1~2] 获得
    • PREAMBLE_POWER_RAMPING_COUNTER 对初始传输为1,依据重传次数自增一
    • PREAMBLE_POWER_RAMPING_STEP 由参数 powerRampingStep 给出
      (以上两条是为了功率攀升而设定的参数)

![](5G-NR-PRACH学习/T13-213 7.3-1.png)

![](5G-NR-PRACH学习/T14-213 7.3.1-2.png)

  • $PL_{b,f,c}$ 为路径损耗。由参数 referenceSignalPowerhigher layer filtered RSRP (in dBm) 获得。
    • referenceSignalPower 根据PRACH 关联的SSB或者CSI-RS,由参数 ss-PBCH_BlockPower 和 powerControlOffsetSS 决定。
    • higher layer filtered RSRP 是发送PRACH时测得的 RSRP (Reference Signal Receiving Power)。

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
rach-ConfigGeneric
{
prach-ConfigurationIndex 2, \\ 可以确定format 0
msg1-FDM one,
msg1-FrequencyStart 2,
zeroCorrelationZoneConfig 6,
preambleReceivedTargetPower -100, \\ -100
preambleTransMax n10, \\ 最大重传次数
powerRampingStep dB4, \\ 4
ra-ResponseWindow sl20
},
ss-PBCH-BlockPower -8 \\ referenceSignalPower=-8
假设此时的RSRP为-94dBm

则此时的Msg1的初始发射功率为:
$$
P = -100 + 0 + (1-1)*4 + [-8-(-94)] = -14dBm
$$

如果发生Msg2或者Msg4失败,则会触发Msg1重传,Msg1的最大重传次数由参数preambleTransMax定义。如果发生Msg1的重传,每次重传功率会以powerRampingStep这个步长增大(功率攀升,Ramping),直到最后达到UE的最大功率或者重传达到最大次数为止。
注意:

  • 当UE继续使用上次发送SSB波束重发Msg1时,需要功率攀升。
  • 当UE更换SSB波束发送Msg1时,不需要进行功率攀升。

2.2.2 RA-RNTI的计算和使用

RA-RNTI可以表征Msg1发送时使用的时频资源,UE发送Msg1时会计算RA-RNTI并保存;gNB收到该Msg1后,同样会计算RA-RNTI,并使用该RA-RNTI对Msg2的PDCCH DCI format 1_0的CRC进行扰码。

RA-RNTI=1 + s_id + 14 $\times$ t_id +14$\times80\times$ f_id + $14\times80\times8\times$ ul_carrier_id

其中:

  • s_id 是PRACH的起始符号索引 (0$\leq$ s_id <14)
  • t_id 是系统帧内PRACH的起始时隙索引 (0$\leq$ t_id <50)
  • f_id 是PRACH 频域位置索引 (0$\leq$ f_id <8)
  • ul_carrier_id 是Msg1发送上行载波指示 (0 for NUL carrier, and 1 for SUL carrier)

2.2 Msg2

2.2.1 UE接收Msg2

  1. UE首先需要去解析出用于Msg2的下行调度的PDCCH DCI。定义了一个window的概念,UE在这个窗口内去监听PDCCH。window的长度由参数 ra-ResponseWindow 规定(不能超过10ms),单位是slot。window的起点是距离PRACH发送之后至少间隔1个symbol的用于Typ1-PDCCH CSS的CORESET的首个symbol。一般情况都是PRACH发送完之后的那个下行slot作为起点。
  2. 要监听的DCI的格式是format 1_0。这个DCI需要去Type 1 PDCCH Common Search Space去找,由参数 ra-SearchSpace 定义。
  3. 基站对这个PDCCH DCI的CRC使用了RA-RNTI进行了扰码,所以终端需要在 ra-searchspace上面尝试使用RA-RNTI去解析PDCCH DCI。
  4. 如果UE成功的使用RA-RNTI解调了DCI(知道这个消息是发送给自己的)。接着它会去解PDSCH payload。
  5. 如果UE继续成功的解出了PDSCH,UE会检查其中 RAPID(random access preamble identity)是否与自己当时发送Msg1时使用的RACH preamble ID相同。如果相同,UE认为Msg2解调成功。
  6. 如果UE在ra-ResponseWindow 内没有使用RA-RNTI解出DCI,或者没有成功解出PDSCH payload,或者解出了PDSCH但是RAPID不匹配,UE都会认为Msg2接收失败,会触发Msg1重发。

2.2.2 Msg2内容

6.1.5 MAC PDU (Random Access Response)
A MAC PDU consists of one or more MAC subPDUs and optionally padding. Each MAC subPDU consists one of the following:

  • a MAC subheader with Backoff Indicator only;
  • a MAC subheader with RAPID only (i.e. acknowledgment for SI request);
  • a MAC subheader with RAPID and MAC RAR.

上面的描述及图片摘自 [TS 38.213],结构图摘自ShareTechnote,说明Msg2这个MAC PDU 肯能包含BI,RAPID 和 MAC RAR三部分。

  • BI(Backoff Indicator)用于当Msg1重发的时候产生一个随机退避时间(0 - PREAMBLE_BACKOFF),当这个退避时间结束后,终端才能重发Msg1。Msg2里面的BI field对应的退避时间如下表[TS 38.321 Table 7.2-1]。如果不包含用于BI的MAC subPDU,那么重发Msg1时退避时间为0ms。

  • RAPID,用于携带random access preamble ID,如上描述。
  • RAR,这个subPDU是Msg2里面最重要的部分。主要包括TA,UL GRANT信息和TC-RNTI,其中UL GRANT是用于后面的Msg3,包括PUSCH的时域,频域的资源分配,是否跳频,MCS,Msg3的功控(参考[TS 38.213 Table 8.2-2])和CSI request。具体结构如下图[TS 38.321 6.2.2-3],UL_GRANT中的内容如下表[TS 38.213 Table 8.2-1]。

![](5G-NR-PRACH学习/p29-Figure 6.2.3-1.png)

2.3 Msg3

根据前文描述UE在Msg2中解析到MAC RAR,MAC RAR中包含着27 bit 的UL Grant,该UL Grant指示了PUSCH的时域,频域的资源分配,是否跳频,MCS,Msg3的功控和CSI request 等消息。

2.3.1 Msg3的传输内容

Msg3传输的内容取决于随机接入的场景。

  • UE已经拥有了合法的C-RNTI:UE在Mdg3上发送C-RNTI MAC CE (由LCID index 58)。
  • UE没有合法的C-RNTI:UE在Msg3上发送CCCH SDU (由LCID指示),这些CCCH SDU里面包含竞争解决身份identity。

2.3.2 Msg3的发送时刻

假设接收Msg2末尾消息在slot $n$ , 则UE发送Msg3的 solt $n+k_2+\Delta$ , 其中的 $k_2, \Delta$ 由 [6. TS 38.214] 给出,如下图所示。

Msg3的发送时刻与Msg2的最后一个symbol至少相隔 $N_{T,1}+N_{T,2}+0.5$ msec,其中 $N_{T,1},N_{T,2}$ 是N个符号的持续时间,该时间与当配置 additional PDSCH DMRS时用于UE处理能力1,2 的PDSCH处理时间相对应。N 的对应取值由下表给出:

2.4 Msg4

Msg4 是 Contention Resolution 环节。竞争解决的方式取决于 Msg3 中是传输了CCCH SDU 还是 C-RNTI MAC CE。

  • Msg3 中传输CCCH SDU

    在这种情况下,Msg3发送对应PUSCH符号结束之后,则开启 re-ContentionResolutionTimer ,在TImer为未超时之前,在ra-SearchSpace 上检测 Temporay C-RNTI 的DCI format 1_0,在调度的PDSCH译码正确的情况下,如果解析到UE Contention Resolution Identity MAC CE,且其内容与发送的CCCH SDU 两者内容一致,则认为随机过程接入成功,之后停止 ra-ContentionResolutionTimer,并将TC-RNTI正式转化为C-RNTI。

  • Msg3 中传输 C-RNTI MAC CE

    此种情况下,冲突解决的原理与传输CCCH SDU时相同,只是通过接收C-RNTI调度的DCI来判断竞争解决是否成功。

2.5 HARQ ACK for Msg4

一旦UE成功解析出Msg4,UE在PUCCH中发送HARQ-ACK信息。反馈时间距离Msg4的最后一个symbol至少相隔$N_{T,1}+0.5$ msec (参考Msg3的准备时间)。

2.6 流程时序图总结

流程时序如下图所示:

其中:

    1. gNB → UE:System information。
    • Configuration of PRACH transmission Parameters
      • PRACH Preamble Format
      • Time Resources
      • Frequency Resources
    • Parameters for determining the root sequences and their cyclic shifts in the PRACH Preamble sequence set
      • index to logical root sequence table
      • Cyclic Shift(Ncs)
      • Set Type (unrestricted, restricted set A or restricted set B)
    1. UE → gNB:Msg1- PRACH Preamble。PRACH Preamble 频域资源由参数 msg1-FDMmsg1-FrequencyStart 决定;PRACH Preamble 时域资源由参数 prach-ConfigurationIndex 决定;
    1. gNB → UE:Msg2。Msg2需要在ra-ResponseWindow内被UE接收。
    1. UE → gNB:Msg3。Msg3发送时隙,与Msg2最后时隙相差 $k_2+\Delta$ ; 时间上至少相隔 $N_{T,1}+N_{T,2}+0.5$ ms 。
    1. gNB → UE:Msg4。冲突解决环节,对应Msg3所传输的不同内容做出回应。Msg4需要在ra-ContentionResolutionTimer 内被UE接收。
    1. UE → gNB:HARQ ACK。反馈时间距离Msg4的最后一个symbol至少相隔$N_{T,1}+0.5$ ms 。

3 扩展

主要参考:https://blog.csdn.net/GiveMe5G/article/details/103847118

主要是分析随机接入过程中的消息如何组合起来应用到实际的场景中去。参考中主要是归纳总结了随机接入的触发场景,并对三个重要场景下的RACH流程进行进一步的分析。

3.1 RACH触发类型(场景)分类

RACH流程主要由三种触发类型:

  • PDCCH order触发
  • MAC层触发
  • RRC层触发

The Random Access procedure described in this clause is initiated by a PDCCH order, by the MAC entity itself, or by RRC for the events in accordance with TS 38.300

以下是参考文章作者根据 TS 38.300 系列整理的表格,归纳了各个场景以及其对应的触发类型:

3.2 PDCCH Order RACH

PDCCH Order 发起的随机接入主要用于上行失步后,当gNB有下行数据要发送时,会使用PDCCH Order 强制UE发起 RACH 以重新完成上行时间同步。PDCCH Order使用PDCCH DCI 1_0配置给UE。其字段的设置如下:

  • Random Access Preamble index – 6 bits
  • UL/SUL indicator – 1 bit
  • SS/PBCH index – 6 bits
  • PRACH Mask index – 4 bits
  • Reserved bits – 10 bits

从上述描述中可以看出,DCI 1_0中会告诉UE 用于RACH的preamble index 以便UE发起非竞争的随机接入,但是要注意这是有条件的,要求DCI 1_0中指示的preamble index非0,否则需要使用基于竞争的随机接入。

基于竞争和非竞争的PDCCH Order触发的RACH流程图如下所示:

3.3 Beam Failure Recovery RACH

在5G当中引入了一个beam 级别的链路恢复机制,Beam failure recovery,后面简称为BFR。BFR分为基于竞争和基于非竞争两种。按照38321中的描述,如果RRC配置了用于BFR的RACH资源并且用于beam恢复的candidate beam(SSB/CSI-RS)中至少有一个beam的RSRP高于一定的门限,而且beamFailureRecoveryTimer没有超时,这时才能使用基于非竞争的BFR;否则需要使用基于竞争的BFR。
下面的两幅图是基于竞争和非竞争的BFR RACH流程。需要注意的是,对于基于非竞争的BFR流程的Msg2,其PDCCH是使用C-RNTI扰码的,而不是RA-RNTI。

3.4 OSI (Other System Information) Request RACH

5G SA组网当中MIB和SIB1这两个系统消息一定是通过广播的方式通知UE的,但是其他的系统消息(OSI-Other System Information)可以采用像LTE的广播方式,也可以采用5G当中新引入的按需索要的方式(On Demond Request)。
对于按需索要的系统消息,会用到RACH 流程,具体分为Msg1 based和Msg3 based的两种RACH流程。注意,Msg1 based的请求需要基站在SIB1里面的SI-SchedulingInfo中配置专门用于OSI请求的RACH资源和Preamble,而且它的Msg2是一个只含有RAPID的MAC subPDU;而Msg3 based的其实是一种普通的基于竞争的RACH方式,只是这里面的Msg3引入了一个新的UL-CCCH消息,RRCSystemInfoRequest,用于请求UE想要的OSI。

附录

附录A 相关表格

附录B 相关配置



参考文献
公众号:5G菜鸟成长日记,春天工作室
网页:https://mp.weixin.qq.com/s/LRpnHwaAmYmpUlhF6wcmZg
网页:http://www.sharetechnote.com/html/5G/5G_RACH.html
博客:https://blog.csdn.net/qq_33206497/article/details/89980529
博客:https://blog.csdn.net/GiveMe5G/article/details/102634057
博客:https://blog.csdn.net/GiveMe5G/article/details/102633678
博客:https://blog.csdn.net/GiveMe5G/article/details/102633541
博客:https://blog.csdn.net/GiveMe5G/article/details/103219499
博客:https://blog.csdn.net/GiveMe5G/article/details/103413805
博客:https://blog.csdn.net/GiveMe5G/article/details/103606304
博客:https://blog.csdn.net/GiveMe5G/article/details/103847118



----------- 本文结束 -----------




0%