Skip to main content

PaprReduction

Trait PaprReduction 

Source
pub trait PaprReduction {
    // Required method
    fn reduce(&self, ofdm: &Ofdm, data: &[C64]) -> Result<(Vec<C64>, usize)>;

    // Provided methods
    fn data_len(&self, ofdm: &Ofdm) -> usize { ... }
    fn restore_time(&self, _block: &mut [C64]) { ... }
    fn recover(
        &self,
        ofdm: &Ofdm,
        active: Vec<C64>,
        _side: usize,
    ) -> Result<Vec<C64>> { ... }
}
Expand description

A PAPR reduction technique applied block by block by Ofdm::modulate_with.

Required Methods§

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.

§Errors

For a configuration the technique cannot handle.

Provided Methods§

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

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).

§Errors

For an invalid side information.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§