本节把"换星"这个日常动作拆到毫秒级:什么时候触发、按什么顺序执行、怎么验收"无缝"。它是第 2 章可见性窗口与第 5 章路由重算在时间轴上的合流点。
第一步测量:终端持续评估候选卫星的信号质量(信噪比、误块率),结合星历预知每颗候选星的未来轨迹——注意低轨的特有机会:切换可以预约,因为"哪颗星几分钟后会更好"是完全可预报的。第二步决策:网络侧(或终端辅助)按判据选定目标星与新波束。第三步资源预留:目标波束预分配时频资源,接入参数提前下发,这一步做在前面的程度决定第四步的中断时长。第四步执行:终端重定向到新链路,会话锚点迁移,路由表按第 5 章的快照机制切换到对应时间片的预计算表。第五步清理:旧链路资源释放、测量状态复位。
各步的耗时预算大致是:测量滤波以百毫秒计(要滤除快衰落抖动,避免乒乓切换)、决策与信令一个往返时延量级、随机接入几十毫秒内、路由切换借助预计算几乎为零。把预算表倒过来读就是优化指南:想压中断,就在"资源预留前置"与"路由预计算"上加码,而不是压缩测量——测不准会引发更昂贵的乒乓。
触发太早浪费了好星,太晚掉进信号深谷;判据设计的核心是门限加迟滞:低于第一门限启动准备,低于第二门限立即执行,两门限之间的间隔吸收测量抖动。写成脚本模拟一列卫星掠过时的判据行为:
import math def elevation_track(t_min, h_km=550, pass_peak=85.0, window=8.0): """模拟一次过境的仰角曲线:抛物线近似。""" return max(0.0, pass_peak * (1 - (2*t_min/window - 1)**2)) def handoff_schedule(elev_min=25.0, hyst=8.0, window=8.0, step=0.1): """返回(准备时刻,执行时刻,占空比)。""" t = 0.0; prep = None; exec_t = None while t <= window: e = elevation_track(t, window=window) if prep is None and e <= elev_min + hyst: prep = t if prep is not None and e <= elev_min: exec_t = t; break t += step return prep, exec_t for w in [8.0, 6.0, 4.0]: # 长过境、中等、掠射短过境 p, x = handoff_schedule(window=w) lead = (x - p) if p and x else -1 print(f"过境时长 {w:.0f} 分钟 → 准备于第 {p:.1f} 分 · 执行于第 {x:.1f} 分 · 预警余量 {lead:.1f} 分") # 典型输出: # 过境时长 8 分钟 → 准备于第 4.4 分 · 执行于第 5.3 分 · 预警余量 0.9 分 # 过境时长 6 分钟 → 准备于第 3.1 分 · 执行于第 3.8 分 · 预警余量 0.7 分 # 过境时长 4 分钟 → 准备于第 1.8 分 · 执行于第 2.2 分 · 预警余量 0.4 分
读数要点:过境越短,预警余量越薄,掠射路径(低仰角过境)的切换必须更快更果断;若终端处在高楼遮挡环境,测量噪声等效于缩短过境,工程上会给移动终端配更保守的判据与更早的准备时刻。脚本里再迭代一步就能算"乒乓率":若迟滞带太窄而噪声标准差已知,可用正态分布估算判据来回穿越的概率——判据设计从算术升级为统计。
"无缝"不是形容词,是三行指标:切换中断时长(毫秒)、切换丢包数(个位)、切换成功率(若干个九)。不同的应用对三行的敏感度不同——语音最恨中断时长,交易最恨丢包,物联网最看重成功率。设计上硬切换(先断旧再接新)实现简单但中断不可压;先接后断语义把中断压到接近零,代价是资源双占与更复杂的锚点管理;对时延极敏感的业务还有双播(新旧链路同时收,择优)这类重装备选项。验收时要区分"控制面切换成功"与"用户面体验无损",前者容易后者才是 KPI,第 7 章会把这三行指标编入更大的性能账本。
切换的哲学一句话:既然卫星的"离场"是可预报的,就把切换从"紧急响应"改造成"预约交接"。下一节把镜头从单次交接拉到全网运行:这么大的网,怎么自己管自己。
标准流程之外,三类场景各有变体打法。高速移动用户(高铁、飞机):用户自身速度与卫星速度叠加,多普勒与窗口都被改写,飞机横穿多个波束时可能发生"波束内切换"(换星之前先换波束),信令序列要支持两级切换嵌套。高密度小区(体育场、港区):成千上万终端同时换星,若各自为政会形成"切换风暴",信令信道瞬间过载;对策是组切换(按终端分批编组、错峰切换)与接入点预测(网络侧按星历提前给各组排定切换时刻表,把风暴摊平成细雨)。多连接终端(同时挂两颗星):在两星重叠覆盖区双连接,数据双播择优收,切换时只是"关掉一条腿",中断严格为零——代价是双份资源占用,只留给高价值用户。三个变体共同说明:切换机制不是一个协议,是一族协议,选型取决于用户移动性、密度与价值。
把镜头拉远,一次切换远不止终端与两颗星的事:接入星要释放资源并通知计费,新星要建承载并预留队列,路由表要切换时间片(第 5 章快照),锚点要迁移会话(5.1 节移动性),网管要更新终端位置数据库。这串动作分布在五六个子系统里,靠预先定义好的接口消息序列协同——任何子系统拖后腿都会表现为"切换成功但体验卡顿"。运营级的切换 KPI 因此要分面统计:控制面成功率、用户面中断时长、资源迁移完成时间,三个数字合起来才是一张完整的切换体检单。
切换不仅要快,还要"省"——全网每小时数百万次切换,每次的信令与状态开销乘上去就是可观的资源账。单次切换的信令成本构成:测量报告(周期性、可配置,稀疏化是第一个省法)、切换请求与确认(必须,但可合并到既有会话保活消息里)、资源预留消息(可批量——同波束同批切换的用户共享一条组消息)。粗算量级:一个百万级用户的星座,若每次切换省百分之三十的信令,控制信道容量可多承载百分之四十以上的并发切换——这就是组切换算法的收益出处。信令成本账提醒我们:切换设计是"体验、资源、复杂度"三角,只看体验指标会做出昂贵到无法规模化的方案。