Коды Хемминга
Написать программу расчет кодов Хемминга и программу для проверки корректности входных данных.
Алгоритм работы первого модуля:
- Открытие входного файла на чтение
- Считывается байт
- Байт кодируется кодом Хемминга
- Результат добавляется к битовому буферу
- Битовый буфер побайтно записывается в выходной файл. Записанные биты удаляются из буфера.
- Переход на шаг 2 до окончания входного файла.
- Если в буфере остались незаписанные биты, то они добиваются до байта нулями и записываются в выходной файл.
Алгоритм работы второго модуля:
- Открытие входного файла на чтение
- Считывается n-байт и добавляются к битовому буферу.
- Информация декодируется кодом Хемминга, если есть ошибка, то вывод сообщения о позиции ошибки и завершение работы.
- Раскодированная и проверенная информация записывается в выходной файл.
- Необработанные баты добавляются к битовому буферу.
- Переход на шаг 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