Make auto bandwidth modulation-aware #13

Merged
sjg merged 2 commits from fix/wfm-auto-bandwidth into main 2026-08-01 02:04:15 +02:00
Owner

Summary

  • replace narrow peak tracking with noise-floor-relative occupied-bandwidth estimation
  • measure USB/DIG/CW and LSB/CWR in their actual one-sided passband direction
  • measure AM/FM/WFM/data modes symmetrically around the tuned carrier
  • smooth WFM spectra and tolerate multiplex notches while scanning the full mode-specific range
  • fall back to the mode default when signal confidence is low or a WFM estimate is implausibly narrow

The approach follows the occupied/x-dB bandwidth measurement principle in ITU-R SM.328 and SM.443, adapted for live receiver FFT data.

Verification

  • synthetic FFT cases: WFM, AM, USB, LSB, and low-SNR WFM fallback
  • cargo fmt --all -- --check
  • cargo clippy -p trx-frontend-http --all-targets -- -D warnings
  • RUSTFLAGS="-D warnings" cargo build -p trx-frontend-http --all-targets
  • RUSTFLAGS="-D warnings" cargo test -p trx-frontend-http (51 passed)
## Summary - replace narrow peak tracking with noise-floor-relative occupied-bandwidth estimation - measure USB/DIG/CW and LSB/CWR in their actual one-sided passband direction - measure AM/FM/WFM/data modes symmetrically around the tuned carrier - smooth WFM spectra and tolerate multiplex notches while scanning the full mode-specific range - fall back to the mode default when signal confidence is low or a WFM estimate is implausibly narrow The approach follows the occupied/x-dB bandwidth measurement principle in ITU-R SM.328 and SM.443, adapted for live receiver FFT data. ## Verification - synthetic FFT cases: WFM, AM, USB, LSB, and low-SNR WFM fallback - `cargo fmt --all -- --check` - `cargo clippy -p trx-frontend-http --all-targets -- -D warnings` - `RUSTFLAGS="-D warnings" cargo build -p trx-frontend-http --all-targets` - `RUSTFLAGS="-D warnings" cargo test -p trx-frontend-http` (51 passed)
sjg added 1 commit 2026-08-01 02:02:35 +02:00
[fix](trx-frontend): make auto bandwidth modulation-aware
CI / lint (pull_request) Failing after 0s
CI / test (pull_request) Failing after 0s
CI / reuse (pull_request) Failing after 0s
0f4afda843
sjg added 1 commit 2026-08-01 02:04:07 +02:00
[fix](trx-frontend): narrow weak WFM to 60 kHz
CI / lint (pull_request) Failing after 1s
CI / test (pull_request) Failing after 2s
CI / reuse (pull_request) Failing after 2s
bf819aa177
sjg merged commit 412651d612 into main 2026-08-01 02:04:15 +02:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sjg/trx-rs#13