Изучение принципов кодирования по паритету. Реализация функции кодирования и декодирования байта по паритету

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

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

Министерство общего и профессионального образования Российской Федерации

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

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

Лабораторная работа №1

по дисциплине “Кодирование и передача данных”

Тема: “ Кодирование по паритету”

Группа: АМ

Студенты: ______________

______________

______________

______________

Проверил: Титов Г. И.

1.  Цель работы

         Изучить принципы кодирования по паритету. Реализовать функции кодирования и декодирования байта по паритету.

2.  Реализация функций

          Кодирование:

char encode(char value)

{

  char out = value;

  int sum = 0;

  for (int n = 0; n < 7; n++)

  {

    sum += value % 2;

    value /= 2;

  }

  out = out | (sum % 2) << 7;

  return out;

}

     Декодирование:

char decode(char value)

{

  int in = value;

  int out = value;

  int sum = 0;

  if ((in & 0x7F) != in)

  {

    sum++;

    in &= 0x7F;

  }

  for (int n = 0; n < 8; n++)

  {

    sum += in % 2;

    in /= 2;

  }

  if (sum % 2 == 0)

    return (out & 0x7F);

  return (out | 0x80);

}


3.  Блок-схемы алгоритмов

Блок-схема кодирования         Блок-схема декодирования

4.  Вывод

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

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

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