Skip to content

Channel coding

Convolutional, Reed-Solomon and interleaving codes.

Python module doppler.coding. Area: Coding.

Classes and functions

Name Kind API Guide Gallery Example Design
ConvEncoder class ConvEncoder   Name Your Own Code — and What Happens Past the Radius coding_demo  
Deinterleaver class Deinterleaver     interleave_burst_demo Interleaving — spreading a burst across codewords
Interleaver class Interleaver     interleave_burst_demo Interleaving — spreading a burst across codewords
ReedSolomon class ReedSolomon   Name Your Own Code — and What Happens Past the Radius
DsssBurstReceiver — the Composed Burst Chain
coding_demo
interleave_burst_demo
 
Viterbi class Viterbi   Name Your Own Code — and What Happens Past the Radius
A CCSDS CADU, as a Frame Description
DsssBurstReceiver — the Composed Burst Chain
coding_demo Reed-Solomon
The FEC Receive Half
The Viterbi Decoder

Design pages in this domain

  • Interleaving — spreading a burst across codewords — the permutation, the three ways to reason about it wrongly, and the measured gain: E to E×depth, and the bound that still bites
  • Reed-Solomon — the outer code as a description: the two offsets a textbook omits (j0 != 1, and a root stride that is not 1), why Chien iterates positions rather than field elements, and what a refusal is not
  • The FEC Receive Half — the Viterbi, the node sync it needs first, and the lock detector's two error probabilities: why the code's transparency means polarity cannot be resolved by the decoder
  • The Viterbi Decoder — the CCSDS inner code decoded: the trellis in the encoder's own terms, the branch metric it inherits, and why 5·K traceback is 17 % above the floor

Used in other domains

Pages filed under another domain that name a symbol of this module, or link to or from a page filed here: a class used for another task is found from both sides, never re-filed.