Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТИ / Lec / ТИ (Best).doc
Скачиваний:
131
Добавлен:
17.03.2015
Размер:
1.01 Mб
Скачать

Коды, обнаруживающие трёхкратные ошибки

Методика построения следующая:

1) Выбор числа корректирующих разрядов

nk – количество корректирующих разрядов

Значения логарифма округряется до целых чисел в большую сторону

Пример: nu = 2 = 4

2) Выбор образующего многочлена. Он производится исходя из следующих соображений: для обнаружения трёхкратной ошибки надо иметь d0 = r + 1 = 3 + 1 = 4 степень обратного многочлена должна быть больше или равна четырём, т.е.

Этот многочлен получают как произведение многочлена степени (nk - 1)т.е. 3, который позволяет обнаруживать все двойственные ошибки и многочлены первой степени (x + 1), который обнаруживают любое количество нечётных ошибок. Полученный многочлен унаследует корректирующие свойства, т.е. он будет обнаруживать одиночную и тройную ошибки, используя корректирующие свойства многочлена x + 1 и будет обнаруживать двойные ошибки, используя свойства Шеннона, например x3 + x2 +1.

Произведём умножение

M1 = x + 1

M3 = x3 + x2 + 1

M1 x M3 = (x + 1)( x3 + x2 + 1) = x4 + x2 + x +1 = k(x)

x3 + x3 = 0 k(x) = 10111

x3 + x3 + x3 = x3

3) Построение образующей матрицы

Производятнахождением остатка последней строки единичной повёрнутой матрицы на обратный многочлен 100…к(х) - методика в прошлой лекции. Второй способ умножением строки единичной матрицы на образующий многочлен. Остальные комбинации получают суммированием комбинаций строк.

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

Пример: Строим код на четыре комбинации

01 х к(х) = 01 x 10111 = 010111

10 х к(х) = 10 х 10111 = 101110

Обратная матрица

Обнаружение ошибки

1) Тройная ошибка

v1 = 010111

vk = 111011 kx = 10111

10111

10101 Rx = 10  обнаружена ошибка, надо повторить передачу

10111

0010

2) Двойная ошибка

v1 = 010111

v

Rx = 1010 – есть остаток, следовательно, посланная комбинация содержит ошибку.

k = 110011 kx = 10111

10111

11101

10111

1010

3) Однократная ошибка

v1 = 010111

v

Rx = 1110 – есть остаток, следовательно, принятая комбинаяция содержит ошибку. Какую ошибку мы не указываем.

k = 110111 kx = 10111

10111

11001

10111

1110

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

1) Определение количества параметров кода

nu = log2 1000 = 10

nk 1 + log2(nu + 1 + log2(nu + 1)) = 1 + log2(11 + log211)

nk = 5

d0 = r + 1 = 4 – число ненулевых членов образующего многочлена

Из таблицы нериводимых многочленов, выбираем многочлен степени nk – 1 = 4, который позволяет обнаруживать двойные ошибки.

M4 = x4 + x + 1

M1 = x + 1

k(x) = M1 + M4 = (x + 1)(x4 + x + 1) = x5 + x4 + x2 + 1 110101

Сибирская Аэрокосмическая Академия 1

Информация. Язык. Общество 2

Измерение информации 2

Структурный метод 2

Статический метод 2

Энтропия и её свойства 3

Энтропия сложной системы 4

Условная энтропия. Объединение зависимых систем. 4

Полная условная энтропия 5

Определение информационных потерь в каналах связи 7

Энтропия и информация 8

Взаимная информация 9

Частная информация о системе 9

Количественное определения избыточности 12

Блочное кодирование 15

Передача информации по дискретным каналам связи 19

Код Хэминга 31

Декодирование кода Хэминга 32

Соседние файлы в папке Lec