Путаница кода Хэмминга

Мне трудно ответить на эту проблему. Вот оригинальный вопрос:

Слово кодируется контрольными битами 0111 (с8, с4, с2 и с1). Слово читается как 11101011 (данные). Что такое оригинальное слово данных?

Я подумал, что, поскольку есть 4 контрольных бита, это должно быть 4-битное слово памяти, в котором всего 16 возможных слов: 0000, 1000, 0100, 1100, 0010, 1010, 0110, 1110, 0001, 1001, 0101, 1101, 0011, 1011, 0111, 1111, Следовательно, каждое кодовое слово имеет 8 битов, а контрольные биты находятся в позициях 1, 2, 4 и 8.

  • бит 1 проверяет четность по битам: 1, 3, 5, 7, 9, 11
  • бит 2 проверяет четность по битам: 2, 3, 6, 7, 10, 11
  • бит 4 проверяет четность по битам: 4, 5, 6, 7, 12
  • бит 8 проверяет четность по битам: 8, 9, 10, 11, 12

Я также знаю, что для установки бита четности равным 1, если общее количество проверок 1 нечетно, а если для всех 1 проверено четное, то установить бит четности равным 0.

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

Это то, что происходит в этом вопросе?

1 ответ

Решение

Сообщение: 11000010

Метод А:

CBA987654321  <-- Hexadecimal
1100?001?0??

C=1100
B=1011
5=0101
______
X=0010

Тестируйте каждый бит по вертикали (XOR).

Решение:

1100?001?0??
    0   0 10

110000010010

Метод Б:

CBA987654321  <-- Hexadecimal
1100?001?0??
Другие вопросы по тегам