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