Файл: Бездудный, В. Г. Техника безопасности в шахтном строительстве.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 18.10.2024
Просмотров: 114
Скачиваний: 0
зующей данного кода. Для нашего примера определяющая матрица
будет иметь вид
000 101
001 010
010 100
101000
010 001
100 010
Часто при анализе циклических кодов кодовые комбинации удоб но представлять в виде многочленов, у которых показатели степени х соответствуют номерам разрядов, а коэффициенты при х равны 0 или 1 в зависимости от того, стоит ли 0 или 1 в разряде кодовой комби нации, которую представляет данный многочлен. Так, комбинации кода нашего примера могут быть определены в виде многочленов:
000 101 да Ох5 + |
0х* + |
Ох3 + |
1 * 4 - Ох1 + |
1х° = |
х2 + |
1; |
|
001 010 да Ох5 + |
Ox4 -f |
lx3 + |
Ох2 + lx1 + |
0х° = |
х3 + |
х; |
|
010 100 да Ох5 + |
1х4 + |
0х3 4- 1х2 4- Ох1 + |
0х° = |
х4 -+• х2; |
|
||
101 000 да 1х5 + |
0х4 4- lx3 -f 0х2 4- Ох140х° = |
х5 4- х3 |
и т. д. |
Нетрудно заметить, что циклический сдвиг кодовой комбинации ана логичен умножению соответствующего многочлена на х:
(х2 4- 1)х — х3 4- х да 001 010; (х3 4- х ) х —'х* 4- х2 да 010 100; (х4 4- х2) х = х5 + х3 да 101 000.
Рассмотрим еще одно свойство циклических кодов, которое поз волит нам вплотную подойти к пониманию корректирующих свойств этих кодов. Дело в том, что сложение по модулю 2 любых двух сосед них комбинаций циклического кода эквивалентно операции умножения многочлена, соответствующего комбинации первого слагаемого, на
многочлен х 4- 1, если |
приведение подобных |
членов осуществлять |
по модулю 2: |
|
|
„000101 |
х2 4 -0 + 1 да 000 101 |
|
® 001 010 |
* 4 -1 |
|
001111 |
х2 + 0 4 - 1 |
|
|
х3 4- 0 4- * |
S001010 |
|
|
|
|
х3 + х2 + х 4- 1 |
: 001 111 |
Другими словами, существует принципиальная возможность по лучения любой кодовой комбинации циклического кода путем умно жения соответствующим образом подобранного образующего многочле на на некоторый другой многочлен. Однако так как операции умноже ния и деления по модулю 2 сводятся, в конце концов, к операции сложения (см. тему 7), то можно сказать, что любой многочлен цикли
130
ческого кода |
делится |
на образующий |
многочлен без |
остатка т: |
|
000101 |
1000 101 |
0010101000101 |
010 1001000101 |
||
101 000 |
1 |
000101 |
1 |
000101 |
1 |
000 |
|
000 |
|
000 |
|
Если же при делении комбинации циклического кода на образую щий многочлен будет получен остаток, то, значит, либо в коде произо-
Тоблица 25
Основные характеристики циклических кодэв, исправляющих одиночные и обнаруживающих все одиночные и двойные ошибки
п «и «к
< 3 |
1 |
2 |
< 7 |
. 4 |
3 |
« 7 |
4 |
3 |
<15 |
11 |
4 |
<15 |
11 |
4 |
<31 |
26 |
5 |
<31 |
26 |
5 |
<31 |
26 |
5 |
< 6 3 |
57 |
6 |
<63 |
57 |
6 |
<63 |
57 |
6 |
<127 |
120 |
7 |
<127 |
120 |
7 |
<127 |
120 |
7 |
|
|
|
|
|
|
Число |
Образующий |
Кодовое обозначение |
остатков |
||||
от деле |
||||||
многочлен |
образующего многочлена |
ния на об |
||||
|
|
|
|
|
|
разующий |
|
|
|
|
|
|
многочлен |
Х * + Х + 1 |
|
|
i |
i |
i |
3 |
х3+ х+\ |
|
1 0 |
11 |
7 |
||
х3+ х 3+1 |
|
1 1 0 |
1 |
7 |
||
х*+ х3+ 1 |
1 1 0 0 1 |
15 |
||||
J^-j-X+l |
1 0 |
0 |
11 |
15 |
||
|
1 0 0 1 0 1 |
|
31 |
|||
X6+X3+ l |
1 0 1 0 0 1 |
|
31 |
|||
x6+ x s+ l |
1 0 |
0 |
1 1 1 |
1 |
31 |
|
1 1 0 0 0 0 |
63 |
|||||
x*+x3+ l |
1 0 0 1 0 0 1 |
|
63 |
|||
x *+ x + l |
1 0 0 0 0 1 1 |
63 |
||||
x^+x+l |
1 0 0 0 0 0 1 1 |
|
127 |
|||
x7+ x 3+ l |
1 0 0 0 1 0 0 1 |
|
127 |
|||
x7+ x H -l |
1 0 0 1 0 0 0 1 |
|
127 |
шла ошибка (сбой), либо это комбинация какого-то другого кода (запре щенная комбинация), что для декодирующего устройства не имеет принципиальной разности. По остатку и обнаруживается наличие запрещенной комбинации, т. е. обнаруживается ошибка. Остатки от деления многочленов являются опознавателями ошибок циклических кодов.
Процедура нахождения остатков является, пожалуй, наиболее ответственной и трудоемкой в процессе построения циклического кода. Образующий многочлен циклического кода должен выбираться с таким учетом, чтобы он давал максимально возможное число остатков, с тем чтобы при минимальном числе проверочных разрядов обеспечить максимальное число информационных.
В настоящее время нет необходимости в поисках оптимальных соотношений параметров и образующих многочленов циклических кодов. Циклические коды хорошо изучены, и поэтому большинство их параметров уже известны и задаются таблицами. Так, соотношение между длиной кодовой комбинации п, количеством информационных1
1 Н а п о м и н а е м , ч т о д е л и т е л ь п о д п и с ы в а е т с я п о д д е л и м ы м т а к , ч т о б ы с о в п а д а л и с т а р ш и е р а з р я д ы .
5* |
131 |
пи и контрольных пк символов заданы табл. 25 (сравните с табл. 21 для кода Хэмминга). Там же приведены и образующие многочлены для кодов различной длины.
Вернемся, однако, к процедуре нахождения остатков деления и построения полной образующей матрицы циклического кода. Предпо ложим, необходимо передать 10 информационных разрядов так, что бы при этом были обнаружены все одиночные и двойные ошибки. По табл. 25 выбираем ближайшее значение пи >- 10. Согласно табл. 25, таким значением будет пя = 11. При этом пк = 4, а п = 15. Там же выбираем образующий многочлен х* + х3 4- 1.
Полную образующую матрицу обычно строят из единичной транс понированной матрицы в канонической форме и дополнительной матри цы С„и;„к, соответствующей проверочным разрядам. Транспонирован
ная матрица для пя = 11 имеет вид
0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0
Дополнительная матрица может быть построена по остаткам деления комбинации в виде единицы с нулями (последней строки единичной транспонированной матрицы) на выбранный образующий многочлен:
1000000000 |
111001 |
|
|
|
|
11001 |
|
|
|
|
|
1 0 0 1 0 |
1 |
0 |
0 |
I |
|
11001 |
1 |
0 |
1 |
1 |
|
1 0 1 1 0 |
|||||
X |
|
|
1 |
||
11001 |
|
|
1 |
||
0 |
1 |
1 |
1 |
||
1 1 1 1 0 |
|||||
1 |
1 |
1 |
0 |
||
11001 |
|||||
0 1 1 1 0 0 |
С П ;4 = 0 1 0 1 |
||||
11001 |
1 |
0 |
1 |
0 |
|
0 1 0 1 0 0 |
1 |
1 |
0 |
1 |
|
11001 |
|||||
п |
п |
|
1 |
||
п о ю |
и |
и |
X 1 |
||
0 |
1 |
1 |
0 |
||
11001 |
|||||
1 1 0 0 |
|||||
о б Т Т о о о |
11001
0001
1 3 2
. f
Если в процессе деления после приписывания к остатку очередно го нуля получается число, у которого количество разрядов меньше, чем у делителя, то остаток получают путем приписывания нуля к преды дущему остатку справа. Полная образующая матрица для рассматри ваемого примера будет иметь вид
0 0 0 0 0 0 0 0 0 0 1 1 0 0 1
0 0 0 0 0 0 0 0 0 1 0 1 0 1 1
0 0 0 0 0 0 0 0 1 0 0 1 1 1 1
Cl5;ll = 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 1 1 I 0
0 0 0 0 0 1 0 0 0 0 0 0 1 0 1
0 0 0 0 1 0 0 0 0 0 0 1 0 1 0
0 0 0 1 0 0 0 0 0 0 0 1 1 0 1
0 0 1 0 0 0 0 0 0 0 0 0 0 1 1
0 1 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 1 1 0 0
В качестве неприводимого многочлена можно было бы взять, например, и х* + х 1. Тогда мы нашли бы несколько видоизменен ную определяющую матрицу, которая отличалась бы от полученной выше не самими остатками, а лишь их порядком:
0 0 0 0 0 0 0 0 0 0 |
1 0 0 1 1 |
|||||
0 0 0 0 0 0 0 0 0 |
1 0 0 1 1 0 |
|||||
0 0 0 0 0 0 0 0 1 0 0 |
1 1 0 0 |
|||||
0 0 0 0 0 0 0 |
1 0 0 0 |
1 0 1 1 |
||||
0 0 0 0 0 0 1 0 0 0 0 0 |
1 0 1 |
|||||
0 0 0 0 0 1 0 0 0 0 0 |
1 0 1 0 |
|||||
0 0 0 0 |
1 0 0 0 0 0 0 0 |
1 1 1 |
0 0 0 1 0 0 0 0 0 0 0 1 1 1 0
0 0 1 0 0 0 0 0 0 0 0 |
1 1 1 1 |
|
0 1 0 0 0 0 0 0 0 0 0 |
1 1 0 |
1 |
1 0 0 0 0 0 0 0 0 0 0 |
1 0 0 |
1 |
После того как построены полные образующие матрицы, не пред ставляет собой труда выбрать любую из разрешенных комбинаций данного кода. Общее число комбинаций для кода с 11 информацион ными разрядами равно 211.
133
В качестве примера выпишем две кодовые комбинации, имеющие единицы, первая в 1, 2, 7, 9, вторая в 3, 5, 6, 10 и 11 информационных разрядах. Для этого достаточно сложить по модулю 2 строки обра зующей матрицы с теми же порядковыми номерами, считая снизу вверх:
1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 Q 0 0 0 1 1 0 1-
@ 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1
0 0 0 0 0 0 0 0 1 0 0 1 |
1 0 0 |
1 1 0 0 0 0 1 0 Г 0 0 1 1 0 1 |
0 0 1 0 0 0 0 0 0 0 0 1 1 1 1
0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 @ 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0
0 0 0 0 0 0 0 0 0 1 0 0 1 |
1 0 |
|
0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 |
||
0 0 1 0 1 |
1 0 0 0 1 1 0 1 1 |
1 |
Код, построенный при помощи матриц С+ц и С\5;ц, может обна руживать все одиночные и все двукратные ошибки, а также пачки
ошибок длиной |
в четыре разряда. Этот код может обнаруживать |
||
|
|
|
пачки ошибок в пять разрядов (необнару- |
|
|
|
живаемыми остаются лишь х/8 от общего |
|
|
|
числа пачек ошибок) и пачки 'ошибок с чис |
|
|
|
лом разрядов п > 5 (необнаруженные при |
|
|
|
этом остаются лишь V16 общего числа пачек |
|
|
|
ошибок). |
|
|
|
Как мы уже говорили, кодирующие и |
|
|
|
декодирующие устройства циклических кодов |
Рис. 30. |
Регистр сдвига с выгодно отличаются своей простотой. Как в |
||
обратной |
связью |
через |
кодирующем, так и в декодирующем устрой |
сумматор. |
|
||
|
стве основными элементами являются регист |
||
|
|
|
ры сдвига с обратной связью через сумматор по модулю 2. На рис. 30 представлена схема такого регистра сдвига, на которой Тг — Тп — ячейки И в случае тиратронного регистра сдвига
либо триггерные ячейки на полупроводниках, лампах и т. |
д.; ^ — |
Кп .— ключи, подключающие сумматор к определенным |
ячейкам |
регистра. Выход сумматора заведен на вход регистра сдвига. Поэтому в первом каскаде регистра всегда записан результат сложения по модулю 2 (естественно, после-того, как на сумматоре появится первый результат сложения).
Предположим, в регистре рис. 31, который является частным
случаем регистра рис. 30, |
записана |
комбинация |
111. После перво |
го тактового импульса из |
ячеек Т2 |
и Т3 сигналы |
поступят на сум |
матор, с выхода которого |
результат |
сложения 1 + 1 = 0 запишется |
134