前言

本文是安诺尼AARONIA SPECTRAN V6 实时频谱分析仪配套 RTSA Suite 的专属文件格式 ——RTSA File Format 的技术解析系列第二篇,主要说明文件的基础 Chunk 结构定义与通用数据类型存储规则,是后续解析各类具体 Chunk、实现数据读写的核心基础。
1、Chunk Structure(块结构)
RTSA 文件采用基于块的二进制结构,与 PNG 文件格式设计思路相似。整个文件由多个独立、可递归嵌套的 Chunk 构成,所有 Chunk 使用统一的头部格式,便于解析器识别、跳过未知块。

1.1、通用 Chunk 头部定义
cpp
struct DSPStreamFileChunk
quint32 mChunkID;
quint32 mChunkSize;
quint32 mChunkFlags;
quint16 mVersion;
quint16 mHeaderSize;
1.2 、字段说明
mChunkID:32 位标识,由 4 个 ASCII 字符组成,用于标识块类型(如 DSFH、STRM、SAMP、ANTA 等)。
mChunkSize:当前块总大小(包含头部),可用于快速跳过当前块。
mChunkFlags:块标志位,用于扩展属性。
mVersion:块版本号,版本不同表示结构不兼容。
mHeaderSize:头部长度;读取端可根据此字段安全跳过或补全默认值。
1.3 、Chunk 结构规则
每个 Chunk 由头部 + 数据体组成。
数据体可以是二进制测量数据,也可以是嵌套的子 Chunk。
版本号用于标识不兼容结构;头部长度扩展不会破坏兼容性。
解析器可安全跳过未知类型的 Chunk。
2、General Data Types(通用数据类型)
RTSA 文件对基础数据类型有统一存储规范,所有解析与生成逻辑必须遵循以下规则。
2.1、字节序
所有数据采用little-endian(小端)存储。
2.2、时间格式
时间使用64 位浮点型 double存储。
基准为 Unix 时间戳(1970-01-01 00:00:00)或流起始时间。
2.3、文件偏移量
全部偏移使用64 位无符号整数
以文件起始位置为基准,采用向后引用,无向前引用。
2.4、字符串格式
采用UTF-8 编码
以 0 填充对齐。
3、Generic File Layout(通用文件布局)
RTSA 文件以DSFH(File Head)开始,以DSFT(File Tail)结束。
文件扩展时会生成多组 DSFH/DSFT。
支持顺序读取与随机访问。
所有带 ID 对象(StreamID、SubStreamID、AntennaID 等)遵循先定义后使用原则。
典型结构:
plain
DSFH → STRM → ANTA → SSTR → SAMP → … → STRT → DSFT
下期预告
下一篇将详细讲解 RTSA File Format 的DSFH 文件头DSFT 文件尾,包括结构体定义、字段含义、解析逻辑与使用方式。
AARONIA安诺尼总代——深圳市拓力智慧科技有限公司

|