Skip to content

beamsim v0.2.1

Choose a tag to compare

@Marimuda Marimuda released this 09 May 15:30
· 13 commits to main since this release

beamsim v0.2.1

Patch release: the codebook-oracle SNR diagnostics shipped in v0.2.0 now apply uniformly across all runner.py paths, not just the multi-BS handover scenarios.

Fixed / extended

  • runner.py single-BS oracle. Experiment runs with a single base station now compute and store snr_oracle per step, using metrics.oracle_snr_db over the per-step channel matrix. Previously this field was populated only for multi-BS experiments, leaving single-BS scenarios without a regret comparator.
  • TrialResult.snr_oracle and save_experiment schema. The field is now populated for both topologies; the .npz archive carries snr_oracle as a top-level array whenever the experiment supplies it.
  • Three new tests (tests/test_runner.py::TestRunExperiment):
    test_single_bs_oracle_populated, test_oracle_dominates_achieved_single_bs (oracle ≥ achieved at every step under Perfect), and test_oracle_matches_metrics_function (cross-validates the runner's einsum against the standalone metrics.oracle_snr_db).

Why this matters

The snr_regret_db diagnostic added in v0.2.0 needs an oracle trace to subtract from. With this patch every experiment configuration produces one, so oracle - achieved is a well-defined per-step quantity for every algorithm in every scenario.

Test count

213 → 216 passing.


Engineering log: CHANGELOG.md. Scope and out-of-scope items: docs/related_work.md. Deferred work: docs/ROADMAP.md.