Практическая 1-6 Циклические коды Теория информации.

Презентация:



Advertisements
Похожие презентации
Обнаружение одиночных ошибок. Исправление одиночных или обнаружение двойных ошибок. Адхамов З.Ш N3200.
Advertisements

Практическая работа 1 4 Теория информации. Теоретическая подготовка Подготовьте ответы на вопросы: В чём заключается сущность помехоустойчивого кодирования?
Системы счисления, используемые в компьютере. Борисов В.А. КАСК – филиал ФГБОУ ВПО РАНХ и ГС Красноармейск 2011 г.
Системы счисления Основные понятия. Информация о презентации Цель: изучение материала по теме «Системы счисления» После просмотра учащиеся должны знать.
Деление многочленов Методическая разработка учителя Поляковой Е. А.
Помехоустойчивое кодирование Циклические коды – подкласс линейных кодов.
Деление многочленов А-9 урок 1. Цель: Обобщить, систематизировать и расширить знания учащихся о преобразованиях многочленов; познакомить с делением многочленов.
Информация в памяти компьютера. Системы счисления.
Ребята, мы с вами хорошо умеем возводить числа в степень. Например, Так же мы хорошо знаем, что любое число в нулевой степени равно единице. Возникает.
Элементы общей алгебры Подгруппа, кольцо, поле, тело, решетка.
Арифметические основы компьютера. Системы счисления Системой счисления называется совокупность приемов наименования и записи чисел Система счисления –
Информатика Информатика-это наука, которая изучает структуру и общие свойства информации, информационные процессы в живой и не живой природе, обществе.
Задача С6 Арифметика и алгебра. Подготовили ученицы 10 Г класса Карх Елизавета и Скачкова Анна.
СИСТЕМЫ СЧИСЛЕНИЯ "Все есть число", говорили пифагорийцы, подчеркивая необычайно важную роль чисел в практической деятельности.
Применение теории кодирования в криптографии Лось Антон Васильевич.
Устройства хранения информации Кэш - память Основная память Магнитный (жесткий) диск Регистры Оптические носителиМагнитные носители.
«Двоичная арифметика, алгоритм сложения». Учебные вопросы: 1. Правила недесятичной арифметики. 2. Способы представления чисел в разрядной сетке ЭВМ.
Высшая математика Кафедра математики и моделирования Преподаватель Никулина Л. С. Четвертый семестр.
1 2. Матрицы. 2.1 Матрицы и их виды. Действия над матрицами. Джеймс Джозеф Сильвестр.
2.6. Евклидовы кольца 2. Некоторые группы, кольца, поля (продолжение) Норма это значение нормирующей функции, которая каждому элементу кольца а ставит.
Транксрипт:

Практическая 1-6 Циклические коды Теория информации

Циклические коды

Цикломатические классы

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

Кодовые комбинации В теории циклических кодов принято записывать кодовые комбинации в виде полинома некоторой фиктивной переменной x: где a i – значение символа кодовой комбинации на позиции i при нумерации справа налево; x i – 1 – фиктивная переменная в степени номера позиции i без единицы.

Пример Представить в виде полинома кодовую комбинацию a

Задание Задание 1. а) Представить в виде полинома кодовую комбинацию a б) Представить в виде полинома кодовую комбинацию a в) Представить в виде полинома кодовую комбинацию a

Порождающий полином Неприводимым называется многочлен, который не может быть представлен в виде произведения многочленов низших степеней, т. е. такой многочлен делится только на самого себя или на единицу и не делится ни на какой другой многочлен. На такой многочлен делится без остатка двучлен x n + 1. Неприводимые многочлены в теории циклических кодов играют роль образующих полиномов.

Порождающая матрица Можно записать порождающую матрицу циклического кода в следующем виде: p(x) p(x) · x C 2 (x n 1) V = p(x) · x 2 C 3 (x n 1) … p(x) · x m1 C m (x n 1), где p(x) исходная кодовая комбинация, на базе которой получены все остальные (m 1) базовые комбинации, C i = 0 или C i = 1 («0», если результирующая степень полинома p(x) · x i не превосходит (n 1), «1», если превосходит).

Порождающий полином Комбинация p(x) называется порождающей (генераторной) комбинацией. Для построения циклического кода достаточно верно выбрать p(x). Затем все остальные кодовые комбинации получаются такими же, как и в групповом коде. Порождающий полином должен удовлетворять следующим требованиям: 1.p(x) должен быть ненулевым; 2. вес p(x) не должен быть меньше минимального кодового расстояния: v(p(x)) d min ; 3.p(x) должен иметь максимальную степень k (k число избыточных элементов в коде); 4.p(x) должен быть делителем полинома (x n 1).

Степень порождающего полинома Выполнение условия 4 приводит к тому, что все рабочие кодовые комбинации циклического кода приобретают свойство делимости на p(x) без остатка. Циклический код код, все рабочие комбинации которого делятся на порождающий без остатка. Для определения степени порождающего полинома можно воспользоваться выражением r log2(n+1), где n размер передаваемого пакета за раз, т. е. длина строящегося циклического кода.

Примеры порождающих полиномов r, степень полинома P(x), порождающий полином , , , , , , ,

Разрешенные кодовые комбинации Пусть задан полином P(x) = a r1 x r + a r2 x r1 + … + 1, определяющий корректирующую способность кода и число проверочных разрядов r, а также исходная комбинация простого k-элементного кода в виде многочлена A k1 (x). Требуется определить разрешенную кодовую комбинацию циклического кода (n, k).

Алгоритм 1. Умножаем многочлен исходной кодовой комбинации на x r : A k1 (x) · x r 2. Определяем проверочные разряды, дополняющие исходную информационную комбинацию до разрешенной, как остаток от деления полученного в предыдущем пункте произведения на порождающий полином: A k1 (x) · x r P r (x) R(x) 3. Окончательно разрешенная кодовая комбинация циклического кода определится так: A n1 (x) = A k1 (x) · x r + R(x) 4. Для обнаружения ошибок в принятой кодовой комбинации достаточно поделить ее на производящий полином. Если принятая комбинация разрешенная, то остаток от деления будет нулевым. Ненулевой остаток свидетельствует о том, что принятая комбинация содержит ошибки. По виду остатка (синдрома) можно в некоторых случаях также сделать вывод о характере ошибки, ее местоположении и исправить ошибку.

Пример Закодировать комбинацию вида 1101, что соответствует A(х) = х 3 + х Определяем число контрольных символов r = 3. Из таблицы возьмем многочлен P(х) = х 3 + х + 1, т. е Умножим A(х) на х r : 3.A(x) · x r = (x 3 + x 2 + 1) · x 3 = x 6 + x 5 + x Разделим полученное произведение на образующий полином g(х): 5.A(x) · x r P(x) = (x 6 + x 5 + x 3 ) (х 3 + х + 1) = х 3 + х 2 + х (х 3 + х + 1) При делении необходимо учитывать, что вычитание производится по модулю 2. Остаток суммируем с h(х) · х r. В результате получим закодированное сообщение: 7.F(x) = (x 3 + x 2 + 1) · (x 3 + x + 1) = (x 3 + x 2 + 1) · x В полученной кодовой комбинации циклического кода информационные символы A(х) = 1101, а контрольные R(х) = 001. Закодированное сообщение делится на образующий полином без остатка.

Задание 2 а) Закодировать комбинацию вида 110. б) Закодировать комбинацию вида в) Закодировать комбинацию вида г) Закодировать комбинацию вида

Определение ошибки Пусть имеем n-элементные комбинации (n = k + r) тогда: Получаем остаток от деления Е(х) соответствующего ошибке в старшем разряде [ ], на порождающий полином P r (x): E 1 (x) P r (x) = R 0 (x) Делим полученный полином Н(х) на P r (x) и получаем текущий остаток R(x). Сравниваем R 0 (x) и R(x). – Если они равны, то ошибка произошла в старшем разряде. – Если нет, то увеличиваем степень принятого полинома на x и снова проводим деления: H(x) · x P r (x) = R(x)

Определение ошибки Опять сравниваем полученный остаток с R 0 (x). – Если они равны, то ошибки во втором разряде. – Если нет, то умножаем Н(х) · х 2 и повторяем эти операции до тех пор, пока R(x) не будет равен R 0 (x). Ошибка будет в разряде, соответствующем числу, на которое повышена степень Н(х), плюс один. Например: H(x) · x 3 P r (x) = R 0 (x)

Пример Полином g(x) = 1 + x 2 + x 3 генерирует бинарный (7,4)- циклический код, d min = 3 (т.е. 1-ошибку исправляет). Рассмотрим кодовое слово 1 + x + x 5 = (1 + x + x 2 ) g(x). Пусть после передачи многочлен R(x) = 1 + x + x 5 + x 6 был получен. Декодируем его. Разделим R(x) на g(x) для нахождения синдрома, R(x) = (x 3 + 1)g(x) + (x + x 2 ), так S(x) = x + x 2. Так как вес S(x) > 1 (= t), вычислим синдром s 1 (x) * x r (x). Так как S(x) = 2 = n - k - 1, умножаем S(x) на x и делим на g(x), что дает s 1 (x) = 1. Поскольку вес 1, маска ошибки e(x) = x 7-1 (s 1,0) = x 6 ( ) = x 6. Так как n = 7 все ошибки веса 1 имеют циклический сдвиг на шесть 0's и 6 > k = 4, исправляются все единичные ошибки..

Задание 3 Принятая кодовая комбинация ЦК(7,4) имеет вид Bi'(X)= Определить и исправить ошибку в Bi(X),если она имеется. Задание 4 Выполнить кодирование чисел(даны в 10-й с.с.) циклическим кодом с заданным порождающим полиномом(дан в 8-й с.с.) по вариантам на следующем слайде.

Задания по вариантам варианта Порождающий полином Числа для кодирования

Учебные материалы es.htm es.htm rekurrentnyh-kodov.html rekurrentnyh-kodov.html htm 53.htm

Конец Если вы выполнили все задания, вы получаете 10 баллов