Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория информации.docx
Скачиваний:
11
Добавлен:
01.05.2025
Размер:
77 Кб
Скачать

Матричная запись кодовых комбинаций.

Запись кодовых комбинаций может производится с помощью образующей и проверочной матрицы. Образующие матрицы позволяют получить все возможные комбинации кода путем суммирования по модулю 2 всех возможных сочетаний строк. По образующей матрице строится образующая матрица, которая служит для создания алгоритмов кодирования и декодирования. Образующая матрица обозначается Gkn состоит из единичной матрицы Ikk и дополнительной матрицы дополнительных разрядов Rkr.

Образующая матрица

1 0 0 a11 a12

Gkn = 0 1 0 a21 a22

0 0 1 a31 a32

Строки дополнительной матрицы получается путем перебора r разрядных комбинаций, содержащих не менее d-1 единиц, причем сумма любых 2х строк по модулю 2 должна иметь не менее d-2 единиц.

Проверочная матрицы.

A11 a21 ak1 1 0 0

A12 a22 ak2 0 1 0

A1r a2r akr 0 0 1

По проверочной матрице строятся (формируются) уравнения проверки. Они включают те разряды кодовой комбинации, в которых есть единицы.

Число уравнений проверки равно r

Пример.

G47 = 1 0 0 0 0 1 1

0 1 0 0 1 0 1

0 0 1 0 1 1 0

0 0 0 1 1 1 1

H37

0 1 1 1 1 0 0

1 0 1 1 0 1 0

1 0 1 1 0 0 1

1 1 0 1 0 0 0

Х1 = а2+а3+а4 +а5

Циклические коды

Циклические коды относятся к блочным линейным кодам. Код называется циклическим, если любая его комбинация может быть получена из исходного путем циклического сдвига всех элементов на 1 шаг.

При одном шаге символы перемещаются справа налево на одну позицию, причем символ, выходящий за границу разрядности переносится на место крайней правой позиции. Основным свойством циклического кода является возможность представления кодовой комбинации полиномом n-1 степени. Коэффициентами которого являются символы кодовой комбинации.

10011 = 1Х4 + 0Х3 + 0Х2+1Х1+1Х0

При образовании циклического кода должны выполняться все действия по следующим правилам:

  1. Сложение по модулю 2.

  2. Вычитание идентично сложению по модулю 2.

  3. Умножение выполняется по обычным правилам с приведением подобных членов по модулю 2.

Если старшая степень полученного полинома не превышает n-1, то результат является окончательным. Если он превышает, то полином делится на xn+1. Результатом умножения считается остаток от деления.

Линейность циклических кодов вытекает из того, что любая линейная композиция 2х циклических комбинаций, делящихся на G(x) будет обязательно делиться на этот же образующийся полином.

Способы задания циклического кода.

  1. С помощью образующего полинома G(x)

  2. С помощью образующей матрицы.

  3. С помощью корней образующего полинома. БЧХ.

Рассмотрим процедуру кодирования.

  1. Первичную информационную последовательность представим в виде полинома k-1 степени.

A*(x)

  1. Умножить A*(x) * xr это соответствует к приписыванию к кодовой комбинации r нулей справа.

  2. Полином должен быть не приводимым. То есть делится на себя и на 1.

Х+1

Х2+х+1

Х3+х+1

Х4+х+1

  1. Делим на образующий полином. Остаток записываем вместо r нулей.

  2. F(x) = A*(x)

A*(x) =1001 = X3+0X2+0x1+1x0 = X3+1

(X3+1)*x3 = X6+x3

G(x) = x3+x+1

(X6+x3)/(x3+x+1) = x3 (x2+1) – остаток

Х6+х3+х2+х

1001110

Декодирование. На приемной стороне принятую кодовую комбинацию делят на образующий полином.

B(x) = F(x) +N(x)

N(x) – полином, соответствующий коду ошибки, имеющему единицу на месте искаженного символа и нули на всех остальных позициях.

При делении B(x) на G(x) ошибка может быть обнаружена, если полином N(x) не делится на G(x) без остатка. Исправлено может быть столько ошибок, сколько может быть получено разных остатков при делении различных полиномов G(x).

1 2 3

1

2

3

Основа кодирующего регистра – 2 регистра на r разрядов, накопитель и регистр сдвига с обратными связями. Регистр сдвига состоит из ячеек памяти и сумматоров по модулю 2. Операция умножения соответствует наличию обратной связи. Если коэффициент для образующего кода равна 0, то связь отсутствует. Сдвиг осуществляется тактовыми импульсами от специального генератора. Число сумматоров равно числу не нулевых членов образующего полинома -1 для старших разрядов. Место включения сумматоров определяются структурой образующего полинома. В исходном состоянии ключи разомкнуты. В течении r тактов символы заполняют накопитель и разряды регистра сдвига. Затем ключ k1 остается разомкнут, ключ 2 замкнут. Происходит деление в течении k+1 тактов. За это время на выход поступает k информационных разрядов. Накопитель освобождается, а в регистр сдвига записывается остаток. Ключ 2 размыкается, ключ 1 замыкается и на выход кодирующего устройства поступает устройство R(x) и одновременно записывается следующая комбинация. И цикл повторяется. Недостаток – рассчитан на конкретный полином и конкретную ошибку. Так же задержка на r тактов.

Задание. Кодовая комбинация

100100011

Закодировать ее с проверкой на четность, инверсным кодом, циклическим кодом (указан полином) x4 + x3 + 1.

четный 100100011,0

инверсный 100100011,100100011 (после запятой инверсная, если число 1 не четное)

X8+X5+X1+X0.

(X8+X5+X1+X0)*Х4 = X12+x9+x5+x4

(X12+x9+x5+x4)/(X4+x3+1) = (x8+X7+X6+x4+x2) + X2

X8

X12+x11+x8

X11+x9+x8+x5+x4

X7

X11+x10+x7

X10+x9+x8+x7+x5+x4

X6

X10+x9+x6

X8+x7+x6+x5+x4

X4

X8+x7+x4

X6+x5

X2

X6+x5+x2

X2

X12+x9+x5+x4+x2

1001000110100.

1

2

3

4

+

+