From 6c19cc26bdaae5b955fed1e9f1688e9c3ba4d9b7 Mon Sep 17 00:00:00 2001 From: Jan Svabenik Date: Fri, 3 Apr 2026 16:11:30 +0200 Subject: [PATCH] docs: mark current hardware baseline as v0.7.0-pre --- CHANGELOG.md | 4 ++++ README.md | 2 +- RELEASE.md | 39 +++++++++++++++++---------------------- 3 files changed, 22 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8eaa146..a5a2073 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## v0.7.0-pre + +Hardware bring-up milestone: live RDS now decodes on PlutoSDR, with stabilized sample-rate handling, persistent DSP state, and phase-coherent MPX/RDS integration. + ## v0.6.0-pre Hardware integration: SoapySDR CGO binding, IQ resampling, TX CLI mode. diff --git a/README.md b/README.md index be8ea41..91fe5cd 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Go-based FM stereo transmitter with RDS. Supports ADALM-Pluto (PlutoSDR) and any SoapySDR-compatible TX device. -## Status: v0.6.0-pre — Hardware-ready +## Status: v0.7.0-pre — hardware bring-up milestone ### What works - Complete DSP chain: pre-emphasis → stereo encoding → RDS (IEC 62106) → MPX → limiter → FM modulation diff --git a/RELEASE.md b/RELEASE.md index 7d68021..5695b1b 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,8 +1,15 @@ -# Release Notes — v0.6.0-pre +# Release Notes — v0.7.0-pre -## Hardware-ready milestone +## Hardware bring-up milestone -The system is now ready for first real hardware TX tests with ADALM-Pluto (PlutoSDR). +The system has moved beyond first hardware smoke tests: live RDS now decodes on PlutoSDR, with stabilized sample-rate handling, persistent DSP state across TX frames, and coherent pilot/stereo/RDS phase behaviour. + +### What changed since v0.6.0-pre +- live RDS path stabilized enough to decode on hardware +- generator now keeps DSP state persistent across frame boundaries +- RDS carrier alignment tightened against the stereo/pilot phase model +- Pluto profile tuned to the working sample-rate and level combination +- multiple DSP/control fixes landed during real hardware bring-up ### Build for PlutoSDR ```powershell @@ -11,25 +18,13 @@ go build -tags soapy ./cmd/fmrtx .\fmrtx.exe --tx --config docs/config.plutosdr.json ``` -### What's proven -- 82 tests pass (DSP, spectral, operator truth, engine) -- FM IQ magnitude verified: all samples |I²+Q²| = 1.000000 -- Spectral verification: 19 kHz pilot, 38 kHz stereo, 57 kHz RDS confirmed -- Continuous TX engine runs stable for >60s in tests -- IQ resampling 228k→528k preserves signal magnitude - -### First smoke test procedure -1. Connect PlutoSDR via USB -2. `.\fmrtx.exe --list-devices` — verify device shows up -3. `.\fmrtx.exe --tx --config docs/config.plutosdr.json` — start in idle mode -4. `curl -X POST http://localhost:8088/tx/start` — begin transmitting -5. Tune FM receiver to 100.0 MHz — should hear 1kHz/1.6kHz test tones -6. `curl http://localhost:8088/runtime` — check telemetry -7. `curl -X POST http://localhost:8088/tx/stop` — stop -8. Ctrl+C to exit +### What this release means +- suitable for continued real hardware bring-up on PlutoSDR +- not yet positioned as a final 1.0 release +- recommended as the current pre-release baseline for further hardware validation ### Safety defaults - TX is OFF by default — requires explicit start -- outputDrive 0.3 in PlutoSDR config (conservative) -- Limiter enabled with ceiling 1.0 -- Pre-emphasis 50µs (European standard) +- limiter remains enabled by default +- pre-emphasis remains 50µs +- hardware operation still requires proper RF measurement and lawful operation