Файл: Хетагуров, Я. А. Повышение надежности цифровых устройств методами избыточного кодирования.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.10.2024
Просмотров: 180
Скачиваний: 0
два порождающих модуля Ау и А2. Для выбранных зна чений Ai и А2 в табл. 5-2 находят порядки ei и е2 и вы числяют значение k в соответствии с теоремой 5-3. Иног да может оказаться полезной обратная последователь ность действий: исходя из требуемого значения /г подби рают значения е( и е2, для которых находят возможные значения модулей Ау и А2.
Например, |
если е,=5 , е 2 = 6 , |
то система (5-12) не имеет |
решения, |
|||
так как е( =5—нечетное |
число, и & ^ { 5 , 6] = 30 разрядов. Из табл. 5-2 |
|||||
определяем значения порождающих модулей |
А\=3\, |
Л 2 = 9 |
. Для за |
|||
писи вычетов |
по этим |
модулям |
требуется |
/•] = 5 |
и г 2 = 4 |
разрядов |
соответственно. |
Таким |
образом, |
параметры |
неукороченного кода, |
||
порождаемого |
модулями |
Л i = 3 1 |
и Л 2 = 9 , таковы: £ =30, « = 3 0 + 5 + |
+4 = 3 9 разрядов.
Втабл. 5-6 представлены коды с максимальным зна чением k при заданном значении количества контроль
ных разрядов |
r = r i + r2 , |
найденные |
методом |
перебора |
|
|
|
Т а б л и ц а 5-6 |
|
Количество |
Количество |
Значение модулей |
Значение |
|
|
|
|||
контрольных |
информацион |
|
|
отношения |
разрядов |
ных разрядов |
|
Ai |
k |
г=г,+г7=п—k |
k |
|
п |
|
|
|
|
|
|
6 |
12 • |
3 |
13 |
0,67 |
|
|
5 |
7 |
|
7 |
30 |
7 |
11 |
0,81 |
8 |
84 |
7 |
29 |
0,91 |
9 |
174 |
7 |
59 |
0,95 |
10 |
300 |
11 |
61 |
0,97 |
Ю. Г. Дадаевым [Л. 13]. Если требуемое значение k на ходится в пределах 6 0 ^ £ > 3 1 , то практически более це лесообразно использовать укороченный (68, 60)-код, по рождаемый Ai=l\, Л г = 1 3 , так как он проще реализует ся, чем укороченный (92, 84)-код.
5-3. СХЕМЫ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ АРИФМЕТИЧЕСКИХ КОДОВ
Реализация арифметических кодов естественным об разом может производиться на ЦВМ по специальным программам, например, при обмене информацией между машинами. Однако в ряде случаев может потребоваться 140
аппаратурная реализация кода методами, которые рас смотрены в данном параграфе.
Структура миоготактных кодирующих и декодирую
щих устройств для арифметических кодов |
аналогична |
|
структуре этих устройств для циклических |
кодов (§ 3-3) |
|
[Л. 42]. Отличие заключается в том, что вместо |
суммато |
|
ров но модулю 2 используются функциональные |
(комби |
национные) сумматоры с запоминанием переноса. Пусть двоичное представление модуля А имеет вид:
A = a o + a i - 2 + . . . + ar-2r.
Тогда для кодирования, т. е. умножения числа N на модуль А, можно использовать схемы, показанные на рис. 5-2. Разряды множимого N поступают иа вход схемы
Рис. 5-2. Две эквивалентные |
многотактные схемы последова |
|||||
тельного умножения произвольного двоичного числа N на чис |
||||||
|
|
ло A=ao+at |
-2+ |
... +ат • 2Т. |
|
|
последовательно, начиная |
с младших. На выходе после |
|||||
довательно получаем |
разряды |
произведения, |
начиная |
|||
с младших. |
|
|
|
|
|
|
Рассмотрим методику синтеза схемы деления двоич |
||||||
ного |
числа |
L = ( / n _ i , |
l N - 2 , |
lu /о) на число |
А=(аг, |
|
a r - i , |
..., а0), |
представляя эти числа в полиноминальной |
||||
форме |
|
|
|
|
|
|
|
L(X) |
= / o + / i X + |
. . . + l n |
- z X n - 2 + l n - l X n - U , |
|
|
|
|
А(х) = a u + a i X + . . . +а т х г . |
|
141
Будем предполагать, что число А делит число L , т. е.
L(x) =A(x)<N(x) =
= a0N(x) |
+di\'N (x)+ |
... |
... + |
агхгЫ(х,), |
|
где N(x) —частное. Так как арифметические коды по рождаются модулями А, ко торые являются нечетными числами, то ао=1 и из по следнего равенства полу чаем:
N(x) |
=zL(x) |
— (cti + a2x + ... |
|
... +arxr-t)xN(x). |
(5-17) |
||
Схема |
многотактного |
||
устройства |
деления |
на чис |
|
ло А, |
реализующего |
выра |
жение (5-17), показана на рис. 5-3. Оператору х* соот ветствует задержка на i так тов, при этом вес двоичных символов на входе и выходе
устройства в /-м |
такте ра |
|
вен 2'. Операция |
вычитания |
|
в устройстве деления |
выпол |
|
няется сложением |
умень |
шаемого с дополнительным кодом вычитаемого. Получе ние дополнительного кода осуществляется с помощью схемы, обведенной пункти ром на рис. 5-3. Входная пе ременная у и выходная пе ременная z данной схемы связаны соотношением
z=y + 2z,
где с помощью коэффициен
та 2 учитывается з а д е р ж к а
на один такт в цепи обратной связи. Из последнего ра венства следует, что
z=—y.
Рассматриваемая схема деления имеет два устойчи вых эквивалентных состояния: 1) содержимое всех за
поминающих ячеек D (в том числе запоминающих |
ячеек |
в цепи обратной связи сумматоров) равно 0; 2) |
содер |
жимое нулевой запоминающей ячейки и ячейки в цепи |
|
обратной связи нулевого сумматора (с выхода л) |
равно |
1, а содержимое остальных ячеек D равно 0. Эти |
состоя |
ния являются устойчивыми потому, что в автономном режиме (на вход устройства ничего -не поступает) -подача произвольного количества тактирующих сигналов не при водит к переходу устройства в какое-либо другое состоя ние. Такие устойчивые состояния устройства ниже будем называть нулевыми.
Делимое L=(ln-t, • •., к, к) поступает на вход устрой ства деления последовательно, начиная с младших раз рядов. Устройство вычисляет разряды частного также последовательно, начиная с младших разрядов. Если де лимое L делится без остатка на число А, то после п так тов работы устройство будет находиться в одном из ну левых состояний.
Например, модуль Л = 19 порождает арифметический код длиной /1=9 двоичных разрядов (см. табл. 5-3). Число А в двоичной системе счисления имеет вид:
Л = ( а 4 , а3 , |
«2, fli, а0 ) |
= 10011. |
Схема устройства деления |
на модуль |
Л = 19 показана на рис. 5-4. |
Непосредственным вычислением последовательных состояний устрой
ства можно убедиться, |
что при |
поступлении |
на |
вход числа L = 5 7 = |
|||||
= 111001 |
(младшими |
разрядами |
вперед) |
на |
выходе |
будет |
получен |
||
к о д . . . 0 0 0 1 1 , т. е. 3, |
и |
на восьмом такте |
устройство |
переходит в ну |
|||||
левое состояние. |
|
|
|
|
|
|
|
|
|
Если |
входное |
/г-разрядное слово содержит |
ошибку, |
||||||
т. е. не делится на |
модуль А, то устройство деления не |
||||||||
вернется в нулевое состояние. На основании |
анализа |
||||||||
последовательных |
|
состояний устройства |
можно |
испра^ |
вить обнаруженную ошибку, если, конечно, возникшая ошибка относится к множеству ошибок, исправляемых с помощью рассматриваемого кода.
Прежде чем рассматривать более общий случай пред положим, что ошибка Е=1, т. е. ошибка возникла в млад-
143
D
Выход
ШШпс
Рис. 5-4. Схема деления на порождающий модуль Л = 19.
шем разряде. Пусть е — порядок класса вычетов 2 по нечетному модулю А, тогда имеет место равенство
2е— \=АС, |
(5-18) |
где С — целое нечетное число; отсюда 1/Л = С/(2е —1).
Правую часть данного равенства можно рассматри вать как сумму бесконечной убывающей геометрической прогрессии, первый член которой равен С/2е, а знамена тель прогрессии 1/2е, т. е.
1/Д = С / 2 в + С / 2 2 е + С / 2 3 в + .... |
(5-19) |
Из правой части 'последнего равенства следует из вестный из теории чисел результат, что двоичное пред ставление частного 1/Л, где Л — нечетное число, имеет вид бесконечной периодической последовательности с пе риодом, равным порядку класса вычетов 2 по модулю А.
Первые е двоичные разряды после запятой двоично го представления частного 1/Л называются основным пе риодом. Этот период равен:
|
С = (2в~ |
1)/Л = |
00^Л) c._r _1 ce _r _,...c1 c0 , |
(5-20) |
|
|
г |
нулей |
|
где |
Ci — значения цифр |
двоичного представления |
числа |
|
С; |
г — степень |
полинома |
Л(х), соответствующего |
моду |
лю |
А. |
|
|
|
|
Индикатором начала периода является последователь |
ность из г нулей, так как предположение о наличии г нулей подряд в двоичном представлении числа С = = (ce _r _i, .. . , сь с0 ) противоречит условию, что е равно порядку 2.
144
Если е — нечешие число, то рассмотренным исчерпы ваются характеристики структуры каждого периода дво ичного .представления числа 1/Л.
Например, |
пусть /4=23, из табл. 5-2 |
находим, |
что е = 1 1 . Тогда |
С = ( 2 ° — 1)/Л=2047/23=89=101Ю01 и из выражения |
(5-19) получаем, |
||
что |
|
|
|
1/23 = |
1/10111 = 0,00001011001 |
00001011001 ... |
основной период
Непосредственным делением можно проверить полученный ре зультат.
Если же модуль А — простое нечетное число, а е — четное число, то основной период имеет дополнительные свойства, которые заключаются в следующем. Запишем выражение (5-18) в виде
С=(2 е — 1)/Л
или |
|
|
|
|
|
|
|
С = (2е/2—1) (2*/2 +1)/Л. |
(5-21) |
||
В рассматриваемом случае (см. доказательство тео |
|||||
ремы 5-2) 2 е / 2 = — 1 по модулю Л, поэтому |
|
||||
|
|
(2е /2 +1)/Л = |
#, |
|
|
где Я —целое |
число. Выражение |
(5-21) |
запишем сле |
||
дующим |
образом: |
|
|
|
|
С = (2е /2 —1)Я или С = 2е /2 (Я—1) + (2е /2 —Я). |
|||||
Последнее |
выражение |
запишем в виде |
|
||
|
|
C=2elzF+F, |
|
(5-22) |
|
где |
|
_ |
|
|
|
F = H-l |
= |
-\,F |
= V*-H |
= |
tf*-??£-. |
Полученное выражение (5-22) описывает структуру |
|||||
основного |
периода, если 2 е / 2 = — 1 |
по модулю Л. В дан |
ном случае основной период состоит из двух частей дли ной е/2 разрядов каждая. Первая часть, которой соот ветствует число F, занимает е/2 старших разрядов пе риода (потому что перед числом F стоит коэффициент 2е / 2 ). Вторая часть, которой соответствует число F, зани мает е/2 младших разрядов периода; причем двоичное представление числа F равно обратному коду двоичного
10—236 |
145 |