
- •1.1. Модель радиотехнической системы передачи информации
- •1.2. Источник информации
- •1.3. Теорема дискретизации
- •1.3.1. Практические вопросы дискретизации реальных сигналов
- •1.4. Дискретизация двумерных сигналов (изображений)
- •1.5. Квантование сообщений. Ошибки квантования
- •1.6. Количество информации, энтропия источника сообщений
- •1.6.1. Энтропия сложных сообщений, избыточность источника
- •2. Основы экономного кодирования
- •2.1. Цель сжатия данных и типы систем сжатия
- •2.1.1. Сжатие без потерь информации
- •2.1.2. Сжатие с потерей информации
- •2.2. Коды без памяти. Коды Хаффмена
- •2.2.1. Алгоритм Хаффмена
- •2.2.2. Границы энтропии для кода Хаффмена
- •2.3. Коды с памятью
- •2.4. Арифметическое кодирование
- •2.4.1. Кодирование
- •2.4.2. Декодирование
- •2.5. Словарные методы кодирования. Метод Зива-Лемпела
- •2.5.1. Кодирование
- •2.5.2. Декодирование
- •2.6. Кодирование длин повторений
- •2.7. Дифференциальное кодирование
- •2.8. Методы сжатия с потерей информации
- •2.8.1. Кодирование преобразований. Стандарт сжатия jpeg
- •Или же, в матричной форме,
- •2.8.2. Фрактальный метод
- •2.8.3. Рекурсивный (волновой) алгоритм
- •2.9. Методы сжатия подвижных изображений (видео)
- •2.10. Методы сжатия речевых сигналов
- •2.10.1. Кодирование формы сигнала
- •2.10.2. Кодирование источника
- •2.10.3. Гибридные методы кодирования речи
- •3. Основы помехоустойчивого кодирования
- •3.1. Основные принципы. Типы кодов
- •3.2. Линейные блочные коды
- •3.2.1. Код с проверкой на четность
- •3.2.2. Итеративный код
- •3.2.3. Порождающая матрица линейного блочного кода
- •3.2.4. Проверочная матрица
- •3.2.5. Дуальные коды
- •3.2.6. Синдром и обнаружение ошибок
- •3.2.7. Синдромное декодирование линейных блочных кодов
- •3.2.8. Мажоритарное декодирование линейных блочных кодов
- •3.2.9. Декодирование методом максимального правдоподобия
- •Поскольку
- •Если принятый сигнал дискретизован и Si – I-й отсчет принятого сигнала.
- •3.2.10. Вес и расстояние Хемминга. Способность кодов обнаруживать и исправлять ошибки
- •3.3. Полиномиальные коды
- •3.3.1. Циклические коды
- •1.3.2. Кодирование с использованием циклических кодов
- •3.3.3. Вычисление синдрома и исправление ошибок в циклических кодах
- •3.3.4. Неалгебраические методы декодирования циклических кодов
- •4. Сверточные коды
- •4.1. Кодирование с использованием сверточных кодов
- •4.2. Синдромное декодирование сверточных кодов
- •4.3. Кодовое дерево и решетчатая диаграмма
- •4.4. Декодирование сверточных кодов. Алгоритм Витерби
- •4.5. Алгоритмы поиска по решетке
- •5. Применение корректирующего кодирования в системах связи
- •5.1. Каскадные коды
- •5.2. Кодирование с перемежением
3.2.4. Проверочная матрица
Линейный систематический блочный код может быть определен также с использованием так называемой проверочной матрицы H, обладающей следующим свойством:
- если некоторая последовательность U является кодовым словом, то
U* HT = 0. (1317)
Другими словами, проверочная матрица H ортогональна любой кодовой последовательности данного кода.
Проверочная матрица имеет размерность (n-k)*n и следующую структуру :
|
P00 |
P10 |
… |
Pk-1, 0 |
1 |
0 |
0 |
… |
0 |
|
|
P01 |
P11 |
… |
Pk-1, 1 |
0 |
1 |
0 |
… |
0 |
|
H = |
P22 |
P12 |
… |
Pk-1, 2 |
0 |
0 |
1 |
… |
0 |
, (318) |
|
… |
… |
… |
… |
… |
… |
… |
… |
… |
|
|
P0, n-k-1 |
P1, n-k-1 |
… |
Pk-1, n-k-1 |
0 |
0 |
0 |
… |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
PT |
I1(n-k)´(n-k) |
|
где PT - транспонированная подматрица P из порождающей матрицы G ;
I1(n-k)´(n-k) - единичная матрица соответствующего размера.
Видно, что единичная и проверочная подматрицы в G и H поменялись местами, кроме того, изменился их размер.
Для рассматриваемого нами в качестве примера (7,4)-кода Хемминга проверочная матрица H имеет вид
|
1 |
0 |
1 |
1 |
1 |
0 |
0 |
|
H(7,4)= |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
. (319) |
|
0 |
1 |
1 |
1 |
0 |
0 |
1 |
|
Проверочная матрица позволяет легко определить, является ли принятая последовательность кодовым словом данного кода.
Пусть, к примеру, принята последовательность символов c = (1011001), тогда
|
1 |
0 |
1 |
1 |
1 |
0 |
0 |
T |
c* HT = (1011001) |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
= (1 1 0) ¹ 0 . |
|
0 |
1 |
1 |
1 |
0 |
0 |
1 |
|
Отсюда можно сделать вывод, что последовательность c = (1011001) не является кодовым словом данного кода.
Рассмотрим другой пример. Допустим, принята последовательность d = (0010111), тогда
|
1 |
0 |
1 |
1 |
1 |
0 |
0 |
T |
d × HT = (0010111) |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
= (0 0 0) ¹ 0 , |
|
0 |
1 |
1 |
1 |
0 |
0 |
1 |
|
то есть двоичная последовательность d принадлежит коду с проверочной матрицей H.