pub struct DoublySelective { /* private fields */ }Expand description
A WSSUS channel of discrete taps with Jakes’ Doppler, on the sampling grid (see the module).
Implementations§
Source§impl DoublySelective
impl DoublySelective
Sourcepub fn new(
taps: &[(f64, f64)],
sample_rate: f64,
max_doppler_hz: f64,
) -> Result<DoublySelective>
pub fn new( taps: &[(f64, f64)], sample_rate: f64, max_doppler_hz: f64, ) -> Result<DoublySelective>
The channel of the taps (delay in s, power in dB) sampled at sample_rate (Hz),
the delays rounded to the nearest sample (taps that fall on the same sample add
their powers) and the powers normalised to a unit sum, with the maximum Doppler
shift max_doppler_hz (Hz, Jakes’ spectrum; 0 for a static channel).
§Errors
comnum_core::Error::Config without taps, for a negative delay, Doppler or sample rate, or a
power that is not finite.
Sourcepub fn coefficient_power(&self, rx: &Pulse, tx: &Pulse) -> f64
pub fn coefficient_power(&self, rx: &Pulse, tx: &Pulse) -> f64
The mean power $[\boldsymbol\Gamma]_{i,i} = \mathrm{E}|\mathbf{q}^{H}\mathbf{H}\mathbf{g}|^{2}$
of the one-tap coefficient of the pulse tx received on rx, for a channel of unit
power.
Sourcepub fn sir_complete(&self, rx: &Pulse, tx: &Pulse) -> f64
pub fn sir_complete(&self, rx: &Pulse, tx: &Pulse) -> f64
The SIR (linear) of the symbol carried by tx, received on rx, when the transmit
pulses form a complete orthonormal basis (OFDM without prefix) or, for real symbols,
a complete real-orthonormal frame (FBMC-OQAM on its whole lattice):
$[\boldsymbol\Gamma]{i,i} / (|\mathbf{q}|^{2} - [\boldsymbol\Gamma]{i,i})$
(see the module).