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

本篇是05至08主动测试的入口前置。数据计划、同步、容量、原始格式、备份和访问控制未批准时,不进入仿真批量运行、动力台架、环境台架或飞行试验。
数据计划先于测试¶
执行前定义:
- 哪些问题需要数据回答;
- 每个字段的来源、单位和坐标;
- 采样率和有效带宽;
- 时间戳和同步;
- 量程和饱和;
- 数据格式;
- 触发和标记;
- 存储容量;
- 冗余与备份;
- 缺失检测;
- 隐私和访问控制;
- 保留期限。
测试结束才发现关键字段未记录,通常无法从其他字段可靠补回。
数据字典¶
| 字段 | 来源 | 单位 | 坐标/方向 | 产生率 | 记录率 | 时间戳 | 无效值 |
|---|---|---|---|---|---|---|---|
同名字段在不同平台可能具有不同单位、缩放、坐标和滤波。数据字典必须绑定固件和消息版本。
原始、校正和派生数据¶
分层保存:
- 原始捕获:设备或采集系统直接产生;
- 校正数据:应用校准、单位和同步修正;
- 清洗数据:按预定规则处理缺失和错误;
- 派生数据:滤波、频谱、统计或模型结果;
- 展示数据:图表、摘要和报告。
任何一层都不得覆盖前一层。每个派生结果记录输入、脚本、参数和版本。
原始证据¶
原始证据至少包含:
- 文件原件;
- 文件大小;
- 密码学摘要;
- 采集开始和结束;
- 设备和接口;
- 捕获丢失;
- 操作者;
- 访问和复制记录;
- 只读副本。
打开文件查看通常不会改变内容,但某些工具会自动写索引或元数据。分析应在副本上进行。
时间线¶
跨日志对齐要保留:
- 飞控单调时钟;
- 地面站时间;
- 仪器时间;
- 摄像时间;
- 共同触发;
- 同步源;
- 偏差和漂移;
- 对齐算法;
- 对齐残差。
手机视频只能支持粗略时序,不能独立支撑毫秒级结论。
事件标记¶
标记应:
- 唯一;
- 在多个系统可观察;
- 不改变被测行为;
- 带有预期时刻和实际时刻;
- 不与正常事件混淆。
可使用测试命令、LED、GPIO、声音或画面标记。若标记通过网络发送,要计入传输延迟。
数据质量门禁¶
执行分析前检查:
| 项目 | 问题 |
|---|---|
| 身份 | 数据是否属于正确样件、固件和测试点 |
| 完整性 | 文件是否完整,摘要是否一致 |
| 时间 | 时间戳是否单调、同步和无跳变 |
| 采样 | 实际间隔、丢样和重复 |
| 量程 | 饱和、削波和溢出 |
| 单位 | 缩放和坐标是否正确 |
| 状态 | 有效标志和模式是否覆盖目标区间 |
| 窗口 | 暖机、瞬态、稳态和冷却是否按计划分段 |
关键动作已经执行但落入日志缺口时,该动作结果应标记无效/不可判定;未测试只用于动作确实没有执行。
处理脚本¶
脚本应:
- 保存在版本控制;
- 固定依赖;
- 接受明确输入;
- 不修改原始文件;
- 记录参数;
- 检查单位和字段;
- 对缺失和异常显式处理;
- 生成机器可读结果;
- 可重复运行;
- 具有测试样本。
交互式手工点击可以探索,但最终结论应转成受控脚本或完整操作记录。
处理环境¶
记录:
- 操作系统;
- 语言和运行时;
- 软件包版本;
- 硬件架构;
- 本地时区和区域设置;
- 随机种子;
- 并行设置;
- 浮点和加速库;
- 容器或环境摘要。
完全相同的比特结果并非所有分析的必要条件,但差异必须小于项目容差且不改变结论。
数据选择¶
在看结果前定义:
- 包含哪些运行;
- 排除哪些运行;
- 取哪个时间窗;
- 稳态如何判定;
- 如何处理预热;
- 如何处理停止后的冷却;
- 哪些字段缺失会使运行无效。
只挑最好的一段属于选择偏差。失败、中止和无效运行都要进入索引。
缺失、插值和滤波¶
插值不能创造真实证据。记录:
- 缺失长度;
- 插值方法;
- 使用目的;
- 是否允许进入判定;
- 敏感性分析。
滤波必须保存:
- 算法;
- 截止频率;
- 阶数;
- 相位;
- 初始条件;
- 前向或双向;
- 边界处理。
双向零相位滤波使用未来数据,不可被描述为实时系统行为。
图表¶
图表至少标出:
- 变量和单位;
- 时间基准;
- 测试点;
- 样本量;
- 不确定度或变异;
- 数据处理;
- 中止和异常;
- 坐标范围;
- 来源文件。
截断纵轴、平滑曲线和对数坐标都要明确。不要用图形美观掩盖离散点和失败运行。
证据包结构¶
TEST-编号/
├── 00-plan/
├── 01-configuration/
├── 02-calibration/
├── 03-raw/
├── 04-working-copy/
├── 05-scripts/
├── 06-results/
├── 07-anomalies/
└── 08-report/
目录名只是示例。关键是原始数据只读、派生链明确并能从报告回溯。
敏感数据¶
数据可能包含:
- 精确位置和航迹;
- 设备唯一标识;
- 操作者身份;
- 无线电信息;
- 图像和声音;
- 任务和设施信息;
- 密钥或令牌。
共享前执行最小化和脱敏。密钥不能进入普通日志。删除位置字段前还要检查视频、文件名和元数据是否泄露。
可复现检查¶
独立人员使用干净环境:
- 核对输入摘要;
- 创建固定分析环境;
- 运行脚本;
- 比较机器可读结果;
- 重新生成图表;
- 检查判定;
- 记录差异;
- 确认没有依赖未归档的手工步骤。
数据结论模板¶
检查理解¶
- 为什么不能覆盖原始文件?
- 数据字典为什么必须绑定版本?
- 双向零相位滤波为何不能表示实时行为?
- 失败和中止运行为什么也要归档?
- 怎样证明分析可以复现?