- •Санкт-Петербургский государственный университет телекоммуникаций им.Проф. М.А. Бонч-Бруевича в.М. Охорзин
- •Санкт-Петербург
- •Тема 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.3. Построение порождающей и проверочной матриц циклических кодов.
Любой циклический (n, k) – код может быть задан в соответствии с определением 2, порождающим многочленомg(x) или проверочным многочленом.
Знание этих многочленов позволяет построить порождающую матрицу и матрицу проверок. Для циклического (n, k) – кода существует простой способ нахожденияkлинейно независимых кодовых комбинаций, образующих порождающую матрицу. Этот способ состоит в следующем. Записывается порождающий многочленg(x). В соответствии с определением 2 комбинация, соответствующая порождающему многочлену, принадлежит циклическому (n, k) – коду. В соответствии с определением 1 циклические сдвиги комбинации, соответствующейg(x), также должны принадлежать этому же коду. Алгебраически сдвиг соответствует умножению кодовой комбинации нах. Так как степеньg(x)равнаn-k, то подобным образом мы можем получить кодовые комбинации
Легко проверить, что эти кодовые комбинации линейно независимы, хотя бы потому, что степени всех этих многочленов различны, поэтому данный набор многочленов может быть использован в качестве :
.
Путем элементарных преобразований эта матрица может быть приведена к канонической форме.
Аналогичным образом по проверочному многочлену можно построить матрицу проверок
.
Пример 6.4.Для циклического (7,4) – кода с порождающим многочленом(см. пример 6.3.) построить порождающую матрицу.
Находим
Следовательно, порождающая матрица для данного кода имеет вид:
Полученные результаты и рассуждения относительно алгебраической структуры циклических кодов, приведенные в разделе 6.2, позволяют подметить одно важное свойство циклических кодов, определенное их циклической структурой.
Свойство 6.1. Произведение кодовой комбинации циклического кодана произвольный многочлендает кодовую комбинацию этого же циклического кода.
Действительно , а любое произведение такого вида равно нулю, т.е. принадлежит кодовому подпространству (раздел 6.2).
Более элементарное доказательство:
.
Полученная сумма есть сумма циклических сдвигов кодовых комбинаций, что по свойству замкнутости группового кода должно дать комбинацию того же циклического кода.
При описании циклических кодов следует учитывать специфику действий над многочленами, по сравнению с векторами и, в частности, тот факт, что умножение многочленов не совпадает со скалярным умножением векторов, отображающих эти многочлены. Однако в классе вычетов многочленов по модулю между этими понятиями существует весьма тесная связь. Пусть имеется вектори соответствующий ему многочлен, а также вектори соответствующий ему многочлен. Будем считать многочленыиортогональными, если выполнено условие.
Коэффициент при хв произведенииравен
.
Слагаемые, содержащие , появляются вследствие слагаемых в произведении, которые содержат. Но так как, т.е., то. Равенство дляможно представить в виде скалярного произведения:
.
В этом произведении первый вектор соответствует а(х). Второй вектор содержит коэффициентыb(х), расположенные в обратном порядке и сдвинутые циклически наj+1 элемент вправо.
Таким образом, если произведение равно нулю, то вектор, соответствующий многочленуа(х), ортогонален вектору, соответствующему многочлену b(х), компоненты которого расположены в обратном порядке, и кроме того каждому циклическому сдвигу этого вектора. Верно также и обратное утверждение. Если векторортогонален векторуи каждому циклическому сдвигу этого вектора, то
.
Учитывая эту специфику необходимо при матричном описании кода коэффициенты матрицы проверок записывать в обратном порядке. В этом случае будет выполнено условие
Пример 6.5. Построить матрицу проверок для циклического (7,4) – кода из предыдущего примера.
Для построения матрицы проверок найдем проверочный многочлен
Отсюда
В силу того, что условие равенства нулю произведения многочленов и скалярного произведения соответствующих им векторов не совпадают, для выполнения равенства при построении матрицыкомпоненты векторов, соответствующихh(x), xh(x) и x2h(x)записываем в обратном порядке
.
В полученной матрице проверок в качестве столбцов записаны все 7 ненулевых последовательностей длины 3. Следовательно, данный код является кодом Хэмминга.
Вообще говоря, циклические коды Хэмминга строятся на основе порождающих многочленов степени m, являющихся сомножителями двучленов и не являющихся сомножителями никаких двучленов меньшей степени. Корни этих многочленов имеют порядок 2m-1, т.е они являются примитивными элементами поляGF(2m).Это означает, что порождающий многочлен кода Хэмминга порождает полеGF(2m).
Условимся в любом циклическом коде первые n-kэлементов кодовой комбинации, то есть коэффициенты прииспользовать в качестве проверочных элементов, а последниеkэлементов, то есть коэффициенты при, - в качестве информационных (рис. 6.1).
a0a, ….., an-1 = a0x0+a1x1+ …. + an-1xn+1
x0 x1 x2 xn-k-1 xn-k xn-2 xn-1
a0 |
a1 |
a2 |
… … … … .. |
an-k-1 |
an-k |
… … … … |
an-2 |
an-1 |
Избыточные элементы Информационные элементы
Рис 6.1
Структура кодовой комбинации циклического кода
В этом случае в канонической форме порождающей матрицы единичная матрица располагается справа. Такое расположение информационных и проверочных элементов обусловлено особенностями реализации кодирующих и декодирующих устройств циклических кодов.
Всякий циклический (n, k) – код приводится к этой форме следующим образом.
Пусть есть многочлен степениk-1, соответствующий комбинации простогоk – элементного кода, которую необходимо закодировать циклическим (n, k) – кодом. В комбинации циклического (n, k) – кода этуk- элементную комбинацию необходимо поместить на позиции информационных элементов, для чего помножим многочленна. В результате получаем многочлен, степень которого равна n-1. Так как по определению циклического кода каждая кодовая комбинация должна делиться на порождающий многочленg(x)степениn-k, то проверим выполнение этого условия. В общем случае в результате деления получим частноеqi(x)степениk-1 и остаток, степень которого не превышаетn-k-1. Результат деления представим в следующем виде:
.
Рассмотрим многочлен . Коэффициенты приэтого многочлена являются коэффициентами остатка, а коэффициенты при степеняхэлементами первичной кодовой комбинации.
С другой стороны
,
то есть многочлен делится наg(x). Итак,и есть искомая кодовая комбинация циклического (n, k) – кода. Отсюда получаем правило построения порождающей матрицы циклического (n, k) – кода в канонической форме:
,
где Ik– единичная матрица размерности, соответствующая информационным элементам кодовых комбинаций,;
- матрица размерности ,j-я- строка, которой соответствует остатку от делениянаg(x).
Матрица проверок строится на основании матрицыпо правилу
.
Пример 6.6.Построить порождающую матрицу и матрицу проверок в канонической форме для циклического (7,4) – кода с порождающим многочленом. Находим частное и остаток от делениянаg(x)и записываем результат деления в форме равенства
I3 R4x3
О
R4x3 I4
.
Из рассмотренного примера видно, что проверочная матрица циклического (n, k) – кода содержит в качестве столбцов остатки от деленияна порождающий многочленg(x).Сравнение столбцов найденной проверочной матрицы с элементами поляGF(23)показывает их полное совпадение с ненулевыми элементамиGF(23).Результаты рассмотренного примера будут использованы для обоснования эквивалентности различных столбцов вычисления синдрома.