pub struct Ace {
pub constellation: Constellation,
pub ratio_db: f64,
pub iterations: usize,
pub step: f64,
}Expand description
Active constellation extension (Krongold & Jones 2003), clipping-based: the peaks are clipped, and the resulting change of every subcarrier is kept only where it moves an outer constellation point further out (which can only increase its distance to the decision boundaries); a few iterations converge. For square QAM.
Fields§
§constellation: ConstellationThe constellation of the data (square QAM or QPSK).
ratio_db: f64Clipping ratio of every iteration (dB).
iterations: usizeIterations.
step: f64Gain applied to the allowed extension at every iteration.
Trait Implementations§
Source§impl PaprReduction for Ace
impl PaprReduction for Ace
Source§fn reduce(&self, ofdm: &Ofdm, data: &[C64]) -> Result<(Vec<C64>, usize)>
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 data_len(&self, ofdm: &Ofdm) -> usize
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])
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.
impl StructuralPartialEq for Ace
Auto Trait Implementations§
impl Forget for Ace
impl Freeze for Ace
impl RefUnwindSafe for Ace
impl Send for Ace
impl Sync for Ace
impl Unpin for Ace
impl UnsafeUnpin for Ace
impl UnwindSafe for Ace
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