Разработка функции для формирования и декодирования кода защиты по паритету

Страницы работы

Содержание работы

Новосибирский государственный технический университет

Кафедра вычислительной техники

 


Лабораторная работа №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;

}

Выводы:

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

Похожие материалы

Информация о работе