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

книги из ГПНТБ / Торгашев В.А. Система остаточных классов и надежность ЦВМ

.pdf
Скачиваний:
7
Добавлен:
23.10.2023
Размер:
5.18 Mб
Скачать

Следовательно, вектор /1 может иметь d ненулевых компо­ нент, если по меньшей мере d оснований СОК содержат делители,

равные g ^ 1.

Поэтому произведение

оснований

р 1у... ,рт должно

делиться на

^ß/

и

ß1

величину gt

t .

по, поскольку gt l

является произволъ'

ным делителем основания М, можно утверждать, что произведение

оснований СОК должно делиться на величину М а = (g i'g j3. ■•

Однако по определению /.-кода R = PjM , так как L = М. Следо­ вательно, у L-кода с минимальным расстоянием d величина степени

избыточности обязательно делится

на M d~ *. Очевидно, минималь­

ным значением, удовлетворяющим

этому условию, является R =<*

= Md

Достаточность условия теоремы следует из того, что никакое кодовое слово не может иметь вес, меньший чем вес векторов, со­ ответствующих числам вида А = M/gu так как эти числа содержат максимально возможное число делителей основания М.

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

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

Критерием, позволяющим определить, относится ли некоторый вектор Л к кодовым словам, может служить условие леммы 1.1. Если существует хотя бы одна пара символов ctj и а3вектора Л,

такая, что разность а.і — а,

не делится на наибольший общий дели­

тель оснований рі и р3, то

вектор Л не является кодовым словом,

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

тель с другими

модулями..

 

общий делитель

оснований

р,-

Обозначим:

dyj — наибольший

и pp, di = [du,

..., d,m]

при i ф

j. Очевидно, что

di также

яв­

ляется делителем основания р,-. Если каждый из модулей р,- имеет

делитель di,

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

L-код может

обнаруживать любые одиночные ошибки в двоичных

представлениях остатков а,, ..., ат .

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

с двумя другими модулями СОК.

Предположим, что основания pi,,pj,ph являются попарно непро­ стыми числами. Для любого вектора А = (<і|, ..., <xm) вычислим разность остатков

50

<Ч] = 1“І—aj \ d n ’

“ІА = 1“ г —“Aid, ;

aj k = Iaj —

Jk

l)

lit

 

что позволит определить место ошибки и отчасти ее величину. Если все три разности равны нулю, то ошибки либо нет, либо она кратна каждому из делителей d/y, d ik, d jk. Пусть a/у =^= 0; а1кф0', яуА= 0 .

Тогда ошибка произошла в модуле р/ и реличина ее определяется значениями а ц и аік с точностью до слагаемых, кратных [cf/у, cf/*].

Для однозначного определения величины ошибки Да/ необходимо, чтобы различным комбинациям остатков a/у и аік соответствовали

различные значения ошибок Вместо определения величины ошибки можно сразу вычислить

истинное значение искаженного остатка, если в сокращенной за счет исключения основания р/ системе остаточных классов можно одно­ значно представить число.

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

двойные ошибки.

Если

только одна из величин

ац,

ац,,

сць не

равна нулю или

же

все три являются ненулевыми,

то

можно

утверждать, что произошла двойная ошибка.

Допустим, что все основания СОК можно разбить на несколько групп таким образом, чтобы модули, входящие в одну группу, не имели общих делителей с модулями, относящимися к другим груп­

пам. Каждую из

таких групп

можно рассматривать

как

независи­

мый корректирующий код.

 

то

степень

Если каждая из групп состоит из двух модулей,

избыточности кода

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

выражением

 

 

-где 21=tn.

R = d td3. .

= d3di . . .d3l>

 

 

 

 

 

 

Для того чтобы код мог обнаруживать любую одну двоичную ошибку в каждой паре модулей, делители должны быть нечетными целыми числами.

Рассмотрим теперь примеры корректирующих L-кодов, причем для оценки их избыточности введем еще одну характеристику, ко­ торую назовем коэффициентом избыточности:

Км = (logä P)/(log2 L).

Пример 2.1. Пусть задана система остаточных классов с осно­ ваниями:

р, =

13-3 =

39;

р 3 = 11-5 = 55;

р5 =

2-7 =

14;

рг =

3-3 =

9;

р4 = 5-5 = 25;

р 6 =

7-7 =

49.

Тогда корректирующий код имеет следующие характеристики:

R = 3-5-7 = 105; L = 2-32-5а- 7 М Ы З « 3 1 0 6; 1<н = 1,4.

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

I Да/ — Да/+, \а^

0 ,

где і = 1, 3, 5.

4*

51

 

Пример 2.2. Рассмотрим систему остаточных классов, все моду­ ли которой имеют общий делитель, равный g.

Пусть

g =

3;

/;, = 3-3 = 9;

/)2 = 4 - 3 = І 2

;

ра = 5- 3=15;

= 7-3 = 21;

рй =

11-3 = 33;

/»0 = 13-3 = 39;

 

р1 =

17-3 = 51.

Тогда R =

За =

729; L = 4-За-5-7-11 ■13-17«3-10°;

/<„ =

1,6.

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

I Да; — Да/Із^О, где

/ = 1, 2 ,..., т; i=f=j.

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

Таким образом, корректирующие возможности такого кода до­ вольно высоки, хотя минимальное расстояние d= 1, так как, на­ пример, число Lj3 соответствует кодовому слову, у которого лишь первая компонента является ненулевой и соответственно вес этого слова w — 1.

ляет

Пример 2.3. Приведенный ниже корректирующий

код

позво­

уже однозначно определять

не только м е с т о ,

ио

и

в е л и ­

ч и н

у одиночной ошибки или

двух одиночных ошибок

в

разных

группах, а также обнаруживать двойные ошибки в пределах груп­

пы. Для этого кода рі =

2-13 = 26; рг = 3-13 =

39; рз = 5-13 = 65;

р4= 7 ■19= 163; Рб= 11 • 19= 209; р6= 17-19 =

323.

 

Данный код

обладает

следующими

характеристиками: R =

= 13М92«6,Ы 0< ;

Z- =

2-3-5-7 - 11-13-17-19«9,6- ІО6; К„ = 1,9.

Эти примеры показывают, что /.-коды не так уж плохи, как

могло бы показаться

после

знакомства

с

теоремой 2.6. К их

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

Что касается недостатков, то здесь в первую очередь следует упомянуть тот факт, что /.-коды с приемлемой избыточностью не •позволяют исправлять, а порой и обнаруживать любые ошибки за­ данной кратности, даже одиночные. Кроме того, при использовании /.-кодов система остаточных классов, как правило, содержит до­ вольно большие по величине модули, что приводит к определенному усложнению арифметического устройства.

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

Более эффективными могут оказаться смешанные RL-коды, ко­ торые соответствуют СОК с попарно непростыми основаниями при L < М. В этом случае, изменяя отношение М/L, можно получить любые минимальные расстояния, так же как в обычном Д-коде. Но, кроме того, появляется возможность обнаруживать и исправ­ лять значительное число ошибок более высокой кратности.

Пример 2.4. Добавив к системе остаточных классов, приведен­ ной в примере 2.2, еще один модуль р8= 19-3=57, получим кор­

52

ректирующий

RL-код с минимальным

расстоянием

d =

2,

для

которого R =

35-57 = 4,Ы С ; L « 3-105; 7И = 5,7-107; Кп =

1,9.

Несмотря

на небольшое минимальное

расстояние,

этот

код

мо­

жет обнаруживать, кроме любых одиночных, 95,96% ошибок произ­ вольной кратности. Кроме того, он может исправлять практически любые одиночные ошибки и часть ошибок с кратностью 2,3 и даже 4.

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

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

Что же касается L и ЯА-кодов, то эта область еше ждет своих исследователей.

2.4. ОБНАРУЖЕНИЕ И ИСПРАВЛЕНИЕ ОШИБОК ПРИ ПОМОЩИ я-кодов

Для того чтобы выяснить, является ли некоторый вектор Ä ко­ довым словом Я-кода, необходимо определить величину соответ­ ствующего числа А. Если это число принадлежит множеству L, то

можно полагать

(конечно, с определенной вероятностью), что оно

является неискаженным. Если же А не принадлежит множеству L,

то наверняка

произошла ошибка.

 

Лля сравнения величин А и L удобнее всего воспользоваться

позиционными

 

характеристиками п,ѵ(Л). Если L = N, то любым

кодовым

словам

соответствует только

одно значение n N (A), рав­

ное нулю. При L = 2N кодовым словам могут соответствовать два

значения

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

Если А < 0, то n N(A) =

= Я1— 1, а

положительным числам соответствует нулевое значе­

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

главе, позиционные харак­

Как

было

показано в предыдущей

теристики ЯлДА) вычисляются в ходе выполнения любой немо­ дульной операции. Следовательно, попутно с выполнением любой такой операции осуществляется обнаружение ошибок. Если немо­ дульные операции встречаются в ходе решения задачи, достаточно часто, то нет необходимости вводить специальную операцию обна­ ружения ошибок, т. е. в данном случае для обнаружения ошибок

не потребуется добавочных затрат времени.

Для исправления ошибок необходимо прежде всего определить,

номера

модулей,

которым соответствуют искаженные

символы.

Один из

способов

локализации

ошибок,

предложенный

в работе

[2], заключается в

следующем.

Исключим

из СОК основание р л

и определим величину числа,-соответствующего вектору {Д}

53

Если окажется, что это число принадлежит множеству 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

Следствие 2.10.2.

 

Если каждый из векторов

и {"дг + 1}#, содержит

не менее k + 1 не нулевых компонент, то в символах, соответ­ ствующих информационным основаниям, произошла по мень­ шей мере одна ошибка.

Приведем

теперь пример

коррекции ошибок

Я-кодом

с

по­

мощью рассмотренных в этом параграфе методов.

рі= 5 ,

Рг~1,

Пример 2.5. Пусть

задана СОК с

основаниями:

Рз=8,

Р4=П,

Рб=13,

р6=17,

Р7=19,

Рв= 3, N =280,

Ri =

135567,

Положим

L =

2N =

560.

Тогда

минимальное

рас­

стояние кода

равно

5.

При этом

удовлетворяются

условия

 

тео­

ремы

2.8.

 

 

 

 

 

 

 

 

 

 

Рассмотрим кодовое слово

 

 

 

 

 

 

 

 

~

{

25°}д, = {0, 2, б, 3,1°, 5, 16, 2} ,Ѵ[,

 

 

у которого в символах, соответствующих модулям рз и рт, произо­ шли ошибки Д а з = 4 ; Д<Х7=10. Тогда

 

 

{Л'}Л1 = { °,2 ,2 ,3 ,1(),5 ,7,2}Л[.

 

Прежде всего определим

позиционную характеристику

 

 

 

 

{теуѵ}р, = {4, 5, 7,6, 0}*,.

 

 

Веса

векторов

(тсл^}р, н {л./ѵ +

1}#,

равны

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

че*

тырем

и

пяти, т. е. оба больше /г. Поэтому,

по меньшей мере,

одна ошибка произошла в информационном модуле.

 

Вычислим теперь вектор

{8}д1=

+ 2}^.:

 

 

 

 

{6}я, ~

{6’ 7> 9. 8, 2j/?i.

 

 

Далее

проверим

справедливость

неравенства

| Ь р / [ ^ < З р г ,

где

і= 1, 2, 3.

Вданном случае величина б умножается только на информа­ ционные основания, так как нам заведомо известно, что если ошиб­ ка является одиночной, то, в соответствии со следствием 2.10.2, она

не может произойти в каком-либо из контрольных модулей.

Проверку данного неравенства

выполним

следующим образом.

Вычислим величину [| ^PilpJPt] =

V Если

Б, > 3,

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

не выполняется, так как p^jpi >

1,3. Если <

2, то

можно считать,

что ошибка возникает в модуле p-t. Наконец, если

6j = 2, то сле­

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

 

— Зр,-. Итак:

 

. = {8,9,11,2,1}^;

{8і}/?,/п = {6>8- 4' !}/?,/и; {В7}^. = {9,1°, І2 ,16,2}^;

{В>}/?,/11 = {6>8>8>^Я ./П ’

№ , = {4. 4, 4,7,1}^;

= {°>°> 2>°}/?,/іг

59

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