4.0 KiB
4.0 KiB
| title | tags | summary |
|---|---|---|
| 星历采样与插值 | 星历, 插值, 采样, hermite | 何时采样一次并多次查询轨迹,以及插值所付出的精度代价。 |
星历采样与插值
覆盖分析需要在许多时刻知道卫星位置。对每个时刻都调用传播器是正确的但很慢。将轨迹采样一次再在采样点之间插值则很快,代价是一个有界的小误差。本文档给出这一权衡。
定义
星历是卫星状态在若干时刻序列表格。采样包含某一时刻的时间、位置与速度。
插值在两次采样之间求值,使用夹住目标时刻的两个采样点,而不调用传播器。
数学含义
插值对每个分量使用三次 Hermite 多项式。它用到两个端点的位置与两个端点的速度,因此在每个区间两端同时匹配值与一阶导数:
p(s) = h_{00}(s) \, p_0 + h_{10}(s) \, \Delta t \, v_0 + h_{01}(s) \, p_1 + h_{11}(s) \, \Delta t \, v_1
其中 s 是区间内 [0, 1] 的比例,dt 是区间长度,而
\begin{aligned}
h_{00} &= 2 s^3 - 3 s^2 + 1 \\
h_{10} &= s^3 - 2 s^2 + s \\
h_{01} &= -2 s^3 + 3 s^2 \\
h_{11} &= s^3 - s^2
\end{aligned}
是 Hermite 基多项式。速度是同一多项式对时间的导数。
由于两端都用到速度,插值是 C^1 的:位置与速度在采样边界处连续。仅由位置构建的表在每个采样点速度不连续,在图上表现为折角,对任何需要求导的用途都是错误的。
单个区间上的插值误差随区间长度的四次方乘以位置的四阶导数增长。正是该量决定采样间距。
单位约定
- 采样时间单位为秒,原点由调用方选定。针对传播器定义的采样器通常以传播器自身的单位(距元素历元的分钟数)接收时间,再转换为秒以填表。
- 位置单位为千米,速度单位为千米每秒,即生成该表的传播器所用单位。
适用边界
插值在表格覆盖的区间内有效。超出该区间多项式开始外推,误差迅速增长;除非调用方明确要求取最近采样,否则超出覆盖范围的查询返回空值。
误差受采样间距限制。对低地球轨道(周期约 90 分钟)有一条实用规则:
| 采样间距 | 插值误差 |
|---|---|
| 60 s | 优于一米 |
| 300 s | 数米 |
| 600 s | 数十米 |
| 1800 s | 数百米 |
这些值针对平滑的低地球轨道。偏心率高的轨道在近地点角速率变化剧烈,需要在近地点附近采用更密的间距,或以近地点角速率来确定均匀间距。
表中还存储速度,因此既能回答位置查询也能回答速度查询。仅由位置构建的表无法做到,需要有限差分,精度也更低。
查询策略对比
| 策略 | 单次查询开销 | 精度 | 内存 | 适用情形 |
|---|---|---|---|---|
| 按需传播 | 一次传播 | 模型自身精度 | 无 | 数千次查询 |
| 均匀表加 Hermite 插值 | 数十次运算 | 由间距决定 | 每采样一条记录 | 已知区间内的大量查询 |
| 近地点加密的非均匀表 | 数十次运算 | 由局部间距决定 | 近地点处采样更多 | 高偏心率轨道 |
| 每段 Chebyshev 多项式 | 数十次运算 | 由阶数与段长决定 | 每段一组系数 | 长而光滑的弧段 |
| 由密切元素做二体传播 | 极低 | 因模型不完整而迅速变差 | 无 | 仅粗略检查 |
Chebyshev 逼近用于精密星历产品,在给定系数个数下比均匀表提供更紧的误差。此处未实现,因为传播器本身可用,而表是由它构建的。
来源
- 三次 Hermite 插值是标准的两点两导数多项式;上述基是常见形式。
- 用插值表进行可见性与覆盖搜索是任务分析的标准做法,见 Vallado《Fundamentals of Astrodynamics and Applications》。
另见
- sgp4:生成采样点的传播器
- propagator-comparison:传播与插值的开销对比
- 在线工具试用:采样星下点轨迹