Кафедра вычислительной техники
Лабораторная работа №1
по дисциплине «Кодирование и передача данных»
Группа: АМ-109
Студенты:
________________
________________
________________
Новосибирск 2004
Разработать функции для формирования и декодирования кода защиты по паритету.
На вход поступает байт в котором 7 бит – информационные, а восьмой – контрольный. В контрольный старший бит помещается результат свертки по модулю 2. Проверка правильности переданных данных проверяется результатом свертки по модулю 2 (если результат 1, то ошибка).
Следует отметить что с помощью кода защиты по паритету определяется однократная ошибка при передаче данных.
Кодирование |
Декодирование |
unsigned char coder(unsigned char info) { int i; unsigned char c, a,b,p; c = info; a=c; // Rezultat svertki zapisivaem v starshiy (praviy) bit a<<=1; p = a >> 7; a<<=1; for(i=1;i<7;i++) { b = a >> 7; p = p ^ b; a<<=1; } c=c | (p<<7); return c; } |
unsigned char decoder(unsigned char info) { int i; unsigned char c, a,b,p; c = info; a=c; p = a >> 7; a<<=1; for(i=1;i<8;i++) { b = a >> 7; p = p ^ b; a<<=1; } c=c | (p<<7); return c; } |
Были реализованы функции кодирования и декодирования данных и проверена их работа при передаче данных без ошибки и с единичной ошибкой, двойной ошибкой. Поставленную цель можно считать выполненной.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.