2. 星敏感器工作原理与系统组成

星敏感器本质上是一台“以恒星为基准的精密测角相机”。它并不直接测量航天器的姿态角,而是先获取一幅星图,再从星图中提取星点像斑的质心坐标,将这些坐标与内部存储的导航星表进行匹配识别,最后依据识别出的恒星在天球坐标系中的已知方向,反解出星敏感器本体坐标系相对于惯性坐标系的姿态四元数。整条链路可以概括为:恒星辐射探测 → 光学成像 → 星点提取 → 星图识别 → 姿态解算。任何一个环节的精度或鲁棒性下降,都会直接反映到最终姿态输出的噪声与更新率上。

一、从恒星辐射到星点像斑

恒星在星敏感器入瞳处的辐照度极其微弱。以零等星为例,其在大气层外产生的照度约为 2.5×10⁻⁸ lx 量级,六等星则再暗约 250 倍。星敏感器通常工作在 500~800 nm 的可见光近红外波段,光学系统把平行星光会聚到探测器焦面上,形成一个直径约 1~3 个像元的弥散斑。这个弥散斑的形状由光学系统的点扩散函数(PSF)决定,能量分布近似二维高斯分布。

探测器把光子转换为电子,输出灰度图像。工程上常用 CMOS 或 CCD 面阵,像元尺寸约 5~10 μm,阵列规模从 1024×1024 到 2048×2048 不等。曝光时间通常取 50~200 ms,需在“探测足够暗星”与“抑制运动模糊”之间折中。若航天器角速度较大,星点在曝光期间会拖尾,质心精度随之下降,因此高动态型号会采用短曝光加多帧累加,或引入星点运动补偿。

二、星点提取与质心定位

星点提取的目标是从整幅图像中找出属于恒星的像斑,并给出亚像元精度的质心坐标。典型处理顺序为:背景估计与去除、阈值分割、连通域标记、星点筛选、质心计算。阈值常取“全局背景均值 + k×背景标准差”,k 取 3~5;也可采用局部自适应阈值以适应杂散光梯度。

质心计算常用灰度加权法。设某星点连通域内像元 (i, j) 的灰度扣除背景后为 g(i, j),则质心为:

xc = Σ g(i,j)·j / Σ g(i,j)
yc = Σ g(i,j)·i / Σ g(i,j)

当星点仅覆盖 2×2 或 3×3 像元时,灰度加权法即可达到约 0.1~0.3 像元的定位精度。若要求更高,可采用高斯曲面拟合或相关模板匹配。需要注意:饱和像元会破坏灰度线性关系,工程上会剔除峰值接近满阱的星点,或改用饱和区边缘的未饱和像元参与拟合。

三、星图识别与姿态解算

星图识别解决的是“这幅图里看到的是哪几颗星”。常用方法包括三角形匹配、金字塔匹配和主星模式识别。以三角形法为例:从提取出的星点中选取三颗亮星,计算它们两两之间的角距,形成“星三角形”;在导航星表中搜索角距在测量误差容限内一致的三元组;再用第四颗星进行验证,排除虚假匹配。识别成功后,每颗图像星点就与一颗已知星号的导航星建立了对应关系。

姿态解算则利用这些对应关系求解旋转矩阵。设第 i 颗星在星敏感器本体坐标系下的单位方向矢量为 bi,在惯性坐标系下的单位方向矢量为 ri,则存在旋转矩阵 A 使 bi = Ari。工程上常用 QUEST 或 TRIAD 算法求解。TRIAD 用两组矢量构造正交基,计算量小但只用了两颗星;QUEST 通过构造 K 矩阵并求其最大特征值对应的特征向量,得到最优四元数,能充分利用所有已识别星点,精度更高。

解算结果通常以四元数 (q0, q1, q2, q3) 输出,并附带星点数量、匹配残差、有效标志等状态字。若匹配星数少于 3 颗,或残差超过阈值,则本帧姿态无效,需保持上一帧或转入搜索模式。

星敏感器全流程信号链与工程组成 恒星辐射 零等星 ≈ 2.5e-8 lx 500~800 nm 波段 光学系统 口径 20~50 mm PSF ≈ 二维高斯 探测器 CMOS/CCD 面阵 像元 5~10 μm 处理电路 FPGA + DSP 曝光/读出时序 软件模块 提取/识别 解算/输出 星图处理链(软件模块内部) 星点提取 背景去除 + 阈值分割 连通域 + 灰度加权质心 星图识别 三角形/金字塔匹配 导航星表检索验证 姿态解算 QUEST / TRIAD 四元数 + 残差 姿态输出 q0,q1,q2,q3 星数/残差/有效标志 匹配失败 / 星数不足 → 调整阈值或转入搜索模式 关键工程参数与判据(示例值) 曝光时间 50~200 ms 阈值 k = 3~5 质心精度 0.1~0.3 像元 匹配残差 < 0.02° 有效星数 ≥ 3 更新率 1~10 Hz 姿态噪声 1~5 arcsec 动态范围 0~5 °/s

四、工程组成与接口关系

从硬件角度看,星敏感器由光学镜头、遮光罩、探测器、前端模拟电路、FPGA 时序与控制、DSP 或 SoC 解算单元、对外通信接口组成。遮光罩用于抑制太阳光和地气光,通常要求太阳规避角大于 30°~45°,地球规避角大于 20°。前端模拟电路完成相关双采样与增益调整,把探测器输出的模拟电压转换为数字灰度。

从软件角度看,处理流程分为底层驱动、图像预处理、星点提取、星图识别、姿态解算和输出管理六个模块。底层驱动负责曝光与读出时序;图像预处理完成暗电流扣除与平场校正;星点提取输出星点列表;星图识别输出星号对应关系;姿态解算输出四元数;输出管理负责组帧、校验和接口发送。各模块之间以星点列表、匹配表、四元数等数据结构衔接,任一模块的异常都通过状态字上报。

星敏感器与陀螺组合使用时,星敏感器提供低频高精度姿态基准,陀螺提供高频角速度,二者通过卡尔曼滤波融合。星敏感器输出周期通常为 0.1~1 s,陀螺输出周期为 1~10 ms,融合后既能抑制陀螺漂移,又能填补星敏感器更新间隙。
星图识别失败最常见的原因有三类:一是星点提取阈值过高导致暗星丢失,可用星数不足;二是视场内星数过少(例如指向天区恒星稀疏),需等待航天器转动或切换搜索模式;三是导航星表与当前视场星等范围不匹配,需检查星表极限星等是否覆盖实际探测能力。

理解这条全流程链路,是后续分析星敏感器精度、动态性能与故障模式的基础。实际工程中,每一个环节的指标都不是孤立的:光学口径决定可探测星等,可探测星等决定可用星数,可用星数决定识别成功率和姿态精度,而姿态精度又反过来约束航天器的姿态控制带宽。只有把整条链路作为一个整体来权衡,才能设计出满足任务要求的星敏感器系统。