Ташатов Н.Н.
Евразийский национальный университет им. Л.Н. Гумилева, г. Астана
КОДИРОВАНИЕ ЦИКЛИЧЕСКИХ КОДОВ В СИСТЕМАТИЧЕСКОЙ ФОРМЕ
В статье [4] было введено понятие систематическая форма и рассмотрено уменьшение сложности, которое делает эту форму кодирования более привлекательной. Используем некоторые алгебраические свойства циклического кода для развития процедуры систематического кодирования.
Запишем вектор сообщения в форме многочлена степени k – 1 следующим образом:
. (1)
Символы сообщения в систематической форме используются как часть кодового слова. Сдвинем символы сообщения в k крайних правых разряда кодового слова, а затем прибавим биты четности, разместив их в крайние левые п – k разряды. Такой сдвиг не вызывает переполнения п–
разрядного регистра сдвига. Таким образом, осуществляем алгебраическую манипуляцию многочлена сообщения, и он оказывается сдвинутым вправо на п - kпозиций. Умножив m(X) на , получаем сдвинутый вправо многочлен сообщения:
. (2)
Регистр сдвига
0 n-1
0 … 0 0 …
Вектор сообщения
Рисунок 1 – Сдвиг многочлена в регистре сдвига с обратными
связями длины п на p = п – k позиций
Разделив уравнение (2) на g(X), получим:
. (3)
Остаток р(Х) записывается следующим образом:
, (4)
или
по модулю . (5)
Прибавим р(Х) к обеим частям уравнения (3) и используя сложение по модулю 2, получим [1, 3]:
. (6)
Из (6) вытекает алгоритм кодирования систематического циклического (n, k) – кода:
1. Вектор сообщения в форме многочлена m(X), степени k –
1, умножается на полином ;
2. Находится остаток р(Х) от деления на g(X);
3. Многочлен р(Х) заносится в п – k левых разрядов регистра сдвигов
(см. рис. 1)
Левая часть уравнения (6) является действительным многочленом кодового слова, так как это многочлен степени не превышающая п – 1, который при делении на g(X) дает нулевой остаток. Это кодовое слово будет выглядеть следующим образом:
. (7)
Многочлен кодового слова соответствует вектору кода [1, 2]
. (8)
Рассмотрим пример циклического кода в систематической форме.
Пусть дан вектор сообщения m = 1 0 0 1 1. Из набора кодовых слов (7, 4) с помощью порождающего многочлена надо получить систематическое кодовое слово.
. (9)
. (10)
Разделим на g(X), получим:
. (11)
Используя уравнение (6), получаем следующее:
. (12)
. (13)
СПИСОК ЛИТЕРАТУРЫ
1. Скляр Б. Цифровая связь. Теоретические основы и практическое
применение. Изд. 2-е, испр.: Пер. с англ. – Издательский дом
«Вильямс», 2004. – 1104 с. ил.
2. Вернер М. Основы кодирования. Москва: Техносфера, 2004. – 288 с.
3. Березюк Н.Т., Андрущенко А.Г., Мощицкий С.С. Кодирование
информации (двоичные коды). Харьков, издательское объединение
«Вища школа», 1978, 252 с.
4. Ташатов Н.Н. Систематические линейные блочные коды с контролем четности. // Вестник ПГУ им. С.М. Торайгырова. – 2007. – № (в печати).