Expand description
§comnum-core — the vocabulary every comnum crate speaks
Typed containers, verb traits, unit newtypes, the random generator and the error
type. It contains no algorithm: the blocks that implement these traits live in the
crates above it (see docs/ARCHITECTURE.md).
| Module | Content |
|---|---|
channel | Path, one path of a delay–Doppler channel realisation |
signal | Bits, Llr, Symbols, Labels, Signal (streams × elements), DualPol |
traits | Encode, Decode, Map, Demap (with Demapping and Jacobian), Modulate, Demodulate, Precode, Detect, Propagate, Impair |
units | Db, EbN0, EsN0, Hertz, Seconds |
rng | Rng (xoshiro256**), SimRng, stream, batch_rng |
error | Error, Result, ensure, ensure_shape, expect_len, same_len |
§Conventions
- Complex baseband samples are
C64(num_complex::Complex<f64>). - Physical quantities are in SI units unless the name says otherwise (
_db,_dbm,_km,_ps_nm_km, …). - There is no global or thread-local generator anywhere: every random block takes a
&mut SimRng, so every simulation is reproducible from its seed.
Re-exports§
pub use error::Error;pub use error::Result;pub use error::ensure;pub use error::ensure_shape;pub use error::expect_len;pub use error::same_len;
Modules§
- channel
- The description of a channel realisation shared by the media that draw it and the waveforms that take it.
- error
- The error type of comnum.
- prelude
- The items used by most blocks.
- rng
- Reproducible random numbers.
- signal
- Multi-stream containers: bits, log-likelihood ratios, symbols, labels and waveforms.
- traits
- One verb trait per role in the chain.
- units
- Unit newtypes for the quantities that are routinely confused.
Type Aliases§
- C64
- Complex number with
f64components (the type of every complex sample).