Кодовое расстояние и корректирующая способность кода
Под корректирующей способностью кода понимается его свойство обнаруживать и/или исправлять ошибку максимальной кратности g. Корректирующая способность кода связана с его кодовым расстоянием.
Расстоянием dij между кодовыми комбинациями (кодами) i и j называется число различных разрядов в кодовых комбинациях i и j.
Коды 01 и 10, расстояние между ними равно 2 - они различаются в двух разрядах.
Кодовым (минимальным кодовым) расстоянием d для кода, содержащего N кодовых комбинаций, является минимальное расстояние между всеми парами кодовых комбинаций, т.е.
Кодовая таблица:
-
Исходные символы
Двоичные коды
a
00
b
01
c
10
d
11
Тогда расстояния между кодовыми комбинациями имеют значения:
dab = 1; dad = 2; dbd = 1; dac = 1; dbc = 2; dcd = 1.
d = min{1, 2, 1, 1, 2, 1} = 1
Это означает, что всякая ошибка кратности 1 (и более) переводит исходную кодовую комбинацию в другую кодовую комбинацию, которая также принадлежит кодовой таблице.
Увеличить кодовое расстояние можно, введя в кодовые комбинации дополнительный разряд (или разряды). Тогда исходные разряды называют информационными, а дополнительные – проверочными или контрольными.
Для кодов из приведенной выше таблицы введем дополнительный разряд и сформируем его значение
-
Исходные символы
Информационные разряды кода
Проверочный разряд кода
Результирующий код
a
00
0
000
b
01
1
011
c
10
1
101
d
11
0
110
Таким образом, полученный код является трехразрядным.
Определим кодовое расстояние полученного кода. Для этого вначале выясним расстояния между кодовыми комбинациями:
dab = 2; dad = 2; dbd = 2; dac = 2; dbc = 2; dcd = 2
d = min{2, 2, 2, 2, 2, 2} = 2
*Пусть передается кодовая комбинация, соответствующая символу c, – 101. Пусть на нее накладывается ошибка кратности 1. Возможные результаты искажения приведены в таблице:
-
Передаваемая кодовая комбинация
Ошибка
Принимаемая кодовая комбинация
101
001
100
101
010
111
101
100
001
Получаемые кодовые комбинации невозможно декодировать, так как они отсутствуют в результирующем коде (см. таблицу выше).
В общем случае
,
где
- кодовое расстояние,
-
число обнаруживаемых ошибок,
- число исправляемых ошибок
