§3.5. Код Хэмминга.

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

Исправляющую способность кода достигается за счет многократных проверок на четность определенных групп разрядов. 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 разрядов 

Если сообщения и символы имеют разные вероятности

P(A) = ½    P(B) = ¼  P(C) = 1/8   P(D) =1/8    

 

 

 

 

Математическое ожидание от М (число разрядов)