pub struct Ml {
pub constellation: Constellation,
}Expand description
Maximum-likelihood detection by exhaustive search over the $M^{n_{t}}$ hypotheses.
Fields§
§constellation: ConstellationThe alphabet of every stream.
Implementations§
Trait Implementations§
Source§impl MimoDetector for Ml
impl MimoDetector for Ml
Source§fn constellation(&self) -> &Constellation
fn constellation(&self) -> &Constellation
The alphabet of every stream (the labels of
MimoDetector::detect index its
points).Source§fn has_soft_output(&self) -> bool
fn has_soft_output(&self) -> bool
Whether
MimoDetector::llr gives bit LLRs (false: it returns an error).Source§fn detect(
&self,
h: &ArrayView2<'_, C64>,
y: &[C64],
noise_var: f64,
) -> Result<Vec<usize>>
fn detect( &self, h: &ArrayView2<'_, C64>, y: &[C64], noise_var: f64, ) -> Result<Vec<usize>>
The label of the decided point of every transmit stream. Read more
Source§fn llr(
&self,
h: &ArrayView2<'_, C64>,
y: &[C64],
noise_var: f64,
) -> Result<Vec<f64>>
fn llr( &self, h: &ArrayView2<'_, C64>, y: &[C64], noise_var: f64, ) -> Result<Vec<f64>>
Bit LLRs, $n_{t} \log_{2} M$ of them (positive for a 0). Read more
Source§fn detect_llr(
&self,
h: &ArrayView2<'_, C64>,
y: &[C64],
noise_var: f64,
) -> Result<(Vec<usize>, Vec<f64>)>
fn detect_llr( &self, h: &ArrayView2<'_, C64>, y: &[C64], noise_var: f64, ) -> Result<(Vec<usize>, Vec<f64>)>
The labels and the bit LLRs of one channel use, those of
MimoDetector::detect and MimoDetector::llr; the detectors with soft
output get both from one search. Read moreSource§fn detect_block(
&self,
h: &ArrayView2<'_, C64>,
y: &ArrayView2<'_, C64>,
noise_var: f64,
) -> Result<Array2<usize>>
fn detect_block( &self, h: &ArrayView2<'_, C64>, y: &ArrayView2<'_, C64>, noise_var: f64, ) -> Result<Array2<usize>>
Detect every column of
y (n_rx × T) with the same channel: the labels,
n_tx × T. The detectors of this module factor the channel once for the block. Read moreimpl StructuralPartialEq for Ml
Auto Trait Implementations§
impl Freeze for Ml
impl RefUnwindSafe for Ml
impl Send for Ml
impl Sync for Ml
impl Unpin for Ml
impl UnsafeUnpin for Ml
impl UnwindSafe for Ml
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more