- •Санкт-Петербургский государственный университет телекоммуникаций им.Проф. М.А. Бонч-Бруевича в.М. Охорзин
- •Санкт-Петербург
- •Тема 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
5.2.5. Задачи
1. Определить минимальное кодовое расстояние в коде, состоящем из следующих кодовых комбинаций: 000, 001, 110, 111.
2. Построить (3, 2) – код с dmin=2.
3. Можно ли построить групповой код длины n=3 сdmin=3? Если да, то какой это код?
4. Задана проверочная матрица (7, 4) – кода:
Построить порождающую матрицу для этого кода.
5. Проверить, принадлежит ли комбинация (1 0 1 0 1 0 1) коду (7, 4) предыдущей задачи.
6. Для кода, двойственного коду (5,3), написать порождающую и проверочную матрицы в канонической форме.
5.3. Другие свойства групповых кодов
5.3.1. Корректирующие свойства групповых кодов
Эффективность помехоустойчивого кода определяется минимальным кодовым расстоянием. Выше было показано, что dmin(n,k)-кода равно минимальному весу ненулевых кодовых комбинаций. Желательно уметь вычислятьdminкода, не находя весов всех кодовых комбинаций. Для групповых кодов существует способ определенияdminпо виду матрицы проверок. Этот способ основывается на соотношении.
Пусть V - кодовая комбинация с минимальным весом.
Умножение кодовой комбинации V на матрицу можно представить как поразрядное сложение столбцов матрицы, которым соответствуют единицы комбинацииv.
Результат умножения должен дать нулевой синдром. Так как никакая другая комбинация с меньшим числом единиц не дает нулевого синдрома, то, следовательно, кодовой комбинации минимального веса соответствует минимальное число линейно зависимых столбцов матрицы проверок. Таким образом, можно сформулировать правило определения dminгруппового кода.
Теорема 5.1.
Групповой код имеет минимальный вес (минимальное кодовое расстояние), равное минимальному числу линейно зависимых столбцов матрицы проверок .
Пример 5.9.Код (5, 3) имеет dmin=2, так как в его состав входят комбинации (10 100) и (01 001). Рассмотрим умножение этих комбинаций на матрицу:
То есть комбинации (10100) соответствует линейная зависимость 1-го и 3-го столбцов . Аналогично проверяется, что комбинации (01001) соответствует линейная зависимость 2-го и 5-го столбцов.
5.3.2. Процедуры кодирования и декодирования для группового кода
А. Процедура кодирования
1.Процедура кодирования на основе порождающей матрицы
Пусть требуется получить кодовую комбинацию (n,k)-кодаVi, соответствующую некоторому сообщению источника информации, представленному в виде безызбыточнойk-элементной последовательностиki.Как было показано выше, эта задача решается составлением линейной комбинации строк порождающей матрицы:
Vi=ki1V1+ki2V2+…+ kikVk, где Vj, j=1…k,-кодовые комбинации (n,k)-кода, являющиеся строками канонической формы порождающей матрицы этого кода,ki,j- элементы кодируемойk- элементной последовательности.
Указанная линейная комбинация соответствует умножению последовательности ki на порождающую матрицу кода, представленную в канонической форме:
ki ×G(n,k)=ki × [RIk]=(kiR,ki )
В результате умножения получим n-элементную кодовую комбинациюVi, у которой на местах избыточных элементов(v1,v2,…vn-k)находятся последовательностьri=kiR, а на местах информационных элементов- (vn-k+1,…,vn)- исходная кодируемая последовательностьki.
2. Процедура кодирования на основе проверочной матрицы.
В этом случае процедура кодирования основана на известном уравнении.
Vi×HT(n,r)=0.
Представим Viв виде(ri,ki), гдеri - последовательность избыточных элементов кодовой комбинации, аki - последовательность информационных элементов. ПредставляяHT(n,k) в канонической форме, получаем: (ri,ki)×[In-kRT]T=ri+kiR=0, откудаri=kiR..
Из полученного решения видно, что избыточные элементы в точности совпадают с избыточными элементами при кодировании на основе G(n,k)
В тех случаях, когда (n-k)<kилиk ∕ n > 1∕2, кодирование на основе проверочной матрицыH(n,k)требует меньшего количества вычислений.
Б. Процедура декодирования
Пусть - кодовые комбинации некоторого группового кода, где- нулевая комбинация, то есть единичный элемент группы. Процедура декодирования для этого кода может быть выработана на основе следующих построений. Строится таблица декодирования как таблица разложения группы всевозможныхn– элементных двоичных комбинаций на смежные классы по подгруппе, составляющей данный код. Образующие смежных классов выбираются таким образом, чтобы в их состав вошли все наиболее вероятные для используемого канала связи образцы ошибок в кодовой комбинации. Для большей части реальных каналов связи в качестве образующих смежных классов следует выбирать комбинации с минимальным весом в данном смежном классе.
Выпишем в качестве первой строки таблицы все кодовые комбинации, начиная с нулевой. В качестве образующих смежных классов возьмем наиболее вероятных образцов ошибок для используемого канала (ei).
2n-k
строк 2kстолбцов
Каждый из столбцов таблицы декодирования является защитной зоной для кодовой комбинации, стоящей во главе столбца.
Решение о наличии ошибок в кодовой комбинации и их структуре производится по виду синдрома
.
Покажем, что каждому образцу исправляемой ошибки соответствует вполне определенный синдром.
Если синдром чисто нулевой, то считается, что ошибки в кодовой комбинации отсутствуют, хотя это и не всегда верно, так как комбинациям с необнаруженными ошибками также соответствует нулевой синдром.
Предположим, что кодовая комбинация принята с исправляемой ошибкой, то есть
,
где - образец ошибки, являющейся образующим смежного класса.
В этом случае синдром принимает вид:
,
то есть для каждого образца исправляемых ошибок или, что тоже самое,
для каждого смежного класса существует свой синдром.
Переданная комбинация будет декодирована, верно по принятой комбинациитогда и только тогда, когда вектор ошибкиявляется образующим смежного класса, которому принадлежит.
Процесс декодирования при использовании таблицы декодирования для исправления ошибок заключается в следующем:
1. Для принятой комбинации вычисляется синдром и определяется смежный класс, которому принадлежит принятая комбинация.
2. Определяется образующий смежного класса, которому принадлежит принятая комбинация, являющийся предполагаемой ошибкой.
3. Суммируя по модулю 2 предполагаемый образец ошибки с принятой комбинацией, получаем переданную комбинацию.
Таким образом, при исправлении ошибок в кодовой комбинации указанным методом количество исправляемых ошибок не может превышать числа смежных классов, то есть числа , и в точности равно этому числу в тех случаях, когда в каждом смежном классе имеется единственная комбинация, соответствующая наиболее вероятной структуре ошибок
Коды, которые исправляют все ошибки кратности до tвключительно и не исправляют никаких ошибок большей кратности, называются совершенными.
При обнаружении ошибок процедура декодирования упрощается. Если вычисленный синдром , то выдается сигнал “ошибка” или ”стирание”.
При этом сам вид синдрома не имеет значения, т.е. все смежные классы объединяются в общую защитную зону. При частичном исправлении и обнаружении ошибок задается кратность ошибок , до которой осуществляется исправление, а ошибки высших кратностей только обнаруживаются, поэтому в таблице декодирования выделяетсяобразцов ошибок, подлежащих исправлению. Все же остальныесмежных классов объединяются в общую защитную зону. Если синдром, соответствующий принятой комбинации принадлежит общей защитной зоне, то фиксируется обнаружение ошибки – “стирание”.
Если синдром принадлежит смежному классу с исправляемым образом ошибки, то происходит исправление ошибки, как это было описано выше.
Пример 5.10.Рассмотрим таблицу декодирования для (5, 3) – кода, используемого в предыдущих примерах.
00000 |
(5, 3) код (подгруппа) 10100 11010 01001 01110 11101 10011 00111 |
00001 |
10101 11011 01000 01111 11100 10010 00110 |
00010 |
10110 11000 01011 01100 11111 10001 00101 |
00100 |
10000 11110 01101 01010 11001 10111 00011 |
Из анализа таблицы декодирования можно сделать следующие выводы:
Синдромы имеют значения
,
,
,
т.е. все синдромы разные и вид синдрома однозначно указывает смежный класс.
2. Код исправляет не все образцы одиночных ошибок. Например, комбинации 0 0 0 0 1 и 0 1 0 0 0, также как и 0 0 1 0 0 и 1 0 0 0 0 принадлежат одному смежному классу, следовательно, обе пары этих образцов ошибок не могут быть исправлены. Это понятно, так как dminэтого кода равно 2, а для исправления всех вариантов одиночных ошибок необходимо иметьdmin=3.
Действительно, мы находим в смежном классе с образующим 0 0 0 0 1 еще одну комбинацию веса 1 – 0 1 0 0 0, т.е. синдрому S1= 0 1 соответствует два равновероятных образца однократных ошибок; синдромуS2= 1 0 также соответствуют два образца равновероятных однократных ошибок. Только лишь синдромуS3= 1 1 соответствует единственный образец однократной ошибки 0 0 0 1 0.
Таким образом, однозначно исправляются только лишь комбинации, принадлежащие одному смежному классу, т.е. ошибка вида 0 0 0 1 0 данным кодом исправляется.