http://www.henanjusheng.com 2026-06-01 15:58 深圳市拓力智慧科技有限公司

本文是安諾尼AARONIA SPECTRAN V6 實時頻譜分析儀配套 RTSA Suite 的專屬文件格式 ——RTSA File Format 的技術(shù)解析系列第二篇,主要說明文件的基礎 Chunk 結(jié)構(gòu)定義與通用數(shù)據(jù)類型存儲規(guī)則,是后續(xù)解析各類具體 Chunk、實現(xiàn)數(shù)據(jù)讀寫的核心基礎。
RTSA 文件采用基于塊的二進制結(jié)構(gòu),與 PNG 文件格式設計思路相似。整個文件由多個獨立、可遞歸嵌套的 Chunk 構(gòu)成,所有 Chunk 使用統(tǒng)一的頭部格式,便于解析器識別、跳過未知塊。

cpp
struct DSPStreamFileChunk
quint32 mChunkID;
quint32 mChunkSize;
quint32 mChunkFlags;
quint16 mVersion;
quint16 mHeaderSize;
mChunkID:32 位標識,由 4 個 ASCII 字符組成,用于標識塊類型(如 DSFH、STRM、SAMP、ANTA 等)。
mChunkSize:當前塊總大小(包含頭部),可用于快速跳過當前塊。
mChunkFlags:塊標志位,用于擴展屬性。
mVersion:塊版本號,版本不同表示結(jié)構(gòu)不兼容。
mHeaderSize:頭部長度;讀取端可根據(jù)此字段安全跳過或補全默認值。
每個 Chunk 由頭部 + 數(shù)據(jù)體組成。
數(shù)據(jù)體可以是二進制測量數(shù)據(jù),也可以是嵌套的子 Chunk。
版本號用于標識不兼容結(jié)構(gòu);頭部長度擴展不會破壞兼容性。
解析器可安全跳過未知類型的 Chunk。
RTSA 文件對基礎數(shù)據(jù)類型有統(tǒng)一存儲規(guī)范,所有解析與生成邏輯必須遵循以下規(guī)則。
所有數(shù)據(jù)采用little-endian(小端)存儲。
時間使用64 位浮點型 double存儲。
基準為 Unix 時間戳(1970-01-01 00:00:00)或流起始時間。
全部偏移使用64 位無符號整數(shù)
以文件起始位置為基準,采用向后引用,無向前引用。
采用UTF-8 編碼
以 0 填充對齊。
RTSA 文件以DSFH(File Head)開始,以DSFT(File Tail)結(jié)束。
文件擴展時會生成多組 DSFH/DSFT。
支持順序讀取與隨機訪問。
所有帶 ID 對象(StreamID、SubStreamID、AntennaID 等)遵循先定義后使用原則。
典型結(jié)構(gòu):
plain
DSFH → STRM → ANTA → SSTR → SAMP → … → STRT → DSFT
下一篇將詳細講解 RTSA File Format 的DSFH 文件頭DSFT 文件尾,包括結(jié)構(gòu)體定義、字段含義、解析邏輯與使用方式。
