Expand description
The description of a channel realisation shared by the media that draw it and the waveforms that take it.
A doubly-dispersive channel of a few discrete paths, each with its complex gain $h_{i}$, its delay $l_{i}$ (samples) and a single Doppler shift $\nu_{i}$ (Hz), acts on a signal sampled at $f_{s}$ as
$$ r[n] = \sum_{i=1}^{P} h_{i}, e^{j 2\pi \nu_{i} (n - l_{i}) / f_{s}}, s[n - l_{i}]. $$
comnum_channel::multipath::DelayDoppler draws and applies it;
comnum_waveform::otfs::Otfs::effective_channel takes its paths. Both crates sit on the
same layer, so the type of a path lives here (it contains no algorithm).
§Examples
use comnum_core::channel::Path;
use comnum_core::C64;
let p = Path { gain: C64::new(1.0, 0.0), delay: 2, doppler_hz: 1e3 };
assert_eq!(p.delay, 2);Structs§
- Path
- One path of a delay–Doppler channel: a complex gain, a delay (samples) and a single Doppler shift.