Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
tips_lect.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
4.33 Mб
Скачать

4. Циклические коды

4.1. Сведения из алгебры полиномов

Описание циклических кодов основано на представлении комбинаций в виде многочленов (полиномов) от одной фиктивной переменной х с коэффициентами [17]. При наименьшем разряде полинома присутствует степень x0, а при наибольшем – степень xn-1, где n - длина разрядов. Например, комбинация 11011011 в виде полинома будет иметь вид х7643+х+1. Заметим, что арифметический знак + здесь рассматривается как фиктивная операция.

Сложение двух полиномов выполняется как поразрядное суммирование по модулю два (mod2). Например, 1=1011=х3+х+1, а 2=11101=х432+1. Тогда 11=х3+х+1+х432+1=х42.

Умножение двух полиномов осуществляется в идеале поля Галуа n+1). Происходит это следующим образом. Пусть n=4, 1=0011=х+1, а 2=0110=х2. Тогда 12=(х+1)(х2+х)=х3. Пусть n=4, 1(х)=х32, а 2(х)=х3+х+1. Тогда в обычной алгебре 12=х6542, а по модулю 4+1) 12=Rem[(х6542)/(х4+1)]=х+1, где Rem[.] - остаток от деления. Следовательно, 12=х+1 (0011).

Таблица 5.1

Синдром ошибки

Принимаемое решение

0000

Нет ошибок. Информация выдается получателю

1000

Ошибка в первом контрольном разряде. Информация выдается получателю

0100

Ошибка во втором контрольном разряде. Информация выдается получателю

0010

Ошибка в третьем контрольном разряде. Информация выдается получателю

0001

Ошибка в четвертом контрольном разряде. Информация выдается получателю

0011

Ошибка в первом разряде. Информация после исправления выдается получателю

0110

Ошибка во втором разряде. Информация после исправления выдается получателю

1110

Ошибка в третьем разряде. Информация после исправления выдается получателю

1001

Ошибка в четвертом разряде. Информация после исправления выдается получателю

1100

Ошибка в пятом разряде. Информация после исправления выдается получателю

Остальные коды синдрома

Ошибка не обнаружена. Информация стирается

4.2. Построение циклических кодов

Циклические коды являются частным случаем групповых кодов и однозначно задаются с помощью порождающего (образующего) полинома

g(x)=gkxk+gk-1xk-1+…+g1x+g0.

Особенности порождающего полинома:

- порождающий полином g(x) имеет наименьшую степень среди многочленов данного идеала n+1);

- свободный член g0 всегда не равен нулю;

- любой многочлен циклической группы делится на g(x) без остатка;

- g(x) является делителем для двучлена n+1).

Так как любое кодовое слово (х) должно делиться на g(x) , то

(х)=(х)g(х). (4.1)

Соотношение (4.1) описывает процесс кодирования слова. =(m-1,m-2,…,0) - вектор первичного (безызбыточного) кода длиной m разрядов, записанный в виде полинома

.

В результате применения соотношения (4.1) можно построить неразделимый циклический код, для которого образующая матрица имеет следующий вид:

.

Желательно циклический код представлять в виде разделимого кода, т.е. в кодовой комбинации (х)=n-1xn-1+n-2xn-2+…+1x+0, коэффициенты кодового полинома при xn-1, xn-2,…,xk - информационные символы, а при xk-1,xk-2, …,x,1 - контрольные символы.

Для получения разделимого циклического кода достаточно вычислить остатки от деления произведения xki(х), (i-0,1,…m-1) на порождающий полином g(x).

Если выбрать в качестве базисных кодовых полиномов xixk+Ri(х), то получим для разделимого кода порождающую матрицу в канонической форме Gm,n=ImRm,k. Причем,

. (4.2)

Пример. Полином g(х)=х32+1 порождает циклический код (7,4). Информационные элементы кодовых комбинаций, используемые в качестве строк образующей матрицы, имеют следующую запись: i(х)=х0, i(х)=х1, i(х)=х2, i(х)=х3.

Тогда, R0(х)=Rem[xkx0/g(x)]=Rem[x3/(х32+1)]=х2+1, R1(х)=Rem[x4/(х32+1)]=х2+x+1, R2(х)=Rem[x5/(х32+1)]=x+1, R6(х)=Rem[x6/(х32+1)]=x2+x.

Образующая матрица будет иметь вид

.

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