
- •6. Кодирование информации
- •6.1. Общие понятия и определения. Цели кодирования
- •6.2. Кодирование как процесс выражения информации в цифровом виде
- •6.3. Эффективное кодирование
- •6.3. Структурная схема передачи информации
- •6.4. Помехи и ошибки в каналах связи
- •6.5. Передача информации по каналу с помехами
- •6.6. Классификация кодов
- •6.7. Основные характеристики кодов
- •6.8. Геометрическая интерпретация кода
- •6.9.Избыточные коды и принципы использования избыточности
- •6.9.1. Общие положения
- •6.9.2. Связь корректирующей способности кода с кодовым расстоянием
- •6.9.3. Основные методы повышения достоверности передачи информации избыточными кодами
- •6.9.4. Условия целесообразности применения избыточных кодов
- •6.10. Построение двоичного группового кода
- •6.10.1. Определение числа избыточных символов
- •6.10.2. Составление таблицы опознавателей
- •6.10.3. Определение проверочных равенств
- •6.10.4. Мажоритарное декодирование групповых кодов
- •6.11. Матричное представление линейных кодов
- •6.12. Построение циклических кодов
- •6.12.1. Общие понятия и определения
- •6.12.2. Математическое введение к циклическим кодам
- •6.12.3. Требования, предъявляемые к образующему многочлену
- •6.12.4. Выбор образующего многочлена по заданному объему кода и заданной корректирующей способности
- •6.12.4.1. Обнаружение одиночных ошибок
- •6.12.4.2. Исправление одиночных или обнаружение двойных ошибок
- •6.12.4.3. Обнаружение ошибок кратности три и ниже
- •6.12.4.4. Обнаружение и исправление независимых ошибок произвольной кратности.
- •6.12.4.5. Обнаружение и исправление пачек ошибок
- •6.12.5. Методы образования циклического кода
- •6.12.5.1. Матричная запись циклического кода
- •6.12.5.2. Укороченные циклические коды
- •6.12.6. Технические средства кодирования и декодирования для циклических кодов
- •6.12.6.1. Линейные переключательные схемы
- •6.12.6.2. Кодирующие устройства
- •6.12.6.3. Декодирующие устройства
- •Список литературы
- •Оглавление
6.9.2. Связь корректирующей способности кода с кодовым расстоянием
Для оценки степени различия между произвольными комбинациями данного кода используется понятие минимального кодового расстояния dmin. Для обнаружения всех ошибок кратности доtoэто расстояние должно удовлетворять следующему условию:dminto +1.
Рассмотрим, например, код cn=3,предназначенный для обнаружения всех однократных ошибок, т. е.dmin= 2. Кодовые комбинации данного кода:
V1V2V3V4V5V6V7V8
000; 001; 010; 01l; 100; 101; 110; 111.
Кодовая матрица расстояний выглядит следующим образом.
V |
V1 |
V2 |
V3 |
V4 |
V5 |
V6 |
V7 |
V8 |
V1 |
0 |
1 |
1 |
2 |
1 |
2 |
2 |
3 |
V2 |
1 |
0 |
2 |
1 |
2 |
1 |
3 |
2 |
V3 |
1 |
2 |
0 |
1 |
2 |
3 |
1 |
2 |
V4 |
2 |
1 |
1 |
0 |
3 |
2 |
2 |
1 |
V5 |
1 |
2 |
2 |
3 |
0 |
1 |
1 |
2 |
V6 |
2 |
1 |
3 |
2 |
1 |
0 |
2 |
1 |
V7 |
2 |
3 |
1 |
2 |
1 |
2 |
0 |
1 |
V8 |
3 |
2 |
2 |
1 |
2 |
1 |
1 |
0 |
Как видно из матрицы расстояний, в качестве разрешенных комбинаций в этом случае выбираем следующие: V1=000;V4=01l;V6=101;V7=110; либоV2=001;V3=010;V5=100;V8=111.
Для обнаружения двукратных ошибок кодовое расстояние dmin=З. При этом в качестве разрешенных комбинаций можно выбратьV1 = 000 иV8 = 111, либоV2 =001 иV7= 110, либоV3=010 иV6=101, либоV4=011 иV5=100. Очевидна справедливость условия:dn.Поэтому в принципе невозможно обнаружить ошибки кратностью, равнойn.
Для исправления ошибок кратности tикодовое расстояние должно удовлетворять условиюdmin2tи +1.
При этом все множество кодовых запрещенных комбинаций разбивается на N непересекающихся подмножеств, каждое из которых ставится в соответствие одной из разрешенных комбинаций. При получении запрещенной комбинации, принадлежащей i-му подмножеству, принимается решение о том, что передавалась разрешенная комбинация Vi. Способ разбиения на подмножества зависит от того, какие ошибки должны исправляться данным кодом.
Пример.Построить код со значностьюn= 3 (cм. предыдущий пример), предназначенный для исправления однократных ошибок Минимальное кодовое расстояние при этомdmin2*1 +1= 3.
Выбираем в качестве первой разрешенной комбинации V2 = 001. При наличии однократных ошибок данная комбинация может перейти в одну из запрещенных комбинацийV6=l01,V4=011,V1=000, которые можно принять в качестве подмножества запрещенных комбинаций вектораV2, т. е. в случае приема одной из комбинаций этого подмножества выносится решение, что передан векторV2. Пусть в качестве второй разрешенной комбинации выбирается вектор, отстоящий от первого на расстоянии d = 2,V5=100. Ему должно соответствовать подмножество запрещенных комбинацийV1= 000, V7 = 110,V6= 101. Получилось пересечение подмножеств. При приеме запрещенных сигналовV1 илиV6 нельзя однозначно установить, какой был передан сигнал —V2 илиV5.
Если же в качестве второй разрешенной комбинации выбрать комбинацию, отстоящую от V2 на d = 3, т. е. комбинациюV7 = 110, которой соответствует подмножество запрещенных комбинацийV3=010,V5=100,V8=111, то подмножества запрещенных комбинаций не пересекаются. Следовательно,dmin=3 обеспечивает исправление всех однократных ошибок.
Для исправления всех ошибок кратности до tии одновременного обнаружения всех ошибок кратности не болееto(приto tи) кодовое расстояние должно удовлетворять условию
dmin to + tи + 1.
При этом нужно иметь в виду, что, если обнаруженная кодом ошибка имеет кратность to tи, такая ошибка исправлена быть не может, т. е. в данном случае код только обнаруживает ошибку. Корректирующие возможности кода в зависимости от кодового расстояния иллюстрирует таблица.
dmin |
to |
tи |
Возможность, даваемая кодом |
1 |
0 |
0 |
Отличать одну комбинацию от другой |
2 |
1 |
0 |
Обнаруживать однократные ошибки |
3 |
1 |
1 |
Исправлять (с обнаружением) однократные ошибки |
3 |
2 |
0 |
Обнаруживать двукратные ошибки |
4
|
2
|
1
|
Исправлять однократные и обнаруживать двукратные ошибки |
4 |
3 |
0 |
Обнаруживать трехкратные ошибки |
5 |
2 |
2 |
Исправлять (с обнаружением) двукратные ошибки |
5
|
3
|
1
|
Исправлять однократные и обнаруживать трехкратные ошибки |
5 |
4 |
0 |
Обнаруживать четырехкратные ошибки |
Идея построения кода с данной корректирующей способностью, следовательно, заключается во внесении в него такой избыточности, которая обеспечила бы расстояние между любыми кодовыми комбинациями данного кода не менее dmin. К сожалению, вопрос об определении минимального количества избыточных символов не решен. Существует лишь ряд верхних и нижних оценок (границ):
1) граница Хэмминга
rlog2(1+Cin), где 1i(dmin-1)/2;
2) граница Плоткина
r2d–2 -log2d;
3)
граница Элайеса
rlog2
Cmnlog2d, гдеm= 0,5n( 1- 1-2(d-1)/2
);
4) граница Варшамова—Гильберта
rlog2(1+Cin), где 1idmin-1.
Экспериментально установлено, что наиболее близкие значения дает граница Варшамова — Гильберта. Все приведенные границы позволяют сделать вывод, что при выполнении одного из приведенных условий имеется возможность построить код с данными параметрами.
Для кодов с dmin= 3 получено точное соотношение между числом проверочных символов r и длиной кодаn:
r log2 (n + 1).