
- •Введение
- •1.1. Понятия информации и сообщения
- •1.2. Измерение информации
- •1.2.1. Структурные меры информации
- •1.2.2. Статистическая мера информации.
- •2. Кодирование информации
- •2.1. Контрольная работа – часть 1
- •2.1.1. Позиционные системы счисления
- •2.1.2. Смешанные системы счисления
- •2.1.3. Перевод числа из одной системы счисления в другую
- •2.1.4. Код Грея
- •2.1.5. Форма постановки задания
- •2.1.6. Рекомендации по решению задач
- •2.1.7. Примеры решения задач
- •2.1.8. Пример задания по контрольной работе – часть 1
- •2.2. Контрольная работа – часть 2
- •2.2.1. Избыточность сообщений
- •2.2.2. Теоретические основы эффективного кодирования
- •2.2.3. Построение эффективного кода по методам Шеннона-Фано и Хаффмена
- •2.2.4. Теоретические основы помехоустойчивого кодирования
- •2.2.5. Классификация помехоустойчивых кодов
- •2.2.6. Общие принципы использования избыточности при построении корректирующих кодов
- •2.2.7. Коды, обнаруживающие ошибки
- •2.2.8. Примеры решения задач
- •2.2.9. Пример задания по контрольной работе – часть 2
- •2.3. Контрольная работа – часть 3
- •Краткие теоретические сведения
- •2.3.1. Линейные коды, обнаруживающие и исправляющие ошибки
- •2.3.2. Построение двоичного линейного кода
- •2.3.3. Кодирование
- •2.3.4. Синдромный метод декодирования
- •2.3.5. Кодирующее и декодирующее устройства
- •2.3.6. Матричное представление линейных кодов
- •2.3.7. Циклические коды
- •2.3.8. Выбор образующего многочлена
- •2.3.9. Формирование разрешенных кодовых комбинаций
- •2.3.10. Декодирование циклических кодов
- •2.3.11. Схемы деления на образующий многочлен
- •2.3.12. Примеры решения задач
- •2.3.13. Пример задания по контрольной работе – часть 3
- •3. Оформление контрольной работы
- •3.1. Пример оформления отчета по контрольной работе
- •4. Варианты заданий
- •Список литературы
2.3.9. Формирование разрешенных кодовых комбинаций
Наиболее просто
комбинации циклического кода можно
получить, умножая многочлены
,
соответствующие комбинациям безизбыточного
кода, на образующий многочлен
.
Такой способ легко реализуется, но код
при этом получается неразделимым.
Применительно к циклическим кодам
принято отводить под информационные
символы k
старших разрядов, а под проверочные
младших разрядов. Чтобы получить такой
разделимый код, применяется следующая
процедура кодирования.
Многочлен
,
соответствующий k-разрядной
комбинации безизбыточного кода,
умножается на
,
где
.
Затем произведение
делится на образующий многочлен
.
В общем случае при этом получается
некоторое частное
и остаток
.
Последний складывается по модулю 2 с
и в результате получается многочлен
.
(2.30)
Полученный таким
образом многочлен
делится на образующий многочлен
без остатка. Действительно, многочлен
можно записать в виде:
(2.31)
Так как операции
сложения и вычитания по модулю 2
тождественны, то
из правой части равенства (2.31) можно
перенести в левую. Тогда,
,
что и доказывает делимость
на
без остатка.
В комбинации
m
младших разрядов – нулевые, следовательно,
разрешенные КВ циклического кода можно
строить путем приписывания к комбинации
безизбыточного кода
остатка от деления многочлена
на образующий многочлен кода.
Пример
Закодировать циклическим кодом, исправляющим однократную ошибку, комбинацию 1001.
Решение
Согласно заданию:
,
,
требуемое кодовое расстояние кода
.
Для того чтобы код был способен исправлять однократную ошибку, степень образующего многочлена m должна удовлетворять условию:
.
Получаем:
,
.
Из табл. 2.4 выбираем
неприводимый многочлен степени
и числом ненулевых членов, равным 3 (
):
.
Определим число различных остатков:
-
№ остатка
1
0
0
0
0
……
1 0 1 1
1
0
1
1
1
0
1
1
2
1
1
0
1
1
0
0
1
0
1
1
3
1
1
1
1
1
1
0
1
0
1
1
4
1
0
1
1
0
1
0
1
0
1
1
5
0
0
1
6
0
1
0
7
1
0
0
1
0
0
0
В дальнейшем остатки повторяются.
Количество различных
остатков равно 7, следовательно, выбранный
образующий многочлен входит в разложение
многочлена
и не входит в разложение
,
где
,
что и требуется.
Согласно (2.30), для
определения комбинации циклического
кода, соответствующей безизбыточной
комбинации
,
необходимо найти остаток
от деления
на образующий многочлен
и сложить его по модулю 2 с
.
Имеем:
-
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
-
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
,
а искомая комбинация циклического кода
– 1001110.
Разрешенные кодовые комбинации должны делиться на образующий многочлен без остатка. Проверим:
-
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
Вывод: кодирование выполнено правильно.