Skip to main content

Crate comnum_fec

Crate comnum_fec 

Source
Expand description

§comnum-fec — channel coding

Codes take information bits and return coded bits; decoders take log-likelihood ratios (positive for a 0, the convention of the whole library) and return the decided information bits. Every code implements block::BlockCode and the verb traits Encode and Decode; the LDPC, convolutional, turbo and NR LDPC codes (punctured or not) also give the a posteriori LLRs of their information bits (block::SoftDecode).

ModuleContent
crccyclic redundancy checks of 5G NR (CRC24A/B/C, CRC16, CRC11, CRC6)
scramblingthe Gold scrambler of 3GPP TS 38.211 (its sequences are comnum_math::sequences)
interleavingblock, random and QPP interleavers
convconvolutional codes: trellis, Viterbi (soft and hard), BCJR (log-MAP, max-log)
turboturbo codes (two $(13, 15)_{8}$ recursive codes, LTE) with iterative decoding
ldpcLDPC codes: progressive edge growth, repeat-accumulate codes, alist files, belief propagation, (normalised and offset) min-sum, layered scheduling
ccdmconstant-composition distribution matching (uniform bits to a shaped symbol sequence)
bchshortened binary BCH codes (the outer code of DVB-S2) with Berlekamp–Massey decoding, over the fields of comnum_math::gf2m
rsReed–Solomon codes: systematic encoding, errors-and-erasures decoding, shortening, closed-form error rates
puncturepuncturing of the convolutional and turbo codes (802.11, DVB-S patterns), the bit selection of a rate matching, free distance of punctured codes
polarpolar codes: Gaussian-approximation construction, SC and CRC-aided SC-list decoding
ccsdsthe codes of CCSDS 131.0-B (TM synchronization and channel coding): Reed–Solomon in the dual basis with interleaving and virtual fill, the (8160, 7136) and AR4JA LDPC codes, the 16-state turbo codes
nrthe codes of 5G NR (TS 38.212): the LDPC code of the data channels and the polar code of the control channels, with their rate matching
boundsthe capacity of the binary-input AWGN channel and the normal approximation of the error probability at finite length
blockthe BlockCode interface and the soft output SoftDecode

Modules§

bch
Binary BCH codes, shortened: the outer code of DVB-S2 (comnum_systems::dvbs2).
block
The interface shared by the block codes.
bounds
Information-theoretic limits of binary codes on the AWGN channel.
ccdm
Constant-composition distribution matching (CCDM): uniform bits to sequences of symbols of a prescribed distribution, the shaping stage of probabilistic amplitude shaping (comnum_systems::pas).
ccsds
The channel codes of CCSDS 131.0-B-5 (TM Synchronization and Channel Coding): the Reed–Solomon codes in the dual basis with their interleaving and virtual fill, the (8160, 7136) LDPC code, the AR4JA LDPC codes and the turbo codes.
conv
Convolutional codes: trellis, Viterbi and BCJR decoders.
crc
Cyclic redundancy checks.
interleaving
Interleavers: permutations of the coded bits (or of their LLRs).
ldpc
Low-density parity-check (LDPC) codes.
nr
The channel codes of 5G NR (3GPP TS 38.212): the LDPC code of the data channels (NrLdpc) and the polar code of the control and broadcast channels (NrPolar), with their rate matching, from the tables of the standard (tables).
polar
Polar codes.
puncture
Puncturing of the convolutional and turbo codes: rate-compatible patterns, the punctured block codes and the free distance of a punctured code.
rs
Reed–Solomon codes over $\mathrm{GF}(2^{m})$: systematic encoding, errors-and-erasures decoding, shortening.
scrambling
Scrambling by the length-31 Gold sequence of 3GPP.
turbo
Turbo codes: two recursive systematic codes in parallel, decoded iteratively.