pub struct LdpcCode {
pub n: usize,
pub k: usize,
pub punctured: usize,
pub circulant_size: usize,
pub submatrix_size: usize,
pub mb: usize,
pub nb: usize,
pub generator: &'static [u64],
pub h_matrix: &'static [[[u8; 11]; 4]; 3],
pub theta: &'static [u8; 26],
pub phi: &'static [[u16; 26]; 4],
}Expand description
Describes a CCSDS AR4JA LDPC code.
Fields§
§n: usizeTransmitted codeword length in bits.
k: usizeInformation block length in bits.
punctured: usizeNumber of punctured bits (not transmitted).
circulant_size: usizeCirculant size for the compact generator.
submatrix_size: usizeBlock size M for H matrix sub-matrices.
mb: usizeNumber of base matrix rows (always 3 for AR4JA).
nb: usizeNumber of base matrix columns.
generator: &'static [u64]Reference to compact generator matrix.
h_matrix: &'static [[[u8; 11]; 4]; 3]Reference to compact H matrix (3 layers, mb×nb each).
theta: &'static [u8; 26]Reference to theta lookup table.
phi: &'static [[u16; 26]; 4]Reference to phi lookup table (4 × 26).
Implementations§
Source§impl LdpcCode
impl LdpcCode
Sourcepub fn parity_bits(&self) -> usize
pub fn parity_bits(&self) -> usize
Number of parity bits (n - k).
Sourcepub fn info_bytes(&self) -> usize
pub fn info_bytes(&self) -> usize
Number of info bytes.
Sourcepub fn codeword_bytes(&self) -> usize
pub fn codeword_bytes(&self) -> usize
Number of codeword bytes.
Sourcepub fn parity_bytes(&self) -> usize
pub fn parity_bytes(&self) -> usize
Number of parity bytes.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for LdpcCode
impl RefUnwindSafe for LdpcCode
impl Send for LdpcCode
impl Sync for LdpcCode
impl Unpin for LdpcCode
impl UnsafeUnpin for LdpcCode
impl UnwindSafe for LdpcCode
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