跳转至

数据采集、证据保全与可复现分析

可复现分析要求其他人能够从受控原始数据、配置和脚本得到相同结论,而不是只看到一张导出的曲线。

试验数据与可复现证据链

本篇是05至08主动测试的入口前置。数据计划、同步、容量、原始格式、备份和访问控制未批准时,不进入仿真批量运行、动力台架、环境台架或飞行试验。

数据计划先于测试

执行前定义:

  • 哪些问题需要数据回答;
  • 每个字段的来源、单位和坐标;
  • 采样率和有效带宽;
  • 时间戳和同步;
  • 量程和饱和;
  • 数据格式;
  • 触发和标记;
  • 存储容量;
  • 冗余与备份;
  • 缺失检测;
  • 隐私和访问控制;
  • 保留期限。

测试结束才发现关键字段未记录,通常无法从其他字段可靠补回。

数据字典

字段 来源 单位 坐标/方向 产生率 记录率 时间戳 无效值

同名字段在不同平台可能具有不同单位、缩放、坐标和滤波。数据字典必须绑定固件和消息版本。

原始、校正和派生数据

分层保存:

  • 原始捕获:设备或采集系统直接产生;
  • 校正数据:应用校准、单位和同步修正;
  • 清洗数据:按预定规则处理缺失和错误;
  • 派生数据:滤波、频谱、统计或模型结果;
  • 展示数据:图表、摘要和报告。

任何一层都不得覆盖前一层。每个派生结果记录输入、脚本、参数和版本。

原始证据

原始证据至少包含:

  • 文件原件;
  • 文件大小;
  • 密码学摘要;
  • 采集开始和结束;
  • 设备和接口;
  • 捕获丢失;
  • 操作者;
  • 访问和复制记录;
  • 只读副本。

打开文件查看通常不会改变内容,但某些工具会自动写索引或元数据。分析应在副本上进行。

时间线

跨日志对齐要保留:

  • 飞控单调时钟;
  • 地面站时间;
  • 仪器时间;
  • 摄像时间;
  • 共同触发;
  • 同步源;
  • 偏差和漂移;
  • 对齐算法;
  • 对齐残差。

手机视频只能支持粗略时序,不能独立支撑毫秒级结论。

事件标记

标记应:

  • 唯一;
  • 在多个系统可观察;
  • 不改变被测行为;
  • 带有预期时刻和实际时刻;
  • 不与正常事件混淆。

可使用测试命令、LED、GPIO、声音或画面标记。若标记通过网络发送,要计入传输延迟。

数据质量门禁

执行分析前检查:

项目 问题
身份 数据是否属于正确样件、固件和测试点
完整性 文件是否完整,摘要是否一致
时间 时间戳是否单调、同步和无跳变
采样 实际间隔、丢样和重复
量程 饱和、削波和溢出
单位 缩放和坐标是否正确
状态 有效标志和模式是否覆盖目标区间
窗口 暖机、瞬态、稳态和冷却是否按计划分段

关键动作已经执行但落入日志缺口时,该动作结果应标记无效/不可判定未测试只用于动作确实没有执行。

处理脚本

脚本应:

  • 保存在版本控制;
  • 固定依赖;
  • 接受明确输入;
  • 不修改原始文件;
  • 记录参数;
  • 检查单位和字段;
  • 对缺失和异常显式处理;
  • 生成机器可读结果;
  • 可重复运行;
  • 具有测试样本。

交互式手工点击可以探索,但最终结论应转成受控脚本或完整操作记录。

处理环境

记录:

  • 操作系统;
  • 语言和运行时;
  • 软件包版本;
  • 硬件架构;
  • 本地时区和区域设置;
  • 随机种子;
  • 并行设置;
  • 浮点和加速库;
  • 容器或环境摘要。

完全相同的比特结果并非所有分析的必要条件,但差异必须小于项目容差且不改变结论。

数据选择

在看结果前定义:

  • 包含哪些运行;
  • 排除哪些运行;
  • 取哪个时间窗;
  • 稳态如何判定;
  • 如何处理预热;
  • 如何处理停止后的冷却;
  • 哪些字段缺失会使运行无效。

只挑最好的一段属于选择偏差。失败、中止和无效运行都要进入索引。

缺失、插值和滤波

插值不能创造真实证据。记录:

  • 缺失长度;
  • 插值方法;
  • 使用目的;
  • 是否允许进入判定;
  • 敏感性分析。

滤波必须保存:

  • 算法;
  • 截止频率;
  • 阶数;
  • 相位;
  • 初始条件;
  • 前向或双向;
  • 边界处理。

双向零相位滤波使用未来数据,不可被描述为实时系统行为。

图表

图表至少标出:

  • 变量和单位;
  • 时间基准;
  • 测试点;
  • 样本量;
  • 不确定度或变异;
  • 数据处理;
  • 中止和异常;
  • 坐标范围;
  • 来源文件。

截断纵轴、平滑曲线和对数坐标都要明确。不要用图形美观掩盖离散点和失败运行。

证据包结构

TEST-编号/
├── 00-plan/
├── 01-configuration/
├── 02-calibration/
├── 03-raw/
├── 04-working-copy/
├── 05-scripts/
├── 06-results/
├── 07-anomalies/
└── 08-report/

目录名只是示例。关键是原始数据只读、派生链明确并能从报告回溯。

敏感数据

数据可能包含:

  • 精确位置和航迹;
  • 设备唯一标识;
  • 操作者身份;
  • 无线电信息;
  • 图像和声音;
  • 任务和设施信息;
  • 密钥或令牌。

共享前执行最小化和脱敏。密钥不能进入普通日志。删除位置字段前还要检查视频、文件名和元数据是否泄露。

可复现检查

独立人员使用干净环境:

  1. 核对输入摘要;
  2. 创建固定分析环境;
  3. 运行脚本;
  4. 比较机器可读结果;
  5. 重新生成图表;
  6. 检查判定;
  7. 记录差异;
  8. 确认没有依赖未归档的手工步骤。

数据结论模板

问题和测试点:
原始数据摘要:
配置:
时间同步:
数据质量:
排除与无效:
处理脚本和参数:
统计方法:
结果和不确定度:
敏感性:
结论:
适用范围:
未覆盖:
独立复现:

检查理解

  1. 为什么不能覆盖原始文件?
  2. 数据字典为什么必须绑定版本?
  3. 双向零相位滤波为何不能表示实时行为?
  4. 失败和中止运行为什么也要归档?
  5. 怎样证明分析可以复现?

主要参考