首页 › ran › NR波束失败检测与恢复四步信令博弈

NR波束失败检测与恢复四步信令与定时器博弈

一、引言:为什么5G NR需要波束级恢复机制

在5G NR FR2(毫米波24.25GHz~52.6GHz)部署中,高频信道面临严重的路径损耗和遮挡效应。一个行人的身体遮挡就可能导致波束信号衰减20~30dB,使UE瞬间失去与服务波束的连接。如果每次波束劣化都触发RRC重建,则恢复时延将达到数百毫秒级别,远无法满足URLLC等场景需求。

波束失败检测与恢复(Beam Failure Detection and Recovery, BFD/BFR) 正是为此设计的底层快速恢复机制——它允许UE在PHY/MAC层自主检测波束级链路失败,并通过专用PRACH资源在数十毫秒内完成恢复,全程不触发RRC状态转换,保持RRC_CONNECTED状态不变。

BFR机制的核心规范分布在三个TS文档中:

规范 覆盖范围
TS 38.213 Section 6 物理层:BFD评估准则、候选波束L1-RSRP测量、PRACH资源映射
TS 38.321 Section 5.17 MAC层:BFI计数器管理、定时器控制、BFR MAC CE、随机接入过程
TS 38.331 RRC层:BeamFailureRecoveryConfig、RadioLinkMonitoringConfig配置IE

整个BFR流程可以分解为四个阶段:检测(Detection)→ 识别(Identification)→ 请求(Request)→ 响应(Response),每个阶段都有独立的定时器守护,形成一条精密的定时器链。

二、波束失败检测(BFD):BFI计数器与定时器的第一重博弈

2.1 BFD-RS参考信号配置

波束失败检测的物理基础是一组波束失败检测参考信号(BFD-RS)。网络通过RRC信令中的RadioLinkMonitoringConfig为UE配置监测资源:

RadioLinkMonitoringConfig ::= SEQUENCE {
    failureDetectionResourcesToAddModList
        SEQUENCE (SIZE(1..maxNrofFailureDetectionResources))
            OF RadioLinkMonitoringRS,
    failureDetectionResourcesToReleaseList
        SEQUENCE (SIZE(1..maxNrofFailureDetectionResources))
            OF RadioLinkMonitoringRS-Id,
    beamFailureInstanceMaxCount
        ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10},
    beamFailureDetectionTimer
        ENUMERATED {pbfd1, pbfd2, pbfd3, pbfd4, pbfd5,
                    pbfd6, pbfd8, pbfd10},
    ...
}

RadioLinkMonitoringRS ::= SEQUENCE {
    radioLinkMonitoringRS-Id    RadioLinkMonitoringRS-Id,
    purpose  ENUMERATED {beamFailure, rlf, both},
    detectionResource  CHOICE {
        ssb-Index     SSB-Index,
        csi-RS-Index  NZP-CSI-RS-ResourceId
    },
    ...
}

设计意图:purpose字段允许同一组RS资源同时服务于BFD和RLF检测(both),也可以独立配置。在典型FR2部署中,BFD-RS通常对应CORESET#0的激活TCI状态所关联的SSB或CSI-RS,确保UE监测的是实际用于PDCCH接收的波束质量。

2.2 假设BLER评估机制(Q_out准则)

BFD的物理层评估并非直接比较L1-RSRP值,而是采用假设PDCCH BLER准则(TS 38.213 Section 6):

关键设计:使用假设BLER而非简单RSRP作为判据,是因为BLER综合考虑了干扰、噪声和信道估计质量,更准确地反映PDCCH的实际接收可靠性。这比单纯RSRP门限判断在多小区干扰场景下更加鲁棒。

2.3 BFI计数器与beamFailureDetectionTimer的博弈

MAC层收到L1的BFI指示后,执行以下逻辑(TS 38.321 Section 5.17):

收到BFI指示时:
    BFI_COUNTER = BFI_COUNTER + 1
    启动或重启 beamFailureDetectionTimer

beamFailureDetectionTimer超时时:
    BFI_COUNTER = 0(重置)

判断条件:
    if BFI_COUNTER >= beamFailureInstanceMaxCount:
        触发波束失败(Beam Failure Detected)
stateDiagram-v2
    [*] --> 正常监测: RRC配置BFD-RS
    正常监测 --> 收到BFI: L1指示(假设BLER>Q_out)
    收到BFI --> 累加计数: BFI_COUNTER++
    累加计数 --> 启动定时器: 启动/重启BFD Timer
    启动定时器 --> 正常监测: 定时器超时→重置计数器
    启动定时器 --> 收到BFI: 再次收到BFI(未超时)
    启动定时器 --> 波束失败触发: BFI_COUNTER≥MaxCount
    波束失败触发 --> 候选波束搜索: 进入CBI阶段
    候选波束搜索 --> [*]

定时器博弈的核心矛盾:

参数 设置偏小 设置偏大
beamFailureInstanceMaxCount(如n1/n2) 检测灵敏度高,但误触发概率大 检测更稳健,但恢复时延增加
beamFailureDetectionTimer(如pbfd1/pbfd10) 只捕获连续快速恶化,漏检间歇性衰落 跨越较长时间窗口累积BFI,但可能延缓检测

典型配置为 beamFailureInstanceMaxCount=n3 + beamFailureDetectionTimer=pbfd10,意味着UE需要在一个检测定时器周期内收到3次连续BFI才触发波束失败。这避免了因短暂衰落造成的误触发,同时保持足够快的检测速度。

三、候选波束识别(CBI):Q_in门限与双类型RS

3.1 候选波束搜索

波束失败触发后,UE立即在候选波束列表中搜索可用的新波束。候选波束资源通过BeamFailureRecoveryConfig中的candidateBeamRSList配置:

BeamFailureRecoveryConfig ::= SEQUENCE {
    rootSequenceIndex-BFR      INTEGER (0..137) OPTIONAL,
    rach-ConfigBFR             RACH-ConfigGeneric OPTIONAL,
    rsrp-ThresholdSSB          RSRP-Range OPTIONAL,
    candidateBeamRSList
        SEQUENCE (SIZE(1..maxNrofCandidateBeams))
            OF PRACH-ResourceDedicatedBFR OPTIONAL,
    ssb-perRACH-Occasion       ENUMERATED {oneEighth, oneFourth,
                         oneHalf, one, two, four, eight, sixteen} OPTIONAL,
    ra-ssb-OccasionMaskIndex   INTEGER (0..15) OPTIONAL,
    recoverySearchSpaceId      SearchSpaceId OPTIONAL,
    beamFailureRecoveryTimer   ENUMERATED {ms10, ms20, ms40, ms60,
                         ms80, ms100, ms150, ms200} OPTIONAL,
    ...
}

候选波束可以是SSB或CSI-RS,通过PRACH-ResourceDedicatedBFR区分:

PRACH-ResourceDedicatedBFR ::= CHOICE {
    ssb    BFR-SSB-Resource,
    csi-RS BFR-CSIRS-Resource
}

BFR-SSB-Resource ::= SEQUENCE {
    ssb              SSB-Index,
    ra-PreambleIndex INTEGER (0..63),
    ...
}

BFR-CSIRS-Resource ::= SEQUENCE {
    csi-RS           NZP-CSI-RS-ResourceId,
    ra-OccasionList  SEQUENCE (SIZE(1..maxRA-OccasionsPerCSIRS))
                         OF INTEGER (0..maxRA-Occasions-1) OPTIONAL,
    ra-PreambleIndex INTEGER (0..63) OPTIONAL,
    ...
}

3.2 Q_in门限评估

UE对每个候选波束RS资源测量L1-RSRP,与门限 Q_in(rsrp-ThresholdSSB)比较:

设计意图:Q_in > Q_out,形成双门限滞回机制。Q_out(10% BLER)用于检测当前波束"不可用",Q_in(RSRP绝对门限)用于确保新波束"足够好"。这种非对称设计防止UE在两个质量相近的边缘波束之间来回切换(乒乓效应)。

3.3 SSB与CSI-RS候选波束对比

特性 SSB候选波束 CSI-RS候选波束
粒度 粗粒度(SSB周期20/40/80/160ms) 细粒度(CSI-RS可密集配置)
开销 低(SSB为同步信号,本身必须发送) 较高(需额外CSI-RS资源配置)
波束宽度 宽波束 窄波束,更适合精确波束恢复
PRACH映射 SSB→RO通过ssb-perRACH-Occasion映射 CSI-RS→RO通过ra-OccasionList显式映射
适用场景 FR1/FR2通用 FR2精细化波束管理

四、BFR恢复请求(BFRQ):CFRA与CBRA双径博弈

4.1 CFRA模式:专用前导码快速恢复(首选路径)

当候选波束在candidateBeamRSList中配置了专用PRACH前导码(ra-PreambleIndex)时,UE使用无竞争随机接入(CFRA)发起BFRQ:

步骤: 1. UE根据选定候选波束的SSB-Index或CSI-RS-ResourceId,查表获取对应的专用ra-PreambleIndex(0~63) 2. 在该候选波束关联的PRACH时机(RO)上发送专用前导码 3. 启动 beamFailureRecoveryTimer

CFRA优势:由于前导码是网络预分配的,不存在竞争冲突,gNB收到前导码后即可确定UE身份和所选新波束,实现单步(Msg1→Msg2)恢复,时延最小。

4.2 CBRA模式:回退到四步竞争接入

当候选波束未配置专用前导码时(如CSI-RS候选波束的ra-PreambleIndex为OPTIONAL且未配置),UE回退到基于竞争的随机接入(CBRA):

步骤: 1. UE从公共前导码集合中随机选择一个前导码 2. 在候选波束对应的RO上发送(Msg1) 3. 等待RAR窗口(Msg2) 4. 发送Msg3(含C-RNTI MAC CE) 5. 等待竞争解决(Msg4)

CBRA代价:四步交互导致恢复时延增加2~3倍,且存在竞争失败风险。

4.3 PRACH功率攀升机制

BFRQ的PRACH发送遵循独立的功率攀升参数:

RACH-ConfigGeneric ::= SEQUENCE {
    preambleReceivedTargetPower   INTEGER (-202..-60),
    preambleTransMax
        ENUMERATED {n3,n4,n5,n6,n7,n8,n10,n20,n50,n100,n200},
    powerRampingStep
        ENUMERATED {dB0, dB2, dB4, dB6},
    ra-ResponseWindow
        ENUMERATED {sl1, sl2, sl4, sl8, sl10, sl20, sl40, sl80},
    ...
}

若配置了ra-Prioritization,BFR可以使用更高的功率攀升步长(powerRampingStepHighPriority),确保BFRQ在恶劣信道条件下也能被gNB检测到。

flowchart TD
    A[波束失败触发] --> B[候选波束搜索]
    B --> C{找到合格候选波束?}
    C -->|否| D[触发RLF→RRC重建]
    C -->|是| E{配置了专用前导码?}
    E -->|是| F[CFRA模式]
    E -->|否| G[CBRA模式]
    F --> H[发送专用PRACH前导码 Msg1]
    H --> I[启动beamFailureRecoveryTimer]
    I --> J[在recoverySearchSpace监测C-RNTI PDCCH]
    J --> K{收到响应?}
    K -->|是| L[BFR成功→切换到新波束]
    K -->|否 Timer超时| M{重试次数<preambleTransMax?}
    M -->|是| N[功率攀升+重新发送前导码]
    N --> J
    M -->|否| D
    G --> O[四步RA: Msg1→Msg2→Msg3→Msg4]
    O --> P[竞争解决成功?]
    P -->|是| L
    P -->|否| Q[重试或触发RLF]

五、gNB响应与恢复完成:recoverySearchSpace的精确定位

5.1 响应搜索空间

gNB成功检测BFRQ前导码后,在UE配置的recoverySearchSpaceId指定的搜索空间上发送响应:

设计意图:使用专用recoverySearchSpaceId而非默认Type1-PDCCH CSS(用于普通RAR),是因为BFR响应需要在新波束对应的控制资源集上发送。gNB收到BFRQ前导码后已经知道UE选择了哪个候选波束,因此在对应新波束的CORESET上发送PDCCH响应。

5.2 完整信令时序图

sequenceDiagram
    participant UE
    participant PHY as UE PHY(L1)
    participant MAC as UE MAC(L2)
    participant gNB

    Note over UE,gNB: 阶段1: 波束失败检测(BFD)
    gNB->>UE: BFD-RS (SSB/CSI-RS)
    UE->>PHY: 测量所有BFD-RS的假设BLER
    PHY->>PHY: 所有BFD-RS BLER > Q_out?
    PHY->>MAC: BFI指示(L1→L2)
    MAC->>MAC: BFI_COUNTER++ 启动BFD Timer
    Note over MAC: 重复BFI直到BFI_COUNTER≥MaxCount

    Note over UE,gNB: 阶段2: 候选波束识别(CBI)
    UE->>UE: 测量candidateBeamRSList中所有候选RS
    UE->>UE: L1-RSRP ≥ rsrp-ThresholdSSB?
    UE->>UE: 选择RSRP最高的合格候选波束

    Note over UE,gNB: 阶段3: BFR恢复请求(BFRQ)
    UE->>gNB: PRACH Preamble(专用/竞争)
    Note right of UE: 在候选波束的RO上发送
    MAC->>MAC: 启动beamFailureRecoveryTimer

    Note over UE,gNB: 阶段4: gNB响应(BFR Response)
    gNB->>UE: PDCCH(C-RNTI加扰)
    Note left of gNB: 在recoverySearchSpace上发送
    Note left of gNB: 在新波束的CORESET上发送

    MAC->>MAC: 停止beamFailureRecoveryTimer
    MAC->>MAC: 重置BFI_COUNTER=0
    Note over UE,gNB: BFR成功完成→在新波束上恢复通信

六、SCell BFR(Rel-16扩展):从PCell到辅小区的波束恢复

Rel-16将BFR机制扩展到载波聚合场景下的辅小区(SCell),引入了BFR MAC CE上报机制。SCell BFR与PCell BFR的核心区别在于:

特性 PCell BFR SCell BFR (Rel-16)
失败检测 BFD-RS→BFI计数器 相同机制
恢复请求 PRACH preamble MAC CE(在SpCell上发送)
候选波束 独立搜索 独立搜索
gNB响应 recoverySearchSpace PDCCH 调度的PUSCH确认
回退 RLF→RRC重建 上报"无候选波束"→gNB决策

BFR MAC CE格式(TS 38.321 Section 6.1.3.6):

字段 比特数 说明
ACID(ServCell ID) 5位 失败的SCell索引
BFR Type 1位 0=有候选波束,1=无候选波束
Candidate Beam Index 变长 候选波束RS索引(如有)

SR-based BFR(Rel-16):当UE在SpCell上有可用的SR资源时,UE可以先发SR请求PUSCH资源,再在PUSCH上发送BFR MAC CE,避免PRACH竞争。

七、定时器链式博弈分析

BFR全过程涉及三条定时器的级联守护,每条定时器的超时都意味着不同的后果:

flowchart TD
    subgraph 阶段1[阶段1: BFD检测]
        T1[beamFailureDetectionTimer<br/>pbfd1~pbfd10]
    end
    subgraph 阶段2[阶段2: BFR请求]
        T2[beamFailureRecoveryTimer<br/>ms10~ms200]
        T3[ra-ResponseWindow<br/>sl1~sl80]
    end
    subgraph 阶段3[失败处理]
        T4[RLF→RRC重建]
    end

    T1 -->|超时→重置计数器| T1
    T1 -->|BFI达MaxCount| T2
    T2 -->|收到C-RNTI PDCCH| 成功[BFR成功]
    T2 -->|超时| 重试{重试<preambleTransMax?}
    重试 -->|是| T2
    重试 -->|否| T4
    T3 -->|超时| 重试

定时器参数配置博弈表:

参数组合 场景 优势 风险
MaxCount=n1 + Timer=pbfd10 URLLC超低时延 检测最快(单次BFI即触发) 误触发概率最高
MaxCount=n10 + Timer=pbfd1 高速移动/频繁遮挡 累积窗口大,稳健 检测时延最长
BFRTimer=ms10 + preambleTransMax=n3 稳定信道 快速判定失败 重试机会少
BFRTimer=ms200 + preambleTransMax=n20 恶劣覆盖 充分重试机会 总失败时延可能达数秒

关键定时器交互: 1. beamFailureDetectionTimer超时→重置BFI_COUNTER,防止历史BFI无限累积 2. beamFailureRecoveryTimer启动点:PRACH Msg1发送时刻 3. ra-ResponseWindow嵌套在beamFailureRecoveryTimer内,单次RAR窗口失败后功率攀升重试 4. 所有重试耗尽后→声明RLF→触发RRC重建

八、抓包识别与排错实战

8.1 抓包识别BFR流程

L1日志关键事件:

日志事件 含义
BFI_INDICATION PHY层向MAC发送BFI指示
BEAM_FAILURE_DETECTED BFI_COUNTER达到MaxCount
CANDIDATE_BEAM_FOUND (SSB/CSI-RS idx=xx) 候选波束搜索结果
BFR_PRACH_TX (preamble=xx, RO=xx) BFRQ PRACH发送
BFR_RESPONSE (C-RNTI DCI) gNB响应

RRC日志:关注BeamFailureRecoveryConfig的完整配置,特别是recoverySearchSpaceId是否正确指向新波束的CORESET。

8.2 常见故障点

故障现象 可能原因 排查方向
BFI计数器到顶但未触发BFR beamFailureDetectionTimer配置过短,计数器被反复重置 检查Timer值与BFI到达间隔的关系
BFRQ发送后无响应 recoverySearchSpaceId配置错误或gNB未在正确波束上响应 检查搜索空间配置和gNB日志
反复触发BFR Q_out门限过高或候选波束质量不足 检查Q_out/Q_in配置和候选波束RSRP
SCell BFR MAC CE被丢弃 SpCell上行资源不足或SR配置缺失 检查SR资源配置和PUSCH调度
CFRA→CBRA意外回退 候选波束未配置专用前导码或前导码已失效 检查ra-PreambleIndex配置
## 九、Rel-17/18增强特性
特性 版本 说明
无候选波束的CBRA回退 Rel-17 当所有候选波束均不满足Q_in时,允许在任意可用SSB上发起CBRA
多TRP BFR Rel-17/18 每个TRP独立检测波束失败,支持per-TRP恢复
NTN BFR适配 Rel-17/18 针对卫星场景的大RTT调整BFR定时器
L1/L2移动性集成 Rel-18 BFR与L1/L2切换流程整合,实现更快的小区级恢复
RedCap BFR简化 Rel-18 针对Reduced Capability设备的简化BFR过程

十、BFR vs RLF vs RRC重建:三级恢复机制对比

特性 BFR RLF RRC重建
触发级别 波束级 链路级 连接级
恢复主体 UE自主(PHY/MAC) UE+网络协同 网络控制
典型时延 10~50ms 200~500ms 500ms~数秒
上下文保持 完全保持 保持(AS上下文保留) 部分保持(需AMF参与)
RRC状态 CONNECTED不变 先进入短暂异常 重建后恢复CONNECTED
适用频段 FR2(波束赋形) FR1/FR2均适用 FR1/FR2均适用

常见问题

Q1: BFD为什么使用假设BLER而不是直接用L1-RSRP作为判决条件?

A: 假设BLER综合了信号强度、干扰水平和信道估计精度三个维度,比单纯的RSRP更准确地反映PDCCH实际接收可靠性。在小区边缘或强干扰场景下,RSRP可能仍然较高但干扰导致PDCCH无法解调,此时假设BLER能正确触发BFD而RSRP门限不能。

Q2: CFRA和CBRA模式在BFR中如何选择?

A: 这不是UE的运行时选择,而是由网络RRC配置决定的。如果candidateBeamRSList中为某个候选波束配置了ra-PreambleIndex(0~63有效值),则该波束使用CFRA;如果未配置或配置无效,UE自动回退到CBRA。实际网络中,运营商通常为SSB候选波束预配置CFRA资源以保证恢复速度。

Q3: beamFailureDetectionTimer和beamFailureRecoveryTimer有什么区别?

A: 这是两个完全不同阶段的定时器。beamFailureDetectionTimer用于BFD阶段,控制BFI计数器的累积窗口——超时后计数器归零,防止历史BFI影响当前判断。beamFailureRecoveryTimer用于BFR阶段,从UE发送PRACH Msg1开始计时,控制gNB响应的等待窗口——超时未收到响应则重试或声明失败。

Q4: SCell波束失败为什么不直接用PRACH恢复?

A: 因为SCell可能只配置了下行载波而没有上行载波(某些CA场景),或者SCell的上行PRACH资源不可用。因此Rel-16选择通过SpCell上的MAC CE上报SCell的波束失败信息,由gNB统一决策恢复方案(如重配SCell的波束或触发SCell切换)。

Q5: BFR成功后UE如何知道新波束的PDCCH配置?

A: BFR成功后,UE在recoverySearchSpaceId指定的搜索空间上继续监测PDCCH。由于gNB已通过BFRQ PRACH获知UE选择了哪个候选波束,gNB会在新波束对应的CORESET/搜索空间上发送后续PDCCH。如果需要更新TCI状态或CORESET配置,gNB会通过MAC CE(TCI State Indication for UE-specific PDCCH MAC CE)或RRC重配置信令完成。

参考来源

  1. 3GPP TS 38.321 V19.x.x — Section 5.17 Beam Failure Detection and Recovery procedures
  2. 3GPP TS 38.213 V19.x.x — Section 6 Beam Failure Detection related PHY procedures
  3. ShareTechnote - 5G NR Beam Failure Recovery — RRC参数ASN.1定义与四步流程图解
  4. WirelessBrew - Beam Failure Detection and Recovery in 5G NR — 完整BFR机制分析与配置参数说明
  5. 3GPP Explorer - BFR Glossary — BFR术语定义与Rel-15/16/17/18演进概览

本文由「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 等场景全覆盖。

51学通信知识星球海报-扫码加入