Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЕЗ Методичка с лабораторными работами.doc
Скачиваний:
22
Добавлен:
09.11.2018
Размер:
5.84 Mб
Скачать
  1. Закодировать свой номер по журналу простым двоичным 5-разрядным кодом, а затем закодировать полученую кодовую комбинацию кодом Хэминга

  2. Рассчитать синдром, если известна позиция искаженного символа.

Вариант

Искаженная позиция

Значение синдрома

1

6

2

3

3

4

4

9

5

7

6

8

7

1

8

2

9

5

Контрольные вопросы

  1. Как вычислить проверочные символы, где они располагаются?

  2. Какая минимально возможная длина кода Хэмминга, если надо закодировать пятиэлементную комбинацию?

  3. Чему равно минимальное кодовое расстояние кода Хэмминга, обеспечивающее исправление всех однократных ошибок.

  4. Как формируется синдром при использовании кода Хэмминга?

  5. Чем характерен классический код Хэминга?

Додаток до виконання лабораторної роботи на ПК

1. Запустити файл

2. Нажати на формі кн.. «Студент»

3.Ввести свої ім. я

4. Ввести № Вашого варіанта, який відповідає Вашому порядковому номеру в журналі

5. Нажати на кн.. «Старт»

6. Ввести № Вашого варіанту в 5-ти значному двійковому коду

7.Ввести розраховані Вами коефіцієнти

8.Ввести повний код Хемінгу. В формі з явиться кодова послідовність з однократною похибкою (імітація прийому). Треба ввести синдром для цієї кодової послідовності.

Зверніть увагу!!!!!

Рахунок розрядів іде зліва направо. Введення синдрому S1S2S3S4 , що не є правильно, так помилково виведено програмістом.

Лабораторная работа Помехоустойчивое кодирование в дискретном канале святи (циклический код)

Цель работы

Изучение принципов помехоустойчивого кодирования на примере цикличных кодов

Ключевые положения

При построении циклического кода комбинацию из информационных символов удобно отображать полиномом . Так, комбинации 10110 соответствует полином , а комбинации 10100 – полином . Комбинация циклического кода отображается полиномом . Здесь  число проверочных символов, умножение на эквивалентно дописыванию к комбинации информационных символов нулей,  полином степени не выше , соответствующий проверочным символам. Добавление его эквивалентно значению нулей проверочными символами. Полином  остаток от деления на порождающий полином . Степень полинома равна , поэтому степень полинома не превышает . Ясно, что все полиномы , соответствующие разрешенным комбинациям циклического кода, делятся без остатка на порождающий полином .

Допустим, что используется код (10.5) с порождающим полиномом . Тогда . В результате деления последнего полинома на получим , т.е. кодер комбинацию 10110 преобразует в комбинацию 1011001101. Аналогично комбинация 10100 преобразуется в комбинацию 1010010010.

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

Полином можно записать: , где  полином ошибок (например, при ошибке в третьем символе справа , в первом и седьмом  и т.д.). Тогда . Так как делится на без остатка, то остаток деления определяется частным . Если кратность ошибки не превышает кратность исправляемой данным кодом ошибки, то каждому полиному ошибок соответствует свой остаток от деления  синдром . Всякому ненулевому синдрому соответствует определенная конфигурация ошибок, которая и исправляется.

Код (10.5) с порождающим полиномом имеет .

Циклические коды отличаются простотой реализации кодирующих и декодирующих устройств.

Коды получили своё названия из-за свойства: каждая кодовая комбинация м.б. получена циклической престановкой символов.

Двоичное число 1010101 можно представить в виде полинома.

А(х)=1*х6+0*х5+1*х4+0*х3+1*х2+0*х1+1*х0642+1

И затем все действия над ним свести к действиям над многочленом.

Циклический сдвиг образуется умножением полинома на х. (х642+1)*х= х753+х, заменив х7 на 1 , получим х53+х+1, что соответствует кодовой комбинации 0101011.

Циклическим сдвигом можно получить n -1 различных комбинаций, из которых любые могут быть взяты в качестве исходных. Остальные кодовые комбинации можно получить используя свойства циклического кода.

Свойства циклического кода

1.Разрешенная кодовая комбинация при делении её на образующий полином имеет остаток равый 0. Если в результате деления обнаружен остаток, то значит кодовая комбинация трансформировалась в запрещенную. Из всех возможных полиномов степени n----(2n) только 2 k имеют нулевой вычет по модулю 2. n – это высшая степень полинома, k= n-r

2. Кодовая комбинация циклического кода (n, k) может быть получена 2 способами:

-путем умножения простой кодовой комбинации степени (k-1) на одночлен х (n- k ) и добавления к этому произведению остатка, полученного от деления произведения на образующий полином степени (n- k)

- путем умножения простой кодовой комбинации степени (k-1) на образующий полином степени (n- k).

При первом способе кодирования первые k символов полученной кодовой комбинации совпадают с соответствующими символами исходной комбинации

При этом способе усложняется процесс декодирования, т.к. в кодовой комбинации информационные символы содержатся в неявном виде.

Пример:

Закодировать простую кодовую комбинацию 1011циклическим кодом, обнаруживающим однократные и двукратные ошибки или устраняющим однократные ошибки.

Шаг1.По заданному кол-ву информационных символов к=4 определяем разрядность кода (n), используя соотношение 2k <=

Шаг2. Для построения циклического кода выбираем образующий полином. Находим степень полинома ( р=n-k) и по таблицам выбираем образующий полином Р(х)=х32+1 соответствующий р=3

Контрольные вопросы.

3.1. Что такое помехоустойчивый код?

3.2. Что называется избыточностью кода?

3.3. Что такое кодовое расстояние, минимальное кодовое расстояние и кратность ошибки?

3.4. Поясните принцип обнаружения и исправления ошибок при избыточном кодировании.

3.5. Как определить обнаружившую и исправляющую способность кода?

3.6. Как строятся коды с проверкой на четность?

3.7. Какие ошибки позволяют обнаружить код с проверкой на четность?

3.8. Какие коды называют циклическими?

3.9. Поясните принцип записи кодовых комбинаций в виде полиномов.

3.10. Поясните принцип обнаружения и исправления ошибок при циклическом кодировании.

Задание

1. Закодировать номер по журналу простым двоичным кодом.

2. Полученую кодовую комбинацию превратить в полином .

3.Определить количество разрядов при использовании циклического кода (n).

4.Определить количество проверочных разрядов (р) и выбрать на этом основании образующий полином из таблицы, приведенной ниже.

Таблиця для вибору поліному

Максимальна степінь

Породжуючи поліноми G(x)

2

Х2+х+1

3

Х32+1

4

Х4+х+1

Х432+х+1

5

Х52+1

Х5432+1

Х542+х+1

6

Х6+х+1

Х652+х+1

Х6532+1

7

Х73+1

Х732+х+1

Х7432+1

8

Х87652+х+1

Х843+х+1

Х865+х+1

5.Сэмитировать ошибку на прийме поочередно в каждом разряде и определить синдром для каждого разряда. Заполнить таблицу

Номер разряда

Значение синдрома

0

1

2

3

И т.д.

Додаток до виконання лабораторної роботи на ПК

1. Знайти й запустити файл

2. Ввести дані в поля форми, що з явилися на екрані.

3. Ввести цифру Вашого порядкового номера по журналу

4. Перейти курсором в інше поле й ввести цю цифру в двійковому коді

5. Натиснути на кн. «Перевірка 2ого коду»

Якщо з явился запис «Ви впоралися з 1 завданням», треба натиснути на кнопку з потрібним Вам поліномом. При від ємному результаті повернутися до початку роботи.

6. Перенести курсор в потрібне поле й введіть розрахований Вами циклічний код .

7. Натиснути на кн.. «Перевірка циклічного коду»

8. З явиться напис «Ви впоралися з 2 –ім завданням»

9. А потім надпис «Ввести залишок при помилці в нульовому розряді», «Ввести залишок при помилці в першому розряді», «Ввести залишок при помилці в другому розряді» й т.і. Треба підрахувати залишок – синдром й ввести його у ПК. В кінці роботи ПК видає на екран кількість зароблених балів.