Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
кодирования.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
12.08 Mб
Скачать

1.5. Построение порождающих и проверочных матриц циклических кодов

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

При этом в ряде случаев проще реализуется построение кодирующих и декодирующих устройств ЦК.

Рассмотрим варианты формирования и обработки ЦК, заданных в виде порождающих и проверочных матриц, на конкретном примере ЦК Хемминга (7, 4), воспользовавшись выражением (4.11), в котором опре- делены двойственные (дуальные) порождающие полиномы кода:

X 7 + 1 = (X + 1) (X 3 + X + 1) (X 3 + X2 + 1), что соответствует кодам (7, 6); (7, 4); (7, 4).

Пример

Задан ЦК (7,4) дуальными порождающими полиномами

G (7,4) = X3 + X + 1 и

G˜ (7, 4) 

X 3 X 2  1.

Составить порождающие матрицы для формирования разрешен- ных кодовых комбинаций и проверочные матрицы для получения синдромов.

Первой строкой в матрице записывается порождающий полином (в двоичном представлении) с домножением его на оператор сдвига X r для резервирования места под запись r = 3 проверочных символов. Сле- дующие k – 1 строк матриц получаются путем последовательного цик-

лического сдвига базового кодового слова матрицы G и G˜ на одну по- зицию вправо, поскольку при этом по определению ЦК также получа- ются разрешенные к передаче кодовые комбинации:

1011000 1 1101000 1

G 7, 4

0101100 2

G˜ 7, 4

0110100 2.

0010110 3 0011010 3

0001011 4 0001101 4

(4.24)

Однако в таком виде эти порождающие матрицы размерностью k  n-(n столбцов, k строк) могут образовать только неразделимый ЦК, т. е. код, у которого не определены жестко места информаци- онных и проверочных элементов. Для построения порождающей мат- рицы, формирующей разделимый блочный код, необходимо матри- цу преобразовать к каноническому виду путем простых линейных опе- раций над строками, промаркированными № 1–4.

С учетом свойства ЦК (4.12), каноническую форму матрицы можно получить путем сложения ряда разрешенных кодовых комбинаций. Ка-

ноническая матрица должна в левой части порождающей ЦК матрицы содержать единичную диагональную квадратную подматрицу E поряд- ка k для получения в итоге блочного ЦК. С этой целью для получения первой строки канонической матрицы Gk (7, 4) необходимо сложить по

модулю 2 строки с номерами 1, 3 и 4 матрицы G (7, 4), а для матрицы

˜

G˜ k

строки с номерами 1, 2 и 3 матрицы

Gk (7, 4). В этом случае в

матрицах (4.24) в первых строках остаются "1" только на первых пози- циях, а остальные "k – 1" символов заменяются "0", что и соответствует первым строкам единичных подматриц порядка "k". Нормирование пос- ледующих трех строк канонических матриц производится путем соот- ветствующего суммирования строк матриц (4.24).

В итоге имеем следующий вид дуальных канонических матриц:

1000

101

1  1  3  4

0100

111

2  2  4

0010

110

3  3

0001

ç

011

4 4

,_ _,

Gk 7,4

E

строк Gk

1000

110

1  1  2  3

0100

011

2  2  3  4

0010

111

3  3  4

.

0001

ç

101

4 4

,_ _,

G˜ k 7,4

E

строк G˜ k (7, 4)

(4.25)

Процесс кодирования первичных кодов на стороне источника сооб- щений сводится к умножению информационных посылок, представлен-

ных в виде векторов ническую матрицу:

Ai X , на соответствующую порождающую кано-

Bi X Ai X Gk .

(4.26)

Эта процедура позволяет получить блочные коды Хемминга "в це- лом", т. е. получить проверочную группу символов r1, r2, r3 сразу после выполнения операции (4.26). Наряду с этим имеется возможность фор-

мировать символы проверочной группы поэлементно, как это предус- матривалось при выполнении студентами ЛР № 3 "Корректирующие коды", где 3 проверочных символа задавались следующими равенства- ми проверки на четность:

r1 i1 i2 i3;

r1 i1 i3 i4 ;

r2 i2 i3 i4 ;

r2 i1 i2 i3;

r3 i1 i2 i4 ;

r3 i2 i3 i4.

(4.27)

Обратим внимание на то, что алгоритм (4.27) просто получается из рассмотрения порождающих коды Хемминга матриц (4.25), в которых проверочные подматрицы, содержащие 3 столбца (r1, r2, r3), имеют сим-

волы "1" в тех строках, номера которых совпадают с маркировкой ин-

формационных символов i в равенствах (4.27) [см. (4.14)].

При матричном варианте обработки принятых кодов на стороне по- лучателя сообщений для получения синдрома необходимо принятую,

возможно искаженную в канале, кодовую комбинацию на проверочную матрицу Н (Х):

Bi( X ) умножить

S Bi( X )H( X ).

(4.28)

Заметим, что матрица Н с размерностью n х r может быть получена

из порождающей матрицы канонического вида (4.25) путем дополне- ния проверочной подматрицы единичной матрицей размерности r  r, что дает следующий вид дуальных проверочных матриц:

101

110

111

011

110

111

Hk 7, 4

011

H˜ k 7, 4

101

100

100

4.29

010

E

010

E

001

001

По определенному с помощью полученного синдрома (4.28) соот- ветствующему шумовому вектору исправляются ошибки (4.18).

Интересно отметить, что в табл. 4.2, в которой рассмотрена связь между синдромом и шумовым вектором для кода (7,4), колонки с синд- ромами дуальных порождающих полиномов полностью совпадают с (4.29).

В ЦК Хемминга (n , k) все проверочные r = n – k разряды размеща- ются в конце кодовой комбинации и, как отмечалось, формируются "в целом". При поэлементном получении проверочных символов (4.27) целесообразно, чтобы каждый синдром представлял собой двоичное число, указывающее на номер разряда, в котором произошла ошибка. Коды, в которых синдромы (опознаватели) соответствуют указанному принципу, и предложил впервые Хемминг. В этом случае для кода (7, 4) проверочные символы r1, r2, r3, (табл. 4.2) размещаются на первой, вто-

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

налево. Такое построение кодов упрощает декодирующее устройство на стороне получателя сообщений.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]