4. 星上图像预处理总体架构设计

星上图像预处理总体架构,是把“原始探测器数据”变成“可下传、可判读、可被后续任务消费的图像产品”的顶层组织方案。它要同时回答四个问题:处理任务如何切分成流水线、每个流水线由哪些可复用模块构成、这些模块落在什么处理平台上、以及数据在模块之间如何流动与缓存。架构设计一旦确定,后续的算法移植、时序收敛、功耗预算和可靠性加固都围绕它展开,因此必须在算法精度、吞吐率、功耗、体积和抗辐照能力之间做显式权衡。

一、预处理流水线划分

星上图像预处理通常按“数据成熟度”划分流水线,而不是按算法名称简单罗列。以一台推扫式多光谱相机为例,探测器输出为 12 bit、4 谱段、行频 8 kHz 的原始数据,单谱段行像素 4096。可划分为五级流水线:

  • L0 采集与校正级:坏像元替换、暗电流扣除、非均匀性校正(两点法,增益/偏置系数存于片上 ROM)。
  • L1 辐射级:相对辐射归一化、条纹去除、可选绝对辐射定标系数乘加。
  • L2 几何级:谱段配准、镜头畸变粗校正、行间错位补偿。
  • L3 增强与压缩级:去噪、对比度拉伸、JPEG2000 或 CCSDS 123 无损/近无损压缩。
  • L4 组织与输出级:条带拼接、辅助数据(姿态、时间码、定标参数)打包、下传帧格式化。

划分原则是“级间数据率单调下降、级内算法可独立验证”。例如 L0 输入 4×4096×8 kHz×12 bit ≈ 1.57 Gbit/s,经 L0/L1 后若降为 10 bit 并做 2×2 合并,数据率降至约 328 Mbit/s,L3 压缩后进一步降到 80~150 Mbit/s,这样各级的缓存与接口带宽需求就自然分层。

二、模块化设计方法

模块化不是把代码拆成函数,而是定义“接口稳定、功能内聚、可单独替换”的处理单元。推荐采用“流式接口 + 参数寄存器 + 状态回读”三件套:每个模块有统一的 valid/ready 握手、行有效与帧有效标志,算法参数通过寄存器写入,运行状态(溢出、饱和、缓存占用)可回读。这样 L0 的非均匀性校正模块可以整体替换为另一套系数方案,而不影响 L1 的接口时序。

模块粒度建议以“单行或小块可完成”为界。例如 4096 像素一行、4 谱段并行时,可设计 4 个并行的 1024 像素子模块,每个子模块内部再分 8 级流水,每级延迟 1 个时钟。若系统时钟 200 MHz,则单行处理延迟约 8 个时钟即 40 ns,远小于 125 μs 的行周期,留有充足余量。模块之间用 FIFO 解耦,深度按“最坏行抖动 + 突发长度”估算,通常取 2~4 行即可。

三、处理平台选型

平台选型取决于吞吐率、算法可重构性和抗辐照要求。下表给出典型对比(示例参数,用于说明选型逻辑):

平台典型算力/带宽适用流水线级优势局限
FPGA数百 GMAC/s,多路并行L0~L2流水线深、延迟确定、可重构复杂算法开发周期长
DSP数十 GMAC/s,串行强L2~L3浮点/复杂控制灵活功耗与实时性受限
ASIC定制,能效最高固定 L0/L1功耗面积最优、抗辐照可加固不可重构、流片成本高
SoC(FPGA+ARM)可编程逻辑+处理器全流水线软硬协同、接口丰富资源与功耗需精细分配

工程上常见组合是“FPGA 承担 L0~L2 的像素级流水,DSP 或 SoC 中的处理器核承担 L3 的压缩控制与 L4 的打包调度”。若任务固定、批量大,可把 L0/L1 固化为 ASIC 或硬核,把可重构部分留给 FPGA。

四、软硬件协同设计流程

协同设计的核心是“先定数据流,再分软硬,最后联合验证”。建议流程为:

  1. 用浮点模型(MATLAB/Python)建立 L0~L4 参考链,输出每级中间结果与数据率。
  2. 按“像素级并行、规则访存”划给硬件,按“分支多、控制复杂、迭代多”划给软件。
  3. 为软硬件交界定义统一帧格式与握手协议,例如 AXI-Stream 或自定义 valid/ready。
  4. 硬件侧做定点化与位宽收敛,软件侧做定点一致性比对,误差控制在 1 LSB 以内。
  5. 联合仿真:硬件仿真器输出中间帧,软件读取同一帧做后续处理,逐级比对。

例如 L1 的相对辐射归一化,硬件实现为“像素×增益+偏置”的定点乘加,增益用 16 bit 定点(Q1.14),偏置用 16 bit 有符号;软件参考模型用双精度浮点。若比对发现某谱段最大误差 3 LSB,则需检查增益量化步长或饱和处理,而不是直接放宽判据。

五、数据流与缓存管理策略

星上缓存的矛盾是“容量小、带宽有限、不能丢行”。常用策略有三类:

  • 行缓存:用于跨行算法(如 3×3 去噪),每谱段 2 行,4 谱段共 8 行,按 4096×12 bit 计约 48 KB,用片上 BRAM 即可。
  • 帧缓存:用于几何校正或压缩前的块组织,按 1 帧 4096×512×10 bit 约 2.5 MB,需外挂 DDR 或大容量 SRAM。
  • 乒乓缓存:在 L3 压缩与 L4 打包之间使用双缓冲,一块写入、一块读出,避免压缩突发阻塞下传。

缓存管理要给出明确的“水位—动作”规则:当 FIFO 水位超过 75% 时,向上游发反压;低于 25% 时恢复;若连续 3 行出现溢出,则记录故障标志并切换到降级模式(如降低压缩比或跳过增强级)。这些阈值和动作应写入寄存器,便于在轨调整。

星上图像预处理总体架构(示例:4谱段推扫相机) 探测器 4谱段 12bit L0 采集校正 坏像元/暗电流 非均匀性校正 1.57 Gbit/s L1 辐射级 归一化/条纹去除 定标系数乘加 10 bit L2 几何级 谱段配准 畸变粗校正 328 Mbit/s L3 增强压缩 去噪/拉伸 JPEG2000 80~150 Mbit/s L4 组织输出 条带拼接/打包 下传帧格式化 处理平台映射(软硬件协同) FPGA 可编程逻辑 L0 / L1 / L2 像素级流水 DSP / 处理器核 L3 压缩控制 / L4 调度 ASIC / 硬核(可选) 固定 L0/L1 低功耗加固 数据流与缓存管理 行缓存 BRAM 2行/谱段 × 4 约 48 KB 帧缓存 DDR 4096×512×10bit 约 2.5 MB 乒乓缓存 压缩/打包解耦 双缓冲切换 水位—动作规则 >75% 反压 <25% 恢复 / 溢出降级 注:数据率为示例估算值,用于说明各级带宽分层;实际以任务参数为准。

总体架构的最终交付物应包含:流水线级定义与级间数据率表、模块接口协议、平台资源分配表、缓存容量与水位规则、以及软硬件一致性验证方案。只有这些内容同时确定,星上预处理系统才具备可移植、可验证、可在轨调整的基础。