- •Санкт-Петербургский государственный университет телекоммуникаций им.Проф. М.А. Бонч-Бруевича в.М. Охорзин
- •Санкт-Петербург
- •Тема 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.4.Задачи
- •7.3.Кодирование на основе решения ключевого уравнения
- •Тема 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.7. Кодирующие и декодирующие устройства циклических кодов
6.7.1 Процедура кодирования и декодирования для циклических кодов
Преобразование комбинации первичного k– разрядного кода в комбинацию циклического (n,k) – кода может быть осуществлено либо при помощи порождающего многочленаg(x), либо при помощи проверочного многочленаh(x).
а) Процедура кодирования для циклического кода по g(x).
Любой циклический
(n,k)
– код может быть получен в результате
следующего процесса. Пусть
- многочлен степениn-1,
в качестве коэффициентов которого при
степенях
выбраны информационные символы кодовой
комбинации циклического (n,k) – кода, а коэффициенты
при степеняхх, меньших, чемn-k,
равны 0. Тогда результат деления
на порождающий многочлен кодаg(x),
степень которого, как известно, равнаn-k,
может быть представлен в виде
,
где степень r(x)меньшеn-k.
Образуем новый
многочлен
,
у которого коэффициенты при степеняхх, меньшихn-k,
есть соответствующие коэффициентыr(x),
а коэффициенты при остальных степенях
есть соответствующие коэффициенты
.
Для полученного многочлена справедливо
![]()
и так как его
степень не превышает n-1,
то по определению 2 циклического кода
полученный подобным образом вектор
принадлежит циклическому (n,k) – коду.
В векторе
коэффициентами при степеняхх,
равныхn-kи старше, являются информационные
элементы кодовой комбинации, а
коэффициентами при младших степенях –
проверочные (см. рис. 6.0).
Таким образом, для
формирования кодовой комбинации
циклического (n,k)
– кода по данному способу требуется
иметь устройство для умножения комбинации
первичного кода, представляемой
многочленом
степени не старшейk-1,
на
,
деления, полученного в результате
умножения многочлена
степени не старшейn-1
на порождающий многочлен циклического
кодаg(x)степениn-kи вычисления остатка от этого деления
степениn-k-1
и менее.
В комбинации
циклического (n,k)
– кода коэффициенты многочлена
(n,k)
– кода являются информационными
разрядами, а коэффициенты многочлена
- избыточными.
б) Процедура кодирования для циклического кода по h(x).
Для проверочного
многочлена h(x)степениkциклического
(n,k)
– кода справедливо
или
.
Так как по определению
2 любая кодовая комбинация кратна g(x),
то для произвольной комбинацииf(x)выполняется
.
Если принять
,
то, учитывая, что степень h(x)равнаk, а степеньf(x)равнаn-1, для коэффициентаСсможно составить
соотношение:
.
Учитывая, что
находим
![]()
Положим с = n-1, тогда
![]()
При с = n-2 имеем:
![]()
При c =k
![]()
Итак, если известны
коэффициенты
,
т.е. информационные элементы кодовой
комбинации циклического (n,k) – кода, то при помощи
систем рекуррентных соотношений,
полученных выше, можно найти значение
избыточных элементов
Таким образом, для кодирования по
проверочному многочлену необходимо
иметь устройство для решения рекуррентных
соотношений типа
![]()
в) Процедура декодирования для циклических кодов
В основе процедуры
декодирования лежит процесс выявления
принадлежности принятой комбинации к
множеству разрешенных кодовых комбинаций.
Эта задача решается, как было показано
выше, вычислением синдрома для принятой
комбинации
.
Техническая реализация этой операции
может осуществляться по методике,
изложенной при рассмотрении кодов
Хэмминга. Однако для циклических кодов
можно получить более рациональное
вычисление синдрома, если использовать
признак делимости каждой кодовой
комбинации этих кодов на порождающий
многочленg(x).
В данном случае принятая комбинацияf(x)делится на порождающий многочленg(x):
.
Если остаток от деления r(x)=0, то считают, что комбинацияf(x)и была передана.
В этом случае kкоэффициентов отдаются потребителю в качестве переданного сообщения.
Если же остаток
от деления
,
то принятая комбинацияf(x)признается запрещенной и в зависимости
от логики работы УЗО потребителю выдается
сигнал наличия ошибки в принятой
информации или организуется исправление
ошибок. При исправлении по виду остаткаr(x)отыскивается смежный класс, которому
принадлежит принятая комбинация и
определяется наиболее вероятный образец
ошибки. Элементы, в которых предполагаются
ошибки, инвертируются, и информационные
разряды комбинации отдаются потребителям.
Покажем, что остаток от деленияr(x)тождественен синдрому в общепринятом
определении
.
Как было показано в разделе 6.3 (пример
6.6) столбцами проверочной матрицы
являются остатки от деления
на порождающий многочленg(x).
Действительно,
деление обладает свойством суперпозиции,
т.е. остаток от деления некоторого
многочлена f(x)степениn-1 на порождающий
многочлен кода равен сумме остатков от
деления степенейxiс ненулевыми коэффициентами из этого
многочлена (другими словами степенейxi,
соответствующих единицам в принятой
кодовой комбинации). Произведение
сводится к суммированию столбцов матрицыН, соответствующих единицам принятой
комбинации. Учитывая, что столбцы матрицыН– это остатки от деленияxi(где
),
на порождающий многочленg(x)
находим, что
.
Пример 6.13.Определить принадлежность комбинации
циклическому (7,4) – коду с![]()
Вычисляем синдром


1 0 0.
. S=100.
Н
айдем
остаток от деления многочлена
на![]()
![]()


![]()
![]()
![]()
![]()

![]()
![]()
Таким образом, для
вычисления синдрома
необходимо использовать схему деления
принятой комбинации на порождающий
многочлен кодаg(x).
Итак, мы установили существование двух способов вычисления синдрома для кодовых комбинаций. При этом второй способ отражает специфику представления кодовой комбинации в виде многочлена. Возможен ещё и третий способ вычисления синдрома, также вытекающий из представления кодовых комбинаций многочленами. Каждая кодовая комбинация циклического (n,k)кода кратна порождающему многочленуg(x)степениn-k. Это в свою очередь означает, что любая кодовая комбинация имеет среди своих корнейn-kкорней порождающего многочлена. Значит принадлежность принятой комбинацииf(x)к используемому коду можно определить подстановкой вместо формальной переменнойxв принятой комбинации корней порождающего многочленаg(x).
Пусть – αi– корень порождающего многочлена(n,k)–кода, аf(x)– кодовая комбинация этого кода, тогда должно быть справедливо:f(x=αi)=0 для всех значенийi, определяющих корниg(x).
Выше отмечалось, что синдром должен определять вид ошибок, появившихся в кодовой комбинации при передаче её по каналу с помехами.
Пусть передана комбинация f(x), а принята комбинацияf'(x)=f(x)+e(x), гдеe(x)– многочлен ошибок. Тогдаf'(x=αi)=f(x=αi)+e(x=αi)=e(x=αi)=Si
2.Если e(x)по виду совпадает с одной из кодовых комбинаций, тоSi=e(x=αi)=0,
т.е. имеет место нулевой синдром, который приведёт к необнаруженной ошибке. Если же e(x)отличается от кодовой комбинации, то синдром будет ненулевым:Si=e(x=αi)≠0 и ошибка будет выявлена.
Пример 6.13. (продолжение)
Покажем, что нахождение синдрома для проверки принадлежности комбинации f(x)=1+x+x2+x3+x6=1111001циклическому(7,4) – коду сg(x) = 1+x+x3может быть осуществлено подстановкой корней многочленаg(x)вместоxвf(x).
Из приложения находим, что многочлен g(x)=1+x+x3имеет следующие корни α1, α2,α4, являющиеся элементамиGF(23). Рассмотрим результаты подстановкиf(x=αi), для случаяi=1.
Для этого обратимся к процедуре к процедуре умножения:
(1111001)×HT.
Обратим внимание, что матрица HT(7,4)- кода в точности соответствует представлению элементовGF(23)в виде ненулевых векторов в таблице задачи 6 раздела 5.8. Это не случайное совпадение. Обе эти совокупности двоичных последовательностей длины 3 получены как классы вычетов многочленов по модулю одного и того же многочлена 3-ей степени и отображают одну и ту же циклическую группу.
При этом процедура замены в проверяемом многочлене xiна αiи последующего суммирования результатов замены полностью эквивалентна сложению строк матрицыHTсоответствующим «1» в двоичном представлении многочлена.
Использование всех корней порождающего многочлена для формирования элементов синдрома, будут реализовано ниже в связи с понятием синдромный многочлен.
В случае исправления ошибок необходима еще и схема сопоставления синдрома образцу ошибки. В простейшем случае при исправлении однократных ошибок в основе этой схемы лежит генератор элементов поля GF(2m).
