Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
разное / Методы преобраз-я сигналов и помехоустойчивое кодир-е [Н.Ф.Рожков].doc
Скачиваний:
125
Добавлен:
15.06.2014
Размер:
2.36 Mб
Скачать

Методы построения циклического кода

  1. Код может быть получен путем умножения k-значного кода, выраженного в виде полинома степени (k-1), на некоторый образующий полином P(x) степени m=n-k

  2. Комбинация простого k-значного кода G(x) умножается на одночлен xn-k , а затем делится на образующий полином P(x) степени (n-k). В результате умножения G(x) на xn-k степень каждого одночлена, входящего в G(x), повысится на (n-k). При делении произведения G(x)xn-k на P(x) получится частное Q(x) такой же степени, как и G(x).

Результат умножения и деления можно представить в следующем виде

xn-k G(x) R(x)

___________ = Q(x) + ________ , (2.41)

P(x) P(x)

где R(x) – остаток от деления xn-k G(x) на P(x).

Так как частное от деления Q(x) имеет такую же степень как и кодовая комбинация G(x), то Q(x) также является комбинацией простого k-разрядного кода.

Умножим обе части (2.41) на P(x) и , произведя преобразования, получим:

F(x) = Q(x)∙P(x) = xn-k G(x) + R(x) (2.42)

В правой части (2.42) знак минус перед R(x) заменяем знаком плюс, т.к. вычитание по модулю два сводится к сложению.

Наиболее часто используется второй способ построения циклического кода, т.к. первый обладает тем недостатком, что информационные символы в кодовой комбинации не содержатся в явном виде, однако он легко реализуем.

Матричное представление циклических кодов

Полная образующая матрица циклического кода Pn,k составляется из двух подматриц: информационной Ik подматрицы, состоящей из k-строк и k-столбцов и дополнительной Hm , состоящей из m = n-k столбцов и k-строк и образована остатками R(x). Построение единичной квадратной подматрицы трудностей не вызывает. Для формирования дополнительной подматрицы необходимо для каждой строки подматрицы Ik вычислить остатки R(x) от деления xn-kG(x) на образующий полином.

Дополнительную подматрицу можно определить и не строя Ik . Для этого достаточно разделить на P(x) комбинацию в виде единицы с рядом нулей и получающиеся остатки вписывать в качестве строк дополнительной Hm подматрицы. При этом, если степень какого-либо остатка R(x) оказывается меньше (n-k-1), то следующие за этим остатком строки подматрицы получают путем циклического сдвига влево до тех пор, пока степень R(x) не станет равной (n-k-1). Деление производится до получения k-строк дополнительной подматрицы.

Для примера построим производящую матрицу кода (7,4) с образующим полиномом P(x) = x3 + x2 + 1. Информационная Ik подматрица имеет вид:

│0 0 0 1│

Ik =│0 0 1 0

│0 1 0 0│

│1 0 0 0│

Получим строки дополнительной подматрицы Hm . Для этого поделим на P(x) единицу с рядом нулей. Остатки выделены в квадраты.

10000000│1101

+ ──────┼───

1101

────

1010 │1 0 1│

+ 1101 Hm = │1 1 1│

──── │0 1 1│

1110 │1 1 0│

+ 1101

──────

циклический ← 0110

сдвиг 1100

Тогда производящая матрица кода (7,4) будет иметь вид:

║0 0 0 1 │1 0 1║

P(7,4) = ║0 0 1 0 │1 1 1║

║0 1 0 0 │0 1 1║

║1 0 0 0 │1 1 0║

При первом способе построения циклического кода производящая матрица Pn,k формируется путем умножения P(x) степени m=n-k на одночлен xk-1 и последующих (k-1) сдвигов полученной кодовой комбинации.