- •Вечерний электрорадиотехнический факультет
- •3.2Математическое представление сигналов.
- •3.3Аналоговые линии и каналы передачи информации
- •3.3.1Классификация кабелей связи
- •3.4Математические модели аналоговых линий и каналов связи.
- •3.4.1Искажения сигналов, вызванные ограниченностью ачх
- •3.4.2Искажения сигнала из-за нелинейности фчх
- •3.4.3Электрические параметры кабелей. Математическая модель кабельной цепи.
- •3.4.4Система многоканальной связи с частотным разделением каналов
- •3.4.5Системы многоканальной связи с временным уплотнением
- •3.5Каналы тональной частоты и их характеристики
- •3.6Математические модели дискретных каналов связи
- •3.6.1Модель двоичного симметричного канала
- •3.6.2Модель
- •3.6.3Модель на основе опп
- •4Помехоустойчивость передачи данных
- •4.1Общий принцип генерации сигналов – «данных»
- •4.2Восстановление вектора по сигналу
- •4.3Прием сигналов как задача теории решений
- •4.4Потенциальная помехоустойчивость
- •4.5Приемник на согласованных фильтрах
- •4.6Расчет вероятности ошибок при приеме дискретных сигналов
- •4.7Примеры помехоустойчивых систем сигналов
- •4.7.1Бинарные противоположные сигналы
- •4.7.2Бинарные ортогональные сигналы
- •4.7.4Биортогональные сигналы
- •4.7.5Сигналы с прямоугольной конфигурацией векторов
- •4.7.6Симплексные сигналы
- •5Помехоустойчивое кодирование
- •5.1Основные понятия теории кодирования
- •5.2Примеры корректирующих кодов
- •5.2.1Код с четным числом единиц
- •5.2.2Коды с постоянным весом
- •5.2.3Инверсный код с повторением
- •5.2.4Код Хэмминга
- •5.2.5Модифицированный код Хэмминга
- •5.3Классификация избыточных кодов
- •5.4Линейные коды
- •5.4.1Алгебраические основы теории кодирования
- •5.4.2Задание линейных кодов
- •5.4.3Свойства линейных кодов
- •5.4.4Декодирование линейных кодов. Алгоритм максимального правдоподобия.
- •5.4.5Синдромное декодирование
- •5.4.6Мажоритарный декодер.
- •5.5Циклические коды. Необходимое и достаточное условие цикличности.
- •5.6Способы задания и кодирование циклическими кодами
- •5.7Разложение двучленов примитивной длины на простые множители
- •6.6.1 Коды бчх. Выбор образующих многочленов.
- •5.8Разложение двучленов непримитивной длины на простые множители
- •5.9Основные теоремы об ошибках, обнаруживаемых циклическими кодами
- •5.10Способы декодирования с исправлением ошибок. Декодеры Меггита.
- •5.11Декодер Питерсона-Горенстейна-Цирлера
- •6Модемы
- •6.1Интеллектуальные возможности модемов
- •7Стандарт ат-команды
- •8Протоколы исправления ошибок arq.
- •8.1Формат кадра
- •9Схема построения сети Интернет
5.7Разложение двучленов примитивной длины на простые множители
Длина
кода называется примитивной, если
,
где т
– целое, больше двух. Разложение
необходимо знать, чтобы задавать
циклические коды оговоренной длины п.
Разложение основывается на теореме
Виета (см. школьный курс): если известны
вещественные корни многочлена
,
то он равен произведению:
.
Если есть комплексные корни, то сохраняют
многочлен большей степени, чем первая,
с объединенными комплексно-сопряженными
корнями.
Разложение в конечных полях проще. Основывается оно на использовании ряда теорем или свойств. Сформулируем их.
Для каждого элемента поля
существует минимальный многочлен
с коэффициентами из простого подполя
.
Он неприводим. Минимальный многочлен
называется минимальным многочленом
наименьшей степени, который обращается
в ноль при
,
.Если
-
многочлен с коэффициентами из
при
,
где
,
обращается в ноль, то
делится на
.Двучлен делится на двучлен
тогда и только тогда, когда
делится на
.Все корни двучлена
есть элементы (ненулевые) поля
.
Мультипликативная группа поля есть циклическая группа, т.е. существует в поле элемент, который называется примитивным и из него операцией умножения только над ним получаются все остальные элементы.
Любой делитель двучлена неприводимый над
имеет степень равную
или меньше.Цепочка корней неприводимого над многочлена степени получается по формуле (по правилу)
,
где
-
один из корней, т.е.
,
.Возведение многочлена в степень эквивалентно возведению в эту степень -ов
.Теорема БЧХ. Если в цепочке корней кода имеется последовательность
то кодовое расстояние этого кода равно
или больше. Его обозначают
и называют конструктивным кодовым
расстоянием.Для любых целых положительных значений и существует циклический код длины
,
исправляющий все ошибки кратности
и меньше и содержащий не более
проверочных символов.
Используя приведенные выше свойства, проиллюстрируем на примере 1 процедуру разложения двучлена x15+1.
Поскольку 15=24-1, то это код примитивной длины. Корни двучлена x15+1 принадлежит полю GF(24) (свойство 5). Получим (свойство 7) цепочки корней неприводимых многочленов:
2 4 8 m1(x)
3 6 12 9 m3(x)
5 10 m5(x)
7 14 13 11 m7(x)
Вычислим m1(x)=(x+)(x+2)(x+4) (x+8)=[x2+x(+2)+3][x2+x(4+8)+12]=( x2+a5x+a3)( x2+a5x+a12)= x4+x3(a5+a5)+ x2+x(a12+a3+a10)+ x(17+8)+ 15= x4+x+1.
Сложение в круглых скобках производится при многочленном представлении элементов ai. Так a12=z3+ z2+ z+1; a10=z2+z+1; a17=z2; a8=z2+1, тогда a12+a3+a10= z3+ z2+ z+1+ z3+ z2+ z+1=0; a17+a8= z2+ z2+1.
Аналогично находятся остальные многочлены. В итоге получаем:
x15+1=(x+1)(x4+x+1)(x4+ x3+ x2+x+1)(x2+x+1)( x4+ x3+1).
6.6.1 Коды бчх. Выбор образующих многочленов.
Коды БЧХ задаются корнями образующего многочлена. Выбор кода заключается в формировании цепочки корней требуемой длины (свойство 9), что производится методом проб. Последним этапом задания кода является нахождение самого образующего многочлена. Один из методов его вычисления только что был указан.
Таблицы неприводимых многочленов над полем GF(2) имеются, частности, в приложении В монографии У.Питерсон, Э Уэлдон. Коды, Исправляющие ошибки. Пер. с англ. Изд-во «Мир», М. 1976 г, 594с.
Многочлены даны в восьмеричном представлении. Каждый символ в таблице обозначает три двоичных знака: 0 000; 1 001; 2010; … 6 ® 110; 7 ® 111.
Для каждой степени первый многочлен является примитивным и содержит минимальное число ненулевых коэффициентов. Если - один из его корней, то запись начинающаяся числом i в таблице, соответствует минимальному многочлену для корня i.
Проиллюстрируем
выбор образующего многочлена на примере
кода длины 15. Используя таблицу В2. В
таблице указано минимально необходимое
число многочленов, по которым можно
найти разложение двучлена
на множители. В нашем примере степень
m=4.
Первый неприводимый многочлен содержит
корень ,
он же используется для построения поля
GF(24):
1 – 23 – 010 011 x4+x+1
3 – 37 – 011 111 x4+ x3+ x2+x+1
5 – 07 – 000 111 x2+x+1
Если очередной многочлен в порядке возрастания степени у отсутствует в таблице, то он будет равен двойственному к одному из уже приведенных в таблице. Чтобы его найти, используют следующую процедуру: заменяют степень на отрицательную и приводят результат по модулю, равному длине кода.
a7a-7 a15-7=a8, a, a2, a4двойственные к многочлену a1. Записывают этот многочлен с отрицательными степенями и умножают на xm:
m7(x)= x4 m1(x-1) x4(x-4+ x-1+1)= x4+ x3+1.
Пусть нужно найти код с кодовым расстоянием d=5. По свойству 7 формируем цепочку корней длины 4.
Берем корень 1 и его цепочку 248; это код (15,11) с d=3.
Объединяем первую цепочку с цепочкой, порожденной корнем a3 3 6 12 9. Получаем 2 3 4 6 8 9 12. Это код (15,7) с d=5 g(x)= (x4+x+1)(x4+ x3+ x2+x+1)= x8+ x7+ x6+x4+1.
Другой возможный вариант:
Берем корень 7 и его цепочку 7 14 13 14, это код (15,11) d =3.
Объединяем эту цепочку с цепочкой, порождаемой 3 3 6 12 9. Получаем 3 6 7 9 11 12 13 14; это код (15,7) d = 5 g(x)= (x4+x3+1)(x4+ x3+ x2+x+1)= x8+ x4+ x2+x+1.
Третий вариант кода.
Объединяем три цепочки корней, соответствующие a1; a3 и a7. Получаем 2 3 4 6 78 9 11 1213 14; это код (15,3) с d=5, но он проигрывает двум предыдущим кодам по скорости: R1=R2=7/15; R3=3/15. Объединим цепочки, соответствующие корням a1; a7 и a0=1, при этом учтем, что a0=a15=1. Получим 012 4 7811 1314. Образовалась цепочка корней 1413012 длиной 5. Получаем код (15,6) с d=6. g(x)=(x4+x+1)(x4+x3+1)(x+1).
Методом проб можно убедится, что имеются циклические коды длины 15 с информационной частью любой от 1 до 14 бит.
Пример 2. Разложить на множители x31+1 и убедится, что избыточная часть кодов может быть только кратна 5 и 6.
Записываем цепочки корней:
2 4 816 45 m1(x)= x5+x+1
3 6 12 24 1775 m3(x)= x5+ x4+x3+ x2+1
5 10 20 9 18 67 m5(x)= x5+ x4+x2+ x+1
7 14 28 25 15 – в таблице отсутствует, находим, к какому из вышеперечисленных будет двойственным:
max=28-28 3 m7(x)= x5(x-5+ x-4+x-3+ x-2+1)= x5+ x3+x2+ x+1.
11 22 13 2621 – двойственен к m5(x) m11(x)= x5+ x4+x3+ x+1
15 30 29 2723 – двойственен к m1(x) m15(x)= x5+x3+1.
Записываем разложение двучлена:
x31+1=(x+1)( x5+x+1)( x5+ x4+x3+ x2+1)( x5+ x4+x2+ x+1)( x5+ x3+x2+ x+1)( x5+ x4+x3+ x+1)( x5+x3+1).
Замечаем, что многочлены, задающие код, могут быть степени кратными 5 или 6 за счет множителя (x+1), т.е. имеются коды (31,26); (31,21); (31,16); (31,11); (31,6); (31,1) или с информационной частью на единицу меньше и нет других.
Обратите внимание, что имеются коды, эквивалентные по длине информационной части и кодовому расстоянию, но различающиеся по числу ненулевых коэффициентов образующего многочлена. Например, коды (31,26) d=3 g(x)= x5+x2+1 и (31,26) d=3 g(x)= x5+ x4+x2+ x+1
