- •Циклические коды.
- •1. Операции над двоичными многочленами.
- •Аппаратное умножение двоичных многочленов
- •Аппаратное деление многочленов.
- •2.Виды многочленов
- •Двойственные полиномы
- •Восьмеричное представление двоичных многочленов
- •Процедура кодирования состоит в умножении кодовой комбинации из информационных символов на образующий многочлен g(X).
- •Процедура декодирования состоит в делении принятой кодовой комбинации, выраженной в e(X) на образующий полином g(X) и определения остатка r(X).
- •Требования к образующему g(X).
- •Требования к образующему полиному.
- •Этап декодирования
- •Аппаратная реализация этапов кодирования и декодирования для циклических кодов.
- •Структурная схема кодирующего устройства.
- •Аппаратная реализация алгоритма декодирования.
- •Аппаратная реализация алгоритма декодирования.
2.Виды многочленов
а) неприводимый простой многочлен.
Многочлен P(x) степени n называется простым, если он не делится без остатка ни на какой многочлен степени меньшей, чем n (аналогия с простым числом).
n=4: x4+x+1; x4+x3+1
n=5: x5+1=(x+1)(x4+x3+x2+x+1) составной (непростой)
n=10: x10+x3+1; x10+x7+1 и т.д.
б) примитивный многочлен.
Примитивным называется многочлен P(x) степени m, имеющий максимально возможное число остатков от деления xi/P(x)- 2m-1, где i = 0,1…..
Пример. P(x)=x4+x3+x2+x+1 – непримитивный
P(x)=x4+x+1 – примитивный
i
|
R(x) - остаток при xi/P1(x) |
R(x) - остаток при xi/P2(x) |
1 2 3 4 |
<0001 0010 0100 R=1 1000 1111 |
0001 0010 0100 1000 0011 |
5 6 7 8 |
0001 0010 0100 1000 R>1 |
0110 1100 1011 0101 |
9 10 11 12 |
1111 0001 0010 0100 |
1010 0111 1110 1111 |
14 15 16 |
1000 1111 0001 0010 |
1101 1001 0001 0010 |
17 18 19 20 |
0100 1000 1111 0001 |
0100 1000 0011 0110 |
Двойственные полиномы
P*(x) – полином двойственный P(x)
P*(x)=xmP(1/x), где m – степень P(x).
Пример:
P(x)=x4+x+1
P*(x)=x4P(1/x)=x4(1/x4+1/x+1)=x4+x3+1.
Свойства двойственности:
а) Полином двойственный неприводимому полиному является также неприводимым;
б) Полином двойственный примитивному является также примитивным. P(x)= x4+x3+1.
Восьмеричное представление двоичных многочленов
Для
удобства и компактности записи двоичные
многочлены представлены в восьмеричном
виде: x8+x+1
100 000 011
403
4 0 3
726 111 010 110 x8+x7+x6+x4+x2+x+1
Используя представление двоичных кодов в виде полиномов, дадим следующее определение циклического кода.
Циклический код образуется путем умножения информационного k-значного кода, выраженного в виде полинома Q(x) степени k-1, на некоторый образующий полином G(x) степени (n-k = r).
Q(x)=1010(x3+x); G(x)=(x3+x+1); E(x)=(x6+x3+x2+x).
Отсюда, основное свойство циклического кода: многочлен E, выражающий разрешенную кодовую комбинацию циклического кода, будет делиться на образующий многочлен без остатка.
С другой стороны: ни один многочлен, соответствующий запрещенной кодовой комбинации, на образующий многочлен G(x) без остатка не делится. То есть остаток – это проверочный синдром.
Это основное свойство позволяет определить наличие ошибки в кодовой комбинации.
Отсюда следующее:
Процедура кодирования состоит в умножении кодовой комбинации из информационных символов на образующий многочлен g(X).
Процедура декодирования состоит в делении принятой кодовой комбинации, выраженной в e(X) на образующий полином g(X) и определения остатка r(X).
Если R(x)=0 – нет ошибки,
Если R(x)0 – есть ошибка, и ее надо определить по виду R(x).

<0
13