Executable experiment contracts for learned-communication comparisons.
Noema binds a schema-validated comparison protocol to its execution plan, communication-resource tracking, returned models, terminal outcomes, and retained evidence. The result is a local, inspectable chain from a declared question to a reported figure.
Noema checks the identities and relations covered by the selected traceability profile. It does not prove scientific fairness, standards conformance, authenticity, or independent reproduction.
Try the flagship demo · Watch the complete workflow · Read the documentation · Explore demonstrations · Inspect launch evidence
The recorded walkthrough starts from a clean environment and shows contract export, dataset capture, external model training, returned-model validation, and the UI comparison against the uncompensated and calibrated-oracle baselines.
| I want to… | Start with… |
|---|---|
| understand the central idea | the interactive Break the comparison evidence lab |
| watch an external model train, then compare it with Noema | the learned QPSK I/Q calibration walkthrough |
| choose a system to train | the ready-to-train matrix below |
| run a dependency-light example | the source-checkout quickstart below |
| bring my own model | the external adapter SDK |
| export a training contract | the architecture-neutral export workflow |
| train and return a model | the trained-artifact workflow |
| inspect retained evidence | result verification |
| build a paper figure | the physical-layer demo workflow |
| browse implementation contracts | the generated reference |
Every Train + compare page starts with one copyable CLI block that exports the contract, prepares the data, trains the included starter model, returns its artifact, and builds or runs the baseline comparison. Replace the starter with your own model while keeping the exported interface and experiment protocol fixed.
| Problem | What you can train | Included comparisons | Availability |
|---|---|---|---|
| Receiver I/Q calibration | affine QPSK receiver | uncompensated QPSK; calibrated I/Q oracle | ✅ Train + compare |
| Carrier tracking | packet-context QPSK phase tracker | interpolation; smoothing; decision-directed PLL; true-phase reference | ✅ Train + compare |
| Automatic modulation recognition | blind I/Q classifier | differential cumulants; synchronized-likelihood reference | ✅ Train + compare |
| MIMO-OFDM channel estimation | 2×2 sparse-pilot estimator | LS interpolation; fixed-prior LMMSE; exact-channel diagnostic | ✅ Train + compare |
| CSI compression and feedback | 128-bit encoder/decoder pair | matched KLT/PCA codec | ✅ Train + compare |
| OFDM subcarrier allocation | power-allocation policy | equal power; water filling | ✅ Train + compare |
| Delayed-CSI OFDM allocation | reliability-aware causal allocator | equal power; delayed-CSI and uncertainty-aware water filling | ✅ Train + compare |
| Joint communication and sensing | OFDM power-allocation policy | equal power; communication water filling; iterative scalarized reference | ✅ Train + compare |
| Image delivery over AWGN | DeepJSCC image encoder/decoder | capacity-matched JPEG | ✅ Train + compare |
| Image delivery over slow fading | blind, nested-rate DeepJSCC pair | outage-aware capacity-matched JPEG | ✅ Train + compare |
| 2D range localization | geometry-aware residual localizer | linear and regularized trilateration | ✅ Train + compare |
| Narrowband AoA estimation | covariance-domain array estimator | MUSIC; Bartlett | ✅ Train + compare |
| MISO beam selection | learned eight-beam codebook | perfect-CSIT MRT; equal-size fixed DFT-codebook sweep | ✅ Train + compare |
| Near-field XL-MIMO focusing | physics-informed range/angle estimator | far-field steering; polar codebook; simulation-truth oracle | ✅ Train + compare |
| LEO-NTN Doppler and handover | causal Doppler/next-beam tracker | hold-last; linear extrapolation; future-state oracle | ✅ Train + compare |
Noema is not yet published on PyPI and currently supports Python 3.11–3.13. Install
uv, then run:
git clone https://github.com/M0574F4/noema-lab.git
cd noema-lab
uv sync --frozen
uv run noema template instantiate semantic_comm.text_semantic_similarity.default > noema-quickstart.yaml
uv run noema recipe lint noema-quickstart.yaml
uv run noema recipe run noema-quickstart.yaml
uv run noema ui serve --port 8766Open http://127.0.0.1:8766. Press Ctrl+C in the terminal to stop the UI. The generated
noema-quickstart.yaml file is ignored by Git, so the checkout stays clean.
Sionna-backed paths are optional. Install the current no-ray-tracing Sionna 2/PyTorch stack with
uv sync --extra wireless; install the CompressAI examples with uv sync --extra compressai.
The tutorials identify which workflows need
large downloads, external datasets, or additional rights review.
The diagram above shows the direct path from a declared benchmark to retained evidence and a public result. When a researcher trains a replacement model, Noema uses the longer handoff below.
experiment contract (recipe + benchmark protocol)
-> concrete pre-execution plan
-> benchmark evaluation or typed capture/export
-> external training by the researcher
-> returned model bound to declared artifact slots
-> selected benchmark evaluation
-> locally verified result bundle and plot linked to its source evidence
Noema is CLI-first. The dashboard, benchmark runner, capture/export paths, and evidence tools read the same operation contracts and result evidence instead of maintaining separate workflow models.
.noema/benchmarks/<result_id>/
result.json benchmark-level evidence
metrics.csv table-ready metrics
recipes.csv exact recipe membership
summary.md human-readable report
figures/*.png optional plots linked to result evidence
.noema/runs/<run_id>/
recipe.json normalized plan that was executed
manifest.json hashes, environment, operation contracts
summary.json metrics, artifacts, terminal status
artifacts/ images, text, plots, arrays
A publication can cite the recipe SHA-256, benchmark ID and version, dataset/task/channel conditions, transmitted bits and channel uses, BER/BLER, returned-model hashes, environment manifest, table CSV, and plotted-data CSV. Verification establishes the declared local relations; reviewers still assess whether the scientific comparison itself is appropriate.
- Sionna supplies simulation and physical-layer building blocks.
- CompressAI supplies learned-compression models, codecs, and evaluation utilities.
- DeepMIMO supplies scenario-based channel data for MIMO research.
- Noema binds work across such tools into one comparison contract and retained evidence chain.
Noema does not replace those projects. It is an experiment-contract runner, resource-tracking layer, capture/export bridge, and local evidence verifier. It is not a full model trainer, standards-conformance validator, private leaderboard, or guarantee of fairness or reproducibility.
Use CITATION.cff for citation metadata. Contribution expectations, governance,
security reporting, and community conduct are documented in CONTRIBUTING.md,
GOVERNANCE.md, SECURITY.md, and
CODE_OF_CONDUCT.md.