3. 海试日志系统构成与数据流
海试日志系统不是“把几个文件堆在一起”,而是一条从物理传感器到可分析数据集的完整链路。它的核心任务只有一句话:把同一时刻、同一物理事件在不同设备上的观测,以可对齐、可追溯、可复算的方式保存下来。水声通信试验中,一次误码率异常可能同时涉及调制解调器的解调状态、换能器深度、船体姿态、GPS 位置和当时声速剖面;如果这些数据的时间戳对不齐,事后分析就只能靠猜。因此,理解日志系统的构成与数据流,是后续所有日志分析工作的前提。
一、日志来源与各自的数据角色
典型水声通信海试的日志来源可分为五类,它们的数据性质、更新节奏和用途差异很大:
- 调制解调器(Modem):核心业务数据源。通常输出帧同步状态、调制方式、信噪比估计、误码统计、多普勒估计值、接收信号强度、解码结果等。它是“通信是否成功”的直接证据,采样率往往与符号率或帧率挂钩,属于事件驱动型日志。
- 传感器(压力/深度、温度、电池电压等):反映设备工作环境与自身状态。深度传感器用于判断换能器入水深度,电压用于排查发射功率下降,温度影响电子器件性能。采集频率通常为 1 Hz 量级。
- GPS:提供船位、航向、航速与 UTC 时间。海试中 GPS 是全局时间基准的主要来源,输出频率常见 1 Hz 或 10 Hz,NMEA 语句(如 GGA、RMC)是典型原始格式。
- 姿态仪(AHRS/IMU):输出横滚、俯仰、航向及三轴加速度。它决定换能器波束指向是否稳定,是解释“同一距离为何通信质量突变”的关键。采样率通常为 10~100 Hz。
- 声速剖面仪(SVP/CTD):测量声速随深度的分布,决定声线弯曲与多径结构。它通常是“站点式”测量,一次投放获得一条剖面,时间频率极低但空间信息极重要。
这五类数据在时间尺度上跨越三个数量级:姿态仪毫秒级、Modem 帧级、GPS 秒级、SVP 站点级。日志系统的第一项设计工作,就是承认这种异构性并为每类数据定义明确的采集频率与时间戳规则。
二、采集频率的确定原则
采集频率不能“越高越好”,而要满足两个约束:能还原关心的物理变化,且不压垮存储与总线带宽。工程上可按以下思路确定:
- Modem 日志按“每帧一条记录”采集,字段包含帧序号、发送/接收标志、调制阶数、SNR、误码数、多普勒估计;若需分析突发同步过程,可额外开启原始基带或对数似然比的调试通道,但仅在排障试验中短时开启。
- 姿态仪按 50 Hz 采集即可覆盖船体摇摆的主要频段(通常 0.05~0.5 Hz 的波浪运动,叠加高频振动),再高则收益有限。
- GPS 按 1 Hz 记录,足以支撑船位轨迹与时间基准;若做短基线定位分析可提高到 5~10 Hz。
- 深度、温度、电压按 1 Hz 记录,属于慢变量,无需高速采样。
- SVP 按“每次投放一条剖面”记录,并在剖面文件中标注投放时刻、站位坐标与最大深度。
三、时间同步机制
时间同步是日志系统的“命门”。常用做法是分层授时:GPS 的 UTC 作为全局基准,通过 PPS(秒脉冲)+ NMEA 时间报文为采集主机授时;主机再通过 NTP 或 PTP 将时间分发给各采集进程;对无法联网的设备(如独立记录的水听器、SVP),则在投放与回收时刻记录“事件标记”,事后用标记点做线性对齐。
需要特别区分三种时间:采样时刻(传感器实际测量的瞬间)、打戳时刻(软件写入时间戳的瞬间)、落盘时刻(数据写入文件的时间)。三者之间的差值就是时间戳误差的主要来源。工程上应尽量在驱动层或采集卡层打戳,减少操作系统调度带来的抖动;对 Modem 这类带内部时钟的设备,应在试验开始与结束时各记录一次“设备时间—GPS 时间”偏差,用于事后修正时钟漂移。
四、原始数据格式与保存策略
原始数据格式的选择遵循“先保真、后加工”原则。常见做法是:Modem 与姿态仪以二进制或带分隔符的文本逐条追加写入,GPS 直接保存原始 NMEA 语句,SVP 保存厂商原始剖面文件,同时为每个文件生成一份元数据头,记录设备编号、固件版本、采集参数、时间基准来源和文件起止时间。
一个实用的做法是“原始层 + 索引层”分离:原始层只追加不改写,保证可追溯;索引层用一张清单表记录每个文件的来源、起止时间、记录条数和校验值。下面是一个可直接参考的索引清单示例:
file_id, source, device_sn, start_utc, end_utc, rate, records, format, checksum
M001, modem, MDM-07, 2024-06-11T08:00:00Z, 2024-06-11T09:00:00Z, frame, 7200, bin, 9f3a...
A001, ahrs, IMU-12, 2024-06-11T08:00:00Z, 2024-06-11T09:00:00Z, 50Hz, 180000, csv, 4c81...
G001, gps, GPS-03, 2024-06-11T08:00:00Z, 2024-06-11T09:00:00Z, 1Hz, 3600, nmea, 7d20...
S001, sensor, CTD-05, 2024-06-11T08:00:00Z, 2024-06-11T09:00:00Z, 1Hz, 3600, csv, 1b6e...
V001, svp, SVP-02, 2024-06-11T07:55:00Z, 2024-06-11T08:05:00Z, profile, 1, raw, 5a9c...
五、数据流中的关键检查点
日志系统运行期间,应在三个位置设置检查点,避免“试验结束才发现数据不可用”:
- 采集端:检查每条记录是否带时间戳、时间戳是否单调递增、缓冲区是否溢出。姿态仪 50 Hz 数据若出现成批相同时间戳,往往意味着打戳位置错误或线程阻塞。
- 汇聚端:检查各来源的记录条数与理论值是否吻合。例如 1 小时 GPS 应有约 3600 条,若只有 3500 条,需排查丢星或串口丢包。
- 落盘端:检查文件是否完整闭合、校验值是否可复算、元数据是否齐全。缺少元数据的原始文件,在事后分析中价值会大幅下降。
综上,海试日志系统的构成可以概括为“五类来源、分层授时、原始保真、索引可查”。采集频率由物理变化速率决定,时间同步以 GPS UTC 为基准并向采集层下沉,原始格式优先保真并配套元数据与索引清单。只有这条数据流在试验现场被验证为完整、对齐、可追溯,后续的误码分析、多普勒修正和声速剖面关联才有可靠基础。