102: IQ file readers (sig + raw) #42
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/102-sig-io-readers"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Implement Step 102 of the testgnss project: self-contained readers for SigV3.1/V3.0 (.sig) and raw IQ files.
What was implemented
src/testgnss/io/sig_io.py— new module with:SigReadResultdataclass (frozen, withiq,sample_rate,center_frequency_hz,bandwidth_hz)SigReadErrorexception (subclass ofSigIOError)read_sig(path)— reads SigV3.0 and SigV3.1 files, validates signature, extracts header metadata, handles int16 (normalized byv / 32768) and float32 samples, applies size-consistency rule (warns and truncates)read_raw_iq(path, sample_rate, center_frequency_hz, sample_format="int16")— reads raw interleaved I/Q files (int16 or float32) with operator-supplied metadatasrc/testgnss/io/__init__.py— exposesSigReadResult,read_sig,read_raw_iqtests/test_testgnss_sig_io.py— comprehensive test suite (24 tests):Verification
All 30 testgnss tests (including existing smoke tests) continue to pass.
Design notes
gensigreference implementationgengnss.core.sig_writer(same header struct, LP32 semantics, little-endian)