АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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

Читайте также:
  1. ГЕТЕРОЦИКЛИЧЕСКИЕ СОЕДИНЕНИЯ
  2. Матка. Яйцеводы, влагалище. Строение, функции, развитие. Циклические изменения органов женской половой системы. Их гормональная регуляция. Возрастные изменения.
  3. Циклические колебания экономического роста. Теории экономических циклов.

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

P (x) = 1× x 5 + 0× x 4 + 1× x 3 + 1× x 2 + 0× x 1 + 1 = x 5 + x 3 + x 2 + 1.

Циклические коды относятся к систематическим (n, k)-кодам, в которых контрольные n – k и информационные k разряды расположены на строго определенных местах.

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

Циклический код F (x) получают следующим образом:

где h (х) – заданный многочлен, соответствующий исходной кодовой комбинации, g (х) – образующий многочлен, который является неприводимым сомножителем при разложении двучлена хn +1 (таблица 9.6).

При декодировании принятую кодовую комбинацию необходимо разделить на g (x). Если в результате деления остаток не равен нулю, то означает, что в кодовой комбинации имеется ошибка.

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

nk = log(n + 1),

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

Таблица 7.4

Соотношения между числом информационных и контрольных символов

n         9…15 17…31 33…63 65…127
k         5…11 12…26 27…57 28…120
n – k                

 

Пусть, например, требуется закодировать комбинацию вида 1101, что соответствует h (х) = х 3 + х 2 + 1. Процесс кодирования последовательно выполняется в виде следующих шагов.

1. Определим число контрольных символов nk. Оно будет равно 3.

2. Из таблицы 9.6 выберем многочлен g (х) = х 3 + х + 1, т.е. 1011.

3. Умножим h (х) на хn k: h (x) хn k = (x 3 + x 2 + 1) x 3 = x 6 + x 5 + x 3, что соответствует 1101000.

4. Разделим полученное произведение на образующий полином g (х):

.

5. Суммируем остаток с h (х) хn k. В результате получим закодированное сообщение F (x) = x 6 + x 5 + x 3 + 1 = 1101001.

В полученной кодовой комбинации циклического кода информационные символы h (х) = 1101, а контрольные R (х) = 001. Закодированное сообщение делится на образующий полином без остатка:

1101001 / 1011 = 1111.

Для образования циклических кодов можно воспользоваться образующей (порождающей) матрицей. Образующая матрица Gk ´ n составляется на основе единичной матрицы Ik, к которой справа дописывается матрица остатков Rk ´( n k ):

.

Матрица Rk ´( n k ) получается из остатков ri от деления полинома x 2( n k )– i 1на образующий многочлен g (x) для всех строк с номерами i = 1, 2, …, k. Например, для (7, 4)-кода и g (x) = х 3 + х + 1 будут получены остатки, представленные в таблице 7.5.

 

Таблица 7.5

Образование элементов матрицы остатков

i x 2( n k )– i– 1 x 2( n k )– i– 1 / g (x) ri
  x 6 х 3 + х + 1 х 2 + 1 = 101
  x 5 х 2 + 1 х 2 + х + 1 = 111
  x 4 х х 2 + х = 110
  x 3   х + 1= 011

 

Порождающая матрица для (7, 4)-кода с порождающим многочленом g (x) = х 3 + х + 1 имеет вид

.

Для обнаружения ошибок можно использовать проверочную матрицу

.

Например, для (7, 4)-кода проверочная матрица будет следующей

.

Применение порождающей и проверочной матриц точно такое же, как и в случае кодов Хэмминга. Пусть, например, необходимо получить линейный код для 1101. Тогда умножив 1101 на порождающую матрицу, получим искомую кодовую комбинацию 1101001. Теперь, пусть вместо 1101001 была принята комбинация 1101011. Умножив ее на транспонированную проверочную матрицу, получим синдром 010, соответствующий 6 строке этой матрицы, что означает, что необходимо исправить 6 разряд проверяемой кодовой комбинации. Выполнив исправление, получаем 1101001.

Таблица 7.6

Порождающие многочлены


1 | 2 | 3 | 4 |

Поиск по сайту:



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