3. 恒星天体测量基础与星表使用

星敏感器之所以能输出姿态,根本原因在于它“认识”天上的恒星。它把星图中提取出的星点质心位置,与内部存储的恒星参考星表进行匹配,再由匹配成功的恒星方向反解出姿态四元数。因此,恒星天体测量基础与星表使用,是星敏感器算法链路的“数据底座”。本节围绕星等、色温、恒星光谱、星表类型、星表误差、星表分区索引,以及星表在星敏感器中的存储与检索方法展开。

一、星等、色温与恒星光谱

星等描述恒星的亮度。星等数值越小,恒星越亮,且为对数尺度:相邻 5 个星等对应亮度比 100 倍,即每差 1 等约 2.512 倍。工程上常用两个量:视星等 m 表示在地球处接收到的辐照度对应亮度;绝对星等 M 表示把恒星放到 10 pc 处的亮度。星敏感器最关心的是视星等,因为它直接决定探测器上能否提取到该星点。

星敏感器的探测能力通常用极限星等描述。例如某星敏感器在 10 ms 曝光、太阳规避角 30° 条件下极限星等为 +6.0 Mv,意味着星表中亮于该值的恒星才可能被稳定提取。星等还影响质心精度:亮星信噪比高、质心稳定,暗星在接近极限星等时质心抖动明显。因此星表筛选时常设置“星等窗口”,如保留 2.0~6.0 Mv 的恒星,既保证有足够星数,又避免过亮星导致饱和。

色温与光谱型描述恒星辐射的能量分布。恒星光谱按温度从高到低分为 O、B、A、F、G、K、M 等型,色温从数万开尔文到约 3000 K。色温影响两个工程问题:一是探测器响应,硅基 CCD/CMOS 在近红外响应较强,偏红恒星(K、M 型)在相同视星等下可能产生更多电子;二是星等系统本身,不同波段测得的星等不同,常见有 V 星等(可见光)、B 星等(蓝光)和 R 星等(红光)。星敏感器通常工作在 500~900 nm,因此星表应尽量提供与探测器响应匹配的星等,或提供色指数 B−V 用于修正。

色指数 B−V 是 B 星等减 V 星等。B−V 越小,恒星越偏蓝、色温越高;B−V 越大,恒星越偏红。星敏感器做星等一致性判断时,可用 B−V 估计不同光谱型恒星在自身波段下的亮度偏差。

二、星表类型与星表误差

星表按用途可分为三类。第一类是全天大星表,如 Hipparcos、Tycho-2、Gaia DR3,星数从十万到十几亿,精度高但数据量大,适合地面处理与高精度定标。第二类是星敏感器专用星表,通常从大星表中按星等、双星间距、位置精度等条件裁剪得到,星数约几千到几万颗,兼顾精度与存储。第三类是导航星表,进一步压缩为“均匀分布、亮度适中、易于识别”的子集,用于星图识别。

星表误差主要来自三方面:位置误差、自行误差和星等误差。位置误差是恒星在参考历元(如 J2000.0)的赤经赤纬不确定度,Gaia 亮星可达毫角秒级,早期星表约几十毫角秒。自行是恒星在天球上的横向运动,单位 mas/yr,高自行星(如巴纳德星约 10.3 arcsec/yr)若未修正,几十年后位置偏差可达角秒级。星等误差影响星点提取阈值和亮度加权。星敏感器设计时,通常要求星表位置误差小于星敏感器单星测量误差的 1/3~1/5,例如单星精度 5 arcsec 时,星表位置误差应优于 1~1.5 arcsec。

三、星表分区索引与存储检索

星敏感器在轨运行时,需要在毫秒级内完成“以星点为中心、在星表中查找候选星”的操作。若直接遍历全表,几万颗星逐一比较,计算量不可接受。因此必须建立分区索引。常用方法有赤道带分区、球面四叉树和 HEALPix 等面积分区。

赤道带分区最直观:按赤纬把天球切成若干带,每带再按赤经切成若干块,形成“赤纬带 × 赤经格”的二维索引。每个格子记录落入其中的恒星编号。检索时,先由星点方向算出赤纬带和赤经格,再只访问该格及相邻格。格宽通常取星敏感器视场角的一半到一倍,保证一次检索覆盖整个视场。

存储结构上,星敏感器常采用“索引表 + 星表记录”两级结构。索引表存每个分区的起始偏移和星数,星表记录按分区连续存放,每条记录包含星号、赤经、赤纬、星等、色指数等字段。检索时先查索引表定位分区,再在分区内按星等排序做二分查找或线性扫描。为节省存储,赤经赤纬可用定点数表示,例如赤经用 32 位表示 0~360°,分辨率约 0.08 毫角秒,远高于星敏感器需求。

星表分区索引与检索数据流 星敏感器观测 星点质心 (x,y) 星等估计 m 视场方向 (α,δ) 分区索引表 赤纬带号 → 赤经格号 每格: 起始偏移 + 星数 格宽 ≈ 视场角 0.5~1 倍 相邻格一并检索 星表记录(按分区连续存放) 星号 | 赤经 α | 赤纬 δ | 星等 m | B−V 赤经赤纬定点化: 32 bit 分区内按星等排序 二分查找 / 线性扫描 在轨检索流程(以星点方向为中心) ① 计算分区 由 (α,δ) 得带号/格号 ② 查索引表 取起始偏移与星数 ③ 读候选星 含相邻格,按星等筛 ④ 输出候选星列表 供星图识别匹配使用 星表误差影响检索与匹配 位置误差 → 分区边界误判;自行未修正 → 历元漂移;星等误差 → 候选星漏选或误选

实际工程中,分区索引的格宽需要与星敏感器视场角匹配。设视场为 20°×20°,格宽取 10°~20°,则一次检索覆盖 2×2 到 3×3 个格。若格宽过小,相邻格访问次数增多;若格宽过大,单格内星数过多,扫描变慢。通常以“单格平均星数 20~50 颗”为设计目标。

星表在星敏感器中的存储还需考虑星等截断与双星处理。双星若角距小于星敏感器分辨率,会在星图上合并为一个星点,导致匹配失败,因此专用星表常剔除角距小于 3~5 个像素对应角距的双星,或只保留主星。星等截断则按极限星等加 1~1.5 等余量选取,例如极限星等 +6.0 Mv 时,星表保留到 +7.0 Mv,以覆盖边缘暗星。

示例:某星敏感器视场 20°×20°,极限星等 +6.0 Mv,单星精度 5 arcsec。星表从 Gaia DR3 裁剪,保留 2.0~7.0 Mv、位置误差优于 1 arcsec、双星角距大于 20 arcsec 的恒星,共约 8000 颗。按赤纬每 10° 一带、赤经每 10° 一格分区,共 18×36=648 格,平均每格约 12 颗星。检索时以星点方向为中心访问 3×3 格,候选星约 100 颗,可在 1 ms 内完成。

最后需要强调历元一致性。星表位置通常归算到 J2000.0,而星敏感器在轨工作年份可能距 J2000.0 已过 20 年以上。对于高自行星,必须用自行数据把位置外推到当前历元,否则位置偏差会直接进入姿态解算。工程上可在星表记录中增加自行字段,在轨检索前做一次历元修正,或在地面生成星表时直接输出目标历元位置。两者取舍取决于星上计算资源与精度要求。