
- •На рис.В5 приняты следующие обозначения.
- •Укузел коммутации. Задачи узлов коммутации:
- •Например:
- •Эмвос основана на трех базовых понятиях:
- •Помехоустойчивое кодирование
- •1.1 Основные определения
- •1.1.2 Понятие о корректирующих кодах
- •Линейные коды
- •1.1.3 Построение линейных кодов
- •1.1.4 Обнаружение и исправление ошибок. Декодирующее устройство
- •1.1.5 Примеры линейных кодов
- •1.2 Циклические коды
- •1) Полиномы Pr(X) должны быть неприводимыми, т. Е. Не делиться ни на какой другой полином;
- •1.2.1 Выбор образующего многочлена
- •1.2.2 Базис циклического кода, формирование кодовых комбинаций
- •1.2.3 Синдром циклического кода и его свойства
- •1.3 Коды боуза - чоудхури - хоквингема
- •2 Логическая архитектура информационных сетей
- •2.1 Архитектура эмвос
- •1.5 Международная стандартизация в области сетей эвм
- •1.6 Логическая архитектура сетей
- •1.6.1. Понятие логической архитектуры сети
- •1.6.2. Первые вычислительные системы и одноранговая архитектура
- •1.6.3 Классическая архитектура "клиент-сервер"
- •1.6.4 Архитектура "клиент-сервер", основанная на Web-технологии
- •3 Основы аналоговых и цифровых каналов инфокоммуникационных систем
- •3.1 Уровни передачи
- •2.2 Остаточное затухание
- •2.3 Электрические характеристики каналов
- •2.4 Этапы формирования цифрового сигнала
- •2.5 Временное группообразование
- •2.5 Принципы объединения и разделения цифровых потоков
- •4 Транспортные технологии ис
- •4.1 Соединения и каналы
- •3.1.1. Коммутация каналов и пакетов.
- •3.1.2. Датаграммы и виртуальные каналы.
- •3.4 Технологии глобальных соединений
- •3.4.1 Сеть Internet и технология internet.
- •3.4.2 Технология vpn
- •3.4.2.4 Технология X.25
- •3.4.2.5 Комбинированая технология через телефонные сети, Internet и сети с коммутацией пакетов
- •3.5.2 Технология Frame Relay
- •3.5 Плезиохронная и синхронная цифровые иерархии
1.2.1 Выбор образующего многочлена
В теории кодирования показано, что степень многочлена Pr(x) следует выбирать равной
r = mtи.ош,
где m определяется условием
2m=n+1,
а tи.ош — число ошибок, исправляемых циклическим кодом (7.12).
Пример 3.9. Определить r для кода с k=20, tи.ош=2.
Примем m=3. Тогда 2m=23=8, n=7, что меньше k=20. Возьмем m=5. Тогда n=31; r=mtи.ош=52=10. Получается код с k=21, r=10. Этот код обеспечивает кодовое расстояние d02tи.ош+1=5.
В табл. 3.3 приведены образующие (примитивные) полиномы до 10-й степени.
1.2.2 Базис циклического кода, формирование кодовых комбинаций
Поскольку циклические коды являются линейными, то их можно строить точно так же, как и рассмотренные выше коды Хэмминга, определяя производящую матрицу (базис циклического кода). Для его построения используют свойство цикличности разрешенных кодовых комбинаций: циклический сдвиг разрешенной кодовой
Таблица 3.3 Образующие полиномы
r |
Pr(x) |
Двоичная запись Pr(x) |
2 |
x2+x+1 |
111 |
3 |
x3+x+1 x3+x2+1 |
1011 1101 |
4 |
x4+x2+1 x4+x2+1 |
10011 100101 |
5 |
x5+x4+x3+x2+1 x5+x4+x2+x+1 |
111101 110111 |
6 |
x6+x+1 x6+x5+x2+x+1 |
1000011 1100111 |
7 |
x7+x3+1 х7+х3+х2+x+1 х7+х4+х3+х2+1 |
10001001 10001111 10011101 |
8 |
х8+х7+х6+х5+х2+x+1 x8+x4+x3+x1+1 х8+x6+x5+х+1 |
111100111 100011101 101100011 |
9 |
x9+х5+х3+х2+1 х9+х8+х7+х6+х5+х3+1 |
1000101101 1111101001 |
10 |
х10+х4+х3+х+1 х10+x9+х6+х5+x4+х2+х+1 |
10000011011 11001110111 |
комбинации есть разрешенная комбинация того же кода. Рассмотрим циклический сдвиг кодовой комбинации:
.
(3.13)
Такая циклическая перестановка при
представлении комбинаций в виде полиномов
соответствует умножению данного полинома
A(x) на x,
т.е.
.
Чтобы степень полученного полинома
A1(x)
не превышала n-1, член
an-1xn
заменяется единицей. Поэтому
.
Например, имеем кодовую комбинацию:
1011101 A(x)=х6+x4+x3+x2+l.
Образуем циклический сдвиг на один разряд:
A(x)x=х7+х5+х4+х3+х 10111010.
Заменив х7 на единицу, имеем
x5+x4+x3+x+l 0111011,
т. е. сдвинутую на один разряд исходную кодовую комбинацию.
Базис циклического кода можно построить на основе циклических сдвигов кодовой комбинации, соответствующей образующему многочлену.
Пример 3.10. Сформировать базис циклического кода (7,4) с P3(x)=x3+x+1, r=3, k=4, d0=3. Для формирования первой разрешенной комбинации базиса следует взять кодовую комбинацию с r=3, соответствующую образующему полиному x3+x+1 (см. таблицу 3.3).
Ясно, что она будет делиться без остатка па образующий полином.
Итак, первая разрешенная комбинация имеет вид
.
(к образующему полиному x3+x+11011 слева добавляются три нуля)
Остальные три разрешенные комбинации находятся циклическим сдвигом полученной кодовой комбинации, т. е. умножением A1(x) на x, x2, x3. В результате имеем
Тогда производящая матрица циклического кода (7, 4) имеет вид:
Все остальные кодовые комбинации можно определить линейной композицией комбинаций базиса (ср. с производящей матрицей (7,3)).
*
Формирование кодовых комбинаций по заданной информационной части в циклическом коде так же, как и в обычных линейных систематических кодах, осуществляется на основе определенного алгоритма. Причем в отличие от ранее рассмотренного линейного кода, этот алгоритм позволяет сформировать сразу всю проверочную группу:
.
В качестве оператора используется вычисление вычета произведения Ak-1(x)xr по модулю Pr(x), где Ak-1(x) — многочлен, представляющий информационную часть кодовой комбинации, а Pr(x) — образующий многочлен степени r. Ранее было определено, что среди 2n кодовых комбинаций An-1(x) длиной n элементов имеется подмножество из 2k комбинаций, которые характеризуются отсутствием вычета по образующему многочлену степени r, где r=n-k.
Это создает возможность дополнить каждую кодовую комбинацию Ak-1(x) k-элементного первичного кода группой из r проверочных элементов, которая определяется в виде остатка R(x) от деления произведения Ak-1(x) xr на образующий многочлен Pr(x). При этом образуется многочлен An-1(х), соответствующий n-элементному коду, у которого отсутствует вычет по Pr(x).
Действительно, умножение Ak-1(x) на xr приводит к многочлену, соответствующему n-элементной кодовой комбинации, у которой r младших разрядов нулевые. Определив R(x) как вычет Ak-1(x)xr по Pr(x), получаем всю проверочную группу из r элементов, которую и приписываем вместо r нулей.
Пример 3.11. Задана кодовая комбинация простого семиэлементного кода A6(0,1)=1001011, т. е. A6(x)=x6+x3+x+1. Надо образовать циклический код (9,7). Это код, у которого r — степень образующего многочлена (число проверочных элементов) равна 2.
Из табл. 3.3
P2 (x)=x2 + x + 1.
Повысим степень полинома на два:
A6(x) х2=x8+х5+х3+х2.
Определим группу проверочных разрядов в виде остатка от деления A6(x)x2 на P2(x). Значение остатка будет R(x)=x, т. е. R(0,1)=10. Найдем полином разрешенной кодовой комбинации:
A8(x)=A6(x)x2+R(x)=х8+x5+x3+x2+x.
Кодовая комбинация имеет вид 100101110.
Наряду
с определением кодовой комбинации в
виде многочлена все операции можно
проделать и в записи двоичными элементами.
В этом случае Ak-1(x)xr
соответствует добавлению к Ak-1(0,1)
r нулей, т. е. 100101100.
Определение вычета произведем на основе
деления в двоичной записи:
Отсюда R (0,1)=10.
Тогда A(0,1)=100101.10.
Можно заметить, что при таком способе построения комбинаций циклического кода проверочные и информационные разряды находятся на определенных позициях, т. е. код является разделимым.
При другом способе построения это свойство нарушается и код становится неразделимым.
Способ основан на простом перемножении кодовых комбинаций информационной группы и образующего полинома. Действительно, поскольку произведение Ak-1(x) Pr(x)=An-1(x) делится без остатка на Pr(x), то An-1(х) является разрешенной комбинацией циклического кода. Однако в этой комбинации нельзя выделить информационные и проверочные разряды. Из примера 3.11 имеем произведение
что соответствует кодовой комбинации 111110001. Выделить позиции информационных элементов здесь нельзя. Поэтому на практике используется первый способ построения циклического кода.
*