- •Введение
- •1. Энтропия источников сообщений
- •1.1. Дискретные ансамбли и источники
- •1.2. Количество информации в дискретном сообщении. Энтропия ансамбля
- •1.3. Условная информация. Условная энтропия. Совместная энтропия дискретного источника
- •1.4. Энтропия дискретного стационарного источника на сообщение
- •1.5. Избыточность источника дискретных сообщений
- •1.6. Эффективное кодирование. Кодирование источника равномерными кодами
- •1.7. Высоковероятные множества постоянного дискретного источника
- •1.8. Энтропия источника без памяти как скорость создания информации
- •1.9. Избыточность источника непрерывных сигналов. Количество информации в непрерывном канале
- •1.10. Скорость передачи информации и пропускная способность в непрерывном канале
- •2. Кодирование информации
- •2.1. Неравномерное кодирование с однозначным декодированием
- •2.2. Оптимальные неравномерные двоичные коды
- •2.3. Кодирование для исправления ошибок: Основные положения
- •2.4. Постановка задачи кодирования
- •2.5. Прямая теорема о кодировании в канале с шумами
- •2.6. Обратная теорема кодирования
- •2.7. Основная теорема Шеннона, ограничение возможностей использования оптимального кодирования на практике
- •3. Коды, исправляющие ошибки
- •3.1. Блоковые и сверточные коды
- •3.2. Хеммингово расстояние, Хемминговы сферы и корректирующая способность
- •3.3. Линейные блоковые коды
- •3.4. Порождающая и проверочная матрицы. Кодирование с помощью матриц g и н
- •3.5. Декодирование по стандартной таблице
- •3.6. Циклические коды
- •3.7. Кодирующие устройства циклических кодов
- •3.8. Декодирование циклических кодов по синдрому
- •3.9. Мажоритарное декодирование
- •4. Энтропия в контексте защиты информации от помех при передаче по каналу связи
- •4.1. Меры искажения. Постановка задачи защиты информации от помех при передаче по каналу связи
- •4.2. Свойства функции скорость-искажение
- •4.3. Простые примеры вычисления функции скорость-искажение
- •4.4. Функция скорость-искажение для гауссовских последовательностей
- •4.5. Эпсилон-производительность источника
- •4.6. Дифференциальная энтропия
- •4.7. Свойства дифференциальной энтропии
- •4.8. Эпсилон - энтропия источника сообщений
- •4.9. Обратная теорема кодирования для дискретного постоянного источника при заданном критерии качества
- •4.10. Прямая теорема кодирования с заданным критерием качества
- •4.11. Аксиоматическое введение в теорию энтропии вероятностных схем
- •4.12. Энтропия и условная энтропия объединенной вероятностной схемы и их свойства
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
3.5. Декодирование по стандартной таблице
В этом разделе представлена процедура декодирования, которая находит кодовое слово ,ближайшее к принятому с искажениями слову , где вектор ошибок создан двоичным симметричным каналом (ДСК) в процессе передачи кодового слова. Модель ДСК показана на Рисунке 5. По предположению переходная вероятность р (или параметр ДСК) меньше 1/2.
Стандартной таблицей (или стандартной расстановкой) [Sle] для двоичного линейного (n,k, dmin)кода С называется таблица всех возможных принятых из канала векторов , организованная таким образом, что может быть найдено ближайшее к кодовое слово .
Рис. 3.3. Модель двоичного симметричного канала
Стандартная таблица содержит 2n-kстрок и2k+ 1 столбцов. Правые 2к столбцов таблицы содержат все вектора из пространстваV2= {0, 1}л.
Для описания процедуры декодирования необходимо ввести понятие синдрома. Определение синдрома произвольного слова изV2следует из уравнения (3.10),
(3.16)
где Н проверочная матрица кода С. Покажем, что синдром является индикатором вектора ошибок. Предположим, что кодовое слово , переданное по ДСК, принято как . Синдром принятого слова равен
(3.17)
Таким образом, вычисление синдрома можно рассматривать как линейное преобразование вектора ошибок.
Таблица 3.1
Стандартная таблица двоичного линейного блокового кода
s |
u0=0 |
u1 |
|
|
0 |
v0 |
v0 |
|
|
s1 |
e1 |
e1+ v1 |
|
|
s2 |
e2 |
e2+ v1 |
|
|
|
|
|
|
|
|
|
|
|
|
Процедура построения стандартной таблицы
Правые столбцы первой строки заполним кодовыми словами кода С, начиная с нулевого кодового слова. В первую ячейку первого столбца запишем нулевой синдром. Положимj= 0.
Дляj= j+ 1, найдем слово минимального веса Хемминга, не являющееся кодовым и не включенное в предыдущие строки таблицы. Соответствующий синдром запишем в первый (крайний левый) столбец j-ой строки. В оставшиеся 2к ячеек этой строки запишем суммы и содержимого первой строки (т.е. кодового слова).
3. Повторяем шаг 2 процедуры, пока все вектора изV2не окажутся включенными в таблицу. Эквивалентно, повторяем шаг 2 покаj<2п-к, иначе Стоп.
Пример 5. Стандартная таблица двоичного линейного (4,2,2) кода:
-
s
00
01
10
11
00
0000
0110
1011
1101
11
1000
1110
0011
0101
10
0100
0010
1111
1001
01
0001
0111
1010
1100
Декодирование с помощью стандартной таблицы выполняется следующим образом. Пусть г = v+е принятое слово. Найдем это слово в таблице и возьмем в качестве результата декодирования сообщение u, записанное в верхней (первой) ячейке того столбца, в котором лежит принятое слово г. По идее, этот процесс требует хранения в памяти всей таблицы и поиска в ней заданного слова.
Однако, возможно некоторое упрощение процедуры декодирования, если заметить, что все элементы одной и той же строки имеют один и тот же синдром. Каждая строка , этой таблицы представляет смежный класс кода С, а именно, . Вектор называется лидером смежного класса.
Синдром всех элементов i-ой строки равен
(3.18)
и не зависит от конкретного значения кодового слова . Упрощенная процедура декодирования состоит в следующем: вычислить синдром принятого слова
и найти его в левом столбце стандартной таблице; взять лидер смежного класса из второго столбца той же строки и прибавить его к принятому слову, получив ближайшее к принятому кодовое слово .
Таким образом, вместо таблицы п× 2n бит для декодирования достаточно использовать таблицу лидеров смежных классов п × 2n-kбит.
Пример 6. Снова рассмотрим двоичный линейный (4, 2, 2) код из Примера 3. Положим, что передано было кодовое слово (0110), а принято слово (0010). Тогда синдром равен
Находим в стандартной таблице лидер смежного класса (0100) и получаем декодированное кодовое слово (0010)+(0100)=(0110). Одиночная ошибка в слове исправлена! Это может показаться странным, так как минимальное кодовое расстояние равно 2 и, согласно условию, исправление однократных ошибок невозможно. Однако объяснение этому может быть найдено в стандартной таблице (Пример 5). Заметим, что третья строка таблицы содержит два различных двоичных вектора веса 1. Это означает, что только три из возможных четырех одиночных ошибок могут быть исправлены. В Примере 6 дана одна из исправляемых ошибок.
Оказывается, что данный (4, 2, 2) код является простейшим примером линейного кода с неравной защитой от ошибок {linearunequalerrorprotection— LUEPкод) [Wv, Van], Данному LUEPкоду соответствует разделяющий вектор (3,2), который показывает, что минимальное кодовое расстояние равно трем, если различаются первые биты сообщений и равно двум, если различаются вторые биты сообщений.
В случае систематического кодирования рассмотренная выше процедура находит оценку переданного сообщения на первых k позициях декодированного слова. Это может быть одной из возможных причин применения систематического кодирования.