
Все задания за 4 курс 7 семестр / Основы теории информации / Примеры решения задач по контрольной работе
.pdfДекодирование кода Хэмминга
Пример: Послана комбинация vk = 0100101. Принятая комбинация vx = 0100111, т.е. имеется ошибка в шестом разряде Составим схему проверок.
1)a1 + a3 + a5 + a7 = 0 + 0 + 1 + 1 = 0 S1 = 0
2)a2 + a3 + a6 + a7 = 1 + 0 + 1 + 1 = 1 S2 = 1
3)a1 + a5 + a6 + a7 = 0 + 1 + 1 + 1 = 1 S3 = 1
S = 110 → это двоичное число шесть, что соответствует разряду a6, следовательно, ошибка в шестом разряде.
Особенности декодирования
Пример: Построить код Хэминга для исправления одиночной и обнаружения двойной ошибки четырёх значного двоичного кода.
0001 nu = 4 nk = 3
Макет кода
а1а2а3а4а5а6а7 k1k20k3001k4
Схема проверок:
1)a1 + a3 + a5 + a7 = k1 + 0 + 0 + 1 = 0 k1 = 1
2)a2 + a3 + a6 + a7 = k2 + 0 + 0 + 1 = 0 k2 = 1
3)a1 + a5 + a6 + a7 = k3 + 0 + 0 + 1 = 0 k3 = 1
1101001k4 |
Количество единиц чётное, следовательно сам код |
11010010 |
|
|
|
Рассмотрим пример для vk = 01001011. Пример обнаружения единичной ошибки.
a1a2a3a4a5a6a7 |
|
vk = 01001011 |
ошибка в четвёртом разряде |
vx = 01011011 |
|
1)Проведим проверки на чётность, которые указывают наличие одиночной ошибки.
2)Проведим проверку по позициям.
Составляем схему проверок
1) a1 + a3 + a5 + a7 = 0 + 0 + 1 + 1 = 0 s1 = 0
2) a2 + a3 + a6 + a7 = 1 + 0 + 0 + 1 = 0 s2 = 0 S = (001) → a4 3) a1 + a5 + a6 + a7 = 1 + 1 + 0 + 1 = 1 s4 = 1
Пример: Обнаружение двойной ошибки.
Vk = 01001011
Vx = 11011011
1)Делаем проверку на чётность, число единиц чётное, следовательно, проверка ошибки не обнаруживает.
2)Делаем проверки по позициям
Схема
1) a1 + a3 + a5 + a7 = 1 + 0 + 1 + 1 = 1 s1 = 1 |
|
2) a2 + a3 + a6 + a7 = 1 + 0 + 0 + 1 = 0 s2 = 0 |
S = (101) |
3)a1 + a5 + a6 + a7 = 1 + 1 + 0 + 1 = 1 s3 = 1
Вэтом случае S не указывает разряд ошибки, но S просто показывает, что она есть.