Коды Хемминга

Написать программу расчет кодов Хемминга и программу для проверки корректности входных данных.

Алгоритм работы первого модуля:

  1. Открытие входного файла на чтение
  2. Считывается байт
  3. Байт кодируется кодом Хемминга
  4. Результат добавляется к битовому буферу
  5. Битовый буфер побайтно записывается в выходной файл. Записанные биты удаляются из буфера.
  6. Переход на шаг 2 до окончания входного файла.
  7. Если в буфере остались незаписанные биты, то они добиваются до байта нулями и записываются в выходной файл.

Алгоритм работы второго модуля:

  1. Открытие входного файла на чтение
  2. Считывается n-байт и добавляются к битовому буферу.
  3. Информация декодируется кодом Хемминга, если есть ошибка, то вывод сообщения о позиции ошибки и завершение работы.
  4. Раскодированная и проверенная информация записывается в выходной файл.
  5. Необработанные баты добавляются к битовому буферу.
  6. Переход на шаг 2 до окончания входного файла.

Создание кода Хемминга для 1 байта (8 бит)

Исходное сообщение [0][1][2][3][4][5][6][7]

Результат [X1][X2][0][X3][1][2][3][X4][4][5][6][7]

X1 = И0 + И1 + И3 + И4 + И6

X2 = И0 + И2 + И3 + И5 + И6

X3 = И1 + И2 + И3 + И7

X4 = И4 + И5 + И6 + И7

X рассчитывает по модулю 2

При проверке необходимо повторить расчет и проверить расчетные данные с фактическими. Если результат не сходится, то значит есть как минимум одна ошибка при передаче информации.

Last modified: Monday, 16 April 2012, 11:06 AM