pub struct BerTestParameters<'a, Dec = DecoderImplementation> {
pub h: SparseMatrix,
pub decoder_implementation: Dec,
pub puncturing_pattern: Option<&'a [bool]>,
pub interleaving_columns: Option<isize>,
pub max_frame_errors: u64,
pub min_run_time: Option<Duration>,
pub max_run_time: Option<Duration>,
pub max_iterations: usize,
pub ebn0s_db: &'a [f32],
pub reporter: Option<Reporter>,
pub bch_max_errors: u64,
pub num_workers: usize,
}Expand description
BER test parameters.
This struct contains the configuration of a BER test.
Fields§
§h: SparseMatrixLDPC parity check matrix.
decoder_implementation: DecLDPC decoder implementation.
puncturing_pattern: Option<&'a [bool]>Codeword puncturing pattern.
interleaving_columns: Option<isize>Codeword interleaving.
A negative value indicates that the columns should be read backwards.
max_frame_errors: u64Maximum number of frame errors per Eb/N0.
min_run_time: Option<Duration>Minimum run time per Eb/N0.
If this value is set to None, the simulation finishes as soon as the
frame errors are reached.
max_run_time: Option<Duration>Maximum run time per Eb/N0.
If this value is set to None, the simulation only finishes when the
frame errors are reached.
max_iterations: usizeMaximum number of iterations per codeword.
ebn0s_db: &'a [f32]List of Eb/N0’s (in dB) to simulate.
reporter: Option<Reporter>An optional reporter object to which the BER test will send periodic updates about its progress.
bch_max_errors: u64Maximum number of bit errors that the BCH decoder can correct.
A value of zero means that there is no BCH decoder.
num_workers: usizeNumber of worker threads.
Trait Implementations§
Auto Trait Implementations§
impl<'a, Dec> Freeze for BerTestParameters<'a, Dec>where
Dec: Freeze,
impl<'a, Dec> RefUnwindSafe for BerTestParameters<'a, Dec>where
Dec: RefUnwindSafe,
impl<'a, Dec> Send for BerTestParameters<'a, Dec>where
Dec: Send,
impl<'a, Dec> Sync for BerTestParameters<'a, Dec>where
Dec: Sync,
impl<'a, Dec> Unpin for BerTestParameters<'a, Dec>where
Dec: Unpin,
impl<'a, Dec> UnwindSafe for BerTestParameters<'a, Dec>where
Dec: UnwindSafe,
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more