Expand description
CCSDS LDPC (AR4JA) codes (CCSDS 131.0-B-5). CCSDS LDPC (Low-Density Parity-Check) Forward Error Correction
Implements the AR4JA LDPC codes specified in CCSDS 131.0-B-5.
§Supported TM Codes
| Code | Rate | k | n | Circulant | M (block) |
|---|---|---|---|---|---|
| TM1280 | 4/5 | 1024 | 1280 | 32 | 128 |
| TM1536 | 2/3 | 1024 | 1536 | 64 | 256 |
| TM2048 | 1/2 | 1024 | 2048 | 128 | 512 |
| TM5120 | 4/5 | 4096 | 5120 | 128 | 512 |
| TM6144 | 2/3 | 4096 | 6144 | 256 | 1024 |
| TM8192 | 1/2 | 4096 | 8192 | 512 | 2048 |
§Encoding
Systematic encoding using compact generator matrices derived from the CCSDS AR4JA parity-check matrix. The generator exploits the circulant structure: one row per circulant block is stored, and the other rows are obtained by rotation.
§Decoding
Layered min-sum belief propagation with fixed-point (i16) LLRs. The H matrix is expanded on-the-fly using the PI_K permutation function defined by theta/phi lookup tables per CCSDS 131.0-B-5.
Structs§
- Ldpc
Code - Describes a CCSDS AR4JA LDPC code.
- Ldpc
FecDecoder - LDPC hard-decision decoder implementing
FecDecoder. - Ldpc
FecEncoder - LDPC encoder implementing
FecEncoder.
Enums§
- Ldpc
Error - Errors from LDPC operations.
Statics§
- CODE_
TM1280 - TM1280: Rate 4/5, k=1024, n=1280.
- CODE_
TM1536 - TM1536: Rate 2/3, k=1024, n=1536.
- CODE_
TM2048 - TM2048: Rate 1/2, k=1024, n=2048.
- CODE_
TM5120 - TM5120: Rate 4/5, k=4096, n=5120.
- CODE_
TM6144 - TM6144: Rate 2/3, k=4096, n=6144.
- CODE_
TM8192 - TM8192: Rate 1/2, k=4096, n=8192.
Functions§
- bytes_
to_ llr - Converts packed bytes to hard LLR values.
- decode
- Decodes using layered min-sum belief propagation.
- decode_
hard - Convenience decoder for hard-decision received data.
- encode
- Encodes information bits into a systematic LDPC codeword.
- llr_
to_ bytes - Extracts hard decisions from LLR values into packed bytes.
- syndrome_
check - Checks if hard decisions satisfy all parity checks.