Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекц_изм.doc
Скачиваний:
29
Добавлен:
21.07.2019
Размер:
8.55 Mб
Скачать

5.7Разложение двучленов примитивной длины на простые множители

Длина кода называется примитивной, если , где т – целое, больше двух. Разложение необходимо знать, чтобы задавать циклические коды оговоренной длины п. Разложение основывается на теореме Виета (см. школьный курс): если известны вещественные корни многочлена , то он равен произведению: . Если есть комплексные корни, то сохраняют многочлен большей степени, чем первая, с объединенными комплексно-сопряженными корнями.

Разложение в конечных полях проще. Основывается оно на использовании ряда теорем или свойств. Сформулируем их.

  1. Для каждого элемента поля существует минимальный многочлен с коэффициентами из простого подполя . Он неприводим. Минимальный многочлен называется минимальным многочленом наименьшей степени, который обращается в ноль при , .

  2. Если - многочлен с коэффициентами из при , где , обращается в ноль, то делится на .

  3. Двучлен делится на двучлен тогда и только тогда, когда делится на .

  4. Все корни двучлена есть элементы (ненулевые) поля .

  5. Мультипликативная группа поля есть циклическая группа, т.е. существует в поле элемент, который называется примитивным и из него операцией умножения только над ним получаются все остальные элементы.

  6. Любой делитель двучлена неприводимый над имеет степень равную или меньше.

  7. Цепочка корней неприводимого над многочлена степени получается по формуле (по правилу) , где - один из корней, т.е. , .

  8. Возведение многочлена в степень эквивалентно возведению в эту степень -ов .

  9. Теорема БЧХ. Если в цепочке корней кода имеется последовательность то кодовое расстояние этого кода равно или больше. Его обозначают и называют конструктивным кодовым расстоянием.

  10. Для любых целых положительных значений и существует циклический код длины , исправляющий все ошибки кратности и меньше и содержащий не более проверочных символов.

Используя приведенные выше свойства, проиллюстрируем на примере 1 процедуру разложения двучлена x15+1.

Поскольку 15=24-1, то это код примитивной длины. Корни двучлена x15+1 принадлежит полю GF(24) (свойство 5). Получим (свойство 7) цепочки корней неприводимых многочленов:

 248  m1(x)

36129  m3(x)

510  m5(x)

7141311  m7(x)

Вычислим m1(x)=(x+)(x+2)(x+4) (x+8)=[x2+x(+2)+3][x2+x(4+8)+12]=( x2+a5x+a3)( x2+a5x+a12)= x4+x3(a5+a5)+ x2+x(a12+a3+a10)+ x(17+8)+ 15= x4+x+1.

Сложение в круглых скобках производится при многочленном представлении элементов ai. Так a12=z3+ z2+ z+1; a10=z2+z+1; a17=z2; a8=z2+1, тогда a12+a3+a10= z3+ z2+ z+1+ z3+ z2+ z+1=0; a17+a8= z2+ z2+1.

Аналогично находятся остальные многочлены. В итоге получаем:

x15+1=(x+1)(x4+x+1)(x4+ x3+ x2+x+1)(x2+x+1)( x4+ x3+1).

6.6.1 Коды бчх. Выбор образующих многочленов.

Коды БЧХ задаются корнями образующего многочлена. Выбор кода заключается в формировании цепочки корней требуемой длины (свойство 9), что производится методом проб. Последним этапом задания кода является нахождение самого образующего многочлена. Один из методов его вычисления только что был указан.

Таблицы неприводимых многочленов над полем GF(2) имеются, частности, в приложении В монографии У.Питерсон, Э Уэлдон. Коды, Исправляющие ошибки. Пер. с англ. Изд-во «Мир», М. 1976 г, 594с.

Многочлены даны в восьмеричном представлении. Каждый символ в таблице обозначает три двоичных знака: 0  000; 1 001; 2010; … 6 ® 110; 7 ® 111.

Для каждой степени первый многочлен является примитивным и содержит минимальное число ненулевых коэффициентов. Если  - один из его корней, то запись начинающаяся числом i в таблице, соответствует минимальному многочлену для корня i.

Проиллюстрируем выбор образующего многочлена на примере кода длины 15. Используя таблицу В2. В таблице указано минимально необходимое число многочленов, по которым можно найти разложение двучлена на множители. В нашем примере степень m=4. Первый неприводимый многочлен содержит корень , он же используется для построения поля GF(24):

1 – 23 – 010 011  x4+x+1

3 – 37 – 011 111  x4+ x3+ x2+x+1

5 – 07 – 000 111  x2+x+1

Если очередной многочлен в порядке возрастания степени у  отсутствует в таблице, то он будет равен двойственному к одному из уже приведенных в таблице. Чтобы его найти, используют следующую процедуру: заменяют степень на отрицательную и приводят результат по модулю, равному длине кода.

a7a-7 a15-7=a8, a, a2, a4двойственные к многочлену a1. Записывают этот многочлен с отрицательными степенями и умножают на xm:

m7(x)= x4 m1(x-1) x4(x-4+ x-1+1)= x4+ x3+1.

Пусть нужно найти код с кодовым расстоянием d=5. По свойству 7 формируем цепочку корней длины 4.

  1. Берем корень 1 и его цепочку 248; это код (15,11) с d=3.

  2. Объединяем первую цепочку с цепочкой, порожденной корнем a3  36129. Получаем 2 3 468912. Это код (15,7) с d=5 g(x)= (x4+x+1)(x4+ x3+ x2+x+1)= x8+ x7+ x6+x4+1.

Другой возможный вариант:

  1. Берем корень 7 и его цепочку 7 14 1314, это код (15,11) d =3.

  2. Объединяем эту цепочку с цепочкой, порождаемой 3 36129. Получаем 3679 11 12 13 14; это код (15,7) d = 5 g(x)= (x4+x3+1)(x4+ x3+ x2+x+1)= x8+ x4+ x2+x+1.

Третий вариант кода.

Объединяем три цепочки корней, соответствующие a1; a3 и a7. Получаем 2 3 4 6 78 9 11 1213 14; это код (15,3) с d=5, но он проигрывает двум предыдущим кодам по скорости: R1=R2=7/15; R3=3/15. Объединим цепочки, соответствующие корням a1; a7 и a0=1, при этом учтем, что a0=a15=1. Получим 01247811 1314. Образовалась цепочка корней 1413012 длиной 5. Получаем код (15,6) с d=6. g(x)=(x4+x+1)(x4+x3+1)(x+1).

Методом проб можно убедится, что имеются циклические коды длины 15 с информационной частью любой от 1 до 14 бит.

Пример 2. Разложить на множители x31+1 и убедится, что избыточная часть кодов может быть только кратна 5 и 6.

Записываем цепочки корней:

 24816  45  m1(x)= x5+x+1

3612241775 m3(x)= x5+ x4+x3+ x2+1

51020918 67 m5(x)= x5+ x4+x2+ x+1

714282515 – в таблице отсутствует, находим, к какому из вышеперечисленных будет двойственным:

max=28-28 3 m7(x)= x5(x-5+ x-4+x-3+ x-2+1)= x5+ x3+x2+ x+1.

1122132621 – двойственен к m5(x)  m11(x)= x5+ x4+x3+ x+1

1530292723 – двойственен к m1(x)  m15(x)= x5+x3+1.

Записываем разложение двучлена:

x31+1=(x+1)( x5+x+1)( x5+ x4+x3+ x2+1)( x5+ x4+x2+ x+1)( x5+ x3+x2+ x+1)( x5+ x4+x3+ x+1)( x5+x3+1).

Замечаем, что многочлены, задающие код, могут быть степени кратными 5 или 6 за счет множителя (x+1), т.е. имеются коды (31,26); (31,21); (31,16); (31,11); (31,6); (31,1) или с информационной частью на единицу меньше и нет других.

Обратите внимание, что имеются коды, эквивалентные по длине информационной части и кодовому расстоянию, но различающиеся по числу ненулевых коэффициентов образующего многочлена. Например, коды (31,26) d=3 g(x)= x5+x2+1 и (31,26) d=3 g(x)= x5+ x4+x2+ x+1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]