Repository navigation
beamsim v0.2.1
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.pysingle-BS oracle.Experimentruns with a single base station now compute and storesnr_oracleper step, usingmetrics.oracle_snr_dbover 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_oracleandsave_experimentschema. The field is now populated for both topologies; the.npzarchive carriessnr_oracleas 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 underPerfect), andtest_oracle_matches_metrics_function(cross-validates the runner's einsum against the standalonemetrics.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.