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 颗,或残差超过阈值,则本帧姿态无效,需保持上一帧或转入搜索模式。
四、工程组成与接口关系
从硬件角度看,星敏感器由光学镜头、遮光罩、探测器、前端模拟电路、FPGA 时序与控制、DSP 或 SoC 解算单元、对外通信接口组成。遮光罩用于抑制太阳光和地气光,通常要求太阳规避角大于 30°~45°,地球规避角大于 20°。前端模拟电路完成相关双采样与增益调整,把探测器输出的模拟电压转换为数字灰度。
从软件角度看,处理流程分为底层驱动、图像预处理、星点提取、星图识别、姿态解算和输出管理六个模块。底层驱动负责曝光与读出时序;图像预处理完成暗电流扣除与平场校正;星点提取输出星点列表;星图识别输出星号对应关系;姿态解算输出四元数;输出管理负责组帧、校验和接口发送。各模块之间以星点列表、匹配表、四元数等数据结构衔接,任一模块的异常都通过状态字上报。
理解这条全流程链路,是后续分析星敏感器精度、动态性能与故障模式的基础。实际工程中,每一个环节的指标都不是孤立的:光学口径决定可探测星等,可探测星等决定可用星数,可用星数决定识别成功率和姿态精度,而姿态精度又反过来约束航天器的姿态控制带宽。只有把整条链路作为一个整体来权衡,才能设计出满足任务要求的星敏感器系统。