Получить оригинальное слово Хемминга без контрольных битов - PullRequest
0 голосов
/ 13 июня 2019

Как я могу получить оригинальное слово без кодировки Хэмминга?

Например: У меня есть это закодированное слово Хемминга: 011001101100 Как я могу вернуться к исходному слову? правильный ответ: 00111100

1 Ответ

0 голосов
/ 13 июня 2019

Алгоритм кодирования описан этой статьей в Википедии .Статья содержит таблицу, которая может быть использована для выполнения процесса декодирования вручную.Преобразование процесса декодирования в программное обеспечение оставлено читателю в качестве упражнения.

enter image description here

Сначала напишите полученное кодовое слово в нижней части таблицы.Затем для каждой строки вычислите четность и запишите ее в столбец справа.Например, для строки p8 нам нужна четность пяти битов в конце кодового слова, как указано красными крестиками.Если в указанных позициях имеется четное число битов 1, запишите 0 в правом столбце, в противном случае запишите 1.

Полученное двоичное число в правом столбце (MSB внизу) указывает битположение бита с ошибкой.Если число равно 0, то ни один бит не содержит ошибку.В этом примере правый столбец содержит число 3, поэтому в битовой позиции 3 есть битовая ошибка.

Чтобы завершить декодирование, выполните следующие действия:

0110 0110 1100     the received code word
0100 0110 1100     flip the bit that has the error (bit 3 in this example)
__0_ 011_ 1100     remove the parity bits

и остальныебиты 00111100.

...