5G_NR_Indication

5G NR能力判断机制解析

为了确保NR正常工作,需要保证UE和NW都支持NR能力。也就是说,NW应该知道UE是否支持NR能力,UE也应该知道NW是否支持NR能力。

有一个众所周知的机制可以让NW判断UE是否具备NR能力,即通过UE能力查询和信息机制。

那么,UE如何判断NW是否支持NR呢?特别是对于NSA来说?

UE可以通过检查特定的SIB2(LTE SIB2)IE,即upperLayerIndication来判断。我知道这听起来可能不太清楚具体是什么意思。实际上,如果LTE SIB2将upperLayerIndication-r15设置为true,则表示NW支持ENDC能力。这意味着在LTE小区附近存在一个NR小区。这个IE:upperLayerIndication在未来的版本中可能会指示其他事情(例如,除了同址的NR小区之外),但在ENDC环境中,这个IE至少指示了同址的NR小区的存在。

以下是一个SIB2指示5G(NSA)支持性的例子:

message c1: systemInformation: {
  criticalExtensions systemInformation-r8: {
    sib-TypeAndInfo {
      sib2: {
        ...
        plmn-InfoList-r15 {
          {
            upperLayerIndication-r15 true
          }
        }
      },
    },
  },
}

更多详细信息,请参考R2-1801529。

### 5G NR 波束失败恢复流程中的 BFI_COUNTER 使用说明 在 5G 新无线电 (NR) 中,波束管理是一个重要的功能模块,尤其是在毫米波频段下,波束失败(Beam Failure, BF)可能频繁发生。为了应对这种情况,标准定义了一套机制来检测和恢复波束失败。 #### BFI_COUNTER 的作用 BFI_COUNTER 是一个计数器变量,用于记录底层物理层(L1)向媒体访问控制层(MAC)报告的波束失败实例指示次数。当该计数值达到预设阈值 `beamFailureInstanceMaxCount`[^2] 后,系统会判定发生了波束失败事件,并触发相应的恢复操作。 - **初始化与更新逻辑** 当 MAC 层接收到来自 L1 的波束失败实例指示时,将启动或重置定时器 `beamFailureDetectionTimer` 并增加 BFI_COUNTER 计数值[^1]。 - **条件判断** 如果满足以下条件之一,则认为波束失败已确认: - 定时器 `beamFailureDetectionTimer` 超时; - 或者 BFI_COUNTER 值大于等于配置参数 `beamFailureInstanceMaxCount`[^2]。 一旦确认波束失败,后续行为取决于当前小区类型以及上下文环境: - 对于辅小区(Secondary Cell, SCell),仅触发波束失败恢复(Beam Failure Recovery, BFR)过程[^1]。 - 针对其他场景下的主服务小区(Primary Serving Cell),则需进一步通过随机接入信道(Random Access Channel, RACH)完成重建连接的操作[^3]。 #### 特殊情况下 RACH 流程的选择 根据实际网络部署状况及 UE 设备状态的不同,可能会涉及两种类型的 RACH 请求方式——竞争型随机接入(Contention-Based Random Access, CBRA)与非竞争型随机接入(Configured/Non-contention-based Random Access, CFRA)。通常来说,优先尝试利用预先分配好的资源配置来进行无冲突式的 CFRA 接入;然而,在某些特殊条件下也可能转而采用基于争用的方式实现回退处理[^4]。 以下是几种可能导致切换至 CBRA 场景的情形描述: - 用户端未被赋予任何关于 CFRA 所必需的信息资源; - 即便存在可用的 CFRA 参数设定方案但由于目标候选方向上的信号质量不佳等原因致使无法正常发起请求动作; - 初次尝试执行 CFRA 失败后作为补救措施再次发起新的接入申请活动。 --- ### 示例代码片段展示如何模拟这一过程的部分伪代码表示如下所示: ```python class BeamManager: def __init__(self): self.BFI_COUNTER = 0 self.beamFailureDetectionTimer = None self.scalingFactorBI = 1 def handle_beam_failure_indication(self): """Handle the beam failure indication from Layer 1.""" if not self.beamFailureDetectionTimer or self.beamFailureDetectionTimer.has_expired(): self.restart_timer() self.increment_counter() if self.is_beam_failure_confirmed(): self.trigger_recovery_process() def restart_timer(self): """Restart the detection timer.""" self.beamFailureDetectionTimer = Timer(timeout_seconds=BEAM_FAILURE_DETECTION_TIMEOUT) def increment_counter(self): """Increment the counter upon receiving an indication.""" self.BFI_COUNTER += 1 def is_beam_failure_confirmed(self): """Check whether the conditions for a confirmed beam failure are met.""" return ( self.BFI_COUNTER >= BEAM_FAILURE_INSTANCE_MAX_COUNT or self.beamFailureDetectionTimer.has_expired() ) def trigger_recovery_process(self): """Trigger either BFR on SCell or RACH process otherwise.""" if current_cell_type == "SCell": initiate_bfr_procedure() else: perform_rach_operation(scaling_factor=self.scalingFactorBI) def main(): manager = BeamManager() while True: receive_layer_1_event() # Simulate event reception. manager.handle_beam_failure_indication() if __name__ == "__main__": main() ``` --- ### 总结 综上所述,通过对 BFI_COUNTER 变量的有效管理和合理运用可以很好地支持整个波束失败检测及其后的恢复工作顺利开展。这不仅有助于提升用户体验连续性和稳定性同时也能够保障整体通信系统的高效运作性能表现优异。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值