
- •Сибирская Аэрокосмическая Академия
- •Статический метод
- •Энтропия и её свойства
- •Энтропия сложной системы
- •Условная энтропия. Объединение зависимых систем.
- •Полная условная энтропия
- •Теорема сложения энтропий
- •Определение информационных потерь в каналах связи
- •Энтропия и информация
- •Взаимная информация
- •Сумма равна единице
- •Частная информация о системе
- •Частная информация о событии, получаемая в результате сообщения о другом событии.
- •Энтропия и информация для систем с непрерывным множеством состояний
- •Условная энтропия непрерывной системы
- •Количественное определения избыточности
- •Блочное кодирование
- •Избыточность от округления
- •1 Символ – 4 бита
- •Код Хафмана
- •Процедура кодирования
- •Передача информации по дискретным каналам связи
- •Основная теорема Шеннона о кодировании для дискретного канала без помех
- •Дискретный канал с помехами
- •Теорема о кодировании Шеннона для дискретного канала с помехами
- •Корректирующие коды
- •Исправление ошибок с помощью полной кодовой таблицы
- •Разбиение
- •Систематические коды
- •Декодирование систематических кодов
- •Код Хэминга
- •Декодирование кода Хэминга
- •Особенности декодирования.
- •Циклические коды
- •Декодирование циклических кодов
- •Построение декодированного конкретного циклического кода
- •Обнаружение и определение ошибок
- •Коды, обнаруживающие трёхкратные ошибки
Декодирование циклических кодов
Остатки от деления полученного вектора на образующий многочлен является опознавательным. Идея обнаружения ошибки заключается в следующем принятая кодовая комбинация делится на образующий многочлен. Если есть остаток, то производится циклический сдвиг принятой кодовой комбинации. Затем сдвинутая комбинация снова делится на образующий многочлен. После ряда циклических сдвигов определяется такое положение, при котором остаток минимален.
Таблица неприводимых двоичных многочленов
-
Код
Многочлен
Код
Многочлен
11
x + 1
10001
x4 + 1
101
x2 + 1
10011
x4 + x + 1
111
x2 + x +1
10101
x4 + x2 +1
1001
x3 + 1
10111
x4 + x2 +x + 1
1011
x3 + x +1
11001
x4 + x3 + 1
1101
x3 + x2 + 1
11011
x4 + x3 + x + 1
1111
x3 + x2 + x + 1
11101
x4 + x3 + x3 +1
11111
x4 + x3 + x2 + x + 1
Построение декодированного конкретного циклического кода
Код, исправляющий одиночную ошибку. d0 = 3.
1) Расчёт соотношении между контрольными и информационными символами кода.
nk = log((nu + 1) + log(nu + 1))
2)
Выбор образующего
многочлена производится по таблице
непреводимых двоичных многочленов.
Образующий многочлен следует выбирать
с минимальным числом элементов. Его
степень должна быть больше или равна
числу контрольных разрядов. Число
элементов должно быть
.
Пример: Построим циклический код d0 = 3 для передачи шестнадцати сообщений.
nu = 4 nk = 3
k(x)
= 1011 Строим единичную повёрнутую матрицу
размером nu
Находим остатки от делений последовательной строкина образующий многочлен.
1
Остаток 011 110 111 1010000
1011
1011
01100
1011
1110
1011
101
1+2 2+4 1+2+3+4
1+3 3+4
1+4 1+2+3
2+3
Обнаружение и определение ошибок
Производится
по остаткам
деления принятого кодового вектора. Если
в результате образовался остатокR(x)
= 0, то комбинация
принята без ошибок. Если есть остаток,
то производят исправления. Для этого
Определяют вес остатка
Если
WR
S , где S –количество
исправленных ошибок, то производят
коррекцию. Для этого F(x)
+ R(x) и эта сумма
даёт исправленную комбинацию.
Если
вес WR
S , топроизводят
циклический сдвиг F(x)
влево, образуют
новую комбинацию F1(x).
Полученную комбинацию делят на обратный многочлен
-
остаток
Если
,
то производяткоррекцию
F1(x)
+ R1(x),
затем полученную
комбинацию сдвигают вправо циклически
на один разряд.
Если
,
то ещё разсдвигаем
циклически влево и т.д.
Пример: Пусть посылается комбинация u(x) = 0100111 (из обратной матрицы)
Пусть принята комбинация F(x) = 1100111, содержащая ошибку в единичном разряде
U(x) = 0100111 K(x) = 1011
F(x) = 1100111 S = 1
1100111
1011
1011
1111 R
= 101
1011 WR
= 2 > S
1001
1011
101
1001111
1011
1011
1011 R1 = 1
1011
=
1 = S
можем производить
коррекцию
01
F1(x) + R1(x) 1001111
1
1001110
Циклически сдвигаем комбинацию вправо на один разряд 0100111 – исправляется кодовая комбинация.
Сложение двух соседних комбинаций циклического кода эквивалентно операции умножения первого слагаемого на x + 1.
000101 две комбинации из производящей матрицы
001010 (x2
+ 1) * (x +1) = x3
+ x +x2
+1 = 001111
001111
Образующие многочлены представляют собойьнеприводимые многочлены.