Файл: Хетагуров, Я. А. Повышение надежности цифровых устройств методами избыточного кодирования.pdf

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

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

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

Добавлен: 19.10.2024

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

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

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

Таким образом, из матрицы G получено четыре 'неза­ висимых (в том смысле, что ни один из аргументов не входит в -более чем одно уравнение) уравнения для вы­ числения информационного символа Sio. Симметричность матрицы G существенно облегчает поиск контрольных соотношений. Информационные символы, значения кото­ рых найдены по принципу большинства, используются для вычисления -значений символов, соответствующих ба­ зисным векторам более низкого порядка.

В

качестве

примера

приведем

 

систему

уравнений,

 

полученных

из построенной выше матрицы G:

 

 

 

 

 

 

Ь,+

 

 

s.. =

6 0 + 6, 4- 62 +

6, =

64 + 6 5 + 6 6 +

6 , = 68 +

 

 

 

 

 

+ 6,0 + Ьи 6,2 + 6 I 3 + 6 1 4 + 6 1 5 ;

 

 

 

 

«• = ь„ + bt + 64 + 6 5 = 62 + 63 + 66 + 6, = К + ь, +

 

 

 

 

 

+

6 1

2 +

6„ =

6 1 0

+

6ц 4- &u + bis".

 

 

 

 

s e = ьй + ьг + б4 + б6 = &, + ь, + б5 + ьп = бв + б,0 +

 

 

 

 

 

4 - б,2 + б,4 = б9 + 6 п + &и 4- б,5 ;

 

 

 

 

^7 =

60

+

6, +

6, 4" Ь, =

62

+

Ь, 4" б.о + ьи

=

 

 

 

 

 

=

 

6* +

6s +

+

&1з

=

65 +

67 +

6 U

+

6,5 ;

 

 

 

«6 =

60 +

62 +

67 +

6ю =

6, 4- 63 +

б„ 4- 6,, =

64 4- 6в

+

1 (2-9)

 

 

 

+ Ь 1 2 + 6 1 4 = 6 6 4 - 6, 4- 6 1 3 + 6 1 6 ;

 

 

 

«s =

6 0

+

6 4

4- 6 8 + 6,а = 6 , 4 - 6 5

+

6„ 4 - 6,j =

 

 

 

 

=

 

62 +

6в 4-

&,„ 4- 6,4 =

63

+

6 , 4 - 6,, 4- &,5;

 

 

 

= 60 + 6, = 62 4- 63 + s , 0 = 64 4" 65 + Sj = 66 4 - 6 , +

 

 

 

 

+

бв + s,„ = 6 , 0

4-

+

s 7

4- s,„

=

 

 

 

 

=

6,2 +

6,3 4- s, 4- s, =

6 I 4 4- 6,5

4- s, 4- s„ 4-

s,„;

 

 

s 3 =

60 +

62 =

6, 4- b34-s10

=

6 4 4 - b0

+

s 8

= ...;

 

 

 

« a =

60

+

6 4 =

6, 4 - 6 6 +

s.,=

6 2 4 - 66 +

s e =

...;

 

 

 

«1 =

60

+ 6 ,

=

6 , 4 - 6 9 4 - 5 7 = 6 2 4 -

6,0

4-s„ =

...;

 

 

 

50 = 6 0 = 6 , 4 - 8 4 = 62 + 5 3 = . . . .

 

 

 

 

 

 

 

j

В заключение необходимо отметить, что матрицу G кода Р—М можно, привести к виду G = ||If e A|| и исправ­ ление ошибок производить, дешифрируя вычисленный корректор.

2-5. ПОСТРОЕНИЕ КОДОВ Д Л Я ИСПРАВЛЕНИЯ ОШИБОК ЗАДАННОГО ВИДА

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

46


элементов которого обычно выбираются наиболее верЭятные ошибки.

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

соответствовать различные корректоры.

Элементы заданного множества ошибок обозначим

через Ei, Е2,

• •., £ а . Каждый

из этих

векторов пред­

ставляет собой /г-разрядную

двоичную

последователь­

ность, содержащую единицы

в

искаженных позициях.

Для удобства

дальнейших

рассуждений

пронумеруем

позиции (символы) ошибочных векторов справа налево. На основе заданных значений Ei построим следующую (QXn)-матрицу возможных ошибочных последователь­ ностей:

£an е2, n - i •

еВпеЯ,п—\ •

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

Вычеркивая в матрице М все столбцы, кроме правых двух, и исключая из рассмотрения повторяющиеся и ну­ левые строки, получим матрицу М2 . Естественно, количе­ ство строк в Мг не превышает трех, но и не меньше двух.

В качестве корректоров hi, h2,

соответствующих ошибкам

в

1-м и 2-м

разрядах, выберем соответственно 00 ... 001

и

00 . . . 010

(т. е. двоичные

коды чисел 1 и 2). Вычис­

лим множество Ai корректоров, соответствующих раз­ личным ошибочным последовательностям, которые явля­ ются строками матрицы М2 . Объединив элементы множе­ ства Ai и ранее выбранные корректоры для одиночных ошибок, получим множество «используемых» корректо­

ров А2.

Аналогично предыдущему построим матрицу М3 , вы­ черкивая все столбцы в М, кроме трех правых. В качест­ ве корректора h3, соответствующего ошибке в третьем

47


разряде, выберем двоичный «од, соответствующий наи­ меньшему числу, не -принадлежащему множеству А2. За­ тем вычисляем множество корректоров, соответствующих строкам матрицы Мз. Так как по условию строки матри­ цы М3 различны, то и все рассматриваемые корректоры должны быть различны. В противном случае значение /г3 выбрано неправильно и следует выбрать число на едини­ цу больше, чем 'рассмотренное. После этого вычисляют­ ся значения корректоров (с новым значением /13), соот­ ветствующих строкам М3 . Процесс выбора значения Лз оканчивается, если все рассматриваемые корректоры раз­ личны. Объединяя корректоры h3, hi, hi и их комбина­ ции, соответствующие строкам М3 , получаем множество

«используемых»

корректоров Л3 . Заметим, что А3

может

быть

получено

объединением Ai с /г3 и

корректорами,

при

вычислении

которых использовалось

значение

3.

Затем строится матрица М<„ выбирается hi и т. д. Процесс, построения • кода заканчивается после того,

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

 

Н = || М я . , A , M i II-

 

В заключение

заметим,

что

для

 

упрощения расчето

при построении

матриц

М2-, М г + 1

 

Мц мо кно исклю

чить из рассмотрения те векторы

 

ошибок

которые

уже встречались в одной из матриц

M,_i, ...,

М 2 .

Для иллюстрации изложенного метода

построим

корректирую­

щий код длиной 8 разрядов, исправляющий

 

ошибки вида 101. Матри­

ца ошибочных последовательностей имеет вид:

 

 

о о о о о

1

0

1

 

 

 

 

0

0

0

0 1

0

1 0

 

£2

 

 

0

0

0

 

1 0

1

0

0

 

Е3

 

 

0

0

1 0

1

0

0

0

Е*

 

 

0

1 0

 

1 0 0

0

0

 

Еъ

 

 

1 0

1 0

0

0

0

0

 

Еа

 

Изматрицы М

получаем:

 

 

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

 

 

 

'48


Выбираем значения корректороп, соответствующих одиночным ошибкам: Л, = 1=00 . . . 01, /х 2 =2=00 10. Из М2 следует, что множество Аг= {00 . . . 01, 00 . . . 10} = { 1 , 2}.

Далее получаем, что

 

 

1

0

1

 

м 3

=

0 1

0

 

 

 

I

0

0

 

В качестве корректора

h3

выбираем 3, т. е. ';3 =00

011. Тогда

множество корректоров, соответствующих матрице Мз, есть Л | + А 3 = 2 ;

Л г = 2 ; Л з = 3 . В связи

с тем, что код двойки встречается дважды, зна­

чение Лз выбрано неверно. Поэтому

выбираем

код следующего

числа:

Л з = 4 = 0 0 . . . 100. Вычисляем новые

значения

корректоров: Л ] + Л 3 = 5 ;

Л 2 =2;

3 =4 . Отсюда

множество «используемых» корректоров

А3

= {5,

4, 2, 1}. Заметим,

что A3=A2\J{hl+h3,

Л3 }={1, 2, 5, 4}.

 

 

 

 

 

0

1 0

1

 

 

 

 

 

М . , =

1 0

 

1 0

 

 

 

 

 

0

1 0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0 0

 

 

но поскольку ошибочная

последовательность

Ei уже рассматривалась

в матрице Мз, исключим

ее из дальнейших расчетов:

 

 

 

 

 

1 0

1 0

 

 

01 0 0

10 0 0

Вкачестве кода для hi выбираем 6, так как 5 е Л 3 . Вычисляем

значения корректоров, в образовании которых участвует /г4: А 2 = =00 .. 0110+00 . . . 0010=00 . . . 0100=4. Так как элемент 4е=Л3 , то

код для hi выбран неправильно. Поэтому выбираем ht=7

и

hi+h2=

=5, но 5 е Л 2 . Выбираем Л 4 = 8 , тогда Л4+Л2 =10 и множество

«исполь^

зуемых» корректоров

 

 

 

 

/П=/4з11{/и, / и + М = { 1 ,

2, 4, 5, 8, 10}.

 

 

Исключаем из рассмотрения последовательность Ег,

тогда

1 0

1 0

0

 

 

Ms = 11 0

1 0 0 0

 

 

1 0 0 0 0

В качестве кода для hs выбираем 9, так как это наименьшее число, не принадлежащее /Ц и ранее не выбиравшееся в качестве корректора. Тогда из Ms следует, что Л 5 + Л з = 13 и

/Ц=Л4 11{Й5, й5 +Аз}={1, 2, 4, 5, 8, 9, 10, 13}. Аналогично

1 0 1 0 0 0

0

1 0

0 0 0

1 0

0

0 0 0

4—236

 

 

49