Skip to main content

Slm

Struct Slm 

Source
pub struct Slm {
    pub candidates: usize,
    pub seed: u64,
}
Expand description

Selected mapping (Bäuml, Fischer & Huber 1996): $U$ copies of the block rotated by known phase sequences (the first one is the original), the one of lowest PAPR is sent and its index is the side information.

Fields§

§candidates: usize

Number of candidates $U$.

§seed: u64

Seed of the phase sequences (shared by transmitter and receiver).

Implementations§

Source§

impl Slm

Source

pub fn phases(&self, u: usize, k: usize) -> Vec<C64> ⓘ

The phase sequence of candidate u ($\pm 1, \pm j$; all ones for u = 0).

Trait Implementations§

Source§

impl Clone for Slm

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Slm

Source§

impl Debug for Slm

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Slm

Source§

impl PaprReduction for Slm

Source§

fn reduce(&self, ofdm: &Ofdm, data: &[C64]) -> Result<(Vec<C64>, usize)>

The time block (without prefix) of one block of data, and its side information. Read more
Source§

fn recover( &self, ofdm: &Ofdm, active: Vec<C64>, side: usize, ) -> Result<Vec<C64>>

The data of a block from the values of its active subcarriers and its side information (despreading only, by default). Read more
Source§

fn data_len(&self, ofdm: &Ofdm) -> usize

Data symbols per block (all the active subcarriers by default).
Source§

fn restore_time(&self, _block: &mut [C64])

Undo a memoryless transformation of the time block at the receiver (the expansion of companding); nothing by default.
Source§

impl PartialEq for Slm

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Slm

Auto Trait Implementations§

§

impl Forget for Slm

§

impl Freeze for Slm

§

impl RefUnwindSafe for Slm

§

impl Send for Slm

§

impl Sync for Slm

§

impl Unpin for Slm

§

impl UnsafeUnpin for Slm

§

impl UnwindSafe for Slm

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.