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

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

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

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

Добавлен: 21.07.2024

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

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

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

Если окажется, что это число принадлежит множеству L, то можно утверждать, что именно в исключенном модуле произошла ошибка. Если же число не попадет в интервал L, то перейдем к вектору {А}м ір, и будем выполнять аналогичные действия до тех пор,

пока не окажется, что при исключении

основания рі вектору

{А}мір. соответствует число из

множества L. Тем самым

ошибка

будет локализована.

 

 

 

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

перебрав

все основания,

мы не

смогли локализовать ошибку. Это означает, что ошибка не являет­

ся одиночной. Тогда начнем исключать различные

пары модулей,

тройки, и т. д. (при условии,

что минимальное расстояние

кода до­

статочно велико). Если при

исключении какой-либо

комбинации

из t модулей (t sg: k) число А попадет в интервал

L,

то

можно

утверждать, что именно в этих модулях произошли ошибки. Вычис­ ление истинных значений искаженных символов осуществляется путем расширения сокращенной системы оснований до первоначаль­ ной величины.

Быстродействие рассмотренного метода локализации ошибок •относительно невелико, так как для опенки величины числа А в каждой из сокращенных СОК требуется выполнять п модульных операций.

Поэтому рассмотрим еще один метод, использующий свойства

позиционной

характеристики

іг,ѵ(Л).

Теорема

2.7.

всех тех оснований СОК, которые

Пусть Q произведение

соответствуют искаженным символам кодового слова. Тогда, если

Q(X + 1) <

то должно выполняться следующее

неравенство:

 

I fov(i4') + *)Q ! * .< ( * + 1)0.

(2-14)

где X = LjN\ R , = MjN\ A' число, соответствующее искажен­ ному кодовому слову.

Доказательство. Положим А' = А + Д, где А — кодовое слово,

а Д — вектор ошибки. По условию теоремы все ненулевые состав­

ляющие вектора Д соответствуют тем основаниям СОК, которые входят в произведение Q. Поэтому Д = qMjQ, где q — целое по­ ложительное число, меньшее Q.

Следовательно:

А = А' qM/Q.

(2.15)

Рассмотрим теперь разность А — |Л '|іѵ. Поскольку положитель­ ная величина | Л' | л<7Ѵ, а число А лежит в интервале (— (X— 1) JV, N), то данная разность должна удовлетворять нера­ венству

— \ N < A — ] A '\ N < N .

(2.16)

Прибавим ко всем частям этого неравенства величину ХМ, получен­ ное выражение умножим на QIN и подставим в это произведение значение А из формулы (2.15). Тогда:

0 < ( Л' 1Л' l * + x ) Q _ gfl1 < (x + i)Q.

(2.17)

54


Но по определению позиционной характеристики

*лг (Л') - [A'IN] = (А' — [ А' IN )IN.

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

(2.17)

на Ri и учитывая тот факт, что | (X +

1) Q

=

(X + 1) Q,

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

(2.14). Что и требо­

валось доказать.

 

 

 

Однако не следует понимать данную теорему в том смысле, что

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

неравен­

ство

(2.14), то этим основаниям обязательно

соответствуют иска­

женные символы.

Итак, для локализации ошибок в системе остаточных классов достаточно последовательно проверять справедливость неравенства (2.14) при Q = рй Q = pif,j (где і, } — 1, 2, ..., т; і Ф j ) и т. д. Если для какого-нибудь произведения оснований СОК это неравен­ ство окажется справедливым, то следует определить величину чис­ ла Л, представленного в сокращенной СОК, в которой отсутствуют модули, входящие в состав данного произведения. При попадании числа А в интервал L можно утверждать, что именно в этих мо­ дулях произошли ошибки и истинные значения искаженных симво­ лов в этом случае можно определить расширяя СОК. до исходной величины. Если же число не попадает в интервал L, то следует перейти к проверке другой комбинации оснований. Проверку нера­ венства (2.14) можно выполнять в СОК. с основанием Ru и если в некоторое произведение Q входят t модулей, то для такой провер­ ки потребуется t + 1 модульная операция, а не п операций, как

впредыдущем случае.

Втех случаях, когда по каким-либо причинам переход к вы­

числениям в сокращенной СОК нежелателен, можно за счет неко­

торого

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

добиться

того,

чтобы

каждой

позиционной характеристике л и

соответствовал

только

один вектор ошибки.

 

 

 

 

Теорема 2.8.

Ля соответствует

один

Каждой позиционной характеристике

и только один вектор ошибки с весом,

не

большим

k — (d — 1)/2,

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

любых d — 1 оснований СОК, умноженного на величину %+

1, г. е.

d —1

 

 

Ri > (Ь + 1) П Pqj

1, 2 ,..., « .

(2.18)

;= i

Доказательство. Пусть одному значению позиционной харак­ теристики соответствуют два вектора ошибки, т. е. найдутся два

таких кодовых слова Л, и Аг и два вектора ошибки Д, и Д2, что

™ЛГ ( 4 ) = 14V (^2), '

где а { = Ді + Д„ А2 = А2 + А,.

Подставляя эти значения А'г и А2 в выражения, соответствую­ щие позиционным характеристикам, получим следующее равенство:

(Д, — I А х[д, + Аі)/7Ѵ = ( Л

[А2|лг + Аг)/А7

55


или

 

(а - /у+ (|а;|W - 1л;|д,)=д2- д„

(2.19)

Правая часть этого равенства соответствует вектору (Д2 — Д,),

вес которого не превышает величины 2k = d — 1. Поэтому

Оценим теперь величину левой части

выражения

(2.19).

Оче­

видно, что разность

(Л, — Д2) лежит

в

интервале ( — IN ,

XN),

а остатки

| А О |дг и |^4і |дг

соответствуют

целым положительным

числам, меньшим N.

Поэтому

 

 

 

 

 

| л - л + ] ^ | дг- | ^ ; | дг| < ( х + і ) лг.

 

 

Разделив

М на обе

части

выражения

(2.18), получим

неравенство

 

 

 

d - 1

 

 

 

 

 

 

M l ( l + 1) Y \ P d j > M I R l

 

 

или

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

два различных вектора Ді и Д2, соответствующих одному значению позиционной характеристики. Что и требовалось доказать.

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

Однако в этом случае возникает проблема защиты самой таб­ лицы от ошибок. Кроме того, при изменении минимального рас­ стояния кода за счет уменьшения или увеличения соотношения между числом контрольных и информационных модулей изменяет­ ся и соответствие между значениями и А, т. е. для каждого набора информационных оснований необходимо использовать свою таблицу.

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

Пусть А' = А + А и яд- = (А' — 1А’ \jv)/N.

56


Следовательно:

Д = itflN — (/1 — I А' |дг).

(2.20)

 

Умножим и разделим разность

./1 — [Л' |дг на произведение

Q N .

Тогда

( Л - І Л ' І л г ) О N

 

Д

 

N " t r —

N

Q '

 

 

 

Выполним еще одно эквивалентное преобразование этого выражения:

Д =

N (тедг + X)

(ЛА + Л — I Л 'Ы Q N

N

Q

 

 

Величина

N \ + А — I А' Ідг заведомо

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

+ A - ] A ' M Q

 

 

дг

 

= I (“N +

Q 1/?, ■

 

Справедливость этого равенства

станет

ясной, если

вспомнить, что

I A'Q 1м =

Ж?-

 

выражение

для

вектора

ошибки

при­

Итак,

окончательное

мет вид:

{Д }/Н =

Ч /ѵ -

X) -

NIQ I (KN + l)Q |R i.

(2.21)

 

Иногда удобнее вычислять ошибку с обратным знаком для того, чтобы вместо вычитания прибавлять ее к искаженному числу. Тогда, обозначив б = Ttjv + А., получим следующее выражение:

{ - AL., = { ^ l BQ k - B*Lvr

(2-22>

Итак, для того чтобы определить вектор ошибок, сначала сле­ дует вычислить все остатки, соответствующие представлению вели­ чины \ÖQ\R в исходной СОК, с основанием М с помощью расши­

рения системы с основанием R ь Для этого потребуется t модуль­ ных операций. Кроме того, необходимо еще выполнить операции вычитания и умножения на константы.

Пусть Q = Q„QK, где Q« — произведение информационных мо­ дулей, которым соответствуют ошибки; QK— произведение иска­ женных контрольных модулей. Тогда

18Q ltf,/Q — I SQii IRIIQJQ "'

В этих случаях для вычисления вектора ошибки следует в фор­ мулах (2.21) и (2.22) заменить Q на QH и Я г на /?,/QK.

В некоторых случаях, зная вес вектора {лл'}#,. можно оценить

число ошибок, воспользовавшись следующей теоремой. Теорема 2.9.

Если минимальное расстояние R -кода равно d и вес одного из векторов {Ч/ѵ}# аЛи {KN + 1}/?, равен t > !г, то число оши­

бок, исказивших кодовое слово А, не меньше, чем d t.

Доказательство. Предположим сначала, что А является поло­ жительным числом. Тогда числу \А — |Л'|,ѵ| соответствует кодовое слово, вес которого не может быть меньше, чем d, если А ф ( \ А '\ к . С другой стороны, из формулы (2.20) следует, что

\Ѵ (N T.N ~ & ) = W (A — \A 'lN ) > d -

57


Воспользовавшись выражением (2.3), получим следующее не­ равенство:

W (Д) > W (NnN — Д) — № (АГтсд,) > d — t,

так как

W (ІѴпдг) = W {ядг}^.

Если число Л отрицательно, то величине ЛГ + А — | А' |Лг соот­ ветствует некоторое кодовое слово. Поэтому

W (Д) > W (N (izN + \) — b) — W {N (K N + 1))

t.

Теорема доказана.

модулях, то

Если ошибки произошли только в контрольных

процедура их исправления резко упрощается. В этом случае можно воспользоваться следующей теоремой.

Теорема 2.10.

 

 

 

 

 

 

 

 

 

 

 

Пусть минимальное расстояние R -кода

d = 2k + 1

и вес

одного из

векторов

или

+

1}^

не

превышает

вели-

чины k. Тогда вектор ошибки соответственно равен

либо

либо {(-Л' + ^

Ь г

 

 

 

 

 

 

 

 

 

Доказательство. Используя формулу (2.20) и очевидное ра­

венство W {’'Л'}/?, = W {тодгЛГ} ,

получим

 

следующее

выражение:

 

W

>

* {Л -

I А'

 

-

W {Д}д, .

 

(2.23)

Пусть И — положительное число. Тогда вектор

А— |Л ' ІЛГ 1}Л1

является кодовым

словом и вес

его не может

быть

меньше, чем

2k + 1, кроме случая, когда А = | А' Ідг.

Если

А ф | А' |дг, то пра­

вая часть неравенства (2.23) строго больше k,

так как

W {Д}^ •< k,

а левая часть по условию не превышает величины k.

 

(2.20)

Следовательно, А =

\А ' |дг и в соответствии

с формулой

{Д}уИ = {"/ѵ-М}д1 ’

 

 

 

 

 

 

 

 

число. Тогда

Предположим теперь, что А — отрицательное

 

 

W { N

+ A - \ А

’ \N}M > 2 k + \.

 

 

 

Прибавляя

величину ( N N) к

правой

части

выражения

(2.20)

и выполняя эквивалентные преобразования, получим:

 

 

 

Л - ( * л г

+ 1 ) Л Г - ( Л Г +

Л

- | Л

'

І/ѵ).

 

 

Из этого выражения следует, что

 

 

 

 

 

 

 

 

W

+

1}*, >

W {N +

А -

1А>

 

 

-

W {Д}АІ.

 

Так же как и в предыдущем случае, это неравенство справедливо лишь тогда, когда N + А \А ‘ |дг=0. Поэтому {Д} М={(«лг + 1)^}Л '

Теорема доказана. Следствие 2.10.1.

Если выполняются условия теоремы 2.10, то ошибки встречают­ ся лишь в контрольных модулях.

58