6 - Кодирование с обнаружением ошибок

1. Сообщение разбито на блоки длиной по 3 бита каждый:
 101 000 111 001
Для передачи сообщения по сети в конец каждого блока добавляется бит чётности. Запишите сообщение, готовое к передаче (без пробелов).
Ответ: 
2. По сети получено сообщение
 100111111010
которое состоит из 4-битных блоков. В каждом блоке последний бит - это бит чётности. Постройте исходное сообщение, удалив биты чётности.
Ответ: 
3. Петя закодировал сообщение с помощью кодовой таблицы (см. рисунок). В конец каждого кодового слова он добавил бит чётности, после чего передал сообщение по сети Васе. Вася получил такое сообщение:
 101000010110001101 
При передаче произошли ошибки. Декодируйте сообщение, заменив знаками * символы, которые переданы с ошибкой.
Ответ: 
4. Степан закодировал секретное сообщение с помощью таблицы (см. рисунок) и передал по сети Кириллу, повторяя каждый бит три раза подряд. Кирилл получил такое сообщение (при передаче произошли ошибки):
 011101100110011100 
Декодируйте сообщение, считая, что при передаче каждой тройки битов было не более одной ошибки.
Ответ: 
5. Цепочка битов была передана по сети, причём для надёжности каждый бит передавался три раза подряд. К сожалению, при передаче произошли ошибки и было получено такое сообщение:
 110011011101 
Восстановите исходную цепочку (без утроения битов), считая, что при передаче каждой тройки битов произошло не более одной ошибки.
Ответ: 
6. Определите расстояние Хэмминга между кодовыми словами:
 1011010 и
 1010111
Ответ: 
7. Сообщение было закодировано с помощью кодовой таблицы (см. рисунок). В ней любые два кодовых слова отличаются не менее, чем в трёх битах. Во время передачи по сети произошли ошибки и было получено такое сообщение:
 10101101001100110010 
Декодируйте полученное сообщение, исправив ошибки. Считайте, что во время передачи каждого кодового слова произошло не более двух ошибок. Если ошибку нельзя исправить, вместо символа пишите знак *.
Ответ: