Код Хэмминга

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

Исправляющую способность кода достигается за счет многократных проверок на четность определенных групп разрядов. L – число информационных разрядов кода. K – контрольный разряд. N = L + K – их общее число.

По результатам проверок на четность любого числа групп из k – контрольных разрядов можно получить различных двоичных комбинаций.

Общее число одиночных ошибок, которое может быть в n – разрядах, в том числе отсутствие ошибок дает нам n + 1 указание на число ошибок и их отсутствие. .

1. L=1 код «1 из 3».

000 – 0

111 – 1

X X  
X   X

0 0 0 - 0

1 1 1 - 1

Этот код имеет , позволяет исправлять м ,

X X  
X   X

 

0

1
1 1 1

Если k = 3 то L:

Получается код «4 из 7».

x x x x      
x x     x x  
x   x   x   x

 

L=11 K=4 N=15 «11 из 15»

L=26 K=5 N=31 «26 из 31»

 

Используется для оптимизации кодирования, при котором часто встречающиеся символы кодируются с малым числом разрядов, а редко встречающиеся кодируются с большим количеством разрядов, при этом средняя нагрузка на любой разряд становится одинаковой для всех символов. В обычном двоичном неизбыточном коде все разряды считаются равновероятными и кодовые комбинации из n разрядов в среднем числа 0 и 1 одинаковы.

Вероятность появления нуля P(0) = P(1) = ½.

По формуле Хартли количество информации в этой комбинации

При n разрядов