Skip to content

Repository files navigation

Noema — Semantic communication research toolkit

CI License Cite Documentation Pre-release

Noema

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

Watch the complete workflow

Watch the complete Noema workflow on YouTube

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.

Start here

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

Ready-to-train systems

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

Quickstart

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 8766

Open 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.

How Noema works

Direct benchmark path

Noema chain from typed protocol through execution, metrics, retained evidence, and launch projection

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.

External-training path

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.

What Noema retains

.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.

How Noema fits

  • 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.

Cite and contribute

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.

About

Executable experiment contracts and traceable benchmarking for AI-native communications

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages