Информация и информационные процессы Самостоятельные работы Помехоустойчивые коды
Скачать 147.5 Kb.
|
И нформатика, 11 класс К.Ю. Поляков, Е.А. Еремин Самостоятельные работы |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
| | | | | | |
Номера остальных битов раскладываются на сумму степеней двойки, например: 5 = 4 + 1. Разложение справа даёт номера контрольных битов, которые проверяют этот бит данных. Так 5-й бит проверяется контрольными битами 1 и 4.
Значение контрольного бита вычисляется как бит чётности для всех битов, которые он контролирует. Например, бит 1 контролирует биты 3, 5 и 7 (выделены голубым фоном, в их разложении есть 1). Пусть четверка данных – это 1100:
-
1
2
3
4
5
6
7
1
1
0
0
Тогда контрольный бит 1 – это бит чётности для цепочки 110, он равен 0, поскольку число единиц в блоке – чётное.
-
1
2
3
4
5
6
7
0
1
1
1
1
0
0
Задание: используй код Хэмминга, постройте кодовые слова для заданных данных.
*Постройте таблицу кодов Хэмминга для всех двоичных кодов, соответствующих числам от 0 до 15. Для этого используйте электронные таблицы (Excel или OpenOffice.Calc). Для вычисления бита чётности примените функцию вычисления остатка от деления, которая в Excel называется ОСТАТ, а в OpenOffice.Calc – MOD.
Код Хэмминга позволяет исправить одну ошибку и обнаружить две. Признаком ошибки (или ошибок) служит несовпадение контрольных битов со значением, которые вычислено по полученным битам данных. Например, пусть приняты данные
-
1
2
3
4
5
6
7
0
1
1
1
1
1
0
По битам данных (с номерами 3, 5, 6 и 7) рассчитываем значения контрольных битов, которые получаются при безошибочной передаче:
бит 1 = (бит 3 + бит 5 + бит 7) mod 2 = (1 + 1 + 0) mod 2 = 0
бит 2 = (бит 3 + бит 6 + бит 7) mod 2 = (1 + 1 + 0) mod 2 = 0 ≠ 1
бит 4 = (бит 5 + бит 6 + бит 7) mod 2 = (1 + 1 + 0) mod 2 = 0 ≠ 1
Видим, что полученные значения контрольных битов 2 и 4 не совпадают с вычисленными, поэтому при передаче были ошибки. Если предположить, что была только одна ошибка, то номер ошибочного бита вычисляется как сумма номером несовпавших контрольных битов, в данном примере это 2 + 4 = 6. Таким образом, 6-й бит принят неверно, исправленные данные выглядят так:
-
1
2
3
4
5
6
7
0
1
1
1
1
0
0
Это код Хэмминга для числа 11002 = 12.
Задание: устройство приняло приведенные в задании 7-битовые блоки, в каждом из которых не более одной ошибки. Восстановите правильные данные и запишите в десятичной системе счисления числовую последовательность, которую пытались передать.
* Используя электронные таблицы, автоматизируйте исправление ошибок: при вводе 7-битового кода Хэмминга в некоторой ячейке должен появляться номер ошибочного бита или 0, если ошибок нет.
Вариант 1.
11010100 01010111 11001001 11010100 11010100 01000101 11010010
А – 11111, Б – 11000, В – 00100, Г – ?
1) 00000 2) 00011 3) 11100 4) не подходит ни одно из указанных слов
10, 12
1100001 0101110 1001101 0001001
Вариант 2.
01010011 01001111 11001100 01000001 01010010 11001001 01010011
А – 00110, Б – 11000, В – 10011, Г – ?
1) 01101 2) 01001 3) 00011 4) не подходит ни одно из указанных слов
5, 15
0101001 1010011 0100111 1011000
Вариант 3.
11010111 11001001 11001110 01000100 01001111 11010111 01010011
А – 11100, Б – 00110, В – 01011, Г – ?
1) 11001 2) 10010 3) 10001 4) не подходит ни одно из указанных слов
4, 11
1101010 0001100 1111000 0110111
Вариант 4.
01000111 01001111 11001111 11000111 11001100 11000101
А – 01101, Б – 00110, В – 10001, Г – ?
1) 11111 2) 11010 3) 01000 4) не подходит ни одно из указанных слов
6, 10
1111011 0011100 0011000 1101101
Вариант 5.
11011001 01000001 01001110 11000100 11000101 11011000
А – 00101, Б – 01011, В – 10110, Г – ?
1) 10000 2) 01110 3) 11000 4) не подходит ни одно из указанных слов
7, 13
0011010 1100000 1100100 0000011
Вариант 6.
01000001 11001101 01000001 01011010 11001111 11001110
А – 01010, Б – 11001, В – 10100, Г – ?
1) 00000 2) 00111 3) 01101 4) не подходит ни одно из указанных слов
8, 14
0001001 0001011 0101101 0101011
Ответы по вариантам:
Таблица 7-битового кода Хэмминга:
Вариант 1.
2
10 = 1011010, 12 = 0111100
1, 2, 4, 9
Вариант 2.
SOLARIS
1
5 = 0100101, 15 = 1111111
1, 3, 5, 10
Вариант 3.
WINDOWS
3
4 = 1001100, 11 = 0110011
2, 4, 8, 11
Вариант 4.
2
6 = 1100110, 10 = 1011010
15, 12, 9, 1
Вариант 5.
YANDEX
3
7 = 0001111, 13 = 1010101
10, 8, 6, 3
Вариант 6.
AMAZON
2
8 = 1110000, 14 = 0010110
9, 7, 5, 2
http://kpolyakov.spb.ru