69438

Код Бергера Код Эллайеса

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

Информатика, кибернетика и программирование

Цель: Изучить код Эллайеса выяснить особенности его построения и применения Краткие теоретические сведения Коды Бергера относятся к разряду несистематических кодов. Существует несколько вариантов построения кодов Бергера. Например сообщение 011010 закодированное кодом Бергера выглядит как 011010100.

Русский

2014-10-04

104 KB

16 чел.

Министерство науки и образования Украины

Университет развития человека «Украина»

Отчет по лабораторной работе
Дисциплина Теория информации и кодирования
Тема: Код Бергера Код Эллайеса

Принял: Вишталь

Выполнил:
студент 3  курса гр.КС-31
Гребинь Д. А.

Киев 2005

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

Тема: Код Бергера

Цель: Изучить код Эллайеса, выяснить особенности его построения и применения

Краткие теоретические сведения

    Коды Бергера относятся к разряду несистематических кодов. Существует несколько вариантов построения кодов Бергера. В наиболее простом варианте кодирование происходит следующим образом: в информационной части кода подсчитывается число единиц, после чего формируются проверочные разряды, представляющие инвертированную запись этого числа в двоичной форме. Таким образом, число проверочных разрядов R равно наименьшему целому числу, превышающему Log2( k ), т.е R >= Log2( k ). Например, сообщение 011010, закодированное кодом Бергера, выглядит как 011010100.

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

Пример.

  1.  Подлежащие передачи информационные символы 011010.
  2.  Двоичная запись количества единиц 011.
  3.  Инвертированая двоичная запись 100.
  4.  Переданное слово (закодированное) 011010100.
  5.  Слово, принятое с двумя ошибками 001010000.
  6.  Двоичное число, полученное путем подсчета информационных единиц 010.
  7.  Инвертированое двоичное число принятых проверочных символов 111.
  8.  Таким образом, проверочное число, вычисленное по принимаемым информационным символам 010, не равно числу принятых проверочных символов 111.

    Преимущество кодов Бергера по сравнению с кодами с постоянным весом заключается в том, что они являются разделимыми кодами с очень простым алгоритмом построения проверочной части. В симметричных канал такие коды обнаруживают все одиночные ошибки и некоторую часть многократных. Можно построить коды с лучшими обнаруживающими свойствами для симметричных каналов. В таких кодах каждой информационной позиции приписывают различный вес, причем ни один вес не является степенью двух ( 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17 и т.д ). Проверочные знаки этого образуются путем суммирования весов, соответствующих тем информационным разрядам, в которых расположены единицы, затем происходит инверсия полученного числа. Такой код обнаруживает в симметричном канале все двойные ошибки и обнаруживает и исправляет одиночные ошибки. Количество проверочных символов пределяется из соотношения: r >= Log2( ( k + m ) · ( k + m + 1 ) / 2 - 2 · m + 1 ), (1) где k - количество информационных символов, а m определяется из двойного неравенства: 2m-1 < k + m < 2m.(2)

Пример.

 Закодировать кодом Бергера, обнаруживающим двойные ошибки, сообщение 0110100001.

  1.  Запишем распределение весов в данном сообщении: 1-ый разряд - 3, 2 - 5, 3 - 6, 4 - 7, 5 - 9, 6 - 10, 7 - 11, 8 - 12, 9 - 13, 10 - 14. Следовательно, сумма весов ( 5 + 6 + 9 + 14) равна 34. Из (2) находим m = 4, из (1) r = 7.
  2.  Двоичная запись суммы весов для семиразрядной проверочной части, имеет вид 0100010. Инвертированный вид ее 1011101. Таким образом, полная последовательность выглядит как 01101000011011101.

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


 

А также другие работы, которые могут Вас заинтересовать

4962. Выполнение простых операций на C++ 177.5 KB
  Выполнение простых операций Из урока 4 вы узнали, как объявлять и использовать переменные в своих программах. По мере усложнения программ вы будете выполнять арифметические операции, такие как сложение, вычитание, умножение и деление, над значениями...
4963. Отчет создания простой программы в Visual Studio 2012 447.93 KB
  Отчет создания простой программы Запускаем программу Visual Studio 2012 Запуск программы Visual Studio 2012 FIRST. СРР Удалила все содержимое и заменила на заранее приготовленный мной текст из блокнота. Вид глобальной обла...
4964. Технология модульного программирования 23.5 KB
  Технология модульного программирования Сущность технологии модульного программирования Технология модульного программирования заключается в разбиении программы на отдельные модули. Модуль должен обладать следующими основными свойствами: выполн...
4965. Создание новых типов данных 30.5 KB
  Создание новых типов данных Для представления данных о сложных физических и математических объектах необходимо создавать новые типы данных на основе базовых и ранее созданных. Структуры Наиболее простым способом создания нового типа данных является...
4966. Класс как основа технологии объектно-ориентированного программирования (ООП) 25.77 KB
  Класс как основа технологии объектно-ориентированного программирования (ООП) Основные составляющие технологии ООП Инкапсуляция – объединение элементов данных и действий над ними в класс с ограничением доступа к элементам данных. Это означает...
4967. Наследование как основа создания иерархии классов 22.18 KB
  Наследование как основа создания иерархии классов Наследование Наследование – создание новых классов на основе ранее созданных классов. Класс, на основании которого формируется новый класс, называют базовым (родительским) классом. Новый класс...
4968. Полиморфизм и виды его операций 30.97 KB
  Полиморфизм Полиморфизм – использование одного и того же имени функции, операции или класса для разных типов данных. Полиморфизм позволяет многократно не переписывать фрагменты программы, реализующие один и тот же алгоритм для разных типов...
4969. Классы структур данных 39.21 KB
  Классы структур данных Классификация структур данных Структура данных – совокупность взаимосвязанных программных объектов. К стандартным структурам данным относятся: - массивы указателей - однонаправленные списки - двунаправленные списки - д...
4970. Сравнение однонаправленного и двунаправленного списка 65.03 KB
  Списки Список – линейная структура, каждый элемент которой содержит адрес соседних элементов. Различают однонаправленные и двунаправленные списки. В однонаправленном списке каждый элемент содержит адрес следующего элемента. В двунаправленном сп...