Теория норм синдромов
.docxЗадание 1.
По построенной в задании 8 из КР «Прикладная математика» двоичной проверочной (10х31) – матрице Н реверсивного кода, найти порождающую (21х31) – матрицу G этого кода.
Решение задания 1.
При помощи элементарных преобразований строк матрицы НR, приведем ее к виду . Здесь – единичная матрица порядка n - k.
Из полученной матрицы составим порождающую матрицу :
Задание 2.
С помощью найденной порождающей матрицы закодировать информацию .
Решение задания 2.
Кодовое слово по данному информационному вектору
вычисляется по формуле:. Получим следующий вектор :
Задание 3.
По найденному в задании 2 кодовому слову попытаться восстановить сообщение .
Решение задания 3.
В силу структуры матрицы G информационный вектор идентично отображается на последние 21 координатe вектора и, следовательно, однозначно восстанавливается по вектору . Вектор записан в последних 21 координатах вектора .
Задание 4.
По найденному в задании 9 (Вариант 10) из КР «Прикладная математика» синдрому найти вектор ошибок сведением задачи к квадратному уравнению и решением последнего по формулам Чэня.
Решение задания 4.
В указанном задании 9, на основе кода с проверочной матрицей НR из решённого выше задания 1 приняло сообщение:
.
Наличие ошибок в принятом сообщении было определено вычислением синдрома H · = S. Оказалось, что в данном случае:
S = H · = (1001110000)T ≠ .
Приведём таблицу из решения задания 9, задающую поле Галуа GF(32).
α |
α |
(00010) |
α2 |
α2 |
(00100) |
α3 |
α3 |
(01000) |
α4 |
α4 |
(10000) |
α5 |
α4 + α2 + α + 1 |
(10111) |
α6 |
α4 + α3 + 1 |
(11001) |
α7 |
α2 + 1 |
(00101) |
α8 |
α3 + α |
(01010) |
α9 |
α4 + α2 |
(10100) |
α10 |
α4 + α3 + α2 + α + 1 |
(11111) |
α11 |
α3 + 1 |
(01001) |
α12 |
α4 + α |
(10010) |
α13 |
α4 + α + 1 |
(10011) |
α14 |
α4 + 1 |
(10001) |
α15 |
α4 + α2 + 1 |
(10101) |
α16 |
α4 + α3 + α2 + 1 |
(11101) |
α17 |
α3 + α2 + 1 |
(01101) |
α18 |
α4 + α3 + α |
(11010) |
α19 |
α + 1 |
(00011) |
α20 |
α2 + α |
(00110) |
α21 |
α3 + α2 |
(01100) |
α22 |
α4 + α3 |
(11000) |
α23 |
α2 + α + 1 |
(00111) |
α24 |
α3 + α2 + α |
(01110) |
α25 |
α4 + α3 + α2 |
(11100) |
α26 |
α3 + α2 + α + 1 |
(01111) |
α27 |
α4 + α3 + α2 + α |
(11110) |
α28 |
α3 + α + 1 |
(01011) |
α29 |
α4 + α2 + α |
(10110) |
α30 |
α4 + α3 + α + 1 |
(11011) |
α31 |
1 |
(00001) |
В соответствии со структурой матрицы НR данный синдром S разбивается на компоненты s1 = (10011) и s2 = (10000). Сравнивая эти компоненты с данными таблицы, задающей поле Галуа GF(32), получаем: s1 = α13; s2 =α4. (31, 21) реверсивного кода с рассматриваемой проверочной матрицей НR исправляет одиночные и двойные ошибки в принимаемых сообщениях. Если бы сообщение содержало одиночную ошибку, то тогда имело бы место равенство: , что, очевидно, не выполняется.
Для определения координат двойной ошибки составим систему уравнений:
Левую часть второго уравнения приведём к общему знаменателю, то есть к виду: .
Получим ;
По теореме Виета х и y являются корнями квадратного уравнения: Произведем замену: t = α13 · z.
Тогда:
,
,
.
След . Поэтому наше квадратное уравнение обязательно имеет корни в поле GF(32).
Методом Чэня, то есть последовательной подстановкой элементов αi, , в квадратное уравнение, находим корни этого уравнения α3 и α11. Теперь найдем х и у:
t1 = α13 · z1 = α13 · α3 = α16 = x; t2 = α13 · z2 = α13 · α11 = α24 = y.
Действительно, f(α16) = α32+α13·α16+α9 = 0;
f(α24) = α48+α13·α24+α9 = 0.
Следовательно, двойная ошибка произошла на 17-й и 25-й позициях, то есть вектор-ошибка и истинным является сообщение:
.
Задание 5.
Для рассматриваемого в задании 4 кода составить таблицу образующих Г-орбит двойных ошибок, синдромов и норм . По синдрому ошибки из задания 4 найти вектор-ошибку норменным методом.
Решение задания 5.
Составим таблицу векторов ошибок на позициях 1 и i, 2 ≤ i ≤ 16, образующих Г-орбит , двойных ошибок, показателей и синдромов , где и показателей , норм синдромов .
Г-орбита |
Образующая |
|||
(1, 2) |
19 |
18 |
6 |
|
(1, 3) |
7 |
5 |
12 |
|
(1, 4) |
11 |
8 |
19 |
|
(1, 5) |
14 |
10 |
24 |
|
(1, 6) |
29 |
24 |
22 |
|
(1, 7) |
22 |
16 |
7 |
|
(1, 8) |
2 |
26 |
28 |
|
(1, 9) |
28 |
20 |
17 |
|
(1, 10) |
15 |
6 |
21 |
|
(1, 11) |
27 |
17 |
13 |
|
(1, 12) |
3 |
23 |
26 |
|
(1, 13) |
13 |
1 |
14 |
|
(1, 14) |
12 |
30 |
11 |
|
(1, 15) |
4 |
21 |
25 |
|
(1, 16) |
9 |
25 |
3 |
Вычислим норму синдрома принятого сообщения: N=α13·α4=α17. Сравнивая вычисленную норму с данными таблицы, находим, что . Следовательно, двойная вектор-ошибка , которая присутствует в сообщении , принадлежит Г-орбите J9 =<> и получается циклическим сдвигом вектора . Величина циклического сдвига определяется отношением первой компоненты синдрома к первой компоненте =α28 синдрома . В данном случае . Следовательно, искомая ошибка – вектор-ошибка весом 2 с единицей на 17-й и 25-й позициях, что полностью совпадает с полученным ранее решением задания 4.
Задание 6.
В (31, 16) БЧХ-коде C7 с проверочной матрицей где α– корень примитивного полинома p(x) = x5 + x4 + x2 + x + 1, принято сообщение с синдромом S = S() = (). Найти вектор ошибок в принятом сообщении сведением задачи к кубическому уравнению и решением этого уравнения методом Чэня.
Решение задания 6.
Тройная ошибка в сообщении произошла на неизвестных позициях i, j, k, 1≤ i < j < k ≤ 31. В подматрице матрицы позициям i, j, k, соответствуют столбцы . Эти столбцы называют локаторами ошибочных позиций. Их рассматриваем как элементы поля Галуа GF(32), задаваемые с помощью полинома p(x)=x5+x4+x2+x+1. Синдром S = S() = () получается двоичным сложением столбцов матрицы с номерами i, j, k. Каждый -й столбец матрицы Н состоит из трёх частей, интерпретируемых как элементы x, х3, х5 поля GF(24). Поэтому для определения истинных значений позиций i, j, k, искомой тройной ошибки мы с помощью синдрома S = S() = =() получаем следующую систему уравнений:
Левые части уравнений системы (1) есть симметрические степенные полиномы f1, f3, f5 от трёх переменных x, y, z. Здесь . У нас, в условиях двоичной арифметики, . В теории симметрических полиномов существуют формулы Ньютона, которые связывают степенные симметрические полиномы с элементарными симметрическими полиномами . Элементарные симметрические полиномы от трёх переменных x, у, z выглядят следующим образом:
В полях характеристики 2 формулы Ньютона, связывающие c имеют специальный вид:
Подставим в систему (2) значения из системы (1): . Получим следующую систему линейных уравнений относительно неизвестных :
Подставим в (3) значения . Получим систему:
Отсюда следует (4)
Из первого уравнения системы выражаем , и подставив во второе, имеем:
Подставим в первое уравнение системы (4):
Полученные значения служат, согласно теореме Виета, коэффициентами кубического уравнения , корнями которого и являются искомые в системе (1) неизвестные x, у, z.
Итак, решение системы (1) сводится к поиску корней кубического уравнения в поле GF(32).
Метод Чэня, то есть последовательная подстановка в уравнение элементов поля GF(32) вместо , позволяет найти следующие его корни: . Корни однозначно указывают тройную ошибку на 8-й, 12-й и 16-й позициях в сообщении .
Задание 7.
Задачу из задания 6 решить норменным методом.
Решение задания 7.
В двоичном коде длиной 31 имеется 4495 тройных ошибок, которые делятся на 145 Г-орбит. Чтобы избежать построения таблицы в 145 строк, модифицируем норменный метод, преобразуем искомую вектор-ошибку в другую тройную ошибку , синдром которой имеет первую компоненту . Пусть x, y, z – локаторы ошибочных позиций вектора , ненулевых координат вектора-ошибки . В качестве берём вектор-ошибку весом 3 с локаторами ненулевых позиций . Тогда компоненты синдрома выражаются следующим образом через компоненты синдрома :
.
У нас S = S() = (). Следовательно:
.
Таким образом = (). Тогда .
Известно, что в (31, 16) БЧХ-коде С7 имеется в точности 5 Г-орбит тройных ошибок с первой компонентой синдрома, равной нулю. Составим таблицу образующих этих орбит, синдромов S() и норм синдромов .
№ п/п i |
S() |
||
1 |
(1, 2, 20) |
(0, α20, α12) |
(∞, ∞, α29) |
2 |
(1, 3, 8) |
(0, α9, α24) |
(∞, ∞, α27) |
3 |
(1, 4, 12) |
(0, α14, α18) |
(∞, ∞, α15) |
4 |
(1, 5, 15) |
(0, α18, α17) |
(∞, ∞, α23) |
5 |
(1, 6, 30) |
(0, α3, α14) |
(∞, ∞, α27) |
Как видим, . Следовательно, получается циклическим сдвигом вектора (1, 5, 15). S() = (0, α19, α29) = . Значит, – тройная вектор-ошибка с ненулевыми координатами на 22-й, 26-й, 5-й позициях, локаторы которых . Отсюда находятся локаторы x,y,z ненулевых координат искомого вектора ошибок :
.
Следовательно, – тройная ошибка на 8-й, 12-й и 16-й позициях, что полностью совпадает с решением задания 6.