简介:在4G向5G演进的过程中,PRACH设计优化直接影响随机接入成功率与网络容量。《5G (NR)网络中 PRACH 格式和映射》文档面向5G网络优化与研发工程师,系统梳理物理随机接入信道在5G NR中的功能、格式与配置,涵盖随机接入前导承载、上行时钟校准、Zadoff-Chu序列生成原理,以及序列长度839(广覆盖,子载波间隔1.25/5KHz)和139(室内/毫米波,FR1支持15/30KHz,FR2支持60/120KHz)对应的不同场景与四类/九类格式。文档为单个docx文件(约158KB),依据3GPP TS 38.211第5.3.2节展开,重点解读PRACH与数据共享FFT资源、OFDM基带信号定义,以及终端未收到随机接入响应时的无线侧、layer1和上层信息故障定位思路,并给出调制与编码层面的注意事项。内容组织围绕功能、格式、配置、物理层处理四部分,适合从事网络优化、协议分析或基站侧调试的初中级工程师作为随身速查与排错参考。目前已有550人学习下载。
1. PRACH 是 5G 随机接入的第一道门:不仅决定能不能接入,也决定接入体验
5G(NR)网络优化里,PRACH 是我建议新人都先去啃的第一块内容。用户在手机上拨号、切小区、失步后回网,能不能成功进小区、差几毫秒还是差几秒,第一脚都由 PRACH(物理随机接入信道)垫着。PRACH 承载随机接入前导,帮 gNB 校准 UE 的上行时钟和功率,5G 的随机接入前导按 Zadoff-Chu 序列生成,前导长度有 839 和 139 两族,格式加起来十几种,还牵扯到和 SSB 的时频映射。这篇笔记把 PRACH 的功能、格式、配置和物理层处理串起来讲,重点落在格式选型、资源映射和无 RAR 时的三层排查上,适合正在做 5G 基站开局、网优和终端日志分析的工程师照着复现。
2. PRACH 的功能与触发逻辑:UE 什么时候会「敲门」
2.1 先弄清六个触发场景
PRACH 并不是通信过程中的背景流量,它的触发是离散的。NR 协议里随机接入场景拆得比 LTE 细,至少包括六类:
- 初始接入:UE 从空闲态要进连接态,比如开机驻留后拉起第一个业务。
- 切换:连接态从源小区换到目标小区,目标小区要求 UE 重新做随机接入。
- 无线链路失败后的 RRC 重建:链路突然断掉时,UE 尝试原地重连。
- 上行失步后数据到达:UE 一直在连接态,但长时间没有上行发送导致失步,突然有数据要发。
- 波束失败恢复(BFR):FR2 毫米波这种依赖波束成形的场景,波束被手或建筑物挡住后,UE 需要用专用 PRACH 资源快速上报。
- 辅小区添加:载波聚合时给 UE 配置 SCell,也需要在新小区上完成同步。
不同场景的时延敏感度完全不同。初始接入多等一两百毫秒,用户感知不强;但波束失败恢复如果还要等下一个 PRACH 周期,毫米波用户会感觉到明显的「断流」,所以它需要更密的 PRACH 时机和专用 preamble 资源。这也就解释了为什么 5G 的前导格式比 LTE 多——不是堆规格,而是场景驱动。
2.2 ZC 序列:恒定包络和零自相关决定了前导检测
PRACH 上的随机接入前导,本质由 Zadoff-Chu 序列生成,简写 ZC 序列。它属于 CAZAC 序列族,在 PRACH 这个场景里有两个性质至关重要:
第一是恒定包络。ZC 序列在时域上幅度恒定,因此峰均比 PAPR 很低。低 PAPR 意味着 UE 的功放不需要为峰值留太多余量,可以用更小的回退把前导送出去。对普通数据信道,PAPR 高一点可以靠功控兜住,但前导是 gNB 在低信噪比下用相关运算硬找出来的,发射功率吃紧时 PAPR 高低直接影响检测成功率。
第二是零自相关。同一个根序列的不同循环移位之间相关性几乎为零,gNB 在时域相关窗里能干净地把多个 UE 的前导分开。更关键的是,循环移位值本身携带着时间信息,gNB 通过相关峰出现的位置能直接算出 UE 的往返时延,进而得到时间提前量 TA。
实际配置里,gNB 下发 prach-RootSequenceIndex 和循环移位步长。相邻小区如果根序列规划不好,会出现前导互踩,现象就是 UE 发了多次 msg1,gNB 却始终解不出有效前导,或者把 A 小区的 UE 前导关联到 B 小区的根序列上。这种问题在网优里特别隐蔽,因为干扰指标不一定超标,但接入成功率就是上不去。
2.3 PRACH 在整个接入流程中的位置
把随机接入流程拉平了看,PRACH 处在消息链的第一环。UE 先靠 SSB 完成下行同步,拿到系统消息里的随机接入配置,然后在 PRACH 的资源位置上发送前导,也就是 msg1。gNB 检测到前导后,计算 TA 和上行授权,组装成随机接入响应 RAR,在 RAR 窗口里通过 RA-RNTI 加扰的 PDCCH 调度给 UE,这是 msg2。UE 收到 RAR 后发 msg3,也就是 RRC 连接请求,最后完成冲突解决,进入连接态。
如果 PRACH 这一环出问题,用户侧的直观感受是「呼叫建立失败」「一直转圈」,但信令里不一定看得到 RRC 层失败,因为 UE 可能还在反复发 msg1。这就是为什么排查随机接入问题时,要先把目光锁定在 msg1 有没有被 gNB 检测到,而不是一上来就翻 RRC 信令。PRACH 只管前导的发送和检测,后面的 RAR、msg3 和冲突解决是另一套链路。
3. 格式选型是关键决策:839 与 139 的十三种格式怎么选
3.1 序列长度 839:面向 FR1 广覆盖的四种长格式
序列长度 839 的前导沿用了 LTE 时代的长序列思路,子载波间隔只有 1.25 kHz 或 5 kHz。子载波间隔小,符号时间长,同样的频偏和时延偏差下,gNB 的相关检测窗口能覆盖更大的小区半径,所以这类格式天然适合广覆盖。
具体格式有四种,数字编号 0 到 3。格式 0 是最常用的,1.25 kHz 子载波间隔,前导时长 1 ms 左右,覆盖半径能到一百公里级别;格式 1 和格式 2 进一步加长了循环前缀 CP 和保护间隔 GP,专门应对超远距离覆盖和极端时延扩展的场景,代价是占用时间资源更多;格式 3 把子载波间隔拉到 5 kHz,时长变短,覆盖能力适中,适合时延不太大但对资源占用敏感的场景。
注意一个细节:839 前导的 1.25 kHz 子载波间隔,符号长度约 0.8 ms,在时域上实际占用一个子帧还多。所以长格式的 PRACH 时机在帧结构里往往只能占子帧边界对齐的位置,不能像短格式那样在时隙内部任意塞。这也是很多优化工程师第一次配格式时翻车的地方——想用长格式,但帧结构里根本没留对应的 PRACH 时机。
3.2 序列长度 139:九种短格式覆盖室内与毫米波
序列长度 139 的短前导是 NR 真正的新东西。它支持 15 kHz 和 30 kHz 两种子载波间隔,在 FR1 下用;在 FR2 毫米波场景下还能支持 60 kHz 和 120 kHz。短序列加宽子载波间隔的好处是符号时间短,一个时隙里能塞多个 PRACH 时机,接入时延大幅降低,对切换、波束失败恢复这类时延敏感场景特别友好。
短格式一共九种,用 A1、A2、A3、B1、B2、B3、B4、C0、C2 命名。它们的区别集中在循环前缀长度、保护间隔长度和每个 PRACH 时机占用的符号数上。A 系列采用常规 CP 设计,符号效率高;B 系列在每个 PRACH 时机前多一段长的 CP/保护结构,特别适合小覆盖、高密集接入的场景;C0 和 C2 则主要用在 TDD 场景下需要跨时隙边界的配置。
在室外宏站里,139 短格式不是不能用于覆盖,而是覆盖半径确实受限。以 FR1 30 kHz 为例,短格式的 CP 通常只能容几十微秒的时延扩展,撑到两三公里就顶天了。室内分布和微站场景里,小区半径小、路径损耗低,短格式的高效和低时延优势才能充分发挥。
3.3 格式、子载波间隔和覆盖半径的三角关系
把两族序列放在一起看,选型逻辑就清晰了:
| 对比维度 | 长序列 839 | 短序列 139 |
|---|---|---|
| 子载波间隔 | 1.25 kHz / 5 kHz | FR1:15/30 kHz;FR2:60/120 kHz |
| 格式数量 | 4 种(0、1、2、3) | 9 种(A1/A2/A3/B1-B4/C0/C2) |
| 覆盖能力 | 大,可达数十上百公里 | 小,通常几公里内 |
| 时延表现 | 前导时长长,接入时延大 | 一个时隙可多个时机,时延小 |
| 典型场景 | 广覆盖宏站、高铁、海面覆盖 | 室内分布、微站、毫米波、BFR、切换 |
实际开局时,我一般先问两个问题:小区覆盖半径是多大?用户对时延敏不敏感?半径超过十公里的宏站直接放弃 139;室内和微站用 A1 或 B4;FR2 的波束恢复场景优先考虑短格式里周期最短的那组。
还有一条容易忽略的约束:配置格式时,PRACH 的子载波间隔必须和该小区的上行子载波间隔族匹配。FR1 下 15 kHz 和 30 kHz 的小区不能随手填 1.25 kHz 的格式 0,否则 gNB 侧的 FFT 网格对不上,检测链路直接报错。这类问题在网管上不一定报红,但随机接入成功率会掉得非常明显。
4. 时频映射是接入成败的隐形开关:从配置索引查到物理资源块
4.1 prach-ConfigurationIndex 与时域机会
PRACH 的时域位置由 prach-ConfigurationIndex 这个参数决定。它本身只是一个整数,但查表后能定位出三件事:在哪些无线帧出现、在哪些子帧或时隙出现、具体占用哪些符号。查表依据在 3GPP TS 38.211 第 6.3.3.2 节,FR1 和 FR2 的表格不同,SCS 不同表格也不同。
查表有个典型误区:必须先锁定格式和子载波间隔,再去找对应的表格列。同样一个索引值,在 15 kHz 和 30 kHz 表格里含义不一样,在长序列和短序列格式下含义也不一样。我在开局脚本复查时,习惯先把索引对应的格式和时间位置手工标在帧结构图上,再和网优的帧结构配置对齐一遍,宁可慢五分钟也不跳过这一步。
时域上的另一个坑是 PRACH 时机可能横跨上下行转换点。TDD 小区里,PRACH 如果落在下行时隙或者 GP 上,UE 根本发不出来,但网管配置检查往往只查参数合法性,不查帧结构冲突。这种问题在开局排障里出现了不止一次,最终定位都是靠 UE 日志里「Msg1 not sent due to TDD configuration」这类的提示。
4.2 频域位置:msg1-FrequencyStart 与 msg1-FDM
时域定住后,频域由两个参数共同决定。msg1-FrequencyStart 定义 PRACH 频域起始位置相对公共资源块网格的偏移,单位是资源块 RB;msg1-FDM 定义在同一个 PRACH 时机上频分复用的 PRACH 数量,可以取 1、2、4、8。
FDM 的取值直接关系到前导容量和干扰水平。FDM=4 时,同一时隙里能容纳四组 PRACH 资源,接入容量大,但占用频谱资源也多;FDM=1 时资源省,但高并发接入下前导冲突率明显上升。做容量评估时,我习惯用「每 PRACH 时机的有效前导数 × FDM 值」来估算每秒钟能支持的接入次数,如果估算结果低于该时段的话务模型需求,就加大 FDM 或缩短 PRACH 周期。
频域还有一个容易忽略的点:msg1-FrequencyStart 加 PRACH 占用的带宽必须在初始上行 BWP 范围内。如果 PRACH 的起始 RB 加上前导带宽超出 BWP 边界,UE 会认为配置不合法,直接不上报,典型表现是「这个小区所有用户都接不进来,但后台各项参数看着都正常」。排查时把频率起点、PRACH 带宽、初始 BWP 边界三个数在表格里排开,一眼就能看出问题。
4.3 前导和 SSB 的映射关系
5G 的随机接入前导不是盲发,而是和一个下行 SSB 波束关联着发的。UE 先测量 SSB,选一个信号最好的波束,然后在这个 SSB 对应的 PRACH 时机上发前导。gNB 看到前导后,就知道 UE 选了哪个下行波束,后续的下行发送可以针对性做波束成形。
映射规则由配置里的关联周期和每 SSB 对应的前导数决定。每个 SSB 会被分配到若干 PRACH 时机,配置的映射关系可以是「一个 SSB 映射一个时机」或「一个 SSB 映射多个时机」。室内单波束覆盖无所谓,但宏站多波束场景下,映射关系配错会导致 UE 选了一个 SSB,却在错误的 PRACH 时机发送,gNB 自然收不到。
FR2 毫米波场景里,SSB 和 PRACH 的映射直接关系到波束失败恢复能不能生效。UE 做 BFR 时用的是专用前导和专用 PRACH 资源,这些资源必须和 SSB 的波束索引精确绑定。我见过一个 FR2 站点,BFR 成功率一直低,最后查出来是专用 PRACH 时机和 SSB 波束索引的对应关系偏了一位,UE 上报的新波束 ID 和实际发送前导用的波束始终对不上,gNB 每次都去错误的波束方向收信号。
5. 物理层处理与故障排查:UE 收不到 RAR 时按三层拆解
5.1 从 FFT 看 PRACH 的基带处理
PRACH 在物理层处理上的一个关键特点,是和业务数据共用同一套 FFT。也就是说 PRACH 的 OFDM 基带信号生成与数据信道走同一个信号路径,具体定义在 3GPP TS 38.211 第 5.3.2 节。共用的含义是:接收机不需要为 PRACH 单独设计一套 FFT 引擎,gNB 可以复用现有硬件资源,把 PRACH 的频域信号从中提取出来做相关检测。
前导的生成和检测可以概括成几步。UE 侧:根据根序列和循环移位生成 ZC 序列,按格式补 CP 和 GP,做频域映射和 IFFT 变成时域信号,再在 PRACH 时机上发送。gNB 侧:把接收到的时域信号做 FFT,得到频域数据后,用本地生成的前导序列做频域相关,找相关峰。相关峰的位置直接对应 TA 值,峰越高说明前导信噪比越好。
需要注意子载波间隔对 FFT 的影响。PRACH 的 1.25 kHz 子载波间隔远远小于数据信道的 15 或 30 kHz,这意味着 PRACH 的频域符号长度比普通 OFDM 符号长得多。gNB 在处理时必须在 FFT 网格上做特殊映射,保证 PRACH 的子载波和数据的子载波网格对齐。如果格式的子载波间隔和小区配置不匹配,这一步就会出错,表现为前导发得出但 gNB 检测不到。
5.2 收不到 RAR 的三层定位法
当终端发完 msg1 却始终收不到随机接入响应时,我习惯按三层拆解:无线侧、layer1、上层。不要直接跳结论,先看是哪个层面断了。
无线侧先看三个问题:RSRP 是否低于接入门限,SINR 是否被干扰拖垮,频点是否有同频干扰。RSRP 低说明 UE 根本不在覆盖范围内,或者 SSB 功率配低了;SINR 差往往是邻区 PCI 混淆或外部干扰源的征兆。室内场景还要额外看一手:是不是打开了干扰规避策略,把某些 PRACH 时机错开了。
layer1 层面看 msg1 有没有真正送到 gNB。UE 日志里能看到 msg1 的内容和发送次数,基站侧话统能看到收到的前导数量和检测功率。如果 UE 发了多次但基站一次都没收到,优先怀疑格式配置不匹配、时频资源越界、TDD 帧结构冲突;如果基站收到了但没回 RAR,优先怀疑 gNB 的前导检测门限配得过高,或者多用户前导冲突严重。
上层层面看 RAR 以外的事情。接入类别限制、小区禁止状态、RRC 层的连接请求是否被核心网拒绝,这些都可能造成「PRACH 通了但用户还是进不来」的假象。之前处理过一个投诉,UE 反复发起随机接入,基站端检测全正常,RAR 也发了,但 RRC 连接建立始终失败,最后定位在核心网的签约异常。
5.3 配置与干扰类的避坑记录
以下几条是在实际站点和测试中碰到过的具体问题,按现象到根因到处理写出来。
现象一:整小区用户都无法接入,RSRP 和 SINR 均正常。原因是 prach-ConfigurationIndex 对应的 PRACH 时机落在了 TDD 下行时隙里,UE 无法发送 msg1。处理是把索引替换成和帧结构匹配的值,同时刷新上下行时隙配置。
现象二:远端用户接入成功率骤降,近端用户正常。原因是短格式 139 的覆盖半径不够,远点用户的前导,其往返时延超过了 CP 长度,相关峰检测直接失败。处理是改用长格式,或者调整该区域的站点布局,减少远点接入诉求。
现象三:两个同频小区的用户互相干扰,接入成功率波动性下降。原因是相邻小区的 prach-RootSequenceIndex 规划不当,A 小区的 UE 前导在 B 小区侧产生了错误相关峰。处理是重新规划根序列和循环移位集合,保证相邻小区的前导空间正交。
现象四:SSB 波束数量改了之后,PRACH 接入成功率掉了一半。原因是修改 SSB 数量后,SSB 和 PRACH 的映射关系没有同步调整,UE 按新波束选了 PRACH 时机,但 gNB 侧还在按旧映射检测。处理是同步刷新波束与 PRACH 时机的关联配置。
现象五:高铁场景下频繁切换失败,UE 经常「发出了前导但没有响应」。原因是高速移动带来的多普勒频偏导致前导频域偏出检测窗口,长格式的窄子载波间隔对多普勒更敏感。处理是优先选用 5 kHz 子载波间隔的格式 3,并对根序列配置采用受限集类型,提升抗频偏能力。
6. 实战验证:从一份配置看懂 PRACH,再用话统确认效果
6.1 一份典型 FR1 配置的参数拆解
假设一个普通的 FR1 宏站,30 kHz 子载波间隔,目标覆盖半径三公里,按短格式 A1 来配。典型的一组 PRACH 参数如下:
prach-ConfigurationIndex = 98 prach-RootSequenceIndex = 2 msg1-FDM = 4 msg1-FrequencyStart = 0 msg1-SubcarrierSpacing = 30 kHz restrictedSetConfig = 无受限集 preambleReceivedTargetPower = -100 dBm preambleTransMax = 7prach-ConfigurationIndex 查 30 kHz 对应表格,确认 PRACH 时机落在哪些时隙;msg1-SubcarrierSpacing 锁定 30 kHz,和小区 SCS 一致;msg1-FDM 取 4,四个频分 PRACH 资源,兼顾接入容量和资源占用;preambleReceivedTargetPower 设置成 -100 dBm,这是 gNB 期望收到的前导目标功率,UE 会通过开环功控反向推算自己的发射功率。preambleTransMax 取 7,表示前导最多重传 7 次,既给足重传冗余,又不至于让失败用户长时间刷前导。
这个配置配好之后,覆盖半径和格式是否匹配,要用 CP 长度反算一下。30 kHz 短格式的 CP 大概只能覆盖两三公里,如果站点实际覆盖半径有五公里,就要回头考虑换格式,或者把该小区拆成两个站点。
6.2 用话统和日志验证接入质量
配置生效后,不要只看随机接入成功率一个指标。我会拉三组数据对照看:随机接入成功率、前导冲突率、每个 PRACH 时机的平均前导数。成功率掉了先看冲突率,冲突率高说明前导容量不够,优先调大 FDM 或增加 PRACH 时机;冲突率正常但成功率低,说明前导检测这边有问题,回头看发射功率和根序列规划。
UE 侧日志也不能落下。用测试手机抓一张 RRC 建立失败的日志,看 msg1 发送次数和 msg2 接收情况。如果 msg1 发送次数远高于正常值,说明 UE 一直收不到 RAR;如果 msg1 只发一次但 msg2 没收到,问题大概率在 gNB 检测或 RAR 调度。基站侧话统里通常也有前导接收功率分布,能直接看到前导信噪比是否集中在底噪附近,配合 RSSI 和干扰噪声功率一起看,比单看成功率更能定位根因。
从那以后我每次做完一个新站点的 PRACH 配置,都会强制走一遍这个流程:先查表标注时域位置,再核对频域起始和 BWP 边界,然后检查 SSB 映射和帧结构冲突,最后拉话统对比冲突率和成功率。这套流程救过我很多次翻车,也帮我少走了不少弯路。希望帮到你。
本文还有配套的精品资源,点击获取