comnum-spec
Part of comnum, link-level simulation of digital communication systems, wireless and optical. Layer 4 (integration) of the workspace, whose dependencies point downward only (architecture).
Declarative campaigns: a YAML, JSON or TOML file describes the grid, the link as a list of blocks, the metrics, the stopping rule and the results expected from the literature. The crate also reads and writes recordings (SigMF, raw IQ, NPY) and provides the comnum command:
Most users depend on the facade comnum, which
re-exports this crate as comnum::spec. The API is documented on
docs.rs/comnum-spec, with the formula that every item implements.
Blocks from other crates
A project built on comnum (a learned receiver, a model that depends on unpublished
code) adds its own blocks to the declarative links without comnum depending on it
(ADR 0006).
comnum_spec::blocks::register adds a block to the registry: it is then listed by
comnum blocks, described by the JSON Schema, checked by comnum check and built like
the others; comnum_spec::cli::main is the command line as a function, so that the
crate ships its own binary with its blocks:
use ;
Licence
MIT or Apache-2.0, at your option (LICENSE-MIT,
LICENSE-APACHE, shipped in the package).