Представление кодовых комбинаций в полиномиальном виде

При изложении теории циклических кодов любая кодовая комбинация A=((an-1, an-2,…,a0),ai=0,1) отождествляется с многочленом F(x) степени <= (n-1), определяемым следующим образом:

F(x)= an-1 x n-1 +an-2 xn-2 +…+ a1x+ a0

Например, последовательность 10110 в полиномиальном виде запишется следующим образом:

F(x)= 1 x 4 +0 x3 +1 x2+ 1x+ 0=x 4 + x2+x

Запись кодовой комбинации в виде многочлена не всегда определяет длину кодовой комбинации. Например, при n=5 многочлену x2+1 соответствует кодовая комбинация 00101, поэтому при переходе к записи в виде кодовой комбинации необходимо дописывать нулевые старшие разряды.

При описании циклических кодов с помощью полиномов над ними осуществляют операции сложения и перемножения, причем, складывая и перемножая полиномы из одного (например, двоичного) поля, однозначно получают полином с коэффициентами из того же поля.

Для двоичных кодов действия над кодовыми комбинациями производятся в поле Галуа GF(2). Таблицы сложения и умножения для поля GF(2) приведены ниже:

+ 0 1
  0 1
  1 0
х 0 1
  0 0
  0 1

Рассмотрим примеры арифметических действий над кодовыми комбинациями F1(x) и F2(x)

F1(x)= x 3 + x+1-> 1011

F2(x)= x 2 + x+1-> 0111

F1(x)+ F2(x)= x 3 + x2+(1+1)x+(1+1)= x 3 + x2 -> 1100

F1(x)x F2(x)=(x 3 + x+1)x(x 2 + x+1)= x 5 +x 4 + x3+ x3+ x 2 + x+ x 2 + x+1= x 5 +x 4+1 -> 110001

x 3 + x+1 | x+1____

x 3 + x2 | x 2 + x

------------

x 2 + x+1

x 2 + x

-------------

1 – остаток

Эти же операции можно проделать с двоичными числами.

Для обеспечения свойства замкнутости умножение полиномов производится по модулю Pr(x). Это означает, что в качестве результата умножения принимается остаток от деления обычного произведения полиномов на полином Pr(x).

Умножение по модулю m сводится к тому, что обычное произведение этих чисел делится на m и записывается остаток. Например, 2х4=3 (мод.5), т.е. 2х4=8, 8:5 имеет в остатке 3. Это число и является результатом умножения по модулю 5.

Указанная операция над многочленами не приводит к появлению полинома с большей степенью, чем заданная длина кода.

Рассмотрим код с n=5. Возьмем P1(x)= x 4 + x+1 и P2(x)= x 4 . Произведем обычное умножение полиномов:

P3(x)= P1(x) P2(x)= (x 4 + x+1) x 4 = x 8 + x5+x4

Полином P3(x), имея степень n=8, не принадлежит коду с n=5.

Рассмотрим умножение по модулю Pr(x).При этом полином Pr(x) должен иметь степень r<n. Выберем Pr(x)= x 3 + x2+1. Находим

P1(x) P2(x) [mod Pr(x)]= P1(x) P2(x)/ Pr(x), т.е. x 8 + x5+x4/ (x 3 + x2+1)= x5+x4+ x 3 + x2+x

R(x)= x2+x

Полученный остаток R(x) и является результатом произведения полиномов P1(x), P2(x) по модулю Pr(x). Он именуется вычетом по многочлену Pr(x).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: