Представление кодовой комбинации в виде многочлена

Описание циклических кодов и их построение удобно проводить с помощью многочленов (или полиномов). Запись комбинации в виде полинома понадобилась для того, чтобы отобразить формализованным способом операцию циклического сдвига исходной кодовой комбинации. Так, n-элементную кодовую комбинацию можно описать полиномом (n − 1) степени, в виде:

An−1(x) = an−1 xn−1 + an−2 xn−2 + … + a1 x + a0,

где ai = {0, 1}, причем ai = 0 соответствуют нулевым элементам комбинации, ai = 1 — ненулевым.

Запишем полиномы для конкретных 4-элементных комбинаций:

1101 ⇔ A1(x) = x3 + x2 + 1
1010 ⇔ A2(x) = x3 + x

Операции сложения и вычитания выполняются по модулю 2. Они являются эквивалентными и ассоциативными:

· G1(x) + G2(x) ⇒ G3(x)

· G1(x) − G2(x) ⇒ G3(x)

· G2(x) + G1(x) ⇒ G3(x)

Примеры

· G1(x) = x5 + x3 + x

· G2(x) = x4 + x3 + 1

· G3(x) = G1(x) ⊕ G2(x) = x5 + x4 + x + 1

Операция деления является обычным делением многочленов, только вместо вычитания используется сложение по модулю 2:

· G1(x) = x6 + x4 + x3

· G2(x) = x3 + x2 + 1

x6 + x4 + x3 | x3 + x2 + 1 +------------x6 + x5 + x3 | x3 + x2------------ x5 + x4 x5 + x4 + x2 ------------ x2

Циклический сдвиг кодовой комбинации

Циклический сдвиг кодовой комбинации — перемещение ее элементов справа налево без нарушения порядка их следования, так что крайний левый элемент занимает место крайнего правого.

Основные свойства и само название циклических кодов связаны с тем, что все разрешенные комбинации бит в передаваемом сообщении (кодовые слова) могут быть получены путем операции циклического сдвига некоторого исходного кодового слова.

Допустим, задана исходная кодовая комбинация и соответствующий ей полином:

a(x) = anxn−1 + an−1xn−2 + … + a2x + a1

Умножим a(x) на x:

a(x) · x = anxn + an−1xn−1 + … + a2x2 + a1x

Так как максимальная степень x в кодовой комбинации длиной n не превышает (n − 1), то из правой части полученного выражения для получения исходного полинома необходимо вычесть an(xn − 1). Вычитание an(xn − 1) называется взятием остатка по модулю (xn − 1).

Сдвиг исходной комбинации на i тактов можно представить следующим образом: a(x) · xian(xn − 1), то есть умножением a(x) на xi и взятием остатка по модулю (xn − 1). Взятие остатка необходимо при получении многочлена степени, большей или равной n.


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



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