- •Санкт-Петербургский государственный университет телекоммуникаций им.Проф. М.А. Бонч-Бруевича в.М. Охорзин
- •Санкт-Петербург
- •Тема 1. Основные понятия и определения в области пдс
- •1.1.Дискретность
- •Соответствующие виды сигналов:
- •1.2.Модуляция
- •1.3.Кодирование
- •1.4.Упрощенная структурная схема аппаратуры пдс.
- •Модулятор – устройство, осуществляющее модуляцию. Демодулятор осуществляет обратное преобразование. Совокупность модулятора и демодулятора образует модем.
- •1.5. Основные параметры и характеристики системы пдс
- •Тема 2. Системные характеристики систем передачи дискретных сообщений 2.1 Понятие об эталонной модели взаимодействия открытых систем
- •2.2. Понятие о телеуслугах
- •2.3 Первичные коды в системах пдс
- •2.3.1. Телеграфные коды
- •2.3.2. Коды для передачи данных
- •Тема 3. Основные характеристики уровня дискретногоканаласистем пдс
- •3.1. Понятие об искажениях дискретных сигналов
- •3.1.1. Классификация искажений
- •3.1.2.Характеристические краевые искажения
- •3.1.3 Краевые искажения типа преобладаний
- •3.1.4.Случайные искажения
- •3.2.Понятие о методах регистрации дискретных сигналов
- •3.2.1.Метод стробирования
- •3.2.2. Интегральный метод
- •Интегрирование в промежутке, меньшем длительности элементарной посылки
- •3.3 Оценка эффективности методов регистрации
- •3.3.1.Распределение краевых искажений
- •3.3.2. Распределение дроблений
- •3.3.3. Расчет вероятности ошибки при краевых искажениях
- •3.3.4.Расчет вероятности ошибки при дроблениях
- •3.4.Модели дискретных каналов
- •3.4.1.Поток ошибок в дискретном канале
- •3.4.2.Методы выявления и исследования последовательностей ошибок
- •3.4.3 Основные закономерности распределения ошибок в реальных каналах связи
- •3.4.4 Математические модели дискретных каналов с группированием ошибок
- •А. Модель неоднородного канала.
- •Б. Двухпараметрическая модель дискретного канала
- •Тема 4. Устройство синхронизации по элементам (усп).
- •4.1.Назначение и классификация
- •Основные элементы устройства , реализующего фапч:
- •4.2. Необходимость поэлементной синхронизации . Расчет времени удержания синхронизма.
- •4.3.Схема фапч с дискретным управлением.
- •4.4.Основные характеристики системы фапч.
- •Тема 5. Линейные (n,k)-коды
- •5.1. Определение помехоустойчивых кодов и их общие характеристики
- •5.1.1. Принципы построения помехоустойчивых кодов
- •5.1.2. Основные характеристики помехоустойчивых кодов
- •5.1.3 Классификация помехоустойчивых кодов
- •5.1.4.Граничные соотношения между характеристиками помехоустойчивых кодов
- •5.1.5.Задачи
- •5.2. Групповые коды и способы их описания
- •5.2.1. Основные алгебраические системы, используемые в теории кодирования
- •5.2.2. Способы представления кодовых комбинаций
- •5.2.3. Определение группового кода
- •5.2.4. Матричное описание групповых кодов
- •5.2.5. Задачи
- •5.3. Другие свойства групповых кодов
- •5.3.1. Корректирующие свойства групповых кодов
- •5.3.2. Процедуры кодирования и декодирования для группового кода
- •5.3.3. Укорочение кода
- •5.3.4. Оценка эффективности групповых кодов
- •5.3.5. Смежно-групповые коды
- •5.3.6. Задачи
- •5.4. Примеры групповых кодов
- •5.4.1. Коды с единственной проверкой на четность
- •5.4.2. Коды Хэмминга
- •5.4.3. Итеративные коды.
- •5.4.4 Задачи
- •Тема 6. Двоичные циклические (n,k) - коды
- •6.1. Основные алгебраические системы, используемые в теории кодирования.
- •6.2. Определение циклического кода
- •6.3. Построение порождающей и проверочной матриц циклических кодов.
- •6.4. Коды Боуза-Чоудхури-Хоквингема (бчх).
- •6.5. Выбор порождающего многочлена для кода бчх
- •6.6. Эффективность двоичных кодов бчх
- •6.6.1. Задачи
- •6.7. Кодирующие и декодирующие устройства циклических кодов
- •6.7.1 Процедура кодирования и декодирования для циклических кодов
- •6.7.2. Линейные переключательные схемы, используемые в кодирующих и декодирующих устройствах циклических кодов
- •6.7.3. Схемы кодирующих устройств циклических кодов
- •6.7.4. Декодирующие устройства циклических кодов
- •6.7.5. Задачи
- •Тема 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.4. Декодирование с мягким решением
- •8.4.1. Модель канала с абгш
- •2.1.2. Передача двоичных сигналов по каналам с абгш
- •2.1.3. Алгоритм Витерби с Евклидовой метрикой
- •8.5. Связь с блоковыми кодами
- •8.5.1. Терминированная конструкция (нулевой хвост)
- •8.5.2. Усеченная конструкция (direct truncation)
- •8.5.3. Кольцевая (циклическая или циклически замкнутая) (tail-biting) конструкция
- •8.5.4. Распределение весов
- •8.6. Модифицированный граф состояний
- •8.7. Решение задач
- •8.7.1. Задачи
- •8.7.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.1 Назначение и классификация способов цикловой синхронизации
- •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. Коды бчх
- •Приложение 4
- •Список использованных источников
- •Предметный указатель
- •Тема 1. Основные понятия и определения в области пдс………………..……....2
- •Тема 2. Системные характеристики систем передачи дискретных сообще……...11
- •Тема 3. Основные характеристики уровня дискретного канала пдс…………………21
- •Тема 4. Устройство синхронизации по элементам (усп)…………………………...50
- •Тема 5. Линейные (n,k)-коды…….………………………………………………………..54
- •Тема 6. Двоичные циклические (n,k) – коды…………………………………… …….105
- •Тема 7. Коды Рида- Соломона (рс)…………………………………………..………..165
- •7.1.3. Отображение рс-кодов над gf(2m) на двоичные коды…………………….170
- •Тема 8. Непрерывные коды……………………………………………..………………..185
- •Тема 9. Некоторые специальные классы кодов. Составные коды………………..……210
- •9.4.1. Принципы построения каскадных кодов…………………………………………………215
- •9.4.2. Режимы использования каскадных кодов……………………………………………….218
- •9.4.3. Построение двоичных каскадных кодов на основе кодов Рида–Соломона и Боуза–Чоудхури–Хоквингема………………..……………………………………………….…219
- •Тема 11. Системные методы защиты от ошибок без обратной связи………………..……234
- •Тема 12. Системные методы защиты от ошибок с обратной связью…..…………….244
6.4. Коды Боуза-Чоудхури-Хоквингема (бчх).
Определение корректирующих свойств циклических кодов, предназначенных для коррекции многократных ошибок, сводится к определению минимального кодового расстояния этих кодов или к установлению максимальных значений кратностей гарантийно исправляемых или обнаруживаемых ошибок.
Следующие две теоремы позволяют определить важнейший класс двоичных циклических кодов и установить корректирующую способность этого класса циклических кодов.
Теорема 6.1. Для любых значений l и t существует циклический код длины , исправляющий все ошибки кратностиt и менее и содержащий не более проверочных символов.
Формулировка этой теоремы заимствована из [1]. Следует уточнить, что при произвольном lпараметрt не может быть любым. Его максимальное значение не должно превышать числа(n-1)/2, т.е.t≤2r-l-1.
Пример 6.7. Найти циклические коды длиныn=31, исправляющие ошибки кратностиt=1, 2, 3.
Определяем l. Так как 31=25-1, тоl=5. Находим количество проверочных элементов для заданных значенийt:
Таким образом, искомые коды (31, 26), (31, 21) и (31, 16).
Следует заметить, что теорема 6.1 определяет лишь существование кодов с известными корректирующими свойствами. Построение же кодов, действительно обладающих этими свойствами, зависит от правильного выбора порождающего многочлена.
Теорема 6.2. Если среди корней порождающего многочлена циклического (n, k) – кода имеются корни вида то минимальное расстояние этого кода равно, по меньшей мере,d.
Циклические коды, удовлетворяющие этим теоремам получили название кодов Боуза-Чоудхури-Хоквингема,или кодов БЧХпо фамилиям их авторов.
Коды БЧХ - обширный класс кодов, предназначенный в первую очередь для исправления многократных ошибок. Коды БЧХ включают в свой состав коды Хэмминга и обобщают их на случай t>1.
Коды БЧХ существуют над полем GF(q), гдеq≥2. При этом Теорема 6.1., сформулированная для случаяq=2, может быть обобщена дляq>2. Однако, это обобщение выходит за рамки настоящего учебного пособия. Теорема 6.2. справедлива дляq≥2и будет использована при изучении недвоичных циклических кодов.
Изучение кодов БЧХ является основой для понимания других классов циклических кодов.
6.5. Выбор порождающего многочлена для кода бчх
а) Порождающий многочлен для (n, n-1) – кодов.
В примере 6.3 было показано, что один из возможных кодов длины 7 есть (7,6) – код с . Покажем, что этот код образуется на основе проверки на четность всех информационных элементов кодовой комбинации. Для этого определим проверочный многочленh(x)и построим проверочную матрицу (7,6) – кода. Находим
и
,
т.е. действительно (7,6)-код с является кодом с одной проверкой на четность по всем элементам кодовой комбинации. Распространим результат рассмотренного примера на общий случай.
В общем случае (n,n-1) – кода при любом значенииnпроверочный многочлен находится как. Так как двучленыиимеют общий кореньx=1, то справедливо
,
т.е. многочлен порождает (n,n-1) – код длиныnс проверкой на четность по всем элементам.
б) Порождающий многочлен для общего случая циклического кода
Теорема 6.2 позволяет осуществить выбор порождающего многочлена для БЧХ кода и по его корням определить корректирующие свойства этого кода.
Пример 6.8.Порождающий многочлен кода (7,4) из примера 6.6 имеет своими корнямии. Определим корректирующие свойства этого кода.
Находим максимальное число последовательных степеней корней порождающего многочлена. Это элементы и. Здесь=1, а, откудаd = 4-= 3.
Использование теоремы 6.2 для выбора порождающих многочленов циклических кодов, а также для определения корректирующих свойств циклических кодов предполагает знание корней многочленов, которые могут быть выбраны в качестве порождающих многочленов кодов. Поскольку порождающий многочлен циклического (n,k) – кода должен быть делителем, то для нахождения всех возможных кодов длиныn, выбора порождающих многочленов и установления их корректирующих свойств необходимо знание сомножителейи их корней.
Таблицы разложения с указанием корней неприводимых сомножителей в виде степенейи циклические коды, построенные на их основе, приведены в [2, 3].
Таблица кодов БЧХ с n=7÷1023 приведена в Приложении к настоящему пособию.
Пример 6.9.Найти порождающие многочлены для кодов длиныn= 31 из примера 6.7. Из приложения 1 [2] находим неприводимые сомножителии последовательности их корней:
Сомножитель |
его степень |
последовательность степеней корней |
|
1 |
0=31 |
|
5 |
1 2 4 8 16 |
|
5 |
3 6 12 24 17 |
|
5 |
5 10 20 9 18 |
|
5 |
7 14 28 25 19 |
|
5 |
11 22 13 26 21 |
|
5 |
15 30 29 27 23 |
Для кода (31,26) с t = 1 в качестве порождающего многочлена можно взятьтак как корни каждого из них содержат по две последовательные степени, а значит, по теореме 5.2 эти коды имеютdmin= 3.
Для кода (31,21) порождающий многочлен должен иметь степень 10. Он может быть получен, как произведение двух неприводимых многочленов пятой степени
В соответствии с теоремой необходимо, чтобы порождающий многочлен имел среди своих корней 4 последовательных степени. Этому требованию удовлетворяют, например, многочлены и. Для кода (31,16) в качестве порождающего многочлена целесообразно выбрать многочленыи, у которых среди корней имеются элементыисоответственно, что обеспечивает требуемые корректирующие свойства кода.
в) Улучшение корректирующих свойств циклических (n, k) – кодов умножением порождающего многочлена на .
Для кодов с нечетным значением минимального кодового расстояния последнее может быть увеличено на единицу умножением порождающего многочлена g(x)на. Выше было показано, что использование двучленав качестве порождающего многочлена дает код с проверкой на четность. Умножение порождающего многочлена некоторого циклического кода наприводит к введению дополнительной проверки на четность в этом коде по всем кодовым элементам. Если код имеет четное значениеdmin, то дополнительная проверка на четность не изменит его величины, т.к. введение в проверочную матрицу строки из одних единиц не изменит минимального числа линейно не зависимых столбцов.
Если же dminнечетное, то введение в проверочную матрицу строки из одних единиц приводит к увеличению минимального числа линейно зависимых столбцов на один.
Пример 6.10.Рассмотрим проверочную матрицу кода (7,3) из примера 6.3. Если в качестве порождающего многочлена выбрать, проверочным многочленом будет
Матрица проверок для этого кода имеет вид
Сложив 1, 2 и 4-ю строки и записав результат вместо 4-й строки, получим проверочную матрицу этого же кода в следующем виде
Проверочная матрица кода (6,3) с dmin=3состоит из проверочной матрицы укороченного кода (7,4) (обозначена пунктиром), к которой добавлена строка, обеспечивающая проверку на четность по всем элементам кодовой комбинации. Минимальное кодовое расстояние равно 4 (линейно зависимы, например, 1, 2, 3 и 6-й столбцы).
г) Выбор порождающих многочленов для укороченных кодов
Как и все групповые коды, циклические коды могут подвергаться укорочению. При этом порождающий многочлен остается тем же, что и у исходного кода. Так как в результате укорочения уменьшается длина кодовой комбинации, то не все циклические сдвиги кодовой комбинации в укороченном (n-i,k-i) – коде будут кодовыми комбинациями. В силу этого обстоятельства, укороченные циклические коды называют псевдоциклическими. Методика построения кодовой комбинации для укороченного циклического кода остается той же, что была рассмотрена в разделе 6.2, т.е. каждая кодовая комбинация укороченного циклического кода кратна порождающему многочленуg(x), и корректирующие свойства укороченного циклического кода полностью определяются корнямиg(x). Для укороченных кодов проверочные многочленыh(x)не определяются, а матрицы проверок строятся на основе порождающих матриц. Выбор порождающих многочленов для псевдоциклических кодов наиболее рационально производить на базе кодов, построенных по теореме 6.1. При этом можно при заданной абсолютной избыточности обеспечить требуемые корректирующие свойства и сохранить скорость передачи кода близкой к требуемой.
Пример 6.11. Выбрать порождающий многочлен для кода (50,35) с.
Выбор производим по необходимому числу избыточных элементов n-k=15. Так как требуется обеспечить, то по теореме 6.1 принимаемt=2. Ближайшее к требуемому значение избыточных элементов достигается приl=7.
Таким образом, исходным циклическим кодов является (127,113) – код с . Этот код имеет. Следовательно, необходимо добавить еще один избыточный элемент. Для этого умножимg(x)на, т.е. вводим проверку на четность по всем элементам. Получаем (127,112) – код с. Укорочением данного кода на 77 разрядов получаем требуемый код. Итак, в качестве порождающего многочлена для кода (50,35) можно взять. Данный код имеет.