рация кодирования осуществляется просто: позиции, за нимаемые единицами в i-й строке приписанной части мат рицы R'kx{n_ky определяют те информационные разряды, которые должны участвовать в формировании i-ro прове рочного разряда. Поясним сказанное на примере систе матического кода, исправляющего одиночные ошибки при числе разрешенных комбинаций NQ=2!i. Минимальное ко довое расстояние такого кода d = 3. Тогда согласно табл. 6.3 число разрядов в комбинациях корректирующе го кода п = 7, т. е. строится систематический код (7,4). Порождающая матрица такого кода может быть записа
на, например, в следующем |
виде: |
|
|
|
|
|
|
1 0 |
0 |
0 |
1 |
0 |
1 |
|
|
|
0 |
1 0 |
0 |
|
1 1 1 |
|
G ( 7 . 4 ) |
= |
0 |
0 |
1 0 |
|
1 1 0 |
|
|
|
|
|
|
|
0 |
0 |
0 |
1 |
0 |
1 |
1 |
|
Нетрудно видеть, |
|
что |
приписанная |
часть матрицы |
G(7,4), содержащая проверочные элементы, |
удовлетворяет |
изложенным выше требованиям: вес каждой строки — не меньше 2, а сумма по модулю 2 двух любых ее строк—не меньше 1. Зная G(7,/,v можно построить прове рочную матрицу М вида
|
1 1 0 |
1 0 |
0 |
" « 7 . 4 ) = 0 |
1 1 1 0 |
|
1 0 |
1 |
1 0 |
1 0 |
0 |
1 |
из рассмотрения которой следует, что проверочные эле
|
|
|
|
|
|
|
менты 6,; |
Ь2; Ьз, согласно |
изложенному выше |
общему |
правилу, |
определяются |
следующими уравнениями: |
|
ai © а2 |
@ а3 © Ь1 |
= 0 |
(6.25) |
|
a2©a3®ai@b2 |
|
= |
0 |
|
|
|
|
fli © <h © |
ui © b3 |
= |
0 |
|
При декодировании с обнаружением ошибок |
принятая |
семиэлементная кодовая комбинация подвергается трем |
проверкам в соответствии с |
ур-ниями (6.25). Если хотя |
бы одно из этих уравнений |
не удовлетворено, то приня |
тая |
комбинация не |
принадлежит |
к числу |
разрешенных |
и, |
следовательно, |
в процессе |
передачи |
произошла |
ошибка! |
|
|
|
324 |
|
|
|
|
При декодировании с исправлением ошибок необхо димо учитывать, какие из уравнений не удовлетворены. Так, если не удовлетворяется одно из трех ур-ний (6.25), то ошибочно принятым является один из проверочных элементов. Когда не удовлетворяются первые два урав нения, то следует исправлять (заменять 0 на 1 или 1 на
|
|
|
|
|
0) |
элемент а3, входящий в оба уравнения. Если не удов |
летворены 1 и 3-е уравнения, |
исправляется элемент щ, |
•а если 2 и 3-е, — то элемент а,к. |
Наконец, в случае, когда |
три |
уравнения не удовлетворены, |
исправляется |
элемент |
:а2. |
Сказанное справедливо только |
при искажении |
одного |
.элемента. При ошибочном приеме двух и более элемен тов правильное декодирование невозможно, так как ко-
.довое расстояние кода d—3.
Предположим, что передаче подлежит информацион ная последовательность 1011. Тогда согласно (6.25) на выходе кодирующего устройства она примет вид 1011000. Пусть под действием помех эта комбинация будет при нята как 1111000. При декодировании в соответствии с (6.25) получим следующие результаты:
|
1- я |
проверка 1010100=1 |
|
|
|
|
2- я |
» |
1010100=1 |
|
|
|
|
3- я |
» |
1010100=1 |
|
|
|
Согласно изложенному выше исправлению подлежит |
второй элемент, |
и принятая |
информационная комбина |
ция примет вид 1011. |
|
|
|
|
|
|
Результат |
проверок |
на четность, записанный в виде |
r-разрядного |
двоичного |
числа, называется синдромом. |
В |
нашем примере синдром S равен 111. Равенство синдро |
ма нулю указывает на |
отсутствие |
ошибок |
в принятой |
комбинации. |
|
|
|
|
|
|
|
|
Если в порождающей матрице G(n,k) |
систематическо |
го (п, &)-кода, записанной в канонической |
форме, ис |
ключить (вычеркнуть) |
I первых строк |
и i первых столб |
цов, то 'полученная •G(n-i,h-i) |
матрица |
будет описывать |
«систематический |
(п—i, |
k—0"К°Д- |
Матрица |
М „ _ ; , и |
по |
лучается из канонической формы М( „, ^ вычеркиванием i первых столбцов. Поскольку при этом число линейнозависимых столбцов матрицы проверок не может умень шиться, то и d M m i нового код а будет то же, что у исход ного. Коды, построенные таким образом, принято назы
вать укороченными |
кодами: Рассмотрим различные виды |
систематических |
кодов; |
К о д ы |
X э м м ин г а. Групповой |
(п, /г)-код, |
матрица |
проверок |
которого |
М( „, Л ) имеет г=/г—/г строк ;и 2''—1 |
столбцов, |
причем |
столбцами M ( „ , w |
являются |
все нену |
левые г-разрядные двоичные 'последовательности, назы вается кодом Хэмминга. Минимальное расстояние та кого кода d = 3 , т. е. кодом исправляются все одиночные ошибки. Таким образом, код Хэмминга полностью за дается количеством проверочных элементов г в кодовой комбинации. Порядок формирования г проверочных эле ментов определяется задаваемым алгоритмом обнаруже ния и исправления искаженного элемента, т. е. требо
ванием, |
предъявляемым к синдрому. |
Одним из таких |
требований |
является |
следующее: |
синдром—двоичное |
r-разрядное |
число, записанное по результатам 1, 2, |
|
r-й проверок, — должен |
указывать |
номер искаженного |
разряда кодовой комбинации. |
|
|
|
Так |
как |
число элементов кодовых |
комбинаций |
п= |
= k+r, |
а число разрядов искомого |
двоичного числа |
г, |
то согласно изложенному должно соблюдаться неравен ство
Единица в правой части учитывает случай отсутствия искажений. Сопоставляя выражение (6.26) с аналогич ным выражением табл. 6.3 для случая r—Ъ, видим, что они совпадают. Подставляя в (6.26) г—п—k, получим
2 * < - ^ - , |
(6.27) |
п + 1 |
|
где п и k могут принимать только целые значения. Не равенство (6.27) является исходным при определении длины кодовой комбинации по заданному числу инфор мационных элементов.
Теперь, исходя из изложенного требования к форми рованию проверочных элементов, определим, какие из разрядов, кодовых комбинаций должны охватываться каждой из г проверок. Обозначим результат каждой проверки через П.
Пусть /7, = 1. Это значит, что один из элементов ко довой комбинации, охватываемых первой проверкой, ис
кажен. Наличие 1 |
в младшем разряде |
синдрома 5 = |
= П^П3П21 |
указывает, что искомый искаженный |
элемент |
является |
нечетным, |
так как единицу в |
первом |
разряде |
имеют все нечетные числа (см. |
табл. 1.1), следователь |
но, они и должны охватываться |
первой проверкой. |
Я х = fli©a3©o5 |
+ |
a 7 © . . . |
Результат второй проверки Я 2 |
определяет второй раз |
ряд синдрома. Из табл. 1.1 находим все числа, имеющие
единицу во втором разряде. Таковыми |
являются 2, |
3, б, |
7, 10, 11, 14, 15 ... Следовательно, |
вторая проверка |
дол |
жна охватывать |
разряды |
|
|
|
Я 2 = |
оа ® а3 © ав © а, © |
а ы |
©... |
|
Рассуждая аналогичным образом, найдем последова |
тельность разрядов, охватываемых |
третьей, четвертой, |
пятой и т. д. проверками (табл. 6.9). |
|
|
Теперь определим, какие позиции кодовых комбина ций занимают проверочные разряды, а какие—информа ционные. При этом необходимо помнить, что в каждую последовательность элементов, охватываемых провер кой, должен входить только одни проверочный элемент.
Сопоставляя |
все последовательности |
|
табл. 6.9, видим, что |
|
|
|
|
|
|
|
|
Т А Б Л И Ц А |
|
6.9 |
|
|
|
|
|
Номер про |
|
|
|
|
|
|
|
|
Номера |
проверяемых разрядов |
|
верки |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1, |
3, |
5, |
|
7, |
9, |
1, |
13, |
|
15, |
17, |
19, |
21 ... |
|
|
2 |
2, |
3, |
6, |
|
7, |
10, |
11, |
|
14, |
|
15, |
18, |
19, |
|
22 ... |
|
3 |
4, |
5, |
6, |
|
7, |
12, |
13, |
14, |
|
15, |
20, |
21, |
|
22 ... |
|
4 |
8, |
9, |
10, |
11, |
1 2, |
13, |
14, |
15, |
24, |
25, |
26 ... |
|
5 |
16, |
|
17, |
|
18, |
|
19 |
20, |
21, |
22, |
23, |
|
24, |
|
25, |
26 ... |
|
6 |
32, |
33, |
34, |
|
35 |
36, |
37, |
|
38, |
39, |
40, |
41, |
42 .... |
|
элемент |
а4 входит |
|
только |
|
|
в |
первую |
|
проверку, |
элемент |
а 2 — только |
во |
|
вторую, |
|
элемент |
|
а 4 |
•— только |
в третью, |
элемент |
ав — только |
в |
|
четвертую |
и т. д. Следовательно, |
каждый первый элемент является проверочным, так как он входит только в соответствующую проверку. Эти эле менты формируются на передаче.
В качестве примера рассмотрим преобразование семиэлементного простого кода (К—7) в код Хэмминга, исправляющий одиночную ошибку. Согласно. (6.27) по лучим п— 11; г = 4 . Для такого кода четыре проверочных
|
|
|
|
|
|
разряда Ь^Ь2Ь3 и bti |
согласно |
табл. 6.9 |
расположатся |
на |
1, 2, 4. и 8 позициях |
кодовых |
комбинаций |
и их числен |
ные значения находятся суммированием |
по модулю |
2 |
определенных информационных элементов: |
|
|
bi = ai = a3 © a5 © а7 © аа © |
а11г |
|
b% = а 2 = а3 © а 6 © а, © а 1 о © а 1 1 ( 63 = 04 = ай © а в © а7 ,
К = а 8 = а 9 © а 1 0 © an.
Пусть передаваемая информационная последователь ность имеет вид 1011010. Тогда согласно изложенному принципу кодирования в канал связибудет передана кодовая комбинация 00100111010.
Теперь предположим, что в принятой комбинации ис кажен 9-й разряд — 00100111110. В результате четырех проверок на четность при декодировании получим:
Пх = а\®аг®а5®а'7®а'д®а'п |
|
= |
1, |
Л 2 |
+а2@а3©а6®а7©а[0©ап |
|
= |
0, |
Я 3 |
= а ; © а ; © а ; © а 7 |
= 0, |
|
П* = аа©а'9©а[0@ап |
= |
1, |
|
где а' — разряды принятой комбинации. |
|
Следовательно, синдром 5 = 1 0 0 |
1 . Так как число 1001 |
есть двоичная запись цифры 9, то, следовательно, в при нятой комбинации искажен 9-й элемент, который необ ходимо исправить.
Если к передаваемым в канал связи «-элементным ко
|
|
|
|
|
|
|
|
|
довым комбинациям кода |
Хэмминга (d=3) |
добавить |
( л + 1 ) - й элемент так, чтобы |
в комбинациях |
было четное |
число единиц, то анализ принимаемых комбинаций |
мож |
но будет вести, используя (г-\-1) |
проверку: г |
проверок— |
по процедуре кода |
Хэмминга и ( г - Н ) - у ю |
— |
всей |
ком |
бинации на четность. |
|
|
|
|
|
|
В |
полученном |
-элементном |
коде |
кодовое |
рас |
стояние с ? = 4 , что |
обеспечивает |
исправление |
всех |
оди |
ночных ошибок и обнаружение двойных. |
|
|
|
При проверке возможны три случая: |
|
|
|
1) |
ошибок нет; все (г+1) |
проверки равны |
нулю; |
2) |
одиночная ошибка; последняя |
(г-\-1)-я |
проверка |
равна единице, а первые г проверок указывают номер искаженного разряда;