лекции / KodRSLekciya7
.pdfДОПОЛНЕНИЕ К ЛЕКЦИИ №6 (СЛАЙД 11)
Получена система уравнений (с), из которой следуют 4 отдельных уравнений (d)
(d)
ПРИМЕР. Код БЧХ: n=15, t=3, GF(24), поле образовано по примитивному многочлену
P(x) 1 x x4 , корни : , 2 , 4 , 8 .
Корни порождающего многочлена G(x) : , 2 , 3 , 4 , 5 , 6 .
G(x) m1 (x)m3 (x)m5 (x).
Принятая комбинация:
h(x) h h x h x |
2 |
h x |
3 |
|
||
|
|
|||||
0 |
1 |
2 |
|
3 |
|
|
Многочлен локаторов ошибок:
... h |
14 |
x x |
2 |
x |
3 |
x |
5 |
x |
6 |
x |
8 |
12 |
x |
|
|
|
|
|
x . |
||||||
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
|
(z) (1 zi z) 1 1z 2 z2 3 z3.
i1
ЗАДАНИЕ: декодировать комбинацию по алгоритму Питерсона (ПГЦ), определить ошибочные позиции в комбинации и исправить ошибки при условии, что полученные декодером синдромы имеют вид:
S1= 13; S2= 11; S3= 12; S4= 7; S5=1; S6= 9;
ИЛИ
Лекция 7 . Циклические коды Рида-Соломона (РС). |
7.1 |
|
Построение циклических кодов Рида-Соломона:
Исходные данные.
Образующий многочлен кода РС.
Образующая матрица систематического и несистематического кода РС. Проверочная матрица кода РС.
Декодирование комбинации кода РС.
Принципы обнаружения и исправления ошибок. Кратность исправляемых ошибок.
Многочлен локаторов ошибок.
Алгоритм исправления ошибок Питерсона-Горенстейна-Цирлера. Алгоритм Горнера вычисления синдромов.
Процедура Ченя определения ошибочных позиций кода. Алгоритм Евклида.
Алгоритм Берлекэмпа-Месси.
ЭЛЕМЕНТАМИ КОДА РИДА-СОЛОМОНА (недвоичного кода БЧХ) ЯВЛЯЮТСЯ ЭЛЕМЕНТЫ РАСШИРЕННОГО ПОЛЯ GF(2m)
Выберем в качестве порождающего поле GF(24) неприводимый по модулю 2 примитивный многочлен четвертой степени Р(х) = 1+ х + x4. Пусть является корнем данного многочлена, тогда он будет первообразным элементом поля GF(24). Все 15 ненулевых элементов поля будут
следующими (все степени приводятся по mod Р( )):
Таблица 2.1
В правой колонке таблицы элементы поля i
= a0 + a1 1+ a2 2+ a3 3
представлены в векторной форме записи (a0, a1, a2, a3), где коэффициенты aii принадлежат
простому полю GF(2).
Таблица 2.1 |
7.2 |
|
0 |
= |
1 |
|
|
|
= |
(1000) |
|
|
|
|
|
|
|
|
1 |
= |
|
|
|
|
= |
(0100) |
|
|
|
|
|
|
|
|
2 |
= |
|
|
2 |
|
= |
(0010) |
|
|
|
|
|
|
|
|
3 |
= |
|
|
|
3 |
= |
(0001) |
4 |
= |
1 |
|
|
|
= |
(1100) |
5 |
= |
|
|
2 |
|
= |
(0110) |
6 |
= |
|
|
2 |
3 |
= |
(0011) |
|
|
|
|
|
|
|
|
7 |
= |
1 |
|
|
3 |
= |
(1101) |
|
|
|
|
|
|
|
|
8 |
= |
1 |
|
2 |
|
= |
(1010) |
|
|
|
|
|
|
|
|
9 |
= |
|
|
|
3 |
= |
(0101) |
10 |
= |
1 |
|
2 |
|
= |
(1110) |
11 |
= |
|
|
2 |
3 |
= |
(0111) |
12 |
= |
1 |
|
2 |
3 |
= |
(1111) |
13 |
= |
1 |
|
2 |
3 |
= |
(1011) |
14 |
= |
1 |
|
|
3 |
= |
(1001) |
15 |
= |
1 |
|
|
|
= |
(1000) |
7.3
Недвоичные циклические БЧХ - коды Рида-Соломона (РС). Построение циклических кодов РС.
Для кодов РС характерны все основные свойства циклических кодов БЧХ, за
исключением формирования порождающего многочлена G(х). .
Коды РС предназначены для исправления независимых t -кратных ошибок, т.е. t
ошибочных элементов поля, образованного примитивным многочленом P(x).
В качестве корней порождающего многочлена кода Рида-Соломона G(х) выбирают 2t последовательных элементов ε j, ε j+1,…, ε j+2t-1 поля Галуа GF(рm), где 1≤ j ≤ рm -1.
Часто принимают j=0 или1. Пусть j=0, тогда в качестве корней выбирают элементы
1, ε, ε 2,…, ε2t-1 . Тогда порождающий многочлен G(х) будет
2t 1 |
|
). |
|
|
|
G(x) (x |
i |
|
|
|
|
|
|
|
|
|
|
i 0 |
|
|
|
|
(3.1 ) |
|
|
|
|
|
|
Максимальная длина комбинации равна |
n 2 |
m |
1. |
||
|
|||||
|
|
|
При этом все ненулевые элементы поля Галуа GF(2m) εi будут корнями двучленного
уравнения |
x |
n |
1 x |
2 |
m |
1 |
1 |
0. |
|
|
|
|
|||||
|
|
|
|
|
||||
Следовательно, порождающий многочлен G(х), в свою очередь, будет делителем |
||||||||
двучлена |
(x2m 1 1) |
|
|
|
|
|
|
|
Таким образом, вектор, представленный многочленом f(x), будет кодовым тогда и
только тогда, когда он делится без остатка порождающий многочлен G(х). .
Тогда для любого из корней 1, ε, ε2, ..., ε2t-1 справедливо уравнение |
7.4 |
||||||||||||||||
f(εi) = с |
0 |
+ с |
1 |
ε i + с |
(εi)2+ ... + с |
n-1 |
(εi)n 1 = |
0, c |
GF(2m) |
|
|||||||
|
|
|
|
|
|
2 |
|
|
|
|
i |
|
|
||||
которое можно записать в виде произведения двух матриц |
|
|
|||||||||||||||
|
[c |
0 |
c |
1 |
c |
2 |
… c |
n–1 |
]∙ [1 εi (εi)2…(εi) n 1 |
]T = 0. |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Но так как корнями f(х) должны быть все элементы 1, ε, ε2, ...,ε2t-1 , то можно
сделать вывод, что вектор [c0 c1 …c n–1] будет кодовым тогда и только тогда, когда
он принадлежит нулевому пространству матрицы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
|
|
1 |
|
|
|
... |
|
|
1 |
|
|
|
|
||
|
1 |
|
|
( 2 ) |
|
... |
( 2 )n 1 |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
H |
|
|
2 |
( |
2 |
|
2 |
|
|
( |
2 |
|
n 1 |
|
|
||||
1 |
|
|
) |
|
|
... |
|
) |
|
|
. |
(3.2) |
|||||||
|
. |
|
. |
|
|
. |
|
|
|
... |
|
|
. |
|
|
|
|
||
|
|
|
2t 1 |
( |
2t 1 |
) |
2 |
... |
( |
2t 1 |
) |
n 1 |
|
|
|||||
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
То есть [c0 c1 c2 … c n–1]∙ HT=0
7.5
Корректирующие свойства кода PC определяются минимальным кодовым расстоянием dmin, которое для кодов PC является максимально достижимым и
равным dmin=2t + 1.
Более широкое применение на практике находят систематические коды PC,
поэтому ограничимся рассмотрением только систематических циклических
кодов PC.
3.1. Принципы кодирования и декодирования кодов Pида-Cоломона
Процесс кодирования для систематического кода PC осуществляется по тем же правилам, что и для любого циклического систематического кода − путем деления на порождающий многочлен G(x) и получения остатка, представляющего собой проверочные элементы.
|
|
|
|
|
|
кл |
|
|
|
|
|
1 |
2 |
ε6 |
ε5 |
|
|
ε5 |
ε2 |
|
x0 |
x1 |
|
|
x2 |
x3 |
|
|
ЯП |
ЯП |
2 |
ЯП3 |
ЯП4 |
|
|
1 |
|
|
|
|
|
Вход |
|
|
|
|
|
Выход |
Рис 4.1. Кодирующее устройство кода Рида-Соломона с t=2 и порождающим многочленом G(x)=(x +1)(x + ε)(x + ε2)(x + ε3) = ε6 + ε5 x+ ε5x2+ ε2x3+ x4 в поле GF(23)