跳转至

3GPP NTN Handover

一文带你读懂 3GPP NTN 中的常见 Handover 方式与流程

注意: 本文使用 claude 辅助写作

本章要点
  • 范围:本章只讨论 LEO,以透明转发为主,Rel-19 的再生转发单独列出;假设 UE 具备 GNSS。
  • 依据:TS 38.300 v19.3.0 §16.14.3.2、§9.2.3.6,TS 38.331,TS 23.502。
  • 3GPP NTN 的连接态移动性共 5 类,前 4 类是 L3 切换,第 5 类不属于切换:
# 形式 版本 L3 HO? 核心网参与 NTN 关键点
1 Xn-based HO Rel-15 基线,Rel-17 适配 是 仅最后的 Path Switch HO 命令携带目标 ntn-Config,UE 自算 TA 和 Doppler
2 N2-based HO 同上 是 AMF 中转准备阶段,再做路径切换 用于没有 Xn 或需要换 AMF 的场景
3 CHO Rel-16 基线,Rel-17 增加 NTN 条件 是 同 Xn 或 N2 时间触发(T1)、位置触发(D1)、A4
4 RACH-less HO Rel-18 是 同 Xn 或 N2 不发 PRACH,可与时间型 CHO 组合
5 卫星切换 + 重同步 Rel-18 否 不参与 同 PCI、同 gNB、QEF 小区、透明转发
术语速查(面向大同行读者)
  • TA(Timing Advance,定时提前):UE 要比"下行时刻"提前多久发送上行,才能让不同距离的 UE 信号同时到达基站。地面网络中 TA 在 μs 量级;LEO 中可达十几到几十 ms。
  • RTT:往返时延。LEO 600 km 透明转发时,最大 RTT 约 25.8 ms(TR 38.821);地面网络通常小于 1 ms。
  • Doppler(多普勒频偏):卫星以约 7.5 km/s 运动导致的载波频率偏移。LEO 600 km 最大约 ±24 ppm,在 2 GHz 下约为 ±48 kHz。
  • 星历(ephemeris):卫星的位置、速度或轨道参数。common TA 是网络广播的公共时延,主要对应馈电链路部分。UE 用 GNSS 位置加星历,可以自己算出服务链路(UE↔卫星)的时延。
  • ntn-Config:一组 NTN 接入参数,包括星历、common TA、K_offset、epoch 时刻和有效期。在 SIB19 中广播,也可以通过专用信令下发。
  • K_offset:调度时序的额外偏移量。由于 TA 很大,UE 收到调度后需要更晚才发送,因此给调度时序整体加一个偏移。
  • SSB:同步信号块。UE 靠它做下行的时间和频率同步;一个 SSB 通常对应一个波束。
  • PCI:物理小区 ID。
  • RA / PRACH:随机接入。Msg1 是前导(preamble),Msg2 是 RAR,基站在 RAR 中下发 TA。CFRA 是使用专用前导的无竞争随机接入。
  • PDCP SN:PDCP 层的序列号,作用类似 TCP 序号。切换时需要传递,保证数据不丢不重。
  • PDCCH:下行控制信道,携带上下行调度授权(grant)。
  • CG(Configured Grant,Type-1):由 RRC 预先配好的周期性上行资源,不需要 PDCCH 调度就能直接发送。
  • TAT(timeAlignmentTimer):TA 有效期计时器。超时后 UE 认为自己上行失步,必须停止上行发送。
  • QEF(准地固)小区:在一颗卫星过境期间,波束始终指向地面固定区域。与之相对的是 earth-moving 小区,它随卫星一起扫过地面。
  • t-Service:SIB19 中广播的 UTC 时刻,表示服务小区停止覆盖当前区域的时间。

1. 基线切换: Xn/N2-based HO

下面以 N2 为例画出完整流程。Xn 与它的差别只在两处:第 2 步的准备阶段不经过 AMF;第 7 步的路径切换由目标 gNB 主动发起。

sequenceDiagram
    participant UE
    participant S as gNB-1(源)
    participant T as gNB-2(目标)
    participant AMF
    participant U as SMF/UPF
    UE->>S: MeasurementReport (A3/A4/A5 或 D1)
    Note over S: 第1步 HO 决策
    S->>AMF: 第2步 HANDOVER REQUIRED
    AMF->>T: HANDOVER REQUEST
    T->>AMF: HANDOVER REQUEST ACK (内含给 UE 的 RRCReconfiguration)
    AMF->>S: HANDOVER COMMAND
    S->>UE: 第3步 RRCReconfiguration (reconfigurationWithSync + 目标 ntn-Config)
    S->>AMF: 第4步 UPLINK RAN STATUS TRANSFER
    AMF->>T: DOWNLINK RAN STATUS TRANSFER
    S-->>T: 数据转发 (直接或经 UPF)
    Note over UE: 第5步 同步目标 SSB,自算 TA,预补偿 Doppler
    UE->>T: 第6步 随机接入 Msg1/Msg2
    UE->>T: RRCReconfigurationComplete
    T->>AMF: 第7步 HANDOVER NOTIFY
    AMF->>U: 更新 PDU 会话,N4 修改,下行路径切到 gNB-2
    U-->>S: End Marker
    AMF->>S: UE CONTEXT RELEASE COMMAND

第 1 步:切换决策

(1) 问题

  • 地面网络靠 A3 判决:邻区信号比服务小区强出一个偏置,就触发切换。
  • LEO 的卫星在几百公里高空。小区中心和边缘的 UE 到卫星的距离相差不大,RSRP 的差异远小于地面网络,信号曲线很平,用 A3 很难判断"现在该切了"。
  • 另一方面,卫星一飞走,整个小区的 UE 都要切换,这不是个别 UE 的事件。

(2) 思路

  • 卫星轨道是确定的,UE 也有 GNSS 位置。可以用"位置"和"时间"来补充"信号强度"作为判据。

(3) 实际做法

[1.1] 位置事件 D1(Rel-17):当 UE 到服务小区参考点的距离大于门限 1,并且到邻区参考点的距离小于门限 2 时上报。它可以和 A3/A4/A5 一起配置。

[1.2] 测量辅助:网络在 SIB19 或测量配置中给出邻区卫星的星历和 common TA。网络还可以为同一频点并行配置多套 SMTC(SSB 测量时间窗),因为不同卫星的 SSB 到达时间可能相差数毫秒。

[1.3] gNB 也可以直接用星历预测卫星离开的时刻来做决策,这部分属于实现,标准没有限定。

第 2 步:切换准备(Xn 或经 AMF 的 N2)

(1) 问题

  • 目标 gNB 需要拿到 UE 上下文,并预留资源
  • LEO 透明转发时,gNB 在地面
    • 当卫星的馈电链路切换到另一个信关站(该信关站挂在另一个 gNB 下),或者覆盖跨越国界需要更换 AMF 时,就会出现 gNB 之间没有 Xn 的情况

(2) 思路

  • 这一段信令全部在地面传输,不经过卫星,因此直接复用地面流程即可。

(3) 实际做法

[2.1] Xn:源 gNB 发 HANDOVER REQUEST,目标 gNB 回 HANDOVER REQUEST ACK。

[2.2] N2:消息链为 HANDOVER REQUIRED → AMF → HANDOVER REQUEST → ACK → HANDOVER COMMAND。

[2.3] 目标 gNB 在 ACK 中就把给 UE 的 RRCReconfiguration 构造好,放在透明容器里。源 gNB 不解析,直接转发给 UE。

[2.4] 何时必须走 N2:两个 gNB 之间没有 Xn,或者需要更换 AMF。Rel-19 引入星上 gNB 后,N2 流程也可以用于同一个 gNB 内部的切换,例如星上 gNB 的馈电链路更换时(TS 23.502)。

Xn 和 N2 分别是什么

它们只是编号式的接口名。区别在于来自不同的规范体系:Xn 是 RAN 侧的叫法,N2 是核心网(SA2)侧的叫法。

Xn N2
连接对象 gNB ↔ gNB(基站之间) gNB ↔ AMF(基站到核心网控制面)
命名来源 RAN3 定义的接口。沿用 LTE 中基站间接口 X2 的 "X","n" 表示 5G/NG 5GS 的参考点统一编号为 N1、N2、N3…
控制面协议 Xn-C 承载 XnAP(TS 38.423),跑在 SCTP 上 承载 NGAP(TS 38.413),跑在 SCTP 上
用户面 Xn-U,用 GTP-U 转发切换期间的数据 无。gNB ↔ UPF 作为用户面, 是 N3
  • N2 ≈ NG-C,是同一条链路的两种叫法
  • Xn 切换中,两个基站直接对话;N2 切换中,两个基站没有直连,只能各自通过 N2 找 AMF,由 AMF 中转
顺带列一下常见的几个 N 编号
  • N1 是 UE 与 AMF 之间的 NAS 信令(逻辑上经过 gNB 透传)
  • N2 是 gNB 到 AMF 的控制面数据
  • N3 是 gNB 到 UPF 的用户面数据
  • N4 是 SMF 到 UPF,用于下发转发规则

第 3 步:下发 HO 命令

(1) 问题

  • UE 到达目标小区后,第一件事是上行同步。在 NTN 中,这需要目标卫星的星历和 common TA,否则 UE 算不出 TA 和 Doppler。
  • 地面网络的 HO 命令里没有这些信息。
  • 如果让 UE 到了目标小区再去读 SIB19,就要等一个系统消息周期,切换中断时间会被拉长。

(2) 思路

  • 把目标卫星的参数随 HO 命令一起下发。

(3) 实际做法

[3.1] RRCReconfiguration 中的 reconfigurationWithSync 部分,其目标小区 ServingCellConfigCommon 可以携带 ntn-Config。

[3.2] 源 gNB 下发命令后,停止对该 UE 的调度。

[3.3] 注意:HO 命令本身要经过卫星下发。在 LEO 中,命令到达 UE 时链路可能已经变差。这是 CHO 的动机,见第 2 节。

第 4 步:SN 状态传递与数据转发

这一点很重要, 维护 HO 时用户数据面 "不断"

(1) 问题

  • 切换期间到达的数据不能丢,PDCP 序号也必须连续。这一点没有 NTN 特殊性。

(2) 思路

  • 复用地面流程。

(3) 实际做法

[4.1] Status Transfer

  • Xn:源 gNB 直接向目标 gNB 发 SN STATUS TRANSFER
  • N2:经 AMF 中转,消息为 UPLINK / DOWNLINK RAN STATUS TRANSFER

[4.2] 源 gNB 把 "缓存数据" 和 "新到达的数据" 转发给目标 gNB。转发可以是直接转发(Xn),也可以经 UPF 间接转发(N2)。

Warning

注意这里 src-gNB 还是有"新到达的数据"的!

原因: 此时 src-gNB 还没下线呢!!!!!!

第 5 步:UE 同步目标小区并预补偿

这一部分的详细展开得看笔者的另一篇笔记

(1) 问题

  • 在地面网络中,UE 先做下行同步,然后直接发 PRACH,由基站在 RAR 中告诉它 TA。PRACH 前导只能容忍有限的定时误差,地面小区只有几十公里,所以这个误差范围够用。
  • 在 LEO 中,不同 UE 到卫星的时延差和 Doppler 都很大
    • 如果 UE 不先补偿,前导根本无法被基站正确接收

(2) 思路

  • UE 自己算出 TA 和 Doppler,在发送前就补偿好。

(3) 实际做法

[5.1] 下行同步目标小区的 SSB。

[5.2] 计算 TA。总 TA 由三部分组成:用 GNSS 位置和目标星历算出的服务链路往返时延;网络广播的 common TA(馈电链路部分);网络闭环维护的 NTA。

[5.3] 根据卫星速度矢量,对上行频率预补偿 Doppler。

[5.4] 星历有有效期。超过有效期没有更新时,UE 视为上行失步。

第 6 步:随机接入与切换完成

(1) 问题

  • 地面网络做随机接入,主要目的是获取 TA,同时做竞争解决。
  • 在 NTN 中,TA 已经由 UE 自己算好,RA 却至少还要消耗一个 RTT
    • 并且卫星飞离时整片小区的 UE 同时切换,随机接入很容易拥塞

(2) 思路

  • Rel-17 保留 RA,只用它做残差校正和接入确认。
  • Rel-18 更进一步,直接去掉 RA,即 RACH-less HO,见第 3 节。

(3) 实际做法

[6.1] UE 发起 CFRA 或 CBRA。RAR 中的 TA command 只用来修正残差。

[6.2] UE 发送 RRCReconfigurationComplete。整个执行过程由 T304 计时器保护,超时即判定切换失败。

第 7 步:路径切换与源侧释放

(1) 问题

  • 核心网的 UPF 仍在往源 gNB 发下行数据,需要把路径改到目标 gNB。

(2) 思路

  • 复用地面流程。N2 和 Xn 在这一步的区别仅在于由谁发起。

(3) 实际做法

[7.1] Xn:目标 gNB 发 Path Switch Request,由 AMF 驱动 SMF/UPF 修改路径

[7.2] N2:目标 gNB 发 HANDOVER NOTIFY,AMF 再更新 PDU 会话,SMF 通过 N4 修改 UPF 的转发规则

[7.3] UPF 向源 gNB 发 End Marker,标志旧路径的数据结束。随后释放源 gNB 上的 UE 上下文

2. 条件切换: CHO

CHO: Conditional Handover

sequenceDiagram
    participant UE
    participant S as gNB-1(源)
    participant T as gNB-2(候选)
    participant C as AMF/UPF
    Note over S: 依据测量或星历预测,决定准备 CHO
    S->>T: 第1步 HANDOVER REQUEST (CHO 指示,可并行多个候选)
    T->>S: HANDOVER REQUEST ACK (候选小区配置)
    S->>UE: 第2步 RRCReconfiguration (候选配置 + 执行条件 T1/D1/A3/A4/A5)
    UE->>S: RRCReconfigurationComplete (仍在源小区)
    S-->>T: 第3步 EARLY STATUS TRANSFER + 提前数据转发 (按 T1 安排)
    Note over UE: 第4步 持续评估,如 t∈[t1,t1+duration] 且 A4 满足
    Note over UE: 条件满足,脱离源小区,应用候选配置,自算 TA
    UE->>T: 随机接入 (或 RACH-less) + RRCReconfigurationComplete
    T->>S: 第5步 HANDOVER SUCCESS
    S->>T: SN STATUS TRANSFER + 剩余数据
    Note over S: 向其他候选发 HANDOVER CANCEL
    T->>C: Path Switch Request
    T->>S: UE CONTEXT RELEASE
注意: one2multi 和 one2one

第 1 步 HANDOVER REQUEST:one2multi. 每个候选一次独立的准备过程

  • XnAP 的切换准备是按单个 UE、单个目标来做的
    • 源 gNB 要准备几个候选,就对几个候选分别发起 HANDOVER REQUEST,并带上 CHO 指示
  • 按 38.423 的设计,每次准备针对一个目标小区。所以即使两个候选小区属于同一个 gNB,通常也是两次独立的准备,各自返回一个 ACK,里面是该候选小区的配置
  • 最后,源 gNB 把这些 ACK 里的配置汇总成一条 RRCReconfiguration 发给 UE(condReconfigToAddModList 里有多项,每项带自己的执行条件)
  • 所以:网络侧是 1 对多,空口只有 1 条消息
  • 走 N2 时同理,只是每个候选的准备都要经过 AMF 中转

第 3 步 EARLY STATUS TRANSFER + 提前转发:one2one. 同样发给多个候选

  • 源 gNB 不知道 UE 最终会选哪个候选,所以对需要提前转发的候选,各自发一份 EARLY STATUS TRANSFER(告诉对方转发的第一个 PDCP 包从哪个序号开始),并把同一份下行数据复制转发给它们
  • 这正是地面 CHO 浪费回传带宽的地方:候选越多,数据复制得越多
  • 在 NTN 中,T1 的价值就体现在这里:
    • 不同候选的时间窗通常不同(比如按卫星先后飞过的顺序排列),源 gNB 可以按各自的 t1 错开转发时间,只给时间窗快到的候选转发,而不是一开始就全量复制给所有候选
    • 具体怎么错开属于 gNB 实现,标准只规定了"源 gNB 应参考下发给 UE 的时间来决定何时开始提前转发"

第 5 步的消息是按"结果"分开的

  • HANDOVER SUCCESS 和 SN STATUS TRANSFER 是 one2one,只发生在源 gNB 和 UE 实际接入的那个目标之间
  • HANDOVER CANCEL 是 one2multi,发给 其余所有候选,让它们释放预留的资源

第 1 步:提前准备多个候选小区

(1) 问题

  • 普通 HO 的时机很难把握:命令发得太早,目标小区可能还不可用;发得太晚,源链路已经变差,命令可能收不到。
  • LEO 的大 RTT 和低信号区分度把这两种风险都放大了。

(2) 思路

  • 把"准备"和"执行"拆开:网络先准备好候选小区,执行时机交给 UE 自己判断。

(3) 实际做法

[1.1] 源 gNB 向一个或多个候选 gNB 发送带 CHO 指示的 HANDOVER REQUEST。候选 gNB 回 ACK,并带回各自的配置。

[1.2] 代价是候选小区需要提前预留资源,即使最终没有被选中。

[1.3] CHO 同样可以走 N2。时间型条件的参数可以通过 NG-C 传给目标 gNB。

第 2 步:下发条件配置

(1) 问题

  • 地面 CHO 的执行条件只有 A3 和 A5,都是基于信号强度的。LEO 中信号区分度低,这些条件不好用。

(2) 思路

  • 卫星运动是确定性的,因此可以用时间和位置作为执行条件。

(3) 实际做法

[2.1] condEventT1(时间型):配置一个 UTC 起点 t1 和一个时长 duration。UE 在 [t1, t1+duration] 窗口内执行切换。它对应"源卫星在某时刻离开"这一确定事件。

[2.2] condEventD1(位置型):判据与第 1 节的 D1 相同,即到源参考点足够远,并且到候选参考点足够近。

[2.3] A4:NTN 额外允许使用 A4(邻区信号高于绝对门限)作为 CHO 条件。

[2.4] 组合规则:时间或位置条件可以和 RRM 测量事件组合使用。当服务间隙为零或可忽略时,也可以单独使用。两类条件组合时如何评估,由 UE 实现决定。

[2.5] Rel-18 为 earth-moving 小区引入了随时间移动的参考位置(D2)。

第 3 步:提前数据转发

(1) 问题

  • 地面 CHO 中,源 gNB 不知道 UE 什么时候执行切换,只能尽早把数据转发给所有候选,这会浪费回传带宽。

(2) 思路

  • 时间型条件下,源 gNB 知道 UE 大致何时执行,可以按时间安排转发。

(3) 实际做法

[3.1] 源 gNB 先发 EARLY STATUS TRANSFER,然后参考下发给 UE 的 T1,决定何时开始提前转发数据。

最终复制的“量”会减少吗?感觉像是 burst 变成 timing-based load balancing

会减少!而且“减少总量”才是 T1 的主要收益。错开时间、平滑突发只是附带效果。

关键在于:提前转发不是把一个固定的 buffer 一次性复制过去,而是一个持续的复制流。

从开始转发的那一刻起,源 gNB 每收到一个发给该 UE 的下行包,都要 再复制一份 给对应的候选,一直持续到切换完成或候选被取消。

所以复制给每个候选的量,大约等于:下行速率 × 该候选的转发时长。其中转发时长 = 切换完成或取消的时刻 − 开始转发的时刻。


  • 地面 CHO:源 gNB 不知道 UE 何时执行,只能在配置 CHO 后不久就对所有候选开始转发
    • 每个候选的转发时长都是"整个等待期"
  • 时间型 CHO:每个候选的转发起点可以推迟到各自 t1 前的一小段裕量 (Headroom)
    • 时长缩短了,复制量随之按比例减少
    • 如果某个候选的时间窗还没到,UE 就已经切到别的候选,那它会在开始转发前就被 CANCEL,复制量为 0

举个示意的例子:假设下行 10 Mbps,CHO 在 t=0 时配置,UE 在 t=60 s 时执行到候选 A;A 的窗口从 55 s 开始,B 的窗口从 70 s 开始。

候选 A 候选 B 合计复制量
地面方式 (配置后立即全量转发) 60 s → 600 Mb 60 s → 600 Mb 1.2 Gb
按 t1 推迟 (提前 1 s 开始) 6 s → 60 Mb 未开始即被取消 → 0 60 Mb

这也说明,即使只有一个候选,T1 也能减少复制量,因为转发起点从 "配置时刻" 推迟到了 "t1 附近"

"多个候选按 t1 错开"只是在此基础上的进一步收益。LB 确实也会发生,但那是顺带的

第 4 步:UE 评估并执行

(1) 问题

  • UE 需要在不依赖网络下发命令的情况下,自行完成切换。

(2) 思路

  • 候选配置已经提前给了 UE,条件满足时 UE 直接执行。

(3) 实际做法

[4.1] UE 持续评估各候选小区的执行条件。满足后,UE 脱离源小区,应用对应候选的配置。这个配置中包含目标卫星的 ntn-Config。

[4.2] UE 接入目标小区。

  • 随机接入是默认方式
  • 对于时间型 CHO,也可以用 RACH-less 方式接入,见第 3 节

第 5 步:完成与清理

(1) 问题

  • 源 gNB 需要知道 UE 实际选了哪个候选,以便收尾并释放其他候选的资源。

(2) 思路

  • 由成功接入的目标 gNB 主动通知源 gNB。

(3) 实际做法

[5.1] 目标 gNB 向 源 gNB 发 HANDOVER SUCCESS。源 gNB 随后发 SN STATUS TRANSFER,并转发剩余数据。

[5.2] 源 gNB 向 其他候选 gNB 发 HANDOVER CANCEL,释放它们预留的资源。

[5.3] 最后完成路径切换,与第 1 节第 7 步相同。

3. RACH-less HO

Rel-18 提出

第 0 步:为什么可以采用 RACH-less

(1) motivation 是什么?

RACH-less 的方法论,是把 RACH 拆解成它实际承担的几项功能,然后发现在 NTN 中,这些功能要么已经由别的信息源提供了,要么可以由网络直接下发:

RACH 不是一个原子功能,而是把几件事打包在一起完成的:

RA 实际承担的功能 在 RA 里怎么实现的 NTN 中的替代来源 替代后由谁提供
① 获取上行定时(TA) 基站测量前导的到达时间,在 RAR 里告诉 UE GNSS 位置 + 星历,开环算出 UE 自己
② 选择上行波束 前导所用的资源与某个 SSB 绑定,隐式表达"我在哪个波束" 网络根据测量报告或几何关系已经知道 HO 命令中的波束 ID
③ 拿到第一个上行资源 RAR 里带一个授权,用于发送 Msg3 目标 gNB 预先分配 预分配 CG 或动态授权
④ 让网络知道"UE 到了"并识别是谁 专用前导,或 Msg3 + 竞争解决 专用资源上收到的 Complete 本身就能识别 UE Complete + 确认 MAC CE

在地面网络中,第 ① 项是只有 RA 能做的事:基站不测量,就没人知道 TA。其余三项只是顺带完成的。所以地面网络离不开 RA。

(2) R17/18之后, 有哪些"独有特征"使得 RACH-less 能做?

Rel-17 NTN 本来就要求 UE 在发 PRACH 之前,先用 GNSS 和星历把 TA 预补偿好,否则前导根本无法被接收。

也就是说,RA 的核心功能 ① 在 Rel-17 时就已经被挪到了 UE 侧,RAR 中的 TA 只剩修正残差的作用。

sequenceDiagram
    participant UE
    participant S as gNB-1(源)
    participant T as gNB-2(目标)
    participant C as AMF/UPF
    S->>T: 第1步 HANDOVER REQUEST (Xn 或经 AMF 的 N2)
    Note over T: 生成 RACH-less 配置:NTA(同源或为0)、目标波束、可选 Type-1 CG
    T->>S: HANDOVER REQUEST ACK
    S->>UE: RRCReconfiguration (rach-LessHO + 目标 ntn-Config)
    Note over UE: 第2步 同步指定 SSB,GNSS+星历自算 TA,启动 TAT
    UE->>T: 第3步 RRCReconfigurationComplete (用 CG 或 PDCCH 动态授权)
    T->>UE: 第4步 UE Contention Resolution Identity MAC CE (仅作确认)
    T->>C: 路径切换
    Note over UE: 第5步 无有效 CG 或波束时回退到 RACH-based HO
适用场景

(1) RACH-less 支持四种 NTN 场景:

  • 同星且同馈电链路
  • 同星但更换信关站或 gNB
  • 换星但 gNB 不变
  • 换星且 gNB 也变
场景 透明转发下的含义 gNB 内 / gNB 间 对 UE 定时的影响
同星、同馈电链路 同一颗卫星的不同小区或波束之间切换 gNB 内 服务链路和馈电链路都连续,NTA 可以沿用
同星、换信关站或 gNB 卫星的馈电链路切到新信关站,新信关站背后是另一个 gNB gNB 间 馈电链路时延变化,common TA 改变
换星、gNB 不变 目标卫星经自己的馈电链路接到同一个地面 gNB gNB 内 服务链路变了,UE 用新星历重算
换星、gNB 也变 目标卫星接的是另一个地面 gNB gNB 间 服务链路和馈电链路都变了

(2) 它同时支持 gNB 内切换和 gNB 间切换

在 TN 中,RACH-less 只支持 gNB 内切换;gNB 间的 RACH-less 是 NTN 专属的

(3) Rel-18 不支持 NTN↔TN 之间的 RACH-less

第 1 步:目标侧准备 RACH-less 配置

(1) 问题

  • 地面网络中,随机接入除了获取 TA,还隐式完成两件事:选择上行波束,以及拿到第一个上行授权。
  • 去掉随机接入后,这两件事都需要其他手段替代。

(2) 思路

  • 由目标 gNB 在 HO 命令中直接把这些信息告诉 UE。

(3) 实际做法

[1.1] NTA:指示 UE 沿用源小区的 NTA,或者置为 0

  • 这里的 NTA 只是网络闭环维护的那一部分
  • UE 自算的 TA 部分仍然照常计算
NTA 是啥

NTA 是 TA 公式里由网络闭环控制的那一项:

\[ T_{TA} = \left(N_{TA} + N_{TA,offset} + N_{TA,adj}^{common} + N_{TA,adj}^{UE}\right) \cdot T_c \]

这里 \(T_c \approx 0.509\) ns,是 NR 的基本时间单位。四项的含义如下:

项 谁决定 怎么得到 量级(LEO) 地面网络有吗
\(N_{TA,adj}^{UE}\) UE 自算(开环) GNSS 位置 + 星历 → 服务链路往返时延 可达十几 ms 无
\(N_{TA,adj}^{common}\) 网络广播,UE 计算 SIB19 中的 common TA 参数(含漂移率),主要对应馈电链路 ms 级 无
\(N_{TA,offset}\) 固定常数 由频段或双工方式决定(如 TDD 上下行切换的保护时间) μs 级 有
\(N_{TA}\) 网络闭环 初始值由随机接入响应 RAR 中的 TA command 给出,之后由 TA Command MAC CE 增量调整 残差,μs 级 有,而且是主体

[1.2] 波束 ID:指定 UE 在目标小区使用哪个 SSB 波束,替代通过 PRACH 隐式选择波束的功能。

[1.3] 上行授权:可以预分配一个 Type-1 CG;如果不配置 CG,UE 就在指定波束上监听 PDCCH,等待目标 gNB 下发动态授权。

第 2 步:UE 上行同步(不发 PRACH)

(1) 问题

  • 不发 PRACH,UE 就拿不到基站下发的 TA。

(2) 思路

  • 在 NTN 中,UE 本来就有能力自己算 TA,因此 PRACH 在这里可以省掉。

(3) 实际做法

[2.1] UE 下行同步到指定的 SSB 波束。

[2.2] UE 用 GNSS 位置和目标星历计算 TA,并预补偿 Doppler。

[2.3] 收到 HO 命令后启动 TAT,表示 UE 认为自己的上行已经同步。

第 3 步:首次上行发送 Complete

(1) 问题

  • UE 需要一个上行资源来告诉目标 gNB "我已经到了"。

(2) 思路

  • 直接使用第 1 步中拿到的上行授权。

(3) 实际做法

[3.1] UE 用预分配的 CG 或动态授权发送 RRCReconfigurationComplete。

第 4 步:完成确认

(1) 问题

  • 地面网络以"随机接入成功"作为切换完成的标志。没有 RA 之后,UE 需要一个新的确认信号。

(2) 思路

  • 复用 LTE RACH-less 的做法。

(3) 实际做法

[4.1] 目标 gNB 下发 UE Contention Resolution Identity MAC CE。UE 忽略其内容,只把它当作确认。

[4.2] 在网络侧,目标小区成功收到上行数据,就意味着切换执行结束。

第 5 步:回退

(1) 问题

  • 预分配的资源可能失效,或者指定的波束不可用。

(2) 思路

  • 保留一个兜底手段,避免切换直接失败。

(3) 实际做法

[5.1] 当没有有效的 CG 或可用波束时,UE 回退到基于 RACH 的切换。

时间型 CHO + RACH-less

LEO 卫星飞离场景下最"极致"的组合:执行时刻(T1)和 TA 都可以提前算好

真正执行时,UE 只需同步、计算,然后直接发送 Complete

整个过程不经过随机接入

4. 卫星切换 + 重同步

Satellite switch with re-sync. Rel-18

Danger

只适用于透明转发(TRANS), 再生转发下反而用不了

(1) Motivation:

  • 小区属于地面 gNB:
    • PCI、小区配置、每个 UE 的 RRC 上下文、安全密钥、PDCP/RLC 状态,全部存放在地面 gNB 上
  • 卫星只是一面"会飞的镜子":
    • 它把地面 gNB 的信号转发到某片地面区域,不保存任何状态

(2) Key Insight:

换卫星的时候: L3及以上 没变, 只有 PHY 变了

没变 (L3 及以上) 变了 (只有物理层)
PCI、小区配置 信号经过的卫星
gNB、UE 的 RRC 上下文 传播时延,因此 TA 要重算
安全密钥、PDCP/RLC 状态 Doppler,因为卫星速度矢量变了
核心网路径(UPF 仍连同一个 gNB) 下行 SSB 到达的时间和频率

(3) 核心痛点:

做一次 L3 切换,UE 会重做 RRC 重配置、更新密钥、可能执行随机接入,网络侧还要切换路径。但上表左列的东西一样都没变,这些工作全部是多余的。

更糟的是,换卫星影响的是整个小区的所有 UE,而且发生在同一时刻。几百、几千个 UE 同时做多余的 L3 切换,就是信令风暴。

(4) 做法: 只重做物理层同步, L3 保持不动

这就是名字的由来:"satellite switch" 指的是服务卫星的更换,"re-sync" 指的是 UE 在物理层重新同步,PCI 保持不变(标准讨论中也叫 unchanged PCI)

整个过程没有 RRC 消息,核心网也不参与,所以它严格来说不算 HO

sequenceDiagram
    participant UE
    participant SA as Sat-1(源卫星)
    participant SB as Sat-2(目标卫星)
    participant G as gNB(同一个,地面)
    G->>UE: 第1步 SIB19 经 Sat-1 广播:当前 ntn-Config、t-Service、目标卫星 ntn-Config
    Note over UE,SB: 第2步 soft:开始时刻之后即可同步 Sat-2 的 SSB (同 PCI、同频)
    Note over G: gNB 把该小区从 Sat-1 迁到 Sat-2
    Note over UE: 第3步 到 t-Service 视为上行失步,停止 UL
    Note over UE: 第4步 hard 此时才同步 Sat-2,用 Sat-2 星历重算 TA 和 Doppler
    UE->>G: 经 Sat-2 恢复 UL (RACH-less 为基线)
    G->>UE: 可选:经 Sat-2 下发 PDCCH order 触发 RA
    Note over UE,G: 无 RRC 信令,无核心网参与,PCI 与密钥不变

第 1 步:广播切换信息

(1) 问题

  • 在 QEF 小区中,地面上的小区形状不变,但每隔几分钟就会换一颗卫星来服务。
  • 如果每次换卫星都做 L3 HO,整个小区的 UE 会同时发起切换,产生信令风暴。而实际上 PCI、gNB 和密钥都没有变化。

(2) 思路

  • 让小区在逻辑上保持不变,UE 只需在物理层重新对准新卫星。

(3) 实际做法

[1.1] 适用条件:透明转发、QEF 小区、同一 SSB 频点、同一个 gNB。四个条件缺一不可。

[1.2] SIB19 的内容:除了当前卫星的 ntn-Config 和 t-Service,还包含目标卫星的 ntn-Config。

这份目标卫星配置的存在,本身就表示网络支持该功能。

[1.3] soft 切换的额外信息:目标卫星的开始服务时刻,以及 SSB 时间偏移。

这两项对 soft 切换是必选的。具体 ASN.1 字段名以 38.331 为准。

Hard / Soft 切换的区别

alt text

alt text

  • 共同点:t-Service 都是"源卫星停止服务、UE 停止上行"的时刻,L3 状态也都不变
  • hard 切换:
    • t-Service 之前新卫星还没有覆盖到这块区域,UE 只能等到这一刻再去搜索 Sat-2 的 SSB,完成下行同步、重算 TA 和 Doppler 之后,才能恢复上行
    • 图中的中断段,就是这段"边找边算"的时间
  • soft 切换:
    • 从 t-start 起两颗卫星同时覆盖,UE 可以在后台提前完成对 Sat-2 的下行同步
    • 到 t-Service 时只剩切换上行定时这一步,中断可以压到很小
    • 代价是网络必须额外广播 t-start 和 SSB 时间偏移,否则 UE 不知道去哪里、在什么时候找新卫星的 SSB

第 2 步:(仅 soft) 提前同步目标卫星

(1) 问题

  • 在 hard 切换中,UE 要等源卫星停止服务后才能开始找新卫星,切换间隙较长。

(2) 思路

  • 如果两颗卫星的覆盖有重叠时段,就让 UE 提前去同步新卫星。
  • 这就是 "soft" 的含义

(3) 实际做法

[2.1] 在目标卫星开始服务之后,UE 就可以开始同步 Sat-2 的 SSB。

[2.2] UE 不需要先和源卫星保持连接,也能完成切换到目标卫星。

第 3 步:t-Service 时刻停止上行

(1) 问题

  • 到切换时刻后,如果 UE 继续用旧卫星的 TA 发送上行,信号会落到错误的时隙,干扰其他 UE。

(2) 思路

  • 在 t-Service 时刻强制让 UE 进入上行失步状态。

(3) 实际做法

[3.1] 到 t-Service 时,UE 视为 TAT 已经超时,停止所有上行发送。

第 4 步:重同步并恢复上行

(1) 问题

  • UE 需要在不经过 RRC 流程的情况下,重新建立到新卫星的上下行同步。

(2) 思路

  • 复用 UE 自算 TA 的能力,像 RACH-less 一样直接恢复上行。

(3) 实际做法

[4.1] 下行同步 Sat-2 的 SSB。在 hard 切换中,UE 直到此时才开始同步。

[4.2] 用 Sat-2 的星历重新计算 TA 和 Doppler,然后恢复上行。默认不发起随机接入(RACH-less 为基线)。

[4.3] 如果网络认为残余误差过大,可以经 Sat-2 下发 PDCCH order,触发 UE 做一次随机接入。

[4.4] 整个过程没有 RRC 消息,也没有核心网参与。

第 5 步:与 CHO 并存时的处理

(1) 问题

  • 网络可能同时给 UE 配置了 CHO 和卫星切换。如果两者同时被触发,UE 应该执行哪一个?

(2) 思路

  • 标准不强行规定,交给 UE 实现决定。

(3) 实际做法

[5.1] 两者同时触发时,执行哪个流程由 UE 实现决定。

[5.2] 相关 UE 能力有两项:hardSatelliteSwitch-Resync-NTN-r18 和 softSatelliteSwitch-Resync-NTN-r18。

支持 soft 的 UE 必须同时支持 hard。

5. Rel-19 的变化 (REGEN gNB)

没有新增 HO 类型,变化主要在架构层面:

  • Xn 可以走星间链路(ISL):星间链路只是传输链路,可以在两颗卫星上的 gNB 之间承载 Xn 接口。这样,第 1、2、3 节中的 Xn 消息可以直接在卫星之间传递,不必绕经地面。
  • N2 的新用法:星上 gNB 更换馈电链路时,也可以使用 N2 流程做同一个 gNB 内部的切换。
  • 混合部署:UE 可以在透明转发 gNB 和再生转发 gNB 之间移动,也可以在不同轨道高度之间移动。
  • 第 4 节的适用范围被收窄到透明转发:在星上 gNB 架构中,换卫星就等于换 gNB,不再满足"同一个 gNB、密钥不变"的前提,只能走 L3 HO。

参考

  • TS 38.300 v19.3.0:§16.14.3.2.1 Handover,§16.14.3.2.2 Conditional Handover,§16.14.3.2.3 Satellite switch with re-synchronization,§16.14.3.3 Measurements,§9.2.3.6 RACH-less handover
  • TS 38.331:ntn-Config、SIB19、condEventT1 / condEventD1、rach-LessHO
  • TS 38.321:RACH-less HO 的 MAC 行为,卫星切换时的上行同步处理
  • TS 23.502:§4.9.1.3 Inter NG-RAN node N2 based handover
  • RAN2 文稿:R2-2304271(关于 RACH-less HO 的 LS),RAN2#124 关于 satellite switch with re-sync 的协议