Файл: Торгашев В.А. Система остаточных классов и надежность ЦВМ.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