
- •Основы теории передачи данных
- •Лекция 1 История развития техники передачи дискретных сообщений
- •Особенности систем дискретной связи
- •Структурная схема системы передачи дискретной информации
- •Виды систем передачи дискретной информации
- •Понятие кодирования
- •Основные понятия в области кодирования
- •Параметры кодов
- •Классификация кодов
- •Стандартные первичные коды
- •1. Стандартный пятиэлементный код
- •2. Стандартный семиэлементный код
- •Лекция 2 Понятие о дискретной модуляции
- •Основные понятия дискретной модуляции
- •Виды дискретной модуляции
- •1. Виды параметрической модуляции. Несущий сигнал - постоянный ток
- •Несущий сигнал - переменный ток
- •2. Относительная модуляция
- •Способы увеличение пропускной способности канала с использованием свойств дискретной модуляции
- •Прохождение дискретного канала по каналу связи Общие сведения о линиях и каналах связи
- •Проводные и кабельные каналы
- •Радиолинии и радиоканалы
- •Перспективные типы линий и каналов
- •Способы передачи сигнала по каналу связи
- •Сочетание последовательного и параллельного методов передачи сигнала по каналу связи
- •Распределители. Основные характеристики
- •Лекция 3 Общие сведения о каналах связи для передачи дискретных данных
- •Способы повышения пропускной способности канала связи
- •Скорость передачи дискретной информации
- •Виды помех в канале связи
- •Механизм появления искажений импульсов
- •Классификация искажений
- •Характеристика искажений преобладания
- •Характеристика характеристических искажений
- •Характеристика случайных краевых помех
- •Закон распределения вероятностей искажений
- •Лекция 4 Прием элементов дискретных сигналов Понятие регистрации сигнала
- •Метод стробирования
- •Интегральный метод регистрации
- •Понятие об ошибках. Поток ошибок
- •Классификация ошибок
- •Коэффициенты ошибок
- •Расчет вероятности ошибок
- •Математические модели ошибок
- •Общие сведения об измерении искажений и ошибок
- •Методика измерения искажений
- •Методика измерения ошибок
- •Лекция 5 Методы повышения верности передачи дискретных данных
- •Избыточность сигналов дискретной информации
- •Методы повышения верности передачи дискретных данных в системах без обратной связи
- •Методы повышения верности передачи дискретных данных в системах с обратной связью
- •Принципы помехоустойчивого кодирования
- •Доля ошибок, обнаруживаемых корректирующим кодом
- •Доля ошибок, исправляемых корректирующим кодом
- •Кодовое расстояние
- •Связь расстояния Хэмминга и корректирующих свойств кода
- •Определение требуемого числа проверочных разрядов
- •Классификация помехоустойчивых кодов
- •Лекция 6 Коды Хэмминга Общие сведения
- •Понятие синдрома
- •Построение кода Хэмминга
- •Понятие проверочной матрицы
- •Обнаружение ошибок кодом Хэмминга (9,5)
- •Понятие порождающей матрицы
- •Связь порождающей и проверочной матриц кода Хэмминга
- •Матричное построение систематических кодов с поэлементным формированием проверочной группы
- •Дуальные коды
- •Лекция 7 Циклические коды Общие сведения
- •Построение разрешенных комбинаций циклического кода
- •Обнаружение ошибок при циклическом кодировании
- •Определение места ошибки. Выбор образующего полинома
- •Матричное представление циклических кодов
- •Общие сведения об итеративном коде
- •Метод исправления ошибок. Порождающая матрица итеративного кода
- •Лекция 8 Принципы построения кодирующих устройств Код с поэлементным формированием проверочной группы
- •Кодирующее устройство циклического кода
- •Принципы использования детекторов качества сигналов
- •Понятие о непрерывных и сверточных кодах
- •Содержание
Лекция 7 Циклические коды Общие сведения
Циклические коды относятся к классу линейных систематических кодов и обладают всеми их свойствами.
Кодовые комбинации циклического кода удобно рассматривать не в виде последовательности нулей и единиц, а в виде полинома некоторой степени.
Любое число в любой системе счисления можно представить в общем виде как
где х — основание системы счисления;
аi - цифры данной системы счисления;
n-1, n-2,... — показатель степени, в которую возводится основание системы счисления. Этот показатель степени совпадает с порядковым номером, который занимает разряд в кодовой комбинации (начиная от старшего разряда и кончая нулевым).
Для двоичной системы счисления х=2, аi - либо «0», либо «1». Например, двоичную последовательность 01001 можно записать в виде полинома от аргумента х:
или, заменяя
основание счисления 2 на x,
получаем:
Очевидно, что при записи кодовой комбинации в виде многочлена единица в i-м разряде записывается членом хi-1, а нуль вообще не записывается. Представление кодовых комбинаций в виде многочленов позволяет установить однозначное соответствие между ними и свести действия над комбинациями к действию над многочленами.
Рассмотрим некоторые действия над двоичными многочленами:
Сложение двоичных многочленов сводится к сложению по модулю 2 коэффициентов при равных степенях переменной x. Например:
Умножение производится по обычному правилу умножения степенных функций, однако полученные коэффициенты при данной степени складываются по модулю 2. Например:
(x3+x2+0+1)(x+1)=x4+x3+0+x+x3+x2+0+1=x4+x2+x+1.
Деление также осуществляется, как обычное деление многочленов, при этом операция вычитания заменяется операцией сложения по модулю 2 (сложение и вычитание двоичных чисел дают один и тот же результат: 1 1=0, 1
1=0). Например:
Данные коды называются циклическими потому, что циклический сдвиг разрешенной комбинации также является разрешенной комбинацией. Если кодовая комбинация представлена в виде полинома, то циклический сдвиг на 1 разряд эквивалентен умножению данного полинома на x.
Если
V(x)=an-1xn-1+an-2xn-2+…a1x+a0, то
V(x)·x=an-1xn+an-2xn-1+…+a1x2+a0x1,
где V(x) – исходная кодовая комбинация,
V(x)·x – комбинация полученная из исходной при циклическом сдвиге на 1 разряд.
Чтобы степень многочлена не превышала n-1, член an-1xn заменяется единицей, поэтому получаем:
V(x)·x=F(x)=an-2xn-1+…+a1x2+a0x+an-1.
Пример
Пусть имеем кодовую комбинацию 0101110, которую представим в виде многочлена x5+x3+x2+x. Требуется произвести сдвиг данной комбинации на 1 разряд.
Получим 1011100 или многочлен вида x6+x4+x3+x2.
Очевидно, что x6+x4+x3+x2=x·(x5+x3+x2+x).
Построение разрешенных комбинаций циклического кода
Всe разрешенные комбинации циклического кода, представленные в виде полиномов, обладают одним признаком: они делятся без остатка на образующий полином Р(х). Образующие полиномы P(x) относятся к классу неприводимых многочленов, т.к. они не могут быть представлены в виде произведения многочленов низших степеней. Неприводимый многочлен делится только на самого себя и на единицу.
Характерным для циклических кодов является то, что проверочная часть получается сразу, а не вычисляется отдельно для каждого разряда проверочной части.
Алгоритм построения разрешенной кодовой комбинации
1. Представляем информационную часть кодовой комбинации длиной k в виде полинома Q(x).
2. Умножаем Q(x) на одночлен хr (r – число проверочных разрядов в кодовой комбинации) и получаем Q(x·)xr, т. е. производим сдвиг k-разрядной кодовой комбинации на r разрядов.
3. Делим многочлен Q(x)·xr на образующий полином Р(х), степень которого равна r (т.е. степень образующего полинома совпадает с числом проверочных разрядов).
Результаты этих операций можно представить в виде
где C(x) – целая часть полученная при делении Q(x)·xr на образующий полином Р(х),
R(x) - остаток от деления Q(x)·xr на Р(х).
Умножим обе части полученного выражения на Р(х), получим
или
(знак вычитания в выражении заменяется знаком сложения по модулю 2). Очевидно, что F(x) делится на Р(х) без остатка. Полином F(x) представляет собой разрешенную кодовую комбинацию циклического кода.
Из полученного выражения следует, что разрешенную кодовую комбинацию циклического кода можно получить двумя способами:
1. Умножить кодовую комбинацию простого кода С(х) на образующий полином Р(х) (для этого вначале требуется найти C(x) – это целая часть полученная при делении Q(x)·xr на образующий полином Р(х)).
Умножить кодовую комбинацию Q(x) простого кода (т.е. заданную информационную комбинацию) на одночлен хr и прибавить к этому произведению (сложение провести по модулю 2) остаток R(x), полученный в результате деления произведения Q(x)·xr на образующий полином Р(х).
Пример
Дана кодовая комбинация 0111. Построить циклический код с расстоянием Хэмминга d0=3.
Исходя из требуемого
расстояния Хэмминга d0=3,
определим количество проверочных
элементов r,
равное показателю степени образующего
полинома. Воспользуемся формулой
Так как число информационных элементов
известно (k=4),
то, учитывая, что n=k+r,
имеем
Отсюда r=3.
Следовательно, необходимо сформировать
код (7,4).
По таблице образующих полиномов (см. далее) при r=3 находим P(x)=x3+x+1.
Далее действуем по описанному алгоритму:
Записываем информационную часть заданной кодовой комбинации длиной k в виде полинома Q(x)= x2+x+1.
2. Умножаем Q(x) на x3 (так как r=3):
Делим Q(x)·x3 на P(x):
Получаем x2+x и x в остатке. Следовательно, R(x)=x и C(x)= x2+x.
Находим разрешенную комбинацию циклического кода (7,4) по 2-му способу:
Этот полином
соответствует кодовой комбинации
Пример
Доказать, что кодовая комбинация полученная в предыдущем примере является разрешенной.
Для проверки разделим полученный многочлен F(x) на образующий полином P(x):
Полином F(x) делится на P(x) без остатка, следовательно, кодовая комбинация является разрешенной.
Пример
Для заданной кодовой комбинации 0111 построить разрешенную кодовую комбинацию кода (7,4) первым способом.
В предыдущих примерах получено:
C(x)= x2+x и P(x)=x3+x+1.
Согласно первому способу разрешенная комбинация циклического кода равна:
Подставляя,
получаем:
Полином соответствует двоичной комбинации 0111010.
Таблица образующих полиномов циклического кода
-
r
Pr(x)
Двоичная запись многочлена P(x)
2
x2+x+1
111
3
x3+x+1
1011
4
x4+x+1
10011
5
x5+x2+1
x5+x4+x3+x2+1
x5+x4+x2+x+1
100101
111101
110111
6
x6+x+1
x6+x5+x2+x+1
1000011
1100111
7
x7+x3+1
x7+x3+x2+x+1
x7+x4+x3+x2+1
10001001
10001111
10011101
8
x8+x7+x6+x5+x2+x+1
x8+x4+x3+x2+1
x8+x6+x5+x+1
111100111
100011101
101100011
9
x9+x5+x3+x2+1
x9+x8+x7+x6+x5+x3+1
1000101101
1111101001
10
x10+x4+x3+x+1
x10+x9+x6+x5+x4+x3+x2+x+1
10000011011
11001111111
11
x11+x10+x9+x8+x3+x+1
x11+x8+x6+x2+1
111100001011
100101000101
12
x12+x11+x9+x8+x7+x5+x2+x+1
x12+x9+x3+x2+1
1101110100111
1001000001101