Файл: Торгашев В.А. Система остаточных классов и надежность ЦВМ.pdf

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

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

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

Добавлен: 21.07.2024

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

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

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

Доказательство. Разделив число М на левую и правую части неравенства (2 .10), получим следующее выражение:

 

M

m—d-t-1

 

L =

П Pg ■

( 2. 11)

d - \

П p„

}=1

 

Число А, соответствующее любому кодовому слову Ж, по абсо­ лютной величине меньше L и поэтому не может делиться ни на ка­ кое произведение т d + I модулей СОК. Если число А делится на некоторый модуль ри то соответствующая компонента вектора А должна равняться нулю. Поэтому число нулевых компонент векто­ ра А не может быть больше т d и, следовательно, вес вектора А не меньше, чем d. Если все числа А имеют одинаковые знаки, то

из теоремы

2.3 следует, что d

является

м и н и м а л ь н ы м

рас-

с т о я и и е м

кода.

множество

L содержит L\

отрица­

Предположим теперь, что

тельных чисел. Рассмотрим множество целых положительных чисел

В,

полученных путем

прибавления

к каждому числу А величины L x,

т.

е. В = А Е\. В

соответствии

с приведенным выше доказатель­

ством множество векторов В образует корректирующий код с ми­ нимальным расстоянием d. Но минимальные расстояния получен­ ного и исходного кодов должны быть равны по построению. Поэто­ му и в случае различных по знаку чисел А теорема справедлива.

Докажем теперь

необходимость

условия

(2.1C).

Предположим,

что произведение некоторых d 1

оснований

СОК

больше, чем R.

Тогда

т—d+ 1

 

 

 

 

 

 

 

 

L > П р ч

 

 

 

j = 1

 

 

 

 

Поэтому среди кодовых слов найдутся, по крайней

мере, два век

тора Аі и At такие,

что

 

 

 

 

 

m—d+l

 

 

 

 

■At — At =

О

p q .

 

 

 

/= 1

 

 

 

Следовательно, вектор А — Аг

содержит

т —■d + 1

нулевых ком­

понент, т. е. вес его равен d

1. Поэтому минимальное

расстояние

кода (в данном случае расстояние между

векторами

A t

и А ) мень­

ше d, что противоречит условию теоремы. Следовательно, теорема доказана.

Покажем теперь, что Д-код может обнаруживать и исправлять некоторое число ошибок более высокой кратности, чем та, которая допускается, в соответствии с теоремами 2.1, 2.2 и минимальным расстоянием кода. Предположим, что минимальное расстояние кода равнс rf, но в то же время имеются такие основания СОК, число

45


которых rfi d, что произведение этих модулей меньше R. Тогда любые ошибки в этих модулях можно обнаружить *.

Действительно, у вектора

ошибки Д

должно

быть

не менее

т — rf,

нулевых компонент.

Обозначим

произведение

модулей,

которым

соответствуют искаженные символы (т.

е.

ненулевые

составляющие вектора Д), через Q (rf,). Тогда число Д кратно ве­

личине MjQ (йС|)>- M /R = L и, следовательно, удовлетворяет нера­ венству

М — Д > Д > £ .

(2.12)

Нетрудно убедиться в том, что сумма любого

числа А и чис­

ла, соответствующего вектору

ошибки, не может

принадлежать

множеству L, т. е. подобную

ошибку можно обнаружить. Однако

даже в тех случаях, когда произведение оснований, соответствующих ошибочным символам, больше R, среди ошибок найдутся такие, которые удовлетворяют неравенству (2.12) и, следовательно, могут быть обнаружены.

(t ^

Число

различных

ошибок,

соответствующих

произвольным

d) основаниям СОК, равно

Q(t) ■— 1. Эти ошибки соответству­

ют

числам,

равномерно

распределенным в

интервале

(С, М) с ша­

гом

M/Q(t).

Если Q(t)

> R, то

найдется

[((?(/) — 1)//?] ошибок,

которые не удовлетворяют неравенству (2.12). Доля таких ошибок от' общего их числа не превышает величины 1/R. Поэтому можно утверждать, что Д-код позволяет обнаруживать все ошибки крат­

ности

d — 1 и менее, а также

большую часть

[(Д— 1)/R]

ошибок

более

высокой кратности.

корректирующий

R-код с

нечетным

Предположим теперь, что

минимальным расстоянием d используется для исправления ошибок кратности k и ниже, где k = (d 1)/2. Может ли этот код обнару­ живать или даже исправлять хотя бы часть ошибок более высокой кратности?

Пусть вектор Â', образован из кодового слова Ді в результате

воздействия ошибки, вес которой больше

/г. Если

на

расстоянии

d ^ k от вектора Ä't найдется кодовое

слово Я2,

то

оно будет

принято кодом за правильное значение исходного вектора. Ошибку можно было бы обнаружить, если бы в пределах расстояния k от вектора Л'\ нашлось еще одно кодовое слово Я3. Но такой ситуа­

ции быть

не может,

так как в этом случае, в

соответствии со-

свонством

метрики (2.1), расстояние

между

Я2

и

Яз оказалось

бы не больше, чем 2к, т. е. меньше минимального.

 

необходимо,

Таким

образом, для

обнаружения

такой

ошибки

чтобы на расстоянии /г от вектора К' і не было ни одного кодового слова. Соответственно, если мы хотим исправить f-кратную ошибку,

где

t > /е, то среди всех векторов,

находящихся на

расстоянии

d ^

/ от вектора Д'і, должно быть

лишь одно кодовое

слово А\.

 

В общем случае очень сложно оценить долга ошибок произволь­

ного веса t, которые можно обнаружить или исправить при помощи

кода с минимальным расстоянием,

меньшим d ^ 2t +

1. Цело в том,

что даже при достаточно грубых

 

оценках

необходимо знать не

только величину R, но и величину

каждого

из

модулей СОК.

* Под ошибкой в модуле р,- в дальнейшем понимается иска­ жение соответствующего остатка а<.

46


Например, долю произвольных ошибок, которые не могут быть обнаружены кодом, исправляющим к ошибок при минимальном расстоянии d = + 1, можно оценить исходя из следующих сооб­ ражений. Каждый вектор пространства Р можно считать геометри­ ческой точкой. Рассмотрим множество сфер радиуса к, центры которых находятся в точках, соответствующих различным кодовым

словам. Ни одна пара таких сфер

не может иметь общих точек,

так как иначе расстояние между

центрами таких сфер оказалось

бы меньше минимального расстояния кода. Каждая сфера содержит

одинаковое число точек V, равное

количеству различных векторов

с весом, ие превышающим к. V можно определить как сумму всех

произведений из к или меньшего числа оснований данной СОК.

Таким образом, доля векторов, которые находятся на расстоянии

d > k от кодовых слов, определяется как

 

(M—LV)IM = (R — V)/R.

(2.13)

При произвольных значениях ошибки и кодового слова Ä\ век­

тор Ä't может попасть с равной

вероятностью

в любую точку

пространства. Поэтому можно считать, что выражение (2.13) опре­ деляет вероятность того, что данный код. сможет обнаружить про­ извольную ошибку.. Приведенная оценка является не очень точной, поскольку ие учитывает зависимость между вероятностью обнаруже­ ния ошибки и величиной t, соответствующей весу ошибки.

Для определения вероятности исправления данным кодом оши­

бок веса к +

1 и

выше оценка (2.13)

не годится, так как

сферы

радиуса £ + 1

обязательно будут иметь общие точки.

инфор­

По-видимому,

наиболее реальным

способом получения

мации о возможностях каждого конкретного кода является стати­ стическое моделирование.

В табл. 2.1 и 2.2 приводятся некоторые результаты такого мо­

делирования для кодов с минимальным

расстоянием d =

3

(k = 1,

<7I (2) Ä 0) и d = 4 (k =

1, 9(2) = 1)

соответственно.

В

качестве

исходной была принята система остаточных

классов с основаниями

3, 5, 7, 11, 13, 17, 19, 23,

29, 31 и общим

основанием М.

Другие

СОК получены из исходной путем исключения старших оснований:

М, =

ЛГ/31;

М2 = М]/29; М3 = М2/23;

М4 =

М3/19.

 

избыточ­

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

d = 3 степень

ности

R определялась как произведение двух наибольших

модулей,

а для

d = 4 — как

произведение трех

наибольших

модулей.

 

 

 

 

 

Т а б л и ц а 2.1

 

1 logjl

1

1 logjtf [

q (2)

? (О

 

25

 

10

0,876

 

0,825

 

21

 

10

0,868

 

0,810

 

18

 

9

0,852

 

0,774

 

14

 

9

0,852

 

0,768

 

10

 

8

0,851

 

0,751

47


 

 

 

 

 

 

 

Т а б л и ц а

2.2

1log

1

 

] log,/? 1

 

ч (0

 

 

Ч1(2)

21

 

 

 

15

 

0,994

 

 

0,687

18

 

 

 

14

 

0,99

 

 

0,70

14

 

 

 

13

 

0,987

 

 

0,72

10

 

 

 

12

 

0,981

 

 

0,672

Интервал L равен произведению оставшихся модулей, но в таб­

лицах приведено не

само

значение

L,

а его двоичный

логарифм,

т. е. число

разрядов

эквивалентного

двоичного

кода. В

таблицах

использованы

следующие обозначения

вероятностей:

q(2) — вероят­

ность обнаружения

кодом

двойной

 

ошибки;

q ( t) — вероятность

обнаружения

/-кратной ошибки, где

t > 2;

<71(2) — вероятность

исправления двойной

ошибки.

с

минимальным

расстоянием

Из табл.

2.2 видно, что коды

d = 4 имеют довольно высокую вероятность исправить

двойную

ошибку.

 

показано в

предыдущей

главе, в

тех случаях,

когда

Как было

в системе остаточных классов представлены не целые числа, а дро­

би,

интервал L целесообразно

выбирать равным N (для положи­

тельных

чисел) либо

2N

(для

чисел

с произвольными

знаками),

где

N — знаменатель

дробей в СОК,

равный

произведению

некото­

рых

модулей системы. Обозначим X = L/N.

В

дальнейшем

будут

рассматриваться лишь такие У?-коды, у которых

X = 1

или

X = 2.

Назовем

основания

рі, . . . ,

рп,

произведение

которых

равно N,

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

а остальные

основания рп+1, • ■., Рт контроль­

ными. Тогда степень избыточности равна или произведению конт­ рольных модулей, или половине этого произведения. Произведение контрольных оснований обозначим символом R і.

Связь между числом контрольных модулей г и минимальным расстоянием d устанавливается следующей теоремой.

Теорема 2.5.

Число контрольных модулей R-кооа с минимальным расстоя­

нием d не может быть меньше величины

(d 1) + (X— 1).

 

Доказательство.

Пусть

L = N,

т.

е. X— .1= 0 . Тогда

7? =

г

 

 

 

 

 

 

 

= J"[ рп+і. Если

г <

d — 1,

то

не

выполняется условие

теоре-

/=і

 

 

 

d — 1

 

 

мы 2.4, поскольку

произведение

оснований СОК, в

состав

которых входят г контрольных оснований, естественно, меньше, чем R.

Положим теперь L = 2N, т. е. X— 1 = 1. Тогда

Л = 2 П Рп+і- i=i

48


Условие теоремы 2.4 может выполняться лишь в том

случае,

если

г 73= гі. Что и требовалось доказать.

 

 

Приведем теперь два важных следствия из этой теоремы.

 

Следствие

2.5.1.

 

ин­

Если X — 1 и каждый контрольный модуль больше любого

формационного, іо минимальное расстояние кода

на единицу

больше числа ком рольных модулей, т. е. d — г + 1.

 

 

Следствие

2.5.2.

больше

про­

Если X =

2 и произведение контрольных модулей

изведения любых d — 1 оснований СОК, то минимальное расстояние кода равно числу контрольных модулей, т. е. d — г.

Итак, увеличивая или уменьшая число контрольных модулей, можно изменять минимальное расстояние кода. Если некоторая СОК расширяется путем добавления I модулей, каждый и.з которых боль­ ше модулей исходной системы, то минимальное расстояние кода автоматически увеличивается на величину /. Того же эффекта можно добиться, уменьшая число информационных модулей, т. е. переходя к вычислениям с меньшей точностью (с меньшим знаме­ нателем дробей). Следовательно, между корректирующими возмож­ ностями ^-кодов и точностью вычислений существует обратно про­ порциональная зависимость. На одной и той же ЦВМ можно одни вычисления выполнять с высокой точностью, но небольшой надеж­ ностью, а другие — с меньшей точностью, но зато с более высокой надежностью и скоростью, так как время выполнения основных операций пропорционально числу информационных модулей.

2.3. КОРРЕКТИРУЮЩИЕ L И ДІ-КОДЫ

Как уже указывалось выше, сумма, разность и произведение любых векторов L-кода являются кодовыми словами. В отличие от /?-кода в данном случае векторам, которые не являются кодовыми словами, нельзя поставить в соответствие никаких целых чисел.

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

Теорема 2.6.

Для того чтобы L-код имел минимальное расстояние d, необхо­ димо и достаточно, чтобы степень избыточности равнялась Md~l.

Доказательство. В соответствии с теоремой 2.3, минимальное расстояние кода должно равняться наименьшему весу ненулевых кодовых слов. Поэтому найдем условия, которым должен удовлет­

ворять L-код для того,

чтобы среди его

кодовых

слов

не было

векторов с весом, меньшим d.

 

 

 

М можно представить

Основание системы

остаточных классов

в виде произведения

 

 

и

 

 

R

ß

степеней

простых чисел g y t

g kk }каждое

из которых является

делителем

одного или

нескольких оснований

данной СОК.

A = Mlgi, где

g t — любой

из простых

делителей

Положим

основания М. Произвольная

составляющая

вектора

А ,

соответст­

вующая модулю pj,

может

принимать

ненулевое значение лишь

в том случае,

если g р

является делителем

основания pj.

4 З а к а з № 107

49