Reed-Solomon Encoder DVBT

Reed Solomon Encoder

A Reed-Solomon code is specified as RS(N, K) with s-bit symbols. Here symbol size (s) = 8, since the input and output type is in bytes.

ETSI EN 300 744 Clause 4.3.2

This block supports an input and output as vector bytes (instead of streamed bytes) where input size = (Blocks * (K - S)) and output size = (Blocks * (N - S)). S is the shortening size.

Parameters

 * p
 * Default value = 2
 * characteristic of GF(p^m)


 * m
 * Default value = 8
 * we use GF(p^m).


 * GF polynomial
 * Default value = 0x11d
 * Generator Polynomial


 * N
 * Default value = 255
 * Total length of a Reed Solomon Codeword. It contains data symbols (K) and parity symbols (2t).
 * N = K + 2t
 * The maximum codeword length can be N(max) = 2^s - 1


 * K
 * Default value = 239
 * Length of data symbols in a Reed Solomon Codeword


 * t
 * Default value = 8
 * Number of error-containing symbols whose errors can be corrected by a Reed-Solomon decoder i.e. i.e. errors in up to t bytes anywhere in the codeword can be automatically corrected. The parity bits in a RS codeword are 2t where 2t = N - K.


 * Shortening size (S)
 * Default value = 51
 * The number of zeroes that are added to the RS codeword to get the required codeword length. The actual transmitted data bytes are K - S.


 * Blocks
 * Default value = 8
 * number of blocks to process at once.

Example Flowgraph
This flowgraph can be found at.



Source Files

 * C++ files
 * dvbt_reed_solomon_enc_impl.cc


 * Header files
 * dvbt_reed_solomon_enc_impl.h


 * Public header files
 * dvbt_reed_solomon_enc.h


 * Block definition
 * dtv_dvbt_reed_solomon_enc.block.yml