
- •Вечерний электрорадиотехнический факультет
- •3.2Математическое представление сигналов.
- •3.3Аналоговые линии и каналы передачи информации
- •3.3.1Классификация кабелей связи
- •3.4Математические модели аналоговых линий и каналов связи.
- •3.4.1Искажения сигналов, вызванные ограниченностью ачх
- •3.4.2Искажения сигнала из-за нелинейности фчх
- •3.4.3Электрические параметры кабелей. Математическая модель кабельной цепи.
- •3.4.4Система многоканальной связи с частотным разделением каналов
- •3.4.5Системы многоканальной связи с временным уплотнением
- •3.5Каналы тональной частоты и их характеристики
- •3.6Математические модели дискретных каналов связи
- •3.6.1Модель двоичного симметричного канала
- •3.6.2Модель
- •3.6.3Модель на основе опп
- •4Помехоустойчивость передачи данных
- •4.1Общий принцип генерации сигналов – «данных»
- •4.2Восстановление вектора по сигналу
- •4.3Прием сигналов как задача теории решений
- •4.4Потенциальная помехоустойчивость
- •4.5Приемник на согласованных фильтрах
- •4.6Расчет вероятности ошибок при приеме дискретных сигналов
- •4.7Примеры помехоустойчивых систем сигналов
- •4.7.1Бинарные противоположные сигналы
- •4.7.2Бинарные ортогональные сигналы
- •4.7.4Биортогональные сигналы
- •4.7.5Сигналы с прямоугольной конфигурацией векторов
- •4.7.6Симплексные сигналы
- •5Помехоустойчивое кодирование
- •5.1Основные понятия теории кодирования
- •5.2Примеры корректирующих кодов
- •5.2.1Код с четным числом единиц
- •5.2.2Коды с постоянным весом
- •5.2.3Инверсный код с повторением
- •5.2.4Код Хэмминга
- •5.2.5Модифицированный код Хэмминга
- •5.3Классификация избыточных кодов
- •5.4Линейные коды
- •5.4.1Алгебраические основы теории кодирования
- •5.4.2Задание линейных кодов
- •5.4.3Свойства линейных кодов
- •5.4.4Декодирование линейных кодов. Алгоритм максимального правдоподобия.
- •5.4.5Синдромное декодирование
- •5.4.6Мажоритарный декодер.
- •5.5Циклические коды. Необходимое и достаточное условие цикличности.
- •5.6Способы задания и кодирование циклическими кодами
- •5.7Разложение двучленов примитивной длины на простые множители
- •6.6.1 Коды бчх. Выбор образующих многочленов.
- •5.8Разложение двучленов непримитивной длины на простые множители
- •5.9Основные теоремы об ошибках, обнаруживаемых циклическими кодами
- •5.10Способы декодирования с исправлением ошибок. Декодеры Меггита.
- •5.11Декодер Питерсона-Горенстейна-Цирлера
- •6Модемы
- •6.1Интеллектуальные возможности модемов
- •7Стандарт ат-команды
- •8Протоколы исправления ошибок arq.
- •8.1Формат кадра
- •9Схема построения сети Интернет
5.2.4Код Хэмминга
Код Хэмминга
относится к линейным систематическим
корректирующим кодам с проверкой на
четность. Этот код строится путем
добавления к «
»
информационным символам, образующим
кодовую комбинацию,
проверочных символов. Проверочные
элементы получаются по результатам
проверки на четность групп символов.
Так, если к последовательности двоичных
символов
добавляется двоичный символ
так, что последовательность
содержит четное число единиц, то говорят:
- определяется проверкой на четность.
В основу построения кода Хэмминга положены следующие правила:
При кодировании
к
информационным двоичным символам путем
проверок на четность добавляется
проверочных двоичных символов (во всей
группе, включая проверочный, число
единиц всегда четно, каждая проверка
охватывает определенную группу символов).
При декодировании
проверяются на четность те же группы.
Если число единиц в группе четно, то
результат проверки -
принимается равным «0», в противном
случае – «1» (произошла ошибка). Если
проверка дала в результате «1», то это
означает, что исказился один из символов,
входящий в
-ю
группу.
Проверочные группы
выбираются так, чтобы, записав результаты
проверок
в виде двоичного числа
получился номер искаженного элемента.
Это требование
позволяет определить число необходимых
проверочных разрядов. Число элементов
в коде -
,
число разрядов двоичного числа, которое
указывает номер искаженного элемента
-
,
следовательно,
;
.
Иначе, при передаче может быть искажен
любой символ (п) или искажений нет
(1) – столько вариантов надо различать
с помощью проверок.
;
;
.
Найдем правило, согласно которому определяется состав проверочных групп. Мы потребовали, чтобы число указывало двоичный номер искаженного символа. «1» в -ом разряде этого числа указывает на то, что исказился символ, двоичный номер которого содержит «1» в -ом разряде. Значит, проверка, в результате которой получается , должна охватывать все символы, порядковые двоичные номера которых содержат «1» в -ом разряде.
Удобно, чтобы проверочный элемент, при этом, входил только в одну из групп проверок. В противном случае получится дополнительная неопределенность.
Таким образом, контролирует разряды -разрядного числа 1, 3, 5, 7, 9,…
: 2, 3; 6, 7; 10, 11; 14, 15
:
4, 5, 6, 7, 12, 13, 14, 15,…
:
8, 9, 10, 11, 12, 13, 14, 15; и т.д.
Элементы, входящие в каждую из проверочных групп только один раз, имеют номера 1, 2, 4, 8, 16, 32 и т.д. их мы и выбираем в качестве контрольных.
Процедуру кодирования – декодирования кодом Хэмминга проиллюстрируем примером.
Пусть
.
Тогда, согласно
;
,
получим
.
-
двоичные символы
а1
а2
а3
а4
а5
а6
а7
а8
а9
итог кодирования
0
0
1
1
0_
1
0
1
1
Пусть хотим передать
сообщение 10101. Записываем его в позициях
информационных разрядов:
.
Находим значения контрольных символов.
1.
2.
3.
4.
Получим: 001101011
Пусть в канале при передаче исказился седьмой символ и принято сообщение 001101111.
Определим номер искаженного символа и декодируем сообщение.
Определили номер искаженного символа и инвертируем его (символ), т.е. передавалось: 10101.
Если получим
,
это говорит об отсутствии ошибок. Если
точнее на отсутствие одиночных ошибок;
с двойными, тройными и более высокой
кратности ошибками этот код бороться
не может.