Expand description
Forward error correction for SDR, space, and satellite links.
The two codecs each live in their own module. convolutional holds the
Viterbi encoder and decoder. reed_solomon holds the Reed-Solomon codec,
including the standard CCSDS (255,223) code.
Each module names its types plainly as Encoder and Decoder. The crate
root also re-exports them under Conv- and Rs-prefixed aliases, so both
codecs can be used in one scope without a name clash. Reach for
convolutional::Encoder when you work with one codec, or ConvEncoder
and RsEncoder when you want both.
The Reed-Solomon codec and the scalar convolutional codec build on stable
Rust. The SIMD convolutional decoder is behind the simd feature, which
needs a nightly compiler because it uses portable_simd.
Modules§
- convolutional
- Convolutional codes with a Viterbi decoder.
- reed_
solomon - Reed-Solomon error correction over GF(2^8).
Structs§
- Conv
Decoder - A Viterbi decoder for a convolutional code, with hard- and soft-decision decoding.
- Conv
Encoder - A convolutional encoder for a given
(rate, order, polynomials). - Conv
Simd Decoder simd - A SIMD Viterbi decoder for a convolutional code.
- RsDecoder
- Reed-Solomon decoder over GF(2^8).
- RsEncoder
- Reed-Solomon encoder over GF(2^8).
Enums§
- Conv
Decode Error - Error returned by the convolutional decoders.
- Conv
Encode Error - Error returned by
Encoder::encode. - RsDecode
Error - Error returned by
Decoder::decode/Decoder::decode_with_erasures. - RsEncode
Error - Error returned by
Encoder::encode.