Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Хетагуров, Я. А. Повышение надежности цифровых устройств методами избыточного кодирования

.pdf
Скачиваний:
4
Добавлен:
21.10.2023
Размер:
8.92 Mб
Скачать

называемой порождающей пли генераторной. Из опре­ деления базиса следует, что совокупность всех линейных комбинаций вектор-строк матрицы G, называемая про­ странством строк, образует векторное пространство раз­ мерности in.

Например, в качестве порождающей матрицы векторного пространства V„, образованного выше введением операций сложения по модулю 2 и умножения на скаляр над множеством я-разрядиых двоичных слов, может быть выбрана единичная матрица порядка п

1

0

0 . . .

О

О

I

0 . . .

О

G =

 

 

 

О 0

0 . . . .

1

Линейным групповым

 

кодом

называют множество

слов, являющееся подпространством пространства Vn размерности п.

Для получения корректирующего кода длиной а раз­ рядов с заданным минимальным расстоянием d необхо­ димо выбрать некоторое подмножество Vk из Vn та.кпм образом, чтобы V), являлось векторным подпространст­ вом пространства У,,, а расстояние между любыми дву­ мя векторами из Vk должно быть не меньше требуемого значения d. Индекс k в обозначении векторного подпро­

странства

Vu означает

его

размерность,

т. е. мощность

Vk равна

2''.

 

 

 

Пусть X, Y — кодовые векторы, тогда {см. (1-1)] име­

ет место

равенство

 

 

 

 

d{X,

Y) =

W~{X+Y).

 

Так как по определению линейного группового кода

X+Y также является

кодовым вектором,

то из данного

равенства следует вывод: минимальное расстояние d линейного группового .кода равно минимальному весу его •ненулевых элементов.

Выбрав в Vk k базисных векторов, получим порож­ дающую матрицу G линейного кода. Перестановка столб­ цов и элементарные преобразования над строками ма­ трицы G (в алгебре под элементарными преобразования­ ми понимаются: перестановка любых двух строк матри­ цы, прибавление к одной строке другой, умноженной но

зО

скаляр) не изменяют пространства строк и, тем самым, минимального расстояния d. Любая матрица G с помо­ щью -указанных преобразований может быть приведена к виду

1

0 0

. . . О

аи

я , , 1 . . .

я,, я _ „ | "

10

1 0 . . .

0

а„

д . ,

'г, -п-fc

 

 

 

 

 

 

= I I U A |

О О О

 

 

аул Сь

аЬ, n-li

где I/t — единичная

матрица

порядка /е.

Возьмем

произвольное

/г-разрядное двоичное число

S=(si, s2, ...,

s/{),

которое

может

рассматриваться как

прямоугольная матрица размером (1Х/г). Произведение1 этой матрицы на матрицу G' равно:

где

/Y = SG'=(Si, s2,

s,,, СЬ С2,

Cn-k),

 

 

 

 

 

 

/ = 1 .

2,

(2-1)

 

(=1

 

 

 

Так

как X является

линейной

комбинацией строк G',

то это

кодовый вектор

(элемент

кода). Из

полученного

равенства следует, что первые k .компонент выбираются

произвольно, в то время как остальные (п—/г)

компо­

нент

определяются

первыми

компонентами.

В

 

связи

с этим первые к компонент называются

информационны­

ми,

а последние — контрольными

символами. Код

такого

типа

называется систематическим (п, k)-кодом

или

раз­

делимым

кодом.

 

 

 

 

 

 

 

 

Из описанной процедуры преобразования порождаю­

щей

матрицы следует, что любой линейный групповой

код может

быть представлен

в форме разделимого

кода.

1

Произведением двух

матриц

В =

||6^||,„,п

и С =

Цс^-Ц,,^,

кото­

рые заданы в определенном порядке

(первая и

вторая)

и размеры ко­

торых связаны условием: число столбцов первой матрицы равно числу

строк второй,

называется

матрица

D = ||rfi : -||m ,p, элементы которой

определяются

следующим

образом:

 

 

 

п

 

 

 

dti=

У>Ь^сн,

( = 1, 2

т ; / = 1, 2,

р.

У=1

31

Таким образом, процедура кодирования (п, к) -кодом сводится 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

желательным. В этом случае необходимо предусматри­ вать только обнаружение ошибки (принятое слово содер­ жит ошибки, если корректор не равен нулю). Доля Pi обнаруживаемых ошибок кратности i ( i ^ 3 ) определяет­ ся из соотношений

 

Pi=Kt

 

(2-7)

где п — длина

кода; Кг— количество

ошибок

кратности

i из общего

количества возможных

ошибок

С) при

возникновении которых сумма соответствующих столб­ цов матрицы Н не равна нулю.

Резюмируя вышесказанное относительно кода Хэмминга, можно отметить следующее: этот код с г кон­

трольными

разрядами

имеет длину

п=2г—1 разрядов,

из которых

к = 2г—1—г

являются

информационными.

В табл. 2-1 приведены параметры неукороченных кодов этого класса, 'представляющих интерес с точки зрения их использования в ЦВМ.

Значение отношения kin является важной характери­

стикой

кода, которую

называют

нормой кода,

скоростью

передачи или избыточностью.

 

 

 

 

 

 

 

 

 

 

 

 

 

Т а б л и ц а

2-1

Число

информаци­

4

11

26

57

4

11

26

57

онных разрядов

k

 

 

 

 

 

 

 

 

Число

контрольных

3

4

5

6

4

5

6

7

разрядов г

 

 

 

 

 

 

 

 

 

 

k

k

0,57

0,73

0,84

0,9

0,5

0,69

0,81

0,89

Отношение

-=ТГ\—

 

п

Й+Г

 

 

 

 

 

 

 

 

Минимальное

рас­

3

3

3

3

4

4

4

4

стояние

d

 

 

 

 

 

 

 

 

 

Кроме кодов

с

минимальным

расстоянием

й = Ъ

в табл. 2-1 приведены параметры кодов с минимальным расстоянием d=4. Эти коды получаются из вышерассмотренных кодов Хэмминга добавлением одного кон­ трольного соотношения, представляющего собой резуль­ тат суммирования по модулю 2 всех разрядов кодового слова. При этом контрольная матрица Н [на примере

37

рассматриваемого нами кода (15, l l ) j имеет вид:

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

0 1 1 1,0 о о 1 1 1 1 о 1 о о о

Hje.u"—[J 1 0 1 1 0 1 1 0 0 1 1 0 0 1 0 0 1 1 0 1 1 0 I 0 I 0 I 0 0 0 I 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

В этом случае операция кодирования может выпол­ няться б два этапа. На .первом этапе вычисляется кодо­ вое слово при использовании матрицы Н, соответствую­ щей коду с d=3, а на втором этапе добавляется один дополнительный .контрольный разряд, в котором записы­ вается результат суммирования по модулю 2 всех раз­ рядов кодового слова, полученного на первом этапе. Таким образом, коды Хэмминга с d=A имеют парамет­ ры: п—2г разрядов, из которых (г + 1) являются кон­ трольными.

 

 

 

 

 

 

 

 

Т а б л и ц а

2-2

 

Корректор

 

Дополнительное

 

 

 

 

 

 

 

контрольное

 

Выводы

 

 

 

 

 

 

 

соотношение

 

 

 

 

 

Не

равен

нулю

Выполняется

Произошла,

двойная

ошибка

 

 

 

 

 

 

(автоматическая коррекция

оши­

Не

равен

нулю

 

 

бок

должна

блокироваться)

Не

выполняется

Произошла

одиночная ошибка

 

 

 

 

 

 

(автоматическая коррекция

оши­

Равен

нулю

Выполняется

бок

выполняется)

 

 

Ошибок нет

 

 

Равен

нулю

Не

выполняется

S Произошла

тройная

(или бо­

 

 

 

 

 

 

лее

высокой

кратности, но не­

 

 

 

 

 

 

четная) ошибка

 

 

 

Операция

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

кодов с d=4

также

состоит

из двух самостоятельных операций: 1) вычисления /--раз­ рядного корректора, соответствующего коду с d=3; 2) .проверки последнего контрольного соотношения. Воз­ можные результаты выполнения этих операций и соот­ ветствующие им выводы приведены в табл. 2-2.

Дополнительное контрольное соотношение, вводимое для увеличения минимального расстояния кода Хэммин­ га, можно представить следующим образом:

c&=Si + Sz+S3+Si+Su+Ss+S7+Ss+ss+Sio-jrSn

+

+ С1 + С 2 + С 3 +

С4.

38

Учитывая (2-6), после линейных преобразований по­ лучаем:

C5 = Si + S2 + Sa + S5 + S6 + Ss +

Su.

Система уравнений (2-6) и шоследнее соотношение для с5 позволяет записать контрольную -матрицу для рас­ сматриваемого разделимого кода в виде

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

 

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

 

^10.11 — 1 0 1 1 0 1 1 0 0 1 1 0 0 1 0 0

= 11 A L

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

 

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

 

Если контрольная матрица кода с минимальным рас­ стоянием d=4 приведена к виду Н = ||А1||, то процедура декодирования может выполняться следующим образом:

1)вычисляется корректор;

2)сравнивается корректор (если последний не равен

нулю) с вектор-столбцами матрицы Н и при совпадении с одним из столбцов фиксируется местоположение ошиб­

ки, которая

исправляется;

 

3) если

не равный нулю корректор не совпадает ни

с одним из вектор-столбцов, то это свидетельствует

о на­

личии ошибки кратности более единицы, которую

код

с d — 4 исправить не может.

 

Иногда при практическом использовании кодов встречается за­ дача получения укороченного кода с заданным минимальным рас­ стоянием (d=3 или 4). Пусть, например, требуется получить - код, содержащий 10 информационных разрядов (4=10). Из табл. 2-1 видно, что неукороченные коды содержат k=A разряда, что недоста­ точно, или k—М разрядов, что больше требуемого. Укороченный код строится следующим образом. Записывается матрица Н для неуко­ роченного кода (с требуемым минимальным расстоянием), в котором количество информационных разрядов k больше требуемого kr. За­ тем отбрасываются произвольные (k—k') столбцов подматрицы А и

полученная матрица

Н'

будет соответствовать коду

[п—k+k', k')

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

расстоянием. Например, код

(15, 10)

может

быть получен из матрицы Ню,ц, соответствующей

коду

(16,11),

отбрасыванием правого вектор-столбца подматрицы А:

 

 

 

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

 

 

 

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

 

 

Hl5,10

1 0 1 1 0 1 1 0

0 1 0 0 1 0 0

 

 

 

1 1 0 1 1 0

1 0

1 0 0 0 0 1 0

 

 

 

1 1 } 0 1 1 0 1 Q 0 0 0 0 0 1

 

 

38

Соседние файлы в папке книги из ГПНТБ