标题: 先签好字再搬家:条件切换 CHO 作者: 爱卫生 封面: "[[封面1.png]]" 封面裁剪: false 原文地址: 打开评论: true 仅粉丝可评论: false 摘要: 高铁以350公里的时速掠过基站群,手机每隔十几秒就要完成一次小区交接。奇怪的是,掉话偏偏集中在交接的瞬间——网络明明“看到”了邻区变强,也按流程下了切换命令,链路还是断了。
高铁以350公里的时速掠过基站群,手机每隔十几秒就要完成一次小区交接。奇怪的是,掉话偏偏集中在交接的瞬间——网络明明“看到”了邻区变强,也按流程下了切换命令,链路还是断了。这不是参数没调好,而是传统切换的机制里藏着一个结构性缺陷:它总把最关键的一步,留到链路最脆弱的时刻才做。
条件切换(Conditional Handover,业内通称CHO)就是冲着这个缺陷来的。它的思路说出来极简单:把“签字”和“生效”拆开——合同提前签好,触发条件一到自动生效,不再请示任何人。本文从传统切换的时间账算起,讲清楚CHO为什么这样设计、信令怎么走、代价是什么、现网调试要避开哪些坑。
回顾一次传统切换,它是一条串行流水线:
整条流水线走完,通常是上百毫秒的量级。低速城区里这笔开销无伤大雅,但把手机放到高铁上,账就变了。
这里要先分清无线信号的两个时间尺度。慢变量是平均信号强度:它随手机离开基站的位置平滑下滑,时间尺度是秒级;快变量是深衰落和遮挡:多径相消、列车车身掠过、毫米波波束被手挡住,都能让信号在毫秒级时间内塌陷一二十个分贝。粗算一下:3.5吉赫兹频段、350公里时速下,多普勒频移约等于
$$f_d = \frac{v}{\lambda} \approx \frac{97\ \text{m/s}}{0.086\ \text{m}} \approx 1100\ \text{Hz}$$
对应信道起伏的相关时间只有毫秒量级。也就是说,切换流水线是按“气候”(慢变量)做的决策,命令却要在一个“天气”(快变量)瞬息万变的环境里送达。测量报告在上行变弱的路上发出,切换命令在下行变弱的路上返回,一旦命令送达的那一刻恰好撞上深衰落,终端收不全、校验不过,等它反应过来时源小区已经没了——切换失败,直接变成无线链路失败。
参数调优能缓解,但拧到极限就会撞墙:触发持续时间调小、偏移调小,切换确实变快了,代价是乒乓切换激增,两部基站之间来回倒腾,信令风暴反过来拖垮整片区域。慢变量尺度上的机制,追不上快变量尺度上的风险——这就是传统切换在高速场景的天花板。
工程上把切换失败归纳成三类,诊断时先对号入座:
flowchart TD
A["切换为什么会失败"] --> B["过晚切换"]
A --> C["过早切换"]
A --> D["切错小区"]
B --> B1["命令还没到 源链路先断"]
B1 --> B2["掉线后重建"]
C --> C1["刚切过去目标就塌"]
C1 --> C2["掉回源侧重建"]
D --> D1["切进覆盖洞或孤岛"]
D1 --> D2["很快再次失败"]
| 失败类型 | 何时发生 | 典型现场 | 典型后果 | 条件切换能否缓解 |
|---|---|---|---|---|
| 过晚切换 | 命令还在路上,源链路已断 | 高速移动、小区边缘陡降 | 先掉线,再重建 | 正中靶心,首要设计目标 |
| 过早切换 | 切换完成,目标随即变差 | 目标是孤岛或覆盖洞 | 很快再失败,常弹回源 | 靠多候选兜底部分缓解 |
| 切错小区 | 测量混淆或邻区配置不当 | 邻区漏配、混乱的站间距 | 重建甚至掉话 | 靠合理的准备门限规避 |
注意一个关键事实:高速场景的失败几乎全是“过晚”型。而“过晚”不是哪个环节出了故障,恰恰是每个环节都正常工作的结果——只是每个环节都慢了一拍,加起来就输给了物理速度。这解释了为什么单纯调参救不了高铁:参数调优在“拧螺丝”,而机制本身需要“换结构”。
传统切换里,“准备”和“执行”是背靠背的:网络先决定、再准备、再命令、终端立刻执行,四件事挤在同一时刻、共用一条正在变差的链路。
CHO做了一个干净利落的解耦——准备提前到链路健康时完成,执行延后到条件满足时发生。用一个买房的类比:
这里面藏着一个更深的设计决策:执行时刻的裁决权,从网络下沉到了终端。为什么?因为在“哪一刻条件刚好满足”这件事上,手里握着实时测量的终端才是信息最充分的一方;网络看到的测量报告永远是过去时,等它加工完、决策完、再传回来,窗口可能已经关了。传统切换中“网络决定何时执行”,CHO里变成“网络决定准备什么,终端决定何时执行”——审批前置,放行本地化。
| 维度 | 传统切换 | 条件切换CHO | DAPS切换 |
|---|---|---|---|
| 准备时机 | 判决后临时准备 | 提前并行准备多个候选(最多8个) | 同传统,先准备 |
| 执行决策者 | 网络(命令一到就动) | 终端(条件满足即动) | 网络 |
| 执行时有切换命令吗 | 有 | 没有 | 有 |
| 执行瞬间与源小区 | 断开后再接目标 | 断开后再接目标 | 接目标的同时保持源 |
| 主要针对的痛点 | — | 过晚切换导致的失败 | 切换瞬间的数据中断 |
| 典型场景 | 城区低速 | 高铁、高速、毫米波 | 语音等时延敏感业务 |
顺带澄清一个最容易混的点:CHO仍然是“先断后连”的硬切换,它没有消灭断开瞬间,只是把决策时延压到了零;它也不是CDMA时代的软切换——软切换靠多条链路同时通信换取平滑,CHO靠把关键信令挪到安全时刻换取可靠性,两条完全不同的路。
sequenceDiagram
participant U as 手机
participant S as 源基站
participant A as 候选基站甲
participant B as 候选基站乙
U->>S: 测量报告(邻区渐强)
S->>A: 切换准备请求(并行)
S->>B: 切换准备请求(并行)
A->>S: 同意并预留资源
B->>S: 同意并预留资源
S->>U: 重配置(候选配置加生效条件)
U->>S: 配置完成确认
Note over S,A: 待生效合同此时全部签妥
这一阶段有两个与传统切换截然不同的特征。第一,准备是并行多份的:源基站可以同时和多个候选基站走准备流程,每家都各自做准入、预留资源、生成一份完整的目标小区配置。一个终端最多可以携带8个候选——相当于同时握有8把备选钥匙。第二,终端收到配置后并不执行,只是存起来,继续留在源小区正常收发。这份“待生效合同”里写着三样东西:完整的目标配置、生效条件、以及为快速接入准备好的专用随机接入资源。
sequenceDiagram
participant U as 手机
participant S as 源基站
participant A as 候选基站甲
participant B as 候选基站乙
U->>U: 本地评估 甲的条件满足
U->>A: 向甲发起专用随机接入
A->>U: 接入响应
U->>A: 切换完成确认
A->>S: 路径转换(数据改道)
S->>B: 释放乙的预留资源
Note over U: 条件满足后直达目标 无网络指令
终端在本地持续评估存好的生效条件,哪个候选先满足,就立刻用它携带的专用随机接入资源直奔该小区。从“条件满足”到“接入新小区”,全程没有任何网络指令参与——传统切换里最容易被衰落打断的那段往返信令,在这里被整个消灭了。终端开始向目标同步后就不再监测源小区;成功接入后,其余候选配置自动作废,源基站还会通知其余候选基站释放预留(这就是标准里所谓的“条件切换取消”)。
flowchart TD
S["收到候选配置"] --> W{"候选条件满足?"}
W -->|否| K["留在源小区继续评估"]
K --> W
W -->|是| X["停止评估 向该候选发起接入"]
X --> Y["其余候选配置自动作废"]
S --> F["执行前发生链路失败"]
F --> G["重建时若路过候选小区<br/>可直接用它恢复"]
右下这条分支值得单独说:如果链路在执行前就断了,“合同”会不会作废?标准的设计是留了一手——终端在重建时若发现可选小区恰好是某个已配置的候选,可以尝试直接用那份准备好的配置恢复连接,而不是退回漫长的完整重建。据公开发表的仿真研究,在毫米波频段的某些场景下,切换失败后依靠这套恢复机制挽回的比例能超过80%——本该发生的掉话,被提前签好的合同接住了。
CHO的执行条件复用了测量事件这套“语言”,最常用的是两类:
A3事件(相对比较):邻区变得比服务小区好出一定余量。进入条件是
$$M_n > M_s + \mathrm{Off} + \mathrm{Hys}$$
离开条件是
$$M_n < M_s + \mathrm{Off} - \mathrm{Hys}$$
其中 $M_n$、$M_s$ 分别是邻区和服务小区的测量结果(分贝域),Off是偏移,Hys是迟滞。三个量都在分贝域,比较的是“相对强弱”。此外条件必须持续满足一段触发持续时间(TTT)才算数,而送进判决的测量值还要先经过一层平滑滤波:
$$F_n = (1-\alpha)\,F_{n-1} + \alpha\,M_n,\qquad \alpha = \frac{1}{2^{k/4}}$$
滤波系数 $k$ 越大,曲线越平滑、越迟钝;越小越灵敏、越毛糙。
为什么执行条件偏爱A3这类相对比较,而不是“信号低于某个绝对门限”的单边条件?因为相对比较自带对共模衰落的免疫力:列车钻进隧道,服务小区和邻区一起变差,它们的“差值”基本不变,A3不会被误触发;而绝对门限类条件会被这种整体性波动搅得心神不宁。更保守的选择是A5事件——要求“服务小区跌破门限一 且 邻区升破门限二”两个条件同时成立,宁可不切,不乱切。一个执行条件还允许同时挂两个触发事件、并行评估多种测量量(信号强度、质量、信噪比),具体的灵活程度取决于终端上报的能力。
标准甚至把这个思路推得更远:在卫星通信这类场景里,信号强弱不再能反映“该不该切”(卫星是移动的,覆盖区整体漂移),于是出现了基于位置、基于时间的执行条件——“开到这个坐标就切”“到了这个时刻就切”。原理一以贯之:把“什么时候执行”写成一个终端可以本地判定的谓词。
CHO不是免费午餐,它的代价主要有三笔:
边界上还有两条容易踩线的:同一候选小区上,CHO配置不能与DAPS(双活协议栈)配置叠加使用——两者是并行的两种切换增强思路,不是可拼装的组合;另外,若网络在CHO待命期间下发了普通切换命令,普通命令优先,终端立即执行,不再等条件。此外,双向互通场景同样适用这套机制,它的适用面覆盖新空口与4G空口之间的互通切换。
什么场景值得开CHO?判断标准一句话:链路状态变化的速度,是否快到让“测量—上报—命令”这条往返链路变得不可靠。典型的是高铁、高速公路、地铁隧道这类高速移动场景;其次是毫米波部署——波束窄、距离短、对遮挡极度敏感,信号以毫秒级塌陷,传统切换的往返信令根本追不上;再就是工业控制、车联网这类“一次非计划掉线都嫌多”的高可靠场景——CHO虽然没有改善链路预算本身,但它把风险最大的信令挪到了时间轴上最安全的位置,这笔账对可靠业务非常划算。
调试时最容易栽的五个坑:
还有一个延伸方向值得知道:CHO这套“提前准备、自主执行”的原理,后来被推广到了双连接架构下的辅小区变更(业内称CPAC),以及把切换决策下沉到更低协议层的进一步演进——把关键决策尽可能早地准备、尽可能晚地、在离信息最近的地方执行,这已经是移动性管理的通用设计哲学,和计算领域“边缘计算”的思想殊途同归。
Q: 条件切换CHO和CDMA时代的软切换是一回事吗? A: 不是。软切换让终端同时与多个小区通信,靠宏分集实现“无缝”,代价是频谱和设备开销;CHO仍然是先断后连的硬切换,它只是把切换命令提前下发、把执行决策移到终端本地,用“零信令往返”换可靠性。一个改的是物理连接形态,一个改的是决策时序。
Q: CHO和DAPS切换有什么区别?能否同时用? A: CHO解决“谁来决定何时执行”,DAPS解决“执行瞬间断不断”——DAPS让终端在接入目标小区的同时保持与源小区的收发,把中断时间压到接近零,代价是终端需要双套协议栈处理能力。针对同一候选小区,两者不能叠加配置,网络二选一。
Q: 准备了8个候选最后只用了1个,资源不就白占了吗? A: 对,这就是CHO的主要代价。实际部署中靠三件事平衡:按场景收窄候选数量、把准备门限定在“确有较大概率被用上”的水平、切换完成后立即释放其余预留。高速沿线这类候选命中率高的场景,浪费率反而低。
Q: 终端本地判断执行,判错了怎么办? A: 执行失败或执行后链路迅速失败,终端走重建流程,必要时可尝试向其他候选恢复。同时终端并没有拿到“不可撤销的授权”——网络保留对候选的取消权,可随时通过重配置或取消流程收回某份“合同”。自治的是执行时机,不是执行资格。
Q: 为什么高铁场景下CHO特别有效? A: 因为高铁的失败几乎全是“过晚”型:切换窗口以秒计,而传统流水线的耗时与之同量级,任何一环慢半拍就出局。CHO把整段命令往返从执行路径上删掉,执行动作只剩一次几毫秒的随机接入,把“能不能赶上”的问题变成了“条件何时满足”的问题——物理速度不再能劫持决策链路。
本文由「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 等场景全覆盖。
![[知识星球二维码.png]]