Теория информации


Совершенные и квазисовершенные коды


Групповой -код, исправляющий все ошибки веса, не большего , и никаких других, называется совершенным.

Свойства совершенного кода2):

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

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

и , удовлетворяющих условию совершенности кода очень мало. Но и при подобранных , и

совершенный код можно построить только в исключительных случаях.

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

Двоичный блочный -код называется оптимальным, если он минимизирует вероятность ошибочного декодирования. Совершенный или квазисовершенный код - оптимален. Общий способ построения оптимальных кодов пока неизвестен.

Для любого целого положительного числа существует совершенный -код, исправляющий одну ошибку, называемый кодом Хэмминга (Hamming), в котором и .

Действительно, .

Порядок построения кода Хэмминга следующий:

  1. Выбираем целое положительное число . Сообщения будут словами длины , а кодовые слова - длины ;
  2. В каждом кодовом слове

    бит с индексами-степенями двойки - являются контрольными, остальные - в естественном порядке - битами сообщения. Например, если , то биты - контрольные, а - из исходного сообщения;

  3. Строится матрица из строк и столбцов.


    Начало  Назад  Вперед