Будьте внимательны! Проект находится в тестовой эксплуатации!
Играй - Развивайся - Поступай в ТПУ
Информатика

1.5.4. Вычислимые функции, полнота формализации понятия вычислимости, универсальная вычислимая функция Кодирование с исправлением ошибок

Рейтинг: 0

Коды

Самоконтролирующиеся коды – это коды, которые позволяют обнаружить наличие ошибок.

Блочные коды – это коды, в которых информация передается по частям, блокам одинаковой длины.

Самокорректирующиеся коды – это коды, позволяющие обнаружить непосредственное место ошибки.

Код Хэмминга – самоконтролирующийся и самокорректирующийся код. В соответствии с ним к исходному сообщению добавляют контрольные биты, каждый из которых проверяет наличие ошибки в определенной группе битов сообщения.

Пронумеруем биты в результирующем сообщении. Контрольные биты размещают в нем на позициях, чьи номера являются степенями 2; остальные позиции занимают биты исходного сообщения. Рассмотрим номера всех позиций в двоичной системе счисления. Группы проверок организуют так: в первой группе – все позиции с номерами, в двоичной записи которых в младшем бите стоит 1; во второй группе – все позиции с номерами, в записи которых во втором по старшинству бите стоит 1; в третьей – если у номера в третьем по старшинству бите 1 и т.д. Для каждой группы заполним соответствующий ей проверочный бит, дополняющий сумму единиц в группе битов до четного числа.

Посмотрим, сколько же проверяющих разрядов понадобится. Пусть результирующее сообщение длиной n бит состоит из m информационных и k проверочных бит. Тогда k должно быть равно длине двоичной записи максимального номера последовательности:

\(k={{\log }_{2}}(n+1)\)

Количество m информационных бит определяется так:

\(k={{\log }_{2}}(m+k+1)\Leftrightarrow m+k+1={{2}^{k}}\Leftrightarrow m={{2}^{k}}-k-1\)

Таблица соответствия информационных и контрольных битов 

k

2

3 4 5 6

m

1

2-4

5-11

12-26

27-57

Допустим, при передаче сообщения произошла ошибка с номером x. Достаточно узнать, в каких разрядах двоичного разложения x стоят единицы, чтобы получить весь номер x. Вычислим для принятого сообщения контрольные биты и выясним, какие из них не сходятся с полученными. Допустим, не сходится контрольный бит, отвечающий за группу битов, номера которых содержат единицу, например, в 4-м разряде. Значит, в числе x в 4-м разряде единица. Таким образом, можно восстановить весь номер x.

Время на изучение: 10 минут

Другие материалы по данной теме

  Определение

Самокорректирующиеся коды

Изучить
  • 1
  • 2
  • 3