Skip to main content

Module reed_solomon

Module reed_solomon 

Source
Expand description

CCSDS Reed-Solomon (255,223) (CCSDS 131.0-B-5). CCSDS Reed-Solomon (255,223) Forward Error Correction

Implements RS(255,223) over GF(2^8) as specified in CCSDS 131.0-B-5 (TM Synchronization and Channel Coding).

§Parameters

  • Field polynomial: p(x) = x^8 + x^7 + x^2 + x + 1 (0x187)
  • Primitive element α = 0x02 (the polynomial x)
  • First consecutive root: α^112
  • Code generator: g(x) = ∏(x - α^(112+i)) for i = 0..31
  • 32 parity symbols per codeword
  • Corrects up to 16 symbol errors per codeword

§Interleaving

Supports interleaving depths I = 1..5 as per CCSDS spec. With interleaving depth I, the total codeblock is I×255 symbols and can correct up to I×16 symbol errors.

Structs§

ReedSolomonDecoder
RS(255,223) decoder implementing FecDecoder.
ReedSolomonEncoder
RS(255,223) encoder implementing FecEncoder.

Enums§

RsError
Errors from Reed-Solomon operations.

Constants§

K
Number of data symbols per codeword.
N
Number of symbols in a full RS codeword.
PARITY
Number of parity symbols (2T where T=16).
T
Maximum correctable symbol errors per codeword.

Functions§

decode
Decodes and corrects a 255-byte RS codeword in-place.
decode_interleaved
Decodes with interleaving depth I (1..=5).
encode
Encodes data (up to 223 bytes) into output (255 bytes).
encode_interleaved
Encodes with interleaving depth I (1..=5).