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
n: usize
Block length (number of bits transmitted/received, aka code length).
k: usize
Data length (number of bits of user information, aka code dimension).
punctured_bits: usize
Number of parity bits not transmitted.
submatrix_size: usize
Sub-matrix size (used in parity check matrix construction).
circulant_size: usize
Circulant block size (used in generator matrix construction).
paritycheck_sum: u32
Sum of the parity check matrix (number of parity check edges).
decode_bf_working_len: usize
Length of the working area required for the bit-flipping decoder. Equal to n+punctured_bits.
decode_ms_working_len: usize
Length of the working area required for the message-passing decoder. Equal to 2 * paritycheck_sum + 3*n + 3*p - 2*k
decode_ms_working_u8_len: usize
Length of the u8 working area required for the message-passing decoder. Equal to (n + punctured_bits - k)/8.
output_len: usize
Length of output required from any decoder. Equal to (n+punctured_bits)/8.