Repository navigation
v0.3.1 — ANAN sim: real I/Q handedness
A correctness fix for the ANAN-G2 / openHPSDR Protocol 2 simulator. Anyone using anan_sim.py from v0.3.0 should update.
About the binaries below: they are the Flex radio sim, rebuilt with only a version bump. The ANAN / Protocol 2 tools run from source.
The fix
- The sim's I/Q handedness was mirrored. On the first run against AetherSDR's ANAN-G2 backend (aethersdr/AetherSDR#5143), the "+1 kHz" test tone was drawn 1 kHz below the dial and was audible only in LSB. AetherSDR's polarity had been measured on a real G2 against WWV and cross-checked with an RSP1B running SDR++, so the sim was the one in error: the real HPSDR wire is the conjugate of the textbook convention. A correct client now shows the tone just above the dial and hears it in USB (#8).
- Why it matters: a mirrored sim would push a correct client towards a "fix" that breaks it on real hardware.
- Caught by a test now.
tests/test_anan_p2.pyasserts the tone's signed frequency; nothing checked it before, because every frame was the right size.
Also
- High Priority frequencies are decoded as phase words (Hz = word × 122.88 MHz / 2³²), so a client tuned to 10.000 MHz is no longer logged as "349.525333 MHz". Discovery advertises it (byte 21 = 1).
- The README's "not yet run against AetherSDR's ANAN backend" warning is retired — it now has been, end to end.