- •Тема 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
12.6. Выбор порождающего многочлена
Выбор порождающего многочлена для найденного оптимального кода основывается на вычисленных значениях и . Для выбора g(x) используется таблица кодов, приведенная в приложении. В этой таблице для кодов БЧХ естественной длины n = 2l – 1, где l = 4...10, приводятся значения k, d, сомножители g(x) в виде набора неприводимых многочленов fi(x), степень каждого fi(x) и минимальная степень последовательности корней каждого из сомножителей -. Индекс i неприводимого многочлена fi(x) возрастает с увеличением минимальной степени в последовательности корней. Например f1(x) – неприводимый многочлен, последовательность корней которого содержит степени 1; f2(x) – соответствует многочлену с последовательностью корней, содержащей минимальную степень, не вошедшую в последовательность для f1(x) и т. д. Из приведенных в таблице сомножителей порождающие многочлены циклических кодов можно получить следующим образом: g1(x)=f1(x), .
При этом степень g(x) должна соответствовать параметру (n-k) соответствующего кода. Такой метод составления порождающих многочленов позволяет построить циклические коды, у которых минимальное кодовое расстояние увеличивается по меньшей мере на 2 при увеличении числа сомножителей порождающего многочлена на 1.
В целях сокращения записи все многочлены указаны в восьмеричном представлении:
0 = 000
1 = 001
2 = 010
3 = 011
4 = 100
5 = 101
6 = 110
7 = 111
Коэффициенты многочленов в двоичной записи располагаются в порядке убывания, т.е. коэффициенты при слагаемом высшего порядка расположены слева. Например, число 2415 обозначает многочлены в двоичной записи:
010100001101. Учитывая, что старшая степень находится слева, имеем
f(x) = x10 + x8 + x3 + x2 +1.
Знание степени неприводимого многочлена и минимальной степени последовательности его корней позволяет найти всю последовательность корней для каждого многочлена g(x) в таблице. Для этого используется известное правило: Если – корень f(x), то и также его корень.
Надо помнить, что степени приводятся по mod n, где n – длина кодовой комбинации. Для приведенного многочлена и вся последовательность его корней имеет вид:
.
Если найденный оптимальный код отсутствует в таблице в явном виде, то следует его искать среди укороченных кодов (n–i, k–i). При этом надо ориентироваться на число (n–k), а i определить из выражения . Для этого выбираются табличные коды длины nт, для которых .
Например, по результатам расчетов найден оптимальный код с параметрами , т.е.. По исходным данным l=5.
Для окончательного решения по параметрам кода необходимо, чтобы n и k были кратны 5, т.е. (n–k) может быть либо 10, либо 15. Следует проверить по условию возможность использования . Если это возможно, то решением будет код (80,70). Если же проверка покажет, что (n–k) должен быть больше 10, то следует выбрать код (80,65).
В первом случае g(x) должен иметь степень 10, во втором – 15. В любом случае следует выбирать такой порождающий многочлен, который обеспечивает. Приемлемым решением является d=4, но если при том же (n–k) можно найти значение g(x), обеспечивающее большее d, то надо выбирать g(x) c большим d.
Для нашего примера с n=80 следует рассматривать коды с длиной nт от 127 и выше, ориентируясь на (n–k). Для решение можно найти, если выбрать f1(x) девятой степени, домножив его на (x+1). В этом случае , т.е. f1(x)= x9 + x4 + 1, а .
Последовательность степеней корней выбранного g(x) включает:
. В этой последовательности три степени идут подряд, что позволяет сделать вывод, что dmin такого кода равно 4. Итак, код (80,70) является укорочением кода (511,501).
Порождающий многочлен кода (80,65) можно представить как произведение многочленов седьмой степени 211 и 217 и многочлена x+1.
Итак, для кода (80,65):
Его последовательность корней равна:
.
Здесь подряд идут степени т.е. dmin=6. Код (80,65) является укорочением кода (127,112).