- •Глава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. Распределение весов
- •Глоссарий
- •Литература
3.1.5 Пакеты ошибок
Характерной особенностью циклических кодов является способность к распознаванию пакетов ошибок. Под пакетом ошибок понимается группирование ошибок в одной ограниченной области кодового слова (рис. 3.16). Пакет ошибок можно описать многочленом вида
.
(3.75)
Е
сли
длина пакета ошибок не превосходит
величины r
= п
— k,
то степень многочлена ошибок меньше r.
В этом случае е(Х)
не делится на
(Х)
без остатка и синдром принятого слова
всегда отличен от нулевого, следовательно,
пакет ошибок длины равной или меньшей
r
всегда распознается. Из теоремы 3.6.1
следует, что распознается также любой
циклический сдвиг многочлена В(Х)
степени, меньшей r,
т.е. и «концевой» пакет ошибок длины
меньшей или равной r
(рис. 3.17), всегда распознается.
Теорема 3.7.1. Циклический (п, k)-код способен обнаруживать все пакеты ошибок (в том числе концевые) длины r = п — k и меньше.
Помимо распознавания всех пакетов ошибок длины r и меньше циклические коды обладают способностью обнаруживать большую часть пакетов ошибок, длина которых превосходит r.
Рассмотрим пакет
ошибок длины r
+ 1, начинающийся в j-ой
компоненте. Так как первая и последняя
компоненты пакета ошибок отличны от
нуля, всего имеется 2r-1
возможных конфигураций ошибок.
Необнаружимой является только одна из
них, многочлен которой В(Х)
совпадает с
(Х),
то есть
.
(3.76)
Теорема 3.7.2. Для циклического (п, k)-кода доля необнаружимых пакетов ошибок длины l = r + 1 = п — k+1 равна 2-(r-1).
Рассмотрим пакет
ошибок длины l>r+1=n-k+1
начинающийся в j-ой
компоненте. Если соответствующий
многочлен В(Х)
делится на
(Х)
без остатка, то есть
,
(3.77)
то такой пакет не может быть обнаружен.
Пусть коэффициенты многочлена а(Х) степени l - r - 1 имеют вид a0, a1, ..., al-r1. Так как пакет ошибок начинается и заканчивается единицей, a0 = al-r-1. Следовательно, существует 2l-r-2 наборов коэффициентов а(Х), приводящих к необнаружимым ошибкам в (3.77). С другой стороны, существует 2l-2 различных пакетов ошибок длины l и, таким образом, верно следующее утверждение.
Теорема 3.7.3. Для циклического (п, k)-кода доля необнаружимых пакетов ошибок длины l>r + l = n — k + 1 равна 2-r.
Пример: Распознавание ошибок циклическим (7,4)-кодом Хэмминга.
Рассмотрим циклический (7,4)-код Хэмминга из предыдущих примеров с r = п — k = 3. Так как минимальное кодовое расстояние кода Хэмминга dmin = 3, он способен обнаруживать все двойные ошибки или исправлять одиночные. Рассматриваемый (7,4)-код Хэмминга является циклическим кодом и он способен также обнаруживать все пакеты длины r = 3. В частности, любые три следующие друг за другом ошибки всегда обнаруживаются.
Доля необнаружимых ошибок длины r + 1 = 4 равна 2-(3-1) = 1/4. При пакетах ошибок с длиной большей 4, не распознается только 2-3 = 1/8 из них.
Замечание. На практике, как правило, используются циклические коды с довольно большим числом проверочных разрядов, например, r = п — k = 16. Доля необнаружимых пакетов ошибок такими кодами достаточна мала. Так, при r = 16, обнаруживается более чем 99,9969 % пакетов длины 17 и 99,9984 % пакетов длины 18 и выше.
