- •Глава3 4
- •Часть 1 введение 4
- •Часть 2 коды хемминга, голея и рида-маллера 39
- •Часть 3 двоичные циклические коды и коды бчх 54
- •Часть 4 недвоичные бчх коды -коды рида-соломона 105
- •Глава3 часть 1 введение
- •1.1. Кодирование для исправления ошибок: Основные положения
- •1.1.1. Блоковые и сверточные коды
- •1.1.2. Хеммингово расстояние, Хемминговы сферы и корректирующая способность
- •1.2. Линейные блоковые коды
- •1.2.1. Порождающая и проверочная матрицы
- •1.2.2. Вес как расстояние
- •1.3. Кодирование и декодирование линейных блоковых кодов
- •1.3.1. Кодирование с помощью матриц g и н
- •1.3.2. Декодирование по стандартной таблице
- •1.3.3. Хемминговы сферы, области декодирования и стандартная таблица
- •1.4. Распределение весов и вероятность ошибки
- •1.4.1. Распределение весов и вероятность необнаруженной ошибки в дск.
- •1.4.2. Границы вероятности ошибки в дск, каналах с абгш и с замираниями
- •1.5 Общая структура жесткого декодера для линейных кодов
- •Часть 2 коды хемминга, голея и рида-маллера
- •2.1. Коды Хемминга
- •2.1.1. Процедуры кодирования и декодирования
- •2.2. Двоичный код Голея
- •2.2.1 Кодирование
- •2.2.2. Декодирование
- •2.2.3. Арифметическое декодирование расширенного (24,12,8) кода Голея.
- •2.3. Двоичные коды Рида-Маллера
- •2.3.1. Булевы полиномы и рм коды
- •2.3.2. Конечные геометрии и мажоритарное декодирование.
- •Часть 3 двоичные циклические коды и коды бчх
- •3.1. Двоичные циклические коды.
- •3.1.1. Порождающий и проверочный полиномы.
- •3.1.2. Порождающий многочлен
- •3.1.3. Кодирование и декодирование двоичных циклических кодов.
- •3.1.4. Проверочный полином.
- •3.1.5. Укороченные циклические коды и crc коды
- •3.2. Общий алгоритм декодирования циклических кодов
- •3.1.5 Пакеты ошибок
- •3.2.1. Арифметика gf(q)
- •3.3. Двоичные коды бчх
- •3.4. Полиномиальные коды
- •3.5. Декодирование двоичных бчх кодов
- •2. Евклидов алгоритм (еа)
- •3.5.1. Общий метод декодирования для бчх кодов
- •3.5.2. Алгоритм Берлекемпа-Мэсси (вма)
- •3.5.3. Декодер pgz
- •3.5.4. Евклидов алгоритм (еа)
- •3.5.5. Метод Ченя и исправление ошибок
- •3.5.6. Исправление стираний и ошибок
- •3.6. Распределение весов и границы вероятности ошибки
- •3.6.1. Оценка вероятности ошибки
- •Часть 4 недвоичные бчх коды -коды рида-соломона
- •4.1. Коды pc как полиномиальные коды
- •4.2. От двоичных кодов бчх к pc кодам
- •4.3. Декодирование кодов pc
- •4.3.1. Комментарий к алгоритмам декодирования
- •4.3.2. Исправление ошибок и стираний
- •4.4. Распределение весов
- •Глоссарий
- •Литература
1.3.3. Хемминговы сферы, области декодирования и стандартная таблица
Стандартная таблица предоставляет удобный способ объяснения понятий Хемминговой сферы и корректирующей способности линейного кода С, введенной в Разделе 1.1.2.
Из конструкции стандартной таблицы видно, что j-ый столбец из 2k правых столбцов таблицы, обозначаемый Colj, 1 ≤ 2k, содержит кодовое слово vj С и множество 2n-k слов, ближайших к нему по Хеммингову расстоянию, т.е.
(1.23)
Каждый столбец (1.23) представляет собой область декодирования j-ого кодового слова в Хемминговом пространстве. Таким образом, если по ДСК передано кодовое слово vj С и принятое слово r принадлежит столбцу Colj, то оно будет успешно декодировано в переданное слово vj.
Граница Хемминга
Множество столбцов Colj и корректирующая способность t кода С связаны между собой через Хеммингову сферу St(yj) следующим образом: двоичный линейный (п, k, d) код С имеет корректирующую способность t, если каждая область декодирования Со1j содержит Хеммингову сферу радиуса t, т.е. St(vj) Colj.
Учитывая, что каждая область декодирования содержит 2n-k слов, и, используя уравнение (1.6), получаем знаменитую границу Хемминга
(1-24)
где
Граница Хемминга имеет несколько комбинаторных интерпретаций. Вот одна из них:
Число синдромов 2n-k должно быть больше или равно числу исправляемых комбинаций ошибок,
Пример 7. Двоичный код (3,1,3) имеет порождающую матрицу G = (111) и проверочную матрицу
Соответственно, стандартная таблица имеет вид:
S |
0 |
1 |
00 |
000 |
111 |
11 |
100 |
011 |
10 |
010 |
101 |
01 |
001 |
110 |
Четыре вектора во втором столбце таблицы (т.е. лидеры смежных классов) являются элементами Хемминговой сферы S1(000), показанной на Рисунке 4. Этот столбец содержит все векторы длины 3 и веса 1 или меньше. Аналогично, третий столбец (правый) содержит все элементы S1(111). Для этого кода граница Хемминга выполняется с равенством.
Блоковые коды, удовлетворяющие границе (1.24) с равенством, называются совершенными кодами. Нетривиальными совершенными кодами являются следующие:
- двоичные (2т - 1, 2т - т - 1, 3) коды Хемминга,
- недвоичные (qт - 1)/(q - 1), (qm - 1)/(q - 1) - т - 1, 3) коды Хемминга, q > 2.
- коды-повторения (n,1,n),
- коды с проверкой на четность (n,n-1,2),
- двоичный (23,12,7) код Голея и
- троичный (11,6,5) код Голея.
Расширенные, т.е. дополненные общей проверкой на четность, коды Хемминга и Голея тоже совершенны.
Для недвоичных кодов граница Хемминга имеет вид:
1.4. Распределение весов и вероятность ошибки
При выборе конкретной схемы кодирования очень важно иметь представление об ее помехоустойчивости. Известны несколько характеристик помехоустойчивости систем с исправлением ошибок. В этом разделе вводятся оценки для линейных кодов и трех базовых моделей каналов: модель ДСК, модель с аддитивным белым гауссовым шумом (АБГШ) и модель канала с общими Релеевскими замираниями.