69438

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

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

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

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

Русский

2014-10-04

104 KB

18 чел.

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

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

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

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

Выполнил:
студент 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.

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


 

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

19823. Ініціалізація та руйнування об’єкта (конструктори та деструктори) 25 KB
  Ініціалізація та руйнування обєкта конструктори та деструктори. Як правило певну частину об'єкта перш ніж його можна буде використову вати необхідно ініціалізувати. Наприклад розглянемо клас myClass який було представлено вище у цьому підрозділі. Перш ніж об'єк
19824. Множинне успадкування (побудова класів, похідних від декількох багатьох базових) 18.97 KB
  Множинне спадкування концепція підтримувана частиною об'єктноорієнтованихмов програмування при якій класнащадок може мати більше одного суперкласубезпосереднього класубатька. Ця концепція є розширенням простого абоодиночного спадкування single inheritan...
19825. Обмеження доступу до компонентів об’єкта (використання специфікатора const) 27.5 KB
  Обмеження доступу до компонентів обєкта використання специфікатора const Член класу може бути оголошений не тільки відкритим public або закритим private але і захищеним protected. Окрім цього базовий клас у цілому може ус падковуватися з використанням специфікатора до...
19826. Організація зовнішнього доступу до локальних компонентів класу (специфікатор friend) 23.5 KB
  Організація зовнішнього доступу до локальних компонентів класу специфікатор friend. Технологія об'єктноорієнтованого програмування дає змогу організувати до ступ до закритих членів класу функціями які не є його членами. Для цього дос татньо оголосити ці функції др...
19827. Параметризовані класи (templates) 25 KB
  1.Параметризовані класи templates. Параметризовані класи це класи що можуть оперувати узагальненими типами. Ці класи генеруються подібно узагальненим функціям в період компіляції. Призначення і особливість параметризованих класів схожа структура класу з різними тип...
19828. Повні імена компонентів класу. Вкладені класи. Статичні компоненти класу 22 KB
  Повні імена компонентів класу. Вкладені класи. Статичні компоненти класу. Об'єктноорієнтований під до розроблення програмних продуктів побудова ний на такому понятті як класи. Клас визначає новий тип даних який задає фор мат об'єкта. Клас містить як дані так і коди ...
19830. Специфікація функцій, що обробляють виключення 24.5 KB
  Специфікація функцій що обробляють виключення Повернення функцією коду помилки є самим звичайним і широко застосовуваним методом. Однак цей метод має істотні недоліки. Поперше потрібно пам'ятати чисельні значення кодів помилок. Цю проблему можна обійти використовую...