Reed-Solomon Encoder DVBT

From GNU Radio
Revision as of 07:09, 31 May 2022 by MubashiraZaman (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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 [1].

Dvbt tx 8k fg.png

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