книги из ГПНТБ / Хетагуров, Я. А. Повышение надежности цифровых устройств методами избыточного кодирования
.pdfи ДЛя 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
Ходе КУ включается СД, проверяющая отсутствие оши бок в выходной .информации (рис. 2-5)..
Мажоритарное декодирование. Этот способ декодиро вания возможен в том случае, если каждый информаци
онный символ описывается не менее чем |
2q + \ незави |
|
симыми уравнениями (q — количество |
|
исправляемых |
ошибок). Тогда значения информационных |
символов оп- |
|
|
/ |
ДШ / |
|
2 |
2 |
СЛ |
, |
* |
|
|
|
|
Г |
О |
Установка б О
Рис. 2-4. Структурная схема КУ, содержащего регистр.
ределяют с помощью мажоритарных схем на 2q + \ вхо дов, минуя этап определения места ошибки. Напомним, что этим свойством обладают, в частности, коды Рида — Маллера.
В соответствии с алгоритмом декодирования КУ для кода Р — М порядка б состоит из б + 1 последовательно включенных ступеней, на выходах каждой из которых выделяются соответствующие информационные символы.
В качестве примера на рис. 2-6 показано КУ для кода Р—М (16,11), рассмотренного в § 2-4. Оно выполнено по многоступенчатой •схеме (в данном случае три ступени, так как порядок рассматри ваемого кода равен двум). Принцип построения схемы становится ясным при ее сравнении с системой уравнений (2-9).
Метод порогового декодирования корректирующих ко дов основан на алгебраическом суммировании та ких физических величин, как напряжение или ток. Схемы, с помощью которых реализуется пороговое декодирование, называют пороговыми дешифраторами (ПД) или дешифраторами с распределенной нагрузкой. Различают два типа П Д : с суммированием токов и сум мированием напряжений. В первом случае роль поро-
говых элементов выполняют ферриты с ППГ, а во вто ром— импульсные трансформаторы с подачей суммар ных выходных сигналов на диодные ограничители.
Рассмотрим |
принцип построения |
П Д с |
суммирова |
||||||
нием |
токов. Пусть |
используется |
(п, |
&)чкод с |
минималь |
||||
ными |
расстоянием |
d. |
То |
|
|
|
|||
гда ПД состоит из 2й сер |
|
|
Выходы |
||||||
дечников |
с ППГ |
и п фор |
|
|
|
||||
мирователей |
Фи |
|
..., |
Фп, |
|
|
3DОшибка |
||
каждый |
из которых |
гене |
КУ |
|
|||||
рирует |
положительный |
СД |
|||||||
или |
отрицательный |
им |
|
|
|
||||
пульс |
тока при |
поступле |
|
|
|
||||
нии на его вход 0 или 1 со Рис. |
2-5. |
Структурная схема КУ |
|||||||
ответственно. |
Выходные |
|
с контролем. |
||||||
шины |
|
формирователей |
|
|
|
||||
пронизывают |
сердечники таким образом, чтобы при отсут |
ствии ошибок во входной информации происходило сумми рование ампер-витков (от всех /г формирователей) в сер дечнике, соответствующем кодовому слову, поданному на вход схемы. При этом величина напряженности поля,, определяемая суммарными ампер-витками, должна быть достаточной для перемагничивания этого сердечника, ис ходное состояние которого определяется постоянным током, протекающим по обмотке смещения. В то же вре мя суммарные ампер-витки в других сердечниках не должны их перемагничивать.
Вкачестве примера рассмотрим прошивку сердечников при
использовании (6,3)-кода, описываемого проверочной матрицей
1 1 0 |
1 0 |
0 |
|
|||
0 |
1 1 0 |
|
1 0 |
(2-11) |
||
0 |
0 |
1 |
0 |
0 |
1 |
|
С помощью матрицы Н построим |
таблицу |
всех возможных кодо |
||||
вых слов (табл. 2-5). |
|
|
|
|
|
|
Для обозначения обмоток |
и |
направления |
прошивки используем |
так называемую «зеркальную символику». Каждый сердечник обо значается жирной горизонтальной линией (рис. 2-7), а обмотка — вер тикальной прямой. Направление прошивки указывается наклонной прямой, проходящей через точку пересечения упомянутых прямых. Эта черта служит как бы зеркалом, отражающим световой луч, роль которого в данном случае выполняет ток, протекающий по обмотке. Направление отражения соответствует направлению намагничиваю
щих ампер-витков. Будем считать, что |
для установки сердечника |
в состояние 0 ток должен отражаться |
влево, а в состояние 1 — |
вправо. |
|
57
Sf Sj s2 s, sB
Pnc. 2-6. Схема трехступенчатого К.У для кода Р—М (16.
53
|
|
|
|
|
|
|
|
|
Т а б л и ц a |
2-5 |
|
Информационные |
|
Контрольные |
|
Информационные |
|
Контрольные |
|
||||
|
разряды |
|
|
разряды |
|
|
разряды |
|
|
разряды |
|
1 |
2 |
3 |
4 |
5 |
6 |
I |
2 |
3 |
4 |
5 |
6 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
I |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
I |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
Тогда |
схема |
П Д |
(6-3)-кода |
будет иметь вид, показанный на |
|||||||
рис. 2-7. Предполагается, что Ф; |
генерирует положительный |
импульс |
|||||||||
тока при поступлении 0 и отрицательный |
при поступлении |
1. Гори |
|||||||||
зонтальными |
стрелками |
|
на |
рис. 2-7 |
показаны |
направления |
|||||
ампер-витков, |
воздействующих |
на сердечник / при поступлении |
|||||||||
|
Л |
6 - разрядный |
корректирующий каО |
|
|
|
|||||
|
|
|
|
|
\ |
Г 1 |
1 |
|
|
||
|
|
|
|
|
\ |
'6 |
|
|
|||
|
|
|
|
i |
* \ |
ц |
|
|
|||
|
|
L |
|
•"• |
|
я—" |
|||||
|
|
|
t ) |
\ |
ч |
|
|||||
|
|
|
|
* |
|
н |
|||||
|
' |
ч |
|
|
* |
|
|
|
|
||
•*— |
У |
ч |
|
ч |
|
Ч |
/Ц |
||||
|
|
|
|
/ |
|
|
|||||
|
|
|
|
' |
|
•> |
|
V " |
' |
|
|
|
' |
ч |
|
|
|
/ |
|
|
" - ^ ' |
||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
ч |
|
|
' |
JT^—*" |
|
|
|
|
|
|
|
ч |
|
|
|
|
|
7 |
|
|
' |
\ S |
|
/ г |
|
|
|
|
|
|
' |
- / |
|
' |
|
ч |
|
|
ч ч |
/1L| |
|
|
|
|
|
' |
ч. |
ч |
|||||
|
|
/ |
' |
J |
|
||||||
71 |
|
• |
ч |
ч |
|
|
|
||||
|
|
|
|
|
|
||||||
'см |
|
X |
|
|
|
|
|
|
|
|
|
Рис. |
2-7. |
Схема |
порогового |
дешифратора для (6, 3)-кода. |
на вход П Д первого кодового слова. Как видно из рисунка, резуль тирующая напряженность поля, воздействующего на данный сердеч ник, равна:
Я=(6/0 шо—/сми»см)/70 р,
где 1Ср — средняя длина мапштопроведа сердечника; / 0 |
— амплитуда |
|
тока, генерируемого |
формирователями; к.'о — количество |
витков в об |
мотках, по которым |
протекает ток /о; / с м — величина тока смещения; |
к»см — количество витков в обмотке смещения.
Для того чтобы сердечник перемагнитился, должно выполняться неравенство'
Я > Я о , где Но — величина поля старта.
59