Struct labrador_ldpc::codes::CodeParams [] [src]

pub struct CodeParams {
    pub n: usize,
    pub k: usize,
    pub punctured_bits: usize,
    pub submatrix_size: usize,
    pub circulant_size: usize,
    pub paritycheck_sum: u32,
    pub decode_bf_working_len: usize,
    pub decode_ms_working_len: usize,
    pub decode_ms_working_u8_len: usize,
    pub output_len: usize,
}

Parameters for a given LDPC code.

Fields

Block length (number of bits transmitted/received, aka code length).

Data length (number of bits of user information, aka code dimension).

Number of parity bits not transmitted.

Sub-matrix size (used in parity check matrix construction).

Circulant block size (used in generator matrix construction).

Sum of the parity check matrix (number of parity check edges).

Length of the working area required for the bit-flipping decoder. Equal to n+punctured_bits.

Length of the working area required for the message-passing decoder. Equal to 2 * paritycheck_sum + 3*n + 3*p - 2*k

Length of the u8 working area required for the message-passing decoder. Equal to (n + punctured_bits - k)/8.

Length of output required from any decoder. Equal to (n+punctured_bits)/8.