Файл: Хетагуров, Я. А. Повышение надежности цифровых устройств методами избыточного кодирования.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.10.2024

Просмотров: 141

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Таким образом, процедура кодирования (п, к) -кодом сводится iK решению (п—k) уравнений (2-1), позволяю­ щих вычислить значения контрольных разрядов. Исходя из этих уравнений можно записать матрицу Н размером

(п—k)Xn, называемую проверочной

или

контрольной:

 

<?2

 

1 О

 

 

(Г*

Я,,2

О =1

 

Н:

 

 

 

 

al,

n-h я 2, n-h

• «h, 7>-h

О О

 

 

 

А | 1 п - й ll>

 

 

где А [ — транспонированная 'подматрица

А матрицы G ' ;

1п-& — единичная 'матрица порядка

(п—!г).

Каждый

из п столбцов

матрицы

Н соответствует од­

ному разряду кода, при этом столбцы подматрицы At соответствуют информационным разрядам, а столбцы ма­ трицы 1„_/£ — контрольным. Позиции единиц в i-м век­ тор-столбце подматрицы At показывают, в .каких кон­ трольных соотношениях типа (2-1) участвует г'-й инфор­ мационный разряд, т. е. значения каких контрольных разрядов зависят от значения t'-ro информационного раз­ ряда. Позиции единиц в г'-й вектор-строке .подматрицы А / показывают, какие разряды включаются в г'-ю сумму по модулю 2, значение которой приписывается t'-му кон­ трольному разряду.

Например, пусть контрольная матрица Н имеет вид:

 

1 1 0

1

1 0

0

Н:

1 0

1 1

0

1 0

 

0

1 1 1

0

0

1

Тогда при кодировании числа 1001 получаем 1001.001. Действи­ тельно, из первой вектор-строки Н следует, что значение первого контрольного разряда (счет информационных и контрольных разря­ дов условимся вести слева направо) равно сумме по модулю 2 зна­ чений первого, второго и четвертого информационных разрядов. В со­ ответствии с этим для кодируемого числа получаем 1+0 + 1=0. Ана­ логично вычисляются остальные разряды.

Матрицы С и Н связаны следующим легко-проверяе­ мым соотношением:

G ' H / = 0,

(2-2)

32


где Н( — транспонированная контрольная матрица. По­ этому если принятое слово X принадлежит кодовому множеству, т. е. в .нем отсутствуют ошибки, то матричное •произведение

* H ( = SG'H, = S-0 = 0.

(2-3)

Другими словами, выполнение равенства (2-3) свиде­ тельствует о том, "что слово X принадлежит кодовому множеству. Это же равенство непосредственно следует из правила построения и использования •контрольной ма­ трицы Н, если вспомнить, что

k

 

 

Cj +

S SiOtj

= 0.

 

 

 

 

(=i

 

 

Если же

при передаче возникли ошибки, то

 

 

(Х+Е) Н( = ХН г - | - £ Н (

= 0-|-ЕН/ = £ Н ; ,

(2-4)

где

E=(eh

е2 , ..., еп)—вектор

ошибки. Значение EUt

называется корректором или синдромом. Длина

коррек­

тора

(число

разрядов)

равна

(п—к). Таким

образом,

для обнаружения некоторого множества ошибок Ф дол­ жно выполняться следующее неравенство:

EiUt^0 для всех £ г £ Ф . (2-5)

Тогда ненулевая величина корректора будет свиде­ тельствовать о наличии ошибки. Для обнаружения и исправления множества ошибок Ф, кроме того, необхо­ димо, чтобы различным ошибкам соответствовали раз­ личные значения корректора, т. е.

EiHi^EjHi, если

Теорема 2-1. Линейный групповой код имеет мини­ мальное расстояние d в том и только в том случае, если любые d—1 или менее вектор-столбцов контрольной ма­ трицы Н линейно независимы.

Доказательство. Матричное произведение (2-4) запи­ шем следующим образом:

EHl = ei.hi + e2fi2+ ....

+enhn,

где 6j — компоненты вектора ошибок, hi— i-fi векторстолбец матрицы Н (или i-я вектор-строка матрицы Н,).

Тогда неравенство (2-5)

п

 

1=1

3-236

33


является условием линейной независимости векторов hi. Так как кратность возникшей ошибки определяется чис­ лом в{фО (или весом вектора ошибки), то для обнару­ жения произвольных >(d—1) или менее ошибок необхо­ димо и достаточно, чтобы любые (d—1) или менее век­ торов hi были линейно независимы. Отсюда непосредст­ венно следует утверждение теоремы, если вспомнить, что максимальная кратность ошибок, обнаруживаемых ко­

дом с минимальным расстоянием d, равна d—1.

Теорема

доказана.

 

 

 

 

 

Часто на практике возникает задача получения из

данного

систематического

(/г, &)-кода, описываемого с по­

мощью

матриц

G' или

Н', укороченного

(п',

&')-кода

с тем ж е минимальным

расстоянием. Эта

задача

реша­

ется очень просто, так как отбрасывание любых

 

(k—k')

столбцов подматрицы Aj матрицы Н (аналогично,

отбра"-

сывание

(k—k')

строк матрицы G' и получающихся в ре­

зультате этой операции столбцов из всех нулей)

не изме­

няет минимального расстояния d. Справедливость этого непосредственно следует из доказанной теоремы, так как исключение из рассмотрения части столбцов /г, матрицы Н не может повлиять на линейную независимость (зави­ симость) оставшихся столбцов.

Рассмотренные линейные 'групповые корректирующие •коды допускают весьма компактное описание с помощью порождающей или проверочной матриц. Эти коды пред­ ставляют особый интерес по следующей причине: описан конструктивный способ кодирования и декодирования, т. е. исправления возникших ошибок, отличный от метода перебора. Поэтому групповые коды имеют центральное значение, хотя существуют некоторые негрупловые коды, которые также поддаются простому математическому

описанию и достаточно просто декодируются.

 

Важным

понятием

в теории кодирования

является

понятие эквивалентности

кода. Два кода называют экви­

валентными,

если их порождающие матрицы

совпадают

с точностью до порядка

следования вектор-столбцов. При

этом кодовые векторы, соответствующие этим кодам, от­ личаются только порядком следования символов. Отсюда следует, что перестановка столбцов матрицы G порож­ дает эквивалентный код.


2-2. к о д ы х э м м и Н г А

Коды Хэмминга с минимальным расстоянием d=S наиболее просто описываются с помощью контрольной матрицы Н. Из теоремы 2-1 следует, что матрица Н, вектор-столбцы которой различны и отсутствует нулевой столбец, соответствует коду с минимальным расстоянием d=3. Действительно, в этом случае не существует таких двоичных коэффициентов ai и а2 , одновременно не рав­ ных нулю, что

где h\ и hj — вектор-столбцы рассматриваемой матри­ цы Н.

Для определенности выберем в качестве вектор-столб­ цов матрицы Н различные четырехразрядные двоичные числа (исключая число нуль):

0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 н = 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

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

 

0 0 0 0 1 1 1 1 1 1 1 1 0 0 0

 

н,

0 1 1 1 0 0 0 1 1 1 1 0 1 0 0

= I | A L

1 0 1 1 0 1 1 0 0 1 1 0 0 1 0

 

 

 

I 1 0 1 1 0 1_0 1 0 1 0 0 0 1

 

где 14 — единичная матрица порядка 4.

коду Хэмминга

Данная матрица Н соответствует

(15, 11) с минимальным расстоянием d=3. Использова­ ние такого кода позволяет исправить любую одиночную ошибку или обнаружить произвольную ошибку кратно­ сти 2. Если нумерацию информационных и контрольных, разрядов разделимого кода производить слева направо, то в соответствии с матрицей Н получаем систему ли­ нейных уравнений, с помощью которых вычисляются кон­ трольные разряды

c,== - ,+s e +s 7 + se + s i + s 1 0 + s11; '

^ = s2 + s3 + s4 + s8 + so + sio + s n; . (2-6)

3*

35


где Ci — контрольные разряды, s; — информационные раз ­ ряды.

Если при передаче кодового слова возникнет одиноч­ ная ошибка, то окажутся невыполненными те контроль­ ные соотношения (уравнения для с^, в которые входит значение ошибочного разряда. Например, если ошибка возникла в ^первом информационном разряде, то окажут­ ся невыполненными третье и четвертое уравнения, т. е. корректор будет равен ООП, совпадая с первым векторстолбцом матрицы Н. Отсюда получаем алгоритм опре­ деления места одиночной ошибки: местоположение век­ тор-столбца матрицы Н, совпадающего с вычисленным корректором, указывает место ошибки. Ясно, что вычис­ ленное значение корректора обязательно совпадает с одним из вектор-столбцов матрицы Н, так как в каче­ стве вектор-столбцов были выбраны все возможные дво­ ичные 4-разрядные числа.

Если возникнет ошибка кратности 2, то полученное значение корректора также будет совпадать с одним из вектор-столбцов матрицы Н и ошибки автоматически ис­ правляются. Однако заметим, что после такого «исправ­ ления» получается кодовое слово, не совпадающее с тре­ буемым кодовым словом. Значение корректора, соответ­ ствующее ошибке кратности 2 и более, получается при помощи поразрядного суммирования по модулю 2 век­ тор-столбцов матрицы Н, соответствующих ошибочным разрядам.

Например, если ошибка произойдет в первом и втором инфор­ мационных разрядах, то, складывая первый и второй вектор-столбцы, получаем:

0 + 0 = 0 ;

 

 

 

 

0 +

1 =

] ;

 

 

 

1+0 = 1;

 

 

 

1 +

1=0.

 

 

 

Другими словами, если при передаче кодового слова

.(Sl,

S2,

S3, Si, S5,

. . ., S i i , CU

CZ,

C 3 , Ci)

возникнет ошибка в s4 и

Sa, то при автоматическом ис­

правлении будет получено

слово (si,

S2,

S3, s,x, S5, ..., s u ,

Си c 2 , c 3 , d ) , которое хотя

и не совпадает с переданным,

но является кодовым. Поэтому, когда вероятность воз­ никновения ошибок кратности более единицы значитель­ на, автоматическое исправление ошибок оказывается не36