在5G NR FR2(毫米波,24.25–52.6 GHz)部署中,gNB与UE之间采用窄而高的定向波束(directional beam)通信。波束虽带来了高增益,却也带来了一个致命弱点:波束遮挡(beam blockage)。一个人体转身、一辆卡车驶过、一片树叶飘动,都可能让服务波束的信号质量在毫秒级内崩溃。
在LTE时代,UE检测到无线链路恶化会触发无线链路失败(RLF),进而进入RRC连接重建(RRC Re-establishment)流程——这是一个耗时数百毫秒、且必然中断用户面、可能切换服务小区的"重操作"。对于毫米波这样频繁的遮挡场景,若每次遮挡都触发RLF+重建,连接稳定性将灾难性下降。
3GPP因此引入了波束失败恢复(Beam Failure Recovery, BFR)机制,其核心思想是:
链路失败后不要立刻重建,而是先尝试在同一个服务小区内换一个新波束恢复连接。
BFR定义在 TS 38.213 Section 5.17(物理层过程)、TS 38.321 Section 5.x(MAC过程与MAC CE)以及 TS 38.331(RRC参数 BeamFailureRecoveryConfig)中。它是一个PHY-MAC-RRC跨层协同机制,与RLF在状态机上完全独立——BFR成功则RRC连接毫发无损,BFR失败才上升为RLF。
flowchart TD
A[服务波束质量持续恶化] --> B{BFD: BFI计数 ≥ beamFailureInstanceMaxCount?}
B -->|否| A
B -->|是| C[声明波束失败 Beam Failure Declared]
C --> D{CBD: 存在候选波束 RSRP ≥ Qin?}
D -->|否| E[无候选波束 → 触发RLF/重建]
D -->|是| F[选择新波束 C-BEAM]
F --> G[在新波束上发起专用RACH BFRQ]
G --> H{gNB在recoverySearchSpace响应?}
H -->|否, 超时| I[BFRQ重传至maxAttempt]
I -->|仍失败| E
H -->|是| J[收到C-RNTI MAC CE / 授权]
J --> K[BFR成功 恢复正常通信]
style C fill:#ffd6d6
style K fill:#d6ffd6
style E fill:#ffcccc
UE持续监测服务波束质量。监测对象由RRC信元 radioLinkMonitoringRS 配置,可以是 SS/PBCH Block(SSB) 或 CSI-RS。物理层以一个假想的"不可靠接收"门限 Qout(对应BLER ≈ 10%的信号质量,约对应很低的SINR)作为判据。
每当UE判定被监测RS的质量低于Qout,物理层上报一个波束失败实例指示(BFI, Beam Failure Instance Indication)给MAC层。MAC层维护一个计数器与一个定时器:
beamFailureInstanceMaxCount(BFI计数上限)beamFailureDetectionTimer(BFI计数窗口定时器)其状态机逻辑(TS 38.213 5.17与38.321 5.17)为:
stateDiagram-v2
[*] --> NoFailure: BFI计数 = 0
NoFailure --> Counting: 收到第1个BFI\n启动beamFailureDetectionTimer
Counting --> Counting: 又收到BFI (timer未超时)\n计数+1
Counting --> NoFailure: timer超时\n计数清零
Counting --> FailureDeclared: BFI计数 ≥ beamFailureInstanceMaxCount
FailureDeclared --> [*]: 触发Candidate Beam Detection
设计要点:定时器+计数的滑动窗口确保瞬时衰落(如快速多径)不会误判为波束失败,只有"持续"恶化才认定遮挡发生。beamFailureInstanceMaxCount典型取值如 q1/q2/q3...对应1/2/3...次,beamFailureDetectionTimer可配置为e.g. 10ms、20ms等。
波束失败声明后,UE并不直接放弃,而是在同一服务小区内寻找可用的新波束。gNB通过RRC信元 candidateBeamRSSCellList(或失败检测资源列表)配置了一组候选波束参考信号资源。
UE测量这些候选RS的RSRP,与门限 Qin(对应BLER ≈ 2%的高质量门限,由 rsrp-ThresholdSSB 或 rsrp-ThresholdCSI-RS 给出)比较:
Qin与Qout的设计形成滞回(hysteresis):恢复所要求的质量(Qin)高于失败门限(Qout),避免在临界质量附近反复横跳。
这是BFR最巧妙的部分——UE复用随机接入(PRACH)来同时实现"请求"与"新波束标识"。gNB为每个候选波束预配置了专用的无竞争随机接入(CFRA)资源:
rach-ConfigDedicated → CFRA:包含每个SSB/CSI-RS索引对应的前导码(preamble)与RACH时机(RO, RACH Occasion)映射。UE在选定的C-BEAM对应的专用资源上发送BFRQ preamble。gNB一旦在某个波束的RO上收到该专用preamble,立刻就知道: 1. 该UE发生了波束失败; 2. UE当前在哪个新波束上可被服务。
这就把"失败通知+波束选择报告"压缩成了一次PRACH发送,极为高效。若未配置专用资源,UE回退到基于竞争的随机接入(CBRA)。
UE发送BFRQ后,在一个专用搜索空间 recoverySearchSpaceId(区别于普通PDCCH搜索空间)上监听gNB响应。gNB以 C-RNTI加扰的PDCCH 下发上行授权(或携带 C-RNTI MAC CE 用于CBRA竞争解决)。
收到该响应后,UE重置BFI计数、停止定时器,BFR即告成功——RRC连接保持,业务面在毫秒级内于新波束上恢复。整个过程不触发任何RRC状态变更。
以下时序图完整呈现SpCell波束失败恢复,并叠加Rel-17引入的SCell BFR增强:
sequenceDiagram
participant UE
participant gNB
Note over UE: RRC已配置: BFD-RS, candidateBeamRSList,<br/>rach-ConfigDedicated(CFRA), recoverySearchSpace
rect rgb(255,235,235)
Note over UE,gNB: 阶段1-2: BFD 与 CBD
UE->>UE: 监测服务波束RS, 质量低于Qout → 产生BFI
UE->>UE: BFI计数累加, 启动/重启beamFailureDetectionTimer
UE->>UE: BFI ≥ beamFailureInstanceMaxCount → 声明Beam Failure
UE->>UE: 测量候选波束RS, 选定RSRP≥Qin的新波束 C-BEAM
end
rect rgb(235,245,255)
Note over UE,gNB: 阶段3: BFRQ (专用RACH)
UE->>gNB: 在C-BEAM的专用RO上发送专用preamble (Msg1)
Note right of gNB: 由preamble+RO识别出UE与新波束
gNB->>UE: 在专用RO上回随机接入响应 (Msg2/RAR)
end
rect rgb(235,255,235)
Note over UE,gNB: 阶段4: 恢复响应与完成
UE->>gNB: (可选) Msg3 携带 BFR MAC CE / 截断BFR MAC CE
gNB->>UE: recoverySearchSpace内, C-RNTI加扰PDCCH下发UL授权
UE->>UE: 收到响应 → BFI计数清零, BFR成功
Note over UE: RRC连接保持, 新波束恢复通信
end
opt SCell发生波束失败 (Rel-17)
UE->>UE: 在SCell上检测到BFI计数超限 → 触发SCell BFR
UE->>gNB: 在SpCell上发SR请求UL资源
UE->>gNB: 发送SCell BFR MAC CE (含SCell ID + 新波束ID)
gNB->>UE: 通过SpCell PDCCH下发响应
Note right of UE: gNB收到BFR MAC CE的HARQ新传授权 → SCell BFR完成
end
BFR MAC CE是SCell BFR与SpCell BFR完成确认的核心载体。其结构如下:
flowchart LR
subgraph BFR MAC CE (SpCell)
R1[保留位] --> AC[AC字段: 是否包含SpCell<br/>候选波束信息]
AC --> CI1[CI: 候选波束ID]
end
subgraph 截断BFR MAC CE
T1[仅当无UL授权<br/>容纳完整MAC CE时使用] --> T2[省略候选波束字段]
end
subgraph SCell BFR MAC CE
R2[保留位] --> SI[SI: SCell索引位图<br/>指示哪些SCell失败]
SI --> AC2[AC: 是否含候选波束]
AC2 --> CI2[CI: SCell候选波束ID]
end
BFR MAC CE各字段含义表(TS 38.321 6.1.3.x):
| 字段 | 比特数 | 含义 | 备注 |
|---|---|---|---|
| AC (Candidate Beam field presence) | 1 | 1=包含候选波束ID;0=不含 | 值为0时UE希望gNB自行选波束 |
| CI (Candidate Beam Index) | 取决于配置 | 指示UE选定的新波束(SSB/CSI-RS索引) | 仅AC=1时存在 |
| SI (SCell Index bitmap) | 与配置SCell数相关 | 位图标记发生波束失败的SCell | 仅SCell BFR MAC CE使用 |
| LCID | 6(在子头中) | 标识MAC CE类型 | BFR与截断BFR使用不同LCID |
触发BFR MAC CE传输的关键判定:当UE在PDCCH上收到指示该BFD-RS集合BFR MAC CE所对应HARQ进程的新传UL授权时,对应BFD-RS集合的波束失败恢复即视为完成。
BeamFailureRecoveryConfig(TS 38.331)核心参数表:
| 参数 | 所属信元 | 作用 | 典型影响 |
|---|---|---|---|
beamFailureInstanceMaxCount |
BFD相关 | BFI计数上限,超此即判失败 | 值越大越抗瞬时衰落,但恢复越慢 |
beamFailureDetectionTimer |
BFD相关 | BFI计数窗口 | 决定"持续恶化"的时间尺度 |
candidateBeamRSSCellList |
CBD相关 | 候选波束RS资源集合 | 决定可切换的波束范围 |
rsrp-ThresholdSSB/CSI-RS |
CBD相关 | Qin门限 | 决定新波束"够好"的标准 |
rach-ConfigDedicated(CFRA) |
BFRQ相关 | 每波束专用preamble+RO映射 | 启用无竞争BFRQ |
recoverySearchSpaceId |
响应相关 | 专用PDCCH搜索空间 | gNB下发恢复响应的位置 |
preambleReceivedTargetPower |
BFRQ相关 | BFRQ PRACH初始功率 | 影响BFRQ检测概率 |
| 维度 | 波束失败恢复 (BFR) | 无线链路失败 (RLF) |
|---|---|---|
| 触发对象 | 服务波束质量恶化(BFI超限) | RLC达到最大重传 / T310超时 / MAC随机接入问题 |
| 恢复范围 | 同一服务小区内换波束 | 通常需RRC重建,可能换小区 |
| 是否动RRC | 否,连接保持 | 是,触发Re-establishment |
| 信令开销 | 仅PHY/MAC层(PRACH+MAC CE) | 涉及完整RRC重建流程 |
| 耗时 | 毫秒级 | 数十至数百毫秒 |
| 失败后果 | BFR失败 → 升级为RLF | RLF失败 → 转RRC_IDLE |
| 适用频段 | FR2为主,FR1也可配 | 所有频段 |
| 规范章节 | TS 38.213 5.17, 38.321 | TS 38.331, 38.322 |
设计哲学:BFR是RLF的前置"软恢复"层,把大量本不该升级的瞬时遮挡在物理/MAC层就地解决,只有真正的小区级链路崩溃才走RLF。
早期BFR(Rel-15)仅支持SpCell(PCell/PSCell)。但CA(载波聚合)部署中,辅小区(SCell)同样使用定向波束,SCell波束遮挡会导致该载波吞吐量骤降却无快速恢复手段。
Rel-17(TR 38.812 → 正式规范)引入SCell BFR,其关键差异在于——SCell不能独立发PRACH,恢复请求必须经SpCell转发:
Rel-18进一步优化了L1/L2中心化的小区间移动性(LTM)与波束级MAC CE效率,BFR MAC CE的截断传输(truncated BFR MAC CE)机制也被强化以适配更紧凑的UL授权。
flowchart TD
subgraph Rel15 [Rel-15]
A1[仅SpCell波束失败恢复<br/>基于PRACH]
end
subgraph Rel17 [Rel-17]
A2[新增SCell BFR<br/>SCell BFR MAC CE via SpCell]
A3[专用BFR SR]
end
subgraph Rel18 [Rel-18]
A4[BFR MAC CE截断传输优化]
A5[与LTM/L1-L2移动性协同]
end
Rel15 --> Rel17 --> Rel18
BFR大部分在PHY/MAC层,传统NAS/S1/N2信令抓包看不到,需要UE侧日志(高通QXDM/XCAL/MTE)或gNB侧L1日志:
MAC UL日志中寻找专用preamble发送,其RA目的字段标记为"BFR"而非"Initial/HO";或在PRACH日志中看到非SI请求、非初始接入的preamble。recoverySearchSpaceId对应的CORESET/SearchSpace监听PDCCH。MAC CE解码中可见LCID指示BFR/截断BFR MAC CE,含AC、CI字段。beamFailureDetectionTimer停止,且无RLF/Re-establishment记录。| 现象 | 可能原因 | 排查方向 |
|---|---|---|
| 频繁触发RLF而非BFR恢复 | BFR未启用或参数过严 | 检查BeamFailureRecoveryConfig是否下发;beamFailureInstanceMaxCount是否过小 |
| CBD总找不到候选波束 | 候选波束RS配置不足或Qin过高 | 核查candidateBeamRSSCellList覆盖范围;调低rsrp-Threshold |
| BFRQ发出但无响应 | recoverySearchSpace或CFRA配置错误 | 检查专用RO/preamble映射、gNB侧波束扫描配置 |
| SCell吞吐频繁塌陷 | SCell BFR未生效(旧版本/未配置) | 确认UE与网络支持Rel-17 SCell BFR,检查BFR SR配置 |
| 恢复后又立即再次失败 | 新波束本身也不稳定 | Qin门限偏低,或候选波束集合质量差,需RF优化 |
| ## 常见问题 |
Q1: BFR和RLF到底什么关系?BFR失败后会怎样? A: BFR是RLF的"前置软恢复"层。服务波束恶化时优先触发BFR,若BFR成功(找到候选波束并完成恢复)则连接保持、不触发RLF;若BFR失败(无候选波束,或BFRQ多次重传无响应),则升级为RLF,进而可能触发RRC连接重建。两者在状态机上独立衔接。
Q2: BFRQ为什么复用PRACH而不是单独定义一个信令? A: 复用PRACH一举两得:专用preamble+专用RO的映射既携带了"失败请求"语义,又通过"在哪个波束的RO上发送"隐式上报了UE选定的新波束(C-BEAM),无需额外信令字段。这最大化复用了已有的随机接入硬件与流程,设计极为经济。
Q3: SCell BFR为什么不能像SpCell那样直接在SCell上发PRACH? A: SCell在协议设计上不承载上行PRACH(SCell的上行主要用于数据/PUCCH),且SCell波束失败时该载波链路已不可用。因此SCell BFR必须借用健康的SpCell来发送SR和SCell BFR MAC CE,把恢复请求"代理"转发给gNB,再由gNB为该SCell重配波束。
Q4: Qin和Qout为什么要设计成不同门限(滞回)? A: Qin(恢复门限,对应BLER≈2%)高于Qout(失败门限,对应BLER≈10%),形成滞回区间。这避免UE在临界质量处反复在"失败-恢复"间振荡,保证只有真正稳定可用的新波束才会被选中,提升恢复后链路的鲁棒性。
Q5: 如何在抓包中确认一次BFR成功而非RLF? A: 关键看是否出现RRC Re-establishment/Reconfiguration相关消息。若L1/MAC日志显示专用BFRQ preamble发送→recoverySearchSpace收到C-RNTI PDCCH响应→BFI计数清零,且全程无RRC重建消息,则判定BFR成功;若出现Re-establishment Request则已升级为RLF。
本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
