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

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

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

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

Добавлен: 19.10.2024

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

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

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

и ДЛя h6 выбираем

код

i i = i6l 1. f огда

he+hi=3

и

Ae=As(j{he,

/io+

+/ц}={1,

2,

3,

4,

5,

8,

9,

10,

11,

13}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

1 0

0

0

0

 

 

 

 

 

 

 

 

 

 

M , =

 

 

0

1 0

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

0

0

0

0

0

 

 

 

 

н для hi выбираем код 12=1100, тогда

Л 7 + А 5 = 5 ,

но 5е<4в . Поэтому

выбираем

новое

значение

 

/ 1 7 = 1 4 = 1110, тогда

/17+Л5 =7 и

 

A1=At\J{hi,

 

" 7 + « 5 } = { l ,

2,

 

3,

4, 5,

7,

8,

9,

10, 13, 14}.

 

Наконец,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 0

1 0

0

0

0

0

 

 

 

 

 

 

 

 

 

 

М,

 

 

0

1 0

 

0

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

1 0

0

 

0

0

0

0

0

 

 

 

 

Пусть

Л а = 15=1111,

тогда

Лв+Лв=4,

но

4 е Д 7 . Поэтому

выби­

раем Л8 =16=10000, тогда

Л 8 +Лв=27 .

 

 

 

 

 

 

 

 

Таким образом, найденные коды корректоров, соответствующих

одиночным

ошибкам, равны: Л 8 = 1 6 ;

Л 7 = 1 4 ;

А а = П ;

fte=9; Ai=8;

Лз=4;

h2=2;

hi = \.

Рассматривая

 

эти

коды

в

качестве

столбцов ма­

трицы

Н, получаем:

 

 

 

 

 

 

 

 

 

 

 

 

 

1 0

0

0

0

0

0

0

 

 

 

 

 

0

1 1 1 1 0

0

0

 

 

 

 

 

Н = || 0 1 0 0 0 1 0 0

 

 

 

 

 

0

1 1 0

0

0

1 0

 

 

 

 

 

0

0

1

1 0

0

0

1

 

 

Таким

образом, получен (8,3)-код,

позволяющий

обнаружить

и исправить

любую

двукратную

ошибку

вида

101. Естественно, этот

код исправляет также любую одиночную ошибку. Контрольными раз­ рядами являются 1-й—4-й и 8-й. В полученной контрольной матрице перестановка столбцов не допускается, так как это приводит к изме­ нению значений корректоров, соответствующих заданным конфигу­ рациям ошибок. Минимальное расстояние d, однако, остается без изменения.

Например, если полученную

матрицу

Н записать в виде

0

0

0

1 0

0

0

0

1 1 1 0

1 0

0

0

Н = || 1 0 0 0 0 1 0 0

1 1 0 0 0 0 1 0

0 1 1 0 0 0 0 1

то ошибочной последовательности 0 0 1 0 1 0 0 0 будет соответство­ вать корректор 00001. Но это значение корректора соответствует так­ же ошибке в 1-м разряде.

50


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

Способом, аналогичным изложенному, с помощью ЦВМ были по­ строены коды для исправления многократных ошибок [Л. 29]. Резуль-

 

 

 

Т а б л и ц а 2-4

Позиция

Значение корректора

Позиции

Значение Koppeirropa

ошибки

ошибки

 

 

1

00000001

16

01000010

2

00000010

17

00001101

3

00000100

18-

01000111

4

00001000

19

01010011

5

00010000

20

10000000

6

00100000

21

00010101

7

00001001

22

00100001

8

00010010

23

01001000

9

00100100

24

10000001

10

01000000

25

00011101

11

0000101I

26

01000100

12

00010001

27

10000011

13

01000001

28

00110001

14

00001111

29

00010111

15

00100011

30

10000100

таты построения кода, •позволяющего обнаружить и исправить про­ извольный пакет ошибок длины три или менее, приведены в табл. 2-4. Код необходимой длины и (но не больше 30) получается усечением табл. 2-4 на строке с номером п.

2-6. П Р И Н Ц И П Ы РЕАЛИЗАЦИИ КОДОВ

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

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

4*

5 i


систему линейных уравнений (2-1), из которых

могут

быть найдены значения контрольных символов

(разря­

дов). Таким образом, кодер состоит из r = n—k

много-

входовых сумматоров по .модулю 2, выходы которых со­

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

контрольным

символам.

Например,

на

рис. 2-1

показана схема кодера для кода

(15, 11), значе-

-.

>„„..

 

«ия

контрольных

символов ко­

s, -

 

 

торого

описываются

уравне­

 

 

 

ниями (2-6).

 

 

 

 

 

 

 

Для

реализации

суммато­

о $9 Z

 

 

ров

по

модулю

2

может

быть

 

 

использована любая

функцио­

 

 

 

 

 

V\w2

нально полная система логиче-

 

 

, ских

элементов,

удовлетворя-

 

 

 

''ющая требованиям по быстро- • действию.

,772

Учитывая взаимную зави-

цсимость уравнений, выражаю­ щих значения контрольных

 

символов

в функции информа­

№ 2

ционных,

схема

кодера

может

сз быть

упрощена, т. е. миними­

 

зирована. На рис. 2-2,6

пока­

ml

зан

вариант

минимизирован-

ной

схемы, если кодер

выпол-

с

*няется на двухвходовых сум­ маторах по модулю 2. Однако

Рис. 2

-1.

Схема

кодера

для

при

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

минимизи­

кода

Хэмминга

(15, 11).

рованной схемы

на

выходах

 

 

 

 

 

кодера

возможно

появление

коррелированных

ошибок,

вызванных

отказом

одно­

го элемента.

Кроме

того,

в

этом

случае

затруд­

няется

поиск

отказавшего

элемента.

Поэтому

мини­

мизация кодера,

при

которой

вводятся

 

элементы,

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

52


Реализация указанного принципа построения кодера не изменяется, если корректирующий код задан с помо­ щью порождающей матрицы G , которая не приведена к виду G = ||IftAj|. В этом случае записывается система из k уравнений, которая следует из матричного произведе­ ния

 

 

X=SG,

 

 

 

где

X=(xi, xz, ...,

хп)—кодовое

слово; S=si, s2, ...

...,

Sh) — информационное слово.

 

 

 

При сделанном выше предположении количество обо­

рудования кодера

оказывается

пропорциональным

коли-

 

 

 

s'-

 

 

Si­

 

 

У

 

 

 

т2

 

т2\

,

 

/772

 

/772

/772

 

 

/772

 

 

 

/772

 

/772

т2\

 

 

/772

 

 

 

 

 

6)

 

 

Рис. 2-2. Схема кодера для (7, 4)-кода.

• немншшизнсоаанныя вариант; б — минимизированный вариант.

честву единиц в матрице G , исключая количество столб­ цов, содержащих одну единицу.

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

Декодирование. Структура декодера или корректиру­

ющего устройства (КУ) более сложная, чем кодера. Корректирующее устройство состоит из схемы деко­

дирования (СД), вычисляющей г-разрядный корректор, дешифратора (ДШ) и блока двухвходовых сумматоров по модулю 2 (рис. 2-3). Отличие СД от схемы кодера за-

53


ключается в том, что вычисленные значения контрольных разрядов сравниваются, т. е. суммируются -по модулю 2, со значением принятых контрольных разрядов. При от­ сутствии ошибок все сравниваемые символы совпадают и корректор равен нулю. Если корректор не равен нулю, то возбуждаются соответствующие выходы ДШ и оши­ бочные разряды поправляются.

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

т'А

•1

 

г—

 

п-

СД « Г

h p - - И

я - *

/ Н

и

Сигнал о том; что принятое слово содержит неисправимую ошибку

Рис. 2-3. Структурная схема корректирующего устройства (декодера).

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

Количество оборудования, которое необходимо для реализации СД, пропорционально числу единиц в матри-

54

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

В тех случаях, когда число различных значений корректоров, равное 2Г, больше числа Q различных ис­ правляемых ошибок, в состав КУ целесообразно ввести две схемы ИЛИ и схему запрета. Появление сигнала на выходе схемы запрета свидетельствует о возникновении ошибки, которая не может быть исправлена. Указанное

неравенство ( 2 r > Q )

имеет место, например, при реали­

зации

укороченных

кодов Хэмминга

с d=3

или

кодов

Хэмминга с d = 4, низкоплотностных

кодов. Однако сле­

дует

иметь в виду,

что сказанное

справедливо

только

в

том

случае, когда

необходимо исправить

ошибки как

в

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

так и в контрольных разрядах.

Пусть реализуется код с исправлением q или менее независимых ошибок. Тогда в зависимости от того, во всех разрядах ил.и только информационных предусмат­ ривается исправление ошибок, требуемое количество выходов Д Ш равно:

я

я

 

(2-10)

Например, если &=30, а 7=3,

то Q'=4 525. Этот при­

мер наглядно показывает трудности реализации КУ па­ раллельного типа, позволяющего исправить более одной ошибки. Поэтому в КУ, использующем ДШ, как правило, предусматривается исправление не более одной ошибки.

В состав КУ иногда включают триггерный регистр, предназначенный для приема «-разрядного слова. Тогда блок двухвходовых сумматоров по модулю 2 может быть исключен, так как ошибка исправляется посылкой еди­ ницы на счетный вход триггеров, соответствующих оши­ бочным разрядам (рис. 2-4).

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

55