- •Тема 7. Коды Рида- Соломона (рс)
- •7.1. Определение и основные свойства
- •Пример 7.1
- •Пример 7.2
- •7.1.1. Расширенные рс-коды
- •Пример 7.3
- •7.1.2. Укороченные рс-коды
- •7.1.3. Отображение рс-кодов над gf(2m) на двоичные коды
- •7.1.4. Способы кодирования и декодирования рс-кодов
- •1. Многочлен локаторов ошибок:
- •2.Синдромный многочлен
- •3. Многочлен значений ошибок
- •7.2. Быстрое декодирование кодов бчх
- •7.2.1. Ключевое уравнение
- •7.2.2. Решение ключевого уравнения
- •7.2.3. Примеры решения ключевого уравнения
- •7.3.Кодирование на основе решения ключевого уравнения
- •7.4.Задачи
- •Тема 8. Непрерывные коды
- •8.1. Сверточное кодирование
- •8.2. Представление сверточного кодера
- •8.2.1. Представление связи
- •8.2.1.1. Реакция кодера на импульсное возмущение
- •8.2.1.2. Полиномиальное представление
- •8.2.2. Представление состояния и диаграмма состояний
- •8.2.3. Древовидные диаграммы
- •8.2.4. Решетчатая диаграмма
- •8.3. Формулировка задачи сверточного декодирования
- •8.3.1. Алгоритм сверточного декодирования Витерби
- •8.3.2. Пример сверточного декодирования Витерби
- •8.3.2.1. Процедура сложения, сравнения и выбора
- •8.3.2.2. Вид процедуры сложения, сравнения и выбора на решетке
- •8.3.3. Память путей и синхронизация
- •8.4. Свойства сверточных кодов
- •8.4.1. Пространственные характеристики сверточных кодов
- •8.4.1.1. Возможности сверточного кода в коррекции ошибок
- •8.4.2. Систематические и несистематические сверточные коды
- •8.4.3. Распространение катастрофических ошибок в сверточных кодах
- •8.4.4. Границы рабочих характеристик сверточных кодов
- •8.4.5. Эффективность кодирования
- •8.4.6. Наиболее известные сверточные коды
- •8.5. Задачи
- •Тема 9. Некоторые специальные классы кодов. Составные коды
- •9.1. Коды для исправления пачек ошибок
- •9.2. Коды на основе последовательностей максимальной длины
- •9.3. Коды для асимметричных каналов
- •9.3.1. Коды с постоянным весом
- •9.3.2. Коды Бергера
- •9.4 Каскадные коды
- •9.4.1. Принципы построения каскадных кодов
- •9.4.2. Режимы использования каскадных кодов
- •9.4.3. Построение двоичных каскадных кодов на основе кодов Рида–Соломона и Боуза–Чоудхури–Хоквингема
- •Пример 9.2.
- •Пример 9.3.
- •9.5. Задачи
- •Тема 10. Цикловая синхронизация
- •Назначение и классификация способов цикловой синхронизации
- •10.2. Способ установки фазы приемного распределителя путем сдвига.
- •10.3. Способ мгновенной установки фазы
- •10.3.1. Маркерный способ цикловой синхронизации на основе синхронизирующих кодовых последовательностей
- •10.4 . Способ выделения сигнала фазового запуска по зачетному отрезку
- •Тема 11. Системные методы защиты от ошибок без обратной связи
- •11.1. Классификация и основные характеристики систем повышения достоверности
- •11.1.1. Теоретические основы системных методов защиты от ошибок
- •11.1.2. Классификация системных методов защиты от ошибок
- •11.1.3 .Основные параметры и характеристики систем повышения достоверности
- •11.2. Методы повышения достоверности в однонаправленных системах
- •11.2.1.Однонаправленные системы с многократным повторением сообщений
- •11.2.2.Однонаправленные системы с исправляющим ошибки кодом
- •11.2.3.Однонаправленные системы с исправлением стираний
- •11.3. Задачи
- •Тема 12. Системные методы защиты от ошибок с обратной связью
- •12.1. Системы повышения достоверности с решающей обратной связью с непрерывной последовательной передачей сообщений и блокировкой (рос-пПбл).Общие положения
- •12.2. Описание работы системы рос-пПбл
- •12.3. Режим переспроса
- •12.4. Расчет параметров системы рос-пПбл Относительная скорость передачи
- •Расчет вероятности ошибок на выходе системы
- •Расчет времени доведения сообщений
- •Расчет емкости накопителя-повторителя
- •12.5. Рекомендации по выбору оптимального кода Расчет оптимальных характеристик помехоустойчивого кода
- •Охарактеризуем поток ошибок, пропущенных в приемник сообщений средней вероятностью ошибки на бит, равной и показателем группирования ошибок.
- •12.6. Выбор порождающего многочлена
- •12.7. Задачи
- •Тема 1. Основные понятия и определения в области пдс…………………………………..…...2
- •Тема 2. Системные характеристики систем передачи дискретных сообщений………………..11
- •Тема 3. Основные характеристики уровня дискретного канала пдс……………………...……21
- •Тема 4. Устройство синхронизации по элементам (усп)……………………………………….50
- •Тема 5. Линейные (n,k)-коды…….…………………………………………………………………..54
- •Тема 6. Двоичные циклические (n,k) – коды…………………………………………………… 105
- •Тема 7. Коды Рида- Соломона (рс)…………………………………………..…………………..165
- •7.1. Определение и основные свойства………………….…………………….……………...165
- •7.1.3. Отображение рс-кодов над gf(2m) на двоичные коды……………………………….170
- •Тема 8. Непрерывные коды……………………………………………...……………………….185
- •Тема 9. Некоторые специальные классы кодов. Составные коды………………………………210
- •9.4.1. Принципы построения каскадных кодов……………………………………………………………215
- •9.4.2. Режимы использования каскадных кодов…………………………………………………………..218
- •9.4.3. Построение двоичных каскадных кодов на основе кодов Рида–Соломона и Боуза–Чоудхури–Хоквингема………………..………………………………………………..…………………………………219
- •Тема10. Цикловая синхронизация……………………………...…………………………………………222
- •Тема 11. Системные методы защиты от ошибок без обратной связи………………………………..…234
- •Тема 12. Системные методы защиты от ошибок с обратной связью…..…………………….…...244
7.2. Быстрое декодирование кодов бчх
7.2.1. Ключевое уравнение
Рассмотрим процедуру быстрого декодирования применительно к кодам Рида-Соломона (PC). Для этих кодов справедлива граница Синглтона:
n-k= d-1=2t,
где n-k — избыточность кодовой комбинации,
d - минимальное кодовое расстояние,
t - кратность гарантированно исправляемых ошибок.
Будем полагать, что код используется в режиме исправления ошибок. Пусть в приемник АПД поступила кодовая комбинация PC-кода
С(x)=f (x)+e(x),
где f(x) - переданная передатчиком АПД кодовая комбинация, в которой в процессе передачи по каналу связи произошло υ ошибок, отображаемых многочленом е(х). Здесь 0≤v≤t.
Многочлен ошибок можно представить в виде
e(x)=ei1хi1 +ei2xi2+…+eivxiv=∑eilxil,
где eil - значение ошибки, il - номер позиции кодовой комбинации, в которой произошла ошибка. Для исправления ошибок необходимо определить eil и il. Это возможно выполнить на основе синдрома. В 7.1.4 введено понятие синдромного многочлена:
S(x)=S1x0+S2x1+…+Sn-к xn-k-1 .
Коэффициенты Si определяются подстановкой в С(х) корней αl порождающего многочлена кода PC.
S1=C(x= αl)=f(x= αl)+е(х= αl)=e(αl),
где l≤l≤2t.
Теперь получим, S1=e1αi1 +e2αi2+…+eivαiv и т.д.
Для упрощения записи компонентов синдромного многочлена определим для всех l=1,...,v значения ошибки Уl= eil ,и локаторы ошибок Хl= ail=l, где il=l - истинное положение l-й ошибки.
В этих новых обозначениях S1 запишется в виде:
S1=Y1X1+ Y2X2+…+ YvXv,.
Здесь Yl и Хl - элементы поля GF(q) над которым построен PC-код, а α - примитивный элемент этого поля. В результате получим следующую систему из 2t уравнений относительно υ неизвестных локаторов X1,..., Xv и v неизвестных значений ошибок Y1,...,Yυ:
S1=Y1X1+ Y2X2+…+ YvXv,
S2=Y1X12+ Y2X22+…+ YvXv2,
. . .
S2t=Y1X12t+ Y2X22t+…+ YvXv2t.
В силу определения синдрома эта система уравнений должна иметь хотя бы одно решение. В теории кодирования доказано, что это решение единственно. Изложение известных алгоритмов поиска этого решения базируется на введенном выше понятии ключевого уравнения.
Для его формирования вводятся еще два многочлена:
.Многочлен локаторов ошибок
Λ(х)=1+ Λ1х+Λ2 х2+ Λvxv, имеющий корни, обратные локаторам ошибок Xl-1, l=1…,v. Это позволяет представить Λ(x) в следующем виде:
.
Многочлен значений ошибок
Он определяется через S(x) и Λ(х) в соответствии с видом введенного выше многочлена ошибок Ω(x)=S(x)* Λ (x) (mod x2t)=
=[(S1x0+ S2x1+…+ S2t x2t-1) ] (mod x2t)=
=[(Y1X1+ Y2X2+…+ YvXv,)x0+(Y1X12+ Y2X22+…+ YvXv2)x1+…
+(Y1X12t+ Y2X22t+…+ YvXv2t)x2t-1](mod x2t)=
=[ Y1X1( 1+ X1x +Xx2+…+Xx2t-1) +
+ Y2X2( 1+ X2x +Xx2+…+Xx2t-1) + . . .
.+ YvXv ( 1+ Xv x +Xx2+…+Xx2t-1) ](mod x2t)=
=[ Y1X1( 1+ X1x +Xx2+…+Xx2t-1)(1+X1x) +…
+ YvXv ( 1+ Xv x +Xx2+…+Xx2t-1)(1+ Xv x ) ](mod x2t)=
=[ Y1X1 (1+X1x)2t+…+ YvXv(1+ Xv x )2t](mod x2t)=
=[ Y1X1+…+ YvXv] =.
=[ Y1X1 (1+(X1x)2t)+…+ YvXv(1+( Xv x) )2t](mod x2t)=
Итак, многочлен значений ошибок выражается через значения ошибок и локаторы ошибок следующим образом:
Ω(х) =.
Выражение для Ω(х) определяет множества из 2t-v уравнений и называется ключевым уравнением, так как оно является ключом решения задачи декодирования.
Ключевое уравнение позволяет получить v уравнений для v неизвестных коэффициентов Λ(x). Эти уравнения являются линейными. Они могут быть решены обычными методами, либо с помощью итерационных процедур. После нахождения Λ(х) ключевое уравнение позволяет найти неизвестные компоненты многочлена е(х) и по ним переданную кодовую комбинацию f(x)=C(x)+e(x).
Из изложенного можно сделать вывод, что декодирование кодов БЧХ на основе решения ключевого уравнения распадается на два этапа.
I этап — вычисление многочлена локатора ошибок Λ(х). Для двоичных кодов БЧХ этим этапом декодирование завершается.
II этап - для недвоичных кодов, какими являются РС-коды, вычисление многочлена значений ошибок Ω(х), позволяющего вычислять значение каждой из υ ошибок в принятой комбинации.
Для нахождения многочлена локаторов ошибок из литературы известны три алгоритма:
1. Алгоритм Питерсона.
2 .Алгоритм Берлекемпа-Месси.
3- Алгоритм Евклида - алгоритм СКХН.
Авторы первого и второго алгоритмов указаны в их названии. Алгоритм Евклида для целей решения ключевого уравнения был впервые предложен четырьмя авторами: Сугияма, Касахара, Хирасава и Намекава. В дальнейшем для краткости будем называть алгоритмом Евклида.
Алгоритм Питерсона может быть использован как самостоятельная процедура декодирования недвоичных циклических кодов и на II этапе.
Алгоритм Берлекемпа-Месси и алгоритм Евклида на II этапе декодирования для недвоичных циклических кодов дополняют алгоритмом Форни, позволяющим по корням Λ (х) и многочлену Ω(x) найти значения ошибок. Сочетание алгоритма Берлекемпа-Месси и алгоритма Форни получило название быстрого декодирования кодов БЧХ.
Рассмотрим сущность изложенных алгоритмов декодирования