3. Anritsu原始数据格式解析
Anritsu 测试仪表(如 MS2090A 频谱分析仪、MT8000A 无线测试平台、MS2712E 手持频谱仪等)在完成一次测量后,会以多种格式保存原始数据。能否正确解析这些文件,直接决定了后续分析的可信度。本节围绕 CSV、二进制、IQ、PCAP 以及 Anritsu 专有格式五类文件,讲清它们的结构、字段含义、时间戳与采样率信息,以及单位换算的关键点。
一、五类格式的定位与结构
CSV 是文本格式,通常由仪表导出为“表头 + 数据行”结构,常见列包括频率(Hz)、幅度(dBm)、时间戳、迹线编号等。它的优点是可直接用文本编辑器或 Excel 打开,缺点是精度受限于导出位数,且大文件体积膨胀明显。二进制格式(如 .dat、.bin)以固定字节序存储浮点或整型数组,读取速度快、体积小,但必须知道字段偏移、数据类型(float32/int16)和字节序(大端/小端),否则会得到完全错误的数值。
IQ 文件记录的是复数基带采样,通常由 I、Q 两路交错存储,每个采样点占 4 字节(int16 各 2 字节)或 8 字节(float32 各 4 字节)。PCAP 文件则来自仪表内置抓包或外接采集,遵循标准 pcap 文件头(magic number、版本、时区、快照长度、链路类型),随后是逐包的 packet header(时间戳秒、微秒、包长)与数据帧。Anritsu 专有格式(如 .mtd、.spa 等)往往在标准结构外附加仪表型号、序列号、校准因子和测量配置块,需要结合官方文档或逆向字段表解析。
二、字段含义与时间戳解析
以 CSV 为例,Anritsu 频谱仪导出的典型表头可能是 Frequency(Hz),Amplitude(dBm),Timestamp。其中 Timestamp 常见两种形式:绝对时间(如 2024-06-12 09:15:32.145)或相对时间(自测量开始经过的秒数)。解析时必须先判断是哪一种,否则后续多文件对齐会整体偏移。二进制与 IQ 文件通常不内嵌时间戳,时间信息来自文件名或伴随的元数据文件,因此建议在采集时同步记录“文件创建时间 + 仪表内部时基”。
PCAP 的时间戳精度较高,每个包记录包含 ts_sec 与 ts_usec 两个字段,实际时间 = ts_sec + ts_usec / 1e6。若仪表使用相对时基,则 ts_sec 可能从 0 开始,需要结合第一个包的实际采集时刻做整体平移。专有格式中,时间戳往往存放在固定偏移的头部块,且可能使用仪表内部计数器而非 UTC,解析时要留意是否存在闰秒或时区补偿。
三、采样率与单位换算的实操要点
采样率是 IQ 与二进制文件解析的核心参数。假设某次采集的 IQ 文件为 int16 交错存储,采样率 fs = 10 MHz,文件大小 40 MB,则采样点数为 40×1024×1024 / 4 = 10,485,760 点,对应时长约 1.0486 秒。若误把 fs 当作 20 MHz,时长会减半,频谱分析中的 RBW 与频率轴都会错位。因此,解析前务必从仪表配置或元数据中确认 fs,并在代码中显式记录。
幅度单位换算同样关键。CSV 中若为 dBm,转换为线性功率用 10**(dBm/10);若为 dBμV,需先转 dBm:dBm = dBμV − 107(50 Ω 系统)。二进制文件若存储的是 ADC 原始码值,还需结合参考电平与满量程换算为 dBm。IQ 文件的 I、Q 值通常为归一化整数,需除以 2^15 得到 [-1,1] 区间,再乘以满量程电压或功率参考。
四、解析流程与常见陷阱
实际工程中,推荐按“识别格式 → 读取头部 → 校验关键字段 → 批量解析 → 单位归一化 → 输出中间格式”的顺序处理。识别格式不能只看扩展名,因为部分仪表会把 CSV 存成 .txt,或把二进制存成 .dat。读取头部时,CSV 可直接读前几行,二进制与专有格式则需按字段表读取固定字节。校验环节重点检查采样率是否合理、时间戳是否单调、幅度是否超出量程。
常见陷阱包括:字节序误判导致数值乱跳;把 int16 当 uint16 解析导致负值变正;PCAP 中混杂非目标协议包未过滤;专有格式版本升级后字段偏移变化。遇到异常时,可先用小样本文件做十六进制查看,确认 magic number 与字段边界,再逐步扩展解析逻辑。
| 格式 | 时间戳来源 | 采样率来源 | 单位换算重点 |
|---|---|---|---|
| CSV | 列内绝对/相对时间 | 表头或文件名 | dBm/dBμV 转线性 |
| 二进制 | 外部元数据 | 配置块或文件名 | ADC 码值转 dBm |
| IQ | 外部元数据 | 必须显式确认 | 归一化后乘参考 |
| PCAP | 包记录秒+微秒 | 不适用 | 协议字段解析 |
| 专有 | 头部固定偏移 | 配置块 | 结合校准因子 |
掌握以上结构后,面对任意一个 Anritsu 原始文件,都能先判断它属于哪一类,再定位时间戳、采样率与单位三个核心参数,从而为后续的频谱分析、解调或协议统计打下可靠基础。