-
Notifications
You must be signed in to change notification settings - Fork 141
/
decoder.rst
92 lines (67 loc) · 3.12 KB
/
decoder.rst
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
.. _dec-rs-decoder-parameters:
|RS| Decoder parameters
-----------------------
The RS decoder was described by Reed and Solomon in 1960 :cite:`ReedSolomon1960`.
.. _dec-rs-dec-type:
``--dec-type, -D``
""""""""""""""""""
:Type: text
:Allowed values: ``ALGEBRAIC`` ``CHASE`` ``ML``
:Default: ``ALGEBRAIC``
:Examples: ``--dec-type ALGEBRAIC``
|factory::Decoder::parameters::p+type,D|
Description of the allowed values:
.. _Berlekamp-Massey algorithm: https://en.wikipedia.org/wiki/Berlekamp%E2%80%93Massey_algorithm
.. _Chien search: https://en.wikipedia.org/wiki/Chien_search
+---------------+--------------------------------------------------------------+
| Value | Description |
+===============+==============================================================+
| ``ALGEBRAIC`` | Select the `Berlekamp-Massey algorithm`_ |
| | :cite:`Berlekamp1968,Massey1969` followed by a |
| | `Chien search`_ :cite:`Chien1964`. |
+---------------+--------------------------------------------------------------+
| ``CHASE`` | See the common :ref:`dec-common-dec-type` parameter. |
+---------------+--------------------------------------------------------------+
| ``ML`` | See the common :ref:`dec-common-dec-type` parameter. |
+---------------+--------------------------------------------------------------+
.. _dec-rs-dec-implem:
``--dec-implem``
""""""""""""""""
:Type: text
:Allowed values: ``STD`` ``GENIUS``
:Default: ``STD``
:Examples: ``--dec-implem GENIUS``
|factory::Decoder::parameters::p+implem|
Description of the allowed values:
+------------+---------------------------+
| Value | Description |
+============+===========================+
| ``STD`` | |dec-implem_descr_std| |
+------------+---------------------------+
| ``GENIUS`` | |dec-implem_descr_genius| |
+------------+---------------------------+
.. |dec-implem_descr_std| replace:: A standard implementation of the |RS|.
.. |dec-implem_descr_genius| replace:: A really fast implementation that compare
the input to the original codeword and correct it only when the number of
symbols errors is less or equal to the |RS| correction power.
.. note::
In the ``STD`` implementation, the Chien search finds roots of the
error location polynomial. If the number of found roots does not match the
number of found errors by the Berlekamp–Massey algorithm, then the frame is
not modified.
When a frame is very corrupted and when the above algorithms can be
wrong in the correction by converging to another codeword, the ``GENIUS``
implementation cannot fail. Results may then differ from a real word
implementation.
.. _dec-rs-dec-corr-pow:
``--dec-corr-pow, -T``
""""""""""""""""""""""
:Type: integer
:Default: 5
:Examples: ``-T 18``
|factory::Decoder_RS::parameters::p+corr-pow,T|
It is automatically calculated from the input and codeword sizes. See also
the argument :ref:`enc-rs-enc-info-bits`.
References
""""""""""
.. bibliography:: references.bib