Безопасность, надежность и техническая диагностика
БЕЗОПАСНОСТЬ, НАДЕЖНОСТЬ И ТЕХНИЧЕСКАЯ
ДИАГНОСТИКА
УДК 681.518.5:004.052.32
В. В. Сапожников, д-р техн. наук Вл. В. Сапожников, д-р техн. наук Д В. Ефанов, канд. техн. наук А. А. Блюдов
Двоичные коды с суммированием, имеющие минимальное число необнаруживаемых искажений информационных
разрядов
Введение
Ключевыми характеристиками избыточных кодов, применяемых для организации схем функционального диагностирования комбинационных дискретных устройств [1], являются обнаруживающая способность и избыточность. Кроме влияния на обнаруживающую способность кода, избыточность определяет сложность, быстродействие и тестируемость контрольного оборудования схемы диагностирования: чем ниже избыточность, тем проще сама схема.
Известно достаточно большое число разнообразных равномерных помехоустойчивых кодов, применяемых в схемах функционального контроля [2]. Каждый из них имеет свои особенные правила построения контрольных разрядов. Среди разделимых кодов используются коды паритета, коды с повторением и коды с суммированием. Первый тип кодов имеет всего один контрольный разряд, однако при этом не обнаруживает 50 % искажений информационных векторов, второй - имеет двойную избыточность, но обнаруживает все искажения в информационной составляющей. Коды с суммированием по своим характеристикам (как избыточности, так и обнаруживающей способности) находятся между кодами паритета и кодами с повторением.
Число контрольных разрядов k у классических кодов с суммированием (кодов Бергера, S(n, т)-кодов) равно k = Jlog2 (m +1)[, где m - число
информационных разрядов [3]. Но данный тип кодов не обнаруживает при различной длине информационных векторов m е[2; 15] от 14,5 % до
22,5 % искажений информационного вектора [4]. Улучшенными характе-
3
Безопасность, надежность и техническая диагностика
ристиками по обнаружению искажений информационных векторов обладают модифицированные коды с суммированием (RSM(n, ш)-коды) [5]-[7], например, при той же длине контрольных векторов, что и у кодов Бергера, они не обнаруживают почти вдвое меньше искажений. Число контрольных разрядов в модифицированных кодах с суммированием может быть выбрано из диапазона 2 < к < ]l°g2 (ш +1)[, что определит и их обнаруживающую способность.
Необнаруживаемые ошибки в информационных векторах разделимых кодов искажают информационные векторы так, что не нарушается их соответствие контрольному вектору. Это может произойти лишь в том случае, если информационный вектор кода с данным контрольным вектором при искажении перешел в информационный вектор с таким же контрольным вектором. У различных кодов различное распределение информационных векторов по одинаковым контрольным, с этим связана и вариация обнаруживающих способностей кодов [5], [8]: в классических кодах с суммированием данное распределение менее равномерно, чем в модифицированных.
Минимум необнаруживаемых искажений информационных векторов будет достигнут тогда, когда все информационные векторы будут классифицированы на группы веса контрольных векторов равномерно. Число контрольных групп - это общее число разнообразных контрольных векто-
. В каждой такой группе должно размещаться по 2 информа-
ционных вектора. Это приводит к тому, что общее количество необнаруживаемых искажений составляет в оптимальных кодах для данного к:
Nn = 2ш (2ш-к -1). (1)
В данной работе изложены принципы получения новых разделимых кодов, названных Q(n, ш)-кодами, обладающих равномерным распределением информационных векторов среди контрольных векторов и имеющих смещение минимума ошибок к ошибкам малой кратности.
1 Принципы построения Q(n, m)-кодов
Q(n, ш)-код строится с использованием операций суммирования групп информационных разрядов по модулю два. При этом число контрольных разрядов к может быть выбрано заранее. Целесообразно брать к из области 2 < к < ]l°g2 (ш + 0[ , тогда избыточность кода не будет превышать избыточности кодов с суммированием.
Построим код 0.(6, 4), удовлетворяющий поставленным ранее целям, задавая контрольные разряды системой линейных функций:
4
Безопасность, надежность и техническая диагностика
а1 = x1 © x2 © x3 © x4; a 2 = x1 © x2 © x3.
(2)
Для построения контрольного разряда a2 кода 0(6, 4) можно взять и другое сочетание трех информационных разрядов из четырех.
В табл. 1 приведены все векторы кода 0(6, 4). Контрольному вектору
<ai а2> эквивалентно десятичное число V: V е
0;22 -1
Таблица 1
Код fi(6, 4) с оптимальным разбиением информационных векторов
№ х4 Хз Х2 Х1 а1 а2 V
0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 1
2 0 0 1 0 1 1 3
3 0 0 1 1 1 0 2
4 0 1 0 0 1 1 3
5 0 1 0 1 1 0 2
6 0 1 1 0 0 0 0
7 0 1 1 1 0 1 1
8 1 0 0 0 1 1 3
9 1 0 0 1 1 0 2
10 1 0 1 0 0 0 0
11 1 0 1 1 0 1 1
12 1 1 0 0 0 0 0
13 1 1 0 1 0 1 1
14 1 1 1 0 1 1 3
15 1 1 1 1 1 0 2
Разбивая информационные векторы на группы V, получаем равномерное распределение (табл. 2). Ошибка будет необнаруживаемой в том и только в том случае, если она переведет один кодовый вектор группы V в другой кодовый вектор этой же группы. Подсчет количества необнаруживаемых искажений по каждой кратности дает такой результат: в коде 0(6, 4) в каждой группе V для каждого информационного вектора существует ровно по три искажения кратности d = 2, т. е. в группе всего 12 таких искажений, а в коде - 48.
5
Безопасность, надежность и техническая диагностика
Таблица 2
Распределение информационных векторов на группы Ув коде П(5, 4)
Код 0.(6, 4)
Группа V 0 1 2 3 Всего
Информационные векторы 0000 0001 0011 0010 4 группы по 4 вектора
0110 0111 0101 0100
1010 1011 1001 1000
1100 1101 1111 1110
Число необнаруживаемых ошибок кратности d = 2 12 12 12 12 48
Всего необнаруживаемых искажений в группе 12 12 12 12 48
Анализируя табл. 2, заметим, что в группах с четным V присутствуют информационные векторы с четным весом г, а в группах с нечетным V - информационные векторы с нечетным весом г. Перестановка второго и третьего информационных векторов групп V = 0, V = 1 и V = 2, V = 3 приводит к тому, что в каждой группе появляются кодовые векторы с большим кодовым расстоянием, нежели ранее присутствовавшие там. Это, в свою очередь, приводит к перераспределению необнаруживаемых искажений - появляются необнаруживаемые ошибки кратности d = 3, а число двукратных искажений сокращается (табл. 3).
Таблица 3
Перераспределение информационных векторов в коде Q(6, 4)
Код
Группа V 0 1 2 3 Всего
Информационные векторы 0000 0001 0011 0010 4 группы по 4 вектора
0111 0110 0100 0101
1011 1010 1000 1001
1100 1101 1111 1110
Число необнаруживаемых ошибок кратности d = 2 4 4 4 4 16
Число необнаруживаемых ошибок кратности d = 3 8 8 8 8 32
Всего необнаруживаемых искажений в группе 12 12 12 12 48
6
Безопасность, надежность и техническая диагностика
Учитывая меньшую вероятность возникновения ошибок больших кратностей, можно сделать вывод о том, что подобная перестановка кодовых векторов привела к улучшению обнаруживающих способностей кода 0.(6, 4) (табл. 2). Будем код 0(n, т), полученный обозначенными выше перестановками и обладающий улучшенными обнаруживающими способностями, обозначать как О (n, т)-код.
Правила получения контрольных разрядов ai и а2 нетрудно формализовать, поменяв местами соответствующие контрольные векторы в табл. 1, а затем произведя над ними ряд преобразований:
a1 = x4 x3 x2 x1 v x4 x3 x2 x1 v x4 x3 x2 x1 v x4 x3 x2 x1 v
v x4 x3 x2 x1 v x4 x3 x2 x1 v x4 x3 x2 x1 v x4 x3 x2 x1
x4 x3 x2 v x4 x3 x2 v x4 x3 x2 v x4 x3 x2
= x4 |x3x2 v x3 x2 X v x4 ^
x3 x2 v x3 x2
x=
(3)
= x4 Xx2 ® x3 ) v x4 x2 ® x3 = x4 Xx2 © x3) v x4 X1 © x2 © x3) =
= x2 © x3 © x4.
a 2 = x4 x3 x2 x1 v x4 x3 x2 x1 v x4 x3 x2 x1 v x4 x3 x2 x1 v
v x4 x3 x2 x1 v x4 x3 x2 x1 v x4 x3 x2 x1 v x4 x3 x2 x1 =
*1 x2 X
x1 x21 x4 x3 v x4 x3 v x4 x3 v x4 x3
X v x2 х1 X
x4 x3 v x4 x3 v x4 x3 v x4 x3
(4)
= x1 x2 v x1 x2 = x © x2
Функции (3) и (4) есть выражения, описывающие контрольные раз*
ряды кода О (6, 4).
Отметим, что существуют также и другие способы получения кода с равномерным распределением и минимумом необнаруживаемых ошибок малых кратностей. Для примера можно привести такой способ составления контрольных разрядов: a1 = x1 © x2 © x3 © x4, a2 = x1. При перегруппировке центральных членов групп V = 0, V = 3 и V = 1, V = 2 кода, чьи контрольные векторы получаются по обозначенным выше формулам, получаем также код с минимумом необнаруживаемых ошибок малой кратности.
Исследуя коды 0(n, т) при увеличении т, можем сделать следующий вывод. Перестановка половины информационных векторов относительно соседних групп V, образующих центральную область столбца информационных векторов каждой группы, приводит к смещению необнаруживаемых искажений в сторону большей кратности. При этом следует по-
7
Безопасность, надежность и техническая диагностика
менять местами по 2т k 1 информационных вектора групп V2r и Vir+x, где
r = 0, 1, 2...
Например, в коде Q(8, 5) можно получить контрольные разряды на основании системы:
а1 = x1 © x2;
<а2 = x3 © x4; (5)
а3 = x1 © x2 © x3 © x4 © x5.
При размещении информационных векторов в группы V получаем, что в коде Q(8, 5) для каждого вектора среди необнаруживаемых существуют две ошибки кратности d = 2 и по одной ошибке кратности d = 4, т. е. всего 64 двукратных и 32 четырехкратных (табл. 4).
Таблица 4
Распределение информационных векторов на группы Ув коде &(8, 5)
Код
Группа V 0 1 2 3 4 5 6 7 Всего
Информационные векторы 00000 00001 00011 00010 01001 01000 01010 01011 8 групп по 4 вектора
00110 00111 00101 00100 01111 01110 01100 01101
11000 11001 11011 11010 10001 10000 10010 10011
11110 11111 11101 11100 10111 10110 10100 10101
Число необнаруживаемых ошибок кратности d=2 8 8 8 8 8 8 8 8 64
Число необнаруживаемых ошибок кратности d = 4 4 4 4 4 4 4 4 4 32
Всего необнаруживаемых искажений в группе 12 12 12 12 12 12 12 12 96
Повторение проделанной для предыдущего кода Q (6, 4) операции перестановки между собой двух средних членов соседних групп V2r и V2r+x, где r = 0, 1, 2., приводит к тому, что ошибки кратности d = 2 вообще выходят из класса необнаруживаемых, их место полностью занимают ошибки кратности d = 3. Общее число ошибок сохраняется. Таким образом, в модифицированном коде Q*(8, 5) нет необнаруживаемых ошибок кратностей d < 2 (табл. 5).
8
Безопасность, надежность и техническая диагностика
Таблица 5
Перераспределение информационных векторов в коде 0. (8, 5)
Код
Группа V 0 1 2 3 4 5 6 7 Всего
Информационные векторы 00000 00001 00011 00010 01001 01000 01010 01011 8 групп по 4 вектора
00111 00110 00100 00101 01110 01111 01101 01100
11001 11000 11010 11011 10000 10001 10011 10010
11110 11111 11101 11100 10111 10110 10100 10101
Число необнаруживаемых ошибок кратности d = 3 8 8 8 8 8 8 8 8 64
Число необнаруживаемых ошибок кратности d = 4 4 4 4 4 4 4 4 4 32
Всего необнаруживаемых искажений в группе 12 12 12 12 12 12 12 12 96
Выписывая дизъюнктивную совершенную нормальную форму функ*
ций контрольных разрядов нового кода Q (8, 5), получаем систему:
а1 — x4 © x5;
а2 — x2 © Х3; (6)
а3 — x1 © x2 © x4.
Код с числом информационных разрядов m = 5 можно построить и
*
при меньшем числе контрольных разрядов к - код Q (7, 5). Контрольные разряды такого кода могут быть описаны следующими выражениями:
а1 — x3 © x4 © x5; а 2 — x1 © x2 © x3.
2 Сравнение свойств по обнаружению ошибок &(n, m)-кодов и кодов с суммированием
Сравним обнаруживающие способности новых кодов Q(n, m) и
✓"ч *
Q (n, m) с некоторыми известными разделимыми кодами, используемыми в схемах функционального контроля. Для сравнения выберем коды Бергера (S(n, т)-коды) и модифицированные коды с суммированием (RSM(n, m, а)-коды). Правила образования обозначенных кодов изложены в [7], [8].
9
Безопасность, надежность и техническая диагностика
В табл. 6 и 7 даны коды с длиной информационного вектора m = 4 и m = 5 соответственно.
Таблица 6
Коды с длиной информационного вектора m = 4
Коды с длиной инс юрмационного вектора m = 4
Код Число необнаруживаемых ошибок кратности d Доля необнаруживаемых ошибок кратности d от общего числа ошибок той же кратности Всего необна- ружи- ваемых ошибок Коэффициент эффективности, £
d = 2 d = 3 d = 4 в2 Рэ Р4
S(7, 4) 48 0 6 0,5 0 0,375 54 1,125
0(6, 4) 48 0 0 0,5 0 0 48 1
0*(6, 4) 16 32 0 0,167 0,5 0 48 1
RS2(6, 4,1) 48 0 0 0,5 0 0 48 1
RS2(6, 4, 2) 32 0 16 0,333 0 1 48 1
Таблица 7
Коды с длиной информационного вектора m = 5
Коды с длиной информационного вектора m = 5
Код Число необнаруживаемых ошибок кратности d Доля необнаруживаемых ошибок кратности d от общего числа ошибок той же кратности Всего необнаруживаемых ошибок Коэффициент эффективности, £
d = 2 d = 3 d = 4 Р2 Р3 Р4
S(8, 5) 160 0 60 0,5 0 0,375 220 2,292
0(8, 5) 64 0 32 0,2 0 0,2 96 1
0*(8, 5) 0 64 32 0 0,2 0,2 96 1
RS4(8, 5, 1) 96 0 16 0,3 0 0,1 112 1,167
RS4(8, 5, 2) 64 0 48 0,2 0 0,3 112 1,167
0(7, 5) 128 0 96 0,4 0 0,6 224 1
0*(7, 5) 64 128 32 0,2 0,4 0,2 224 1
RS2(7, 5, 1) 192 0 32 0,6 0 0,2 224 1
RS2( 7, 5, 2) 128 0 96 0,4 0 0,6 224 1
При одинаковом числе контрольных разрядов и общем количестве необнаруживаемых искажений код 0.(6, 4) по своим характеристикам подобен коду RS2(6, 4, 1) и представляется худшим в сравнении с RS2(6, 4, 2) кодом за счет большего количества необнаруживаемых ошибок меньшей кратности. Модификация - код 0*(6, 4) - за счет перераспределения ошибок и сдвига их числа в сторону большей кратности обладает улучшенными характеристиками в сравнении со всеми рассмотренными кодами.
10
Безопасность, надежность и техническая диагностика
Среди рассматриваемых в табл. 7 кодов с длиной контрольного век*
тора, равной к = 3, коды 0(8, 5) и О (8, 5) имеют меньше всего необнаруживаемых ошибок. Сравнивая их между собой, отметим качественный
*
приоритет кода О (8, 5) над 0.(8, 5) за счет полного отсутствия двукратных необнаруживаемых искажений.
В последних столбцах табл. 6 и 7 даны коэффициенты эффективности кодов, определенные как отношения числа необнаруживаемых ошибок
во взятом коде к некоторому эталонному значению (им обладают коды
*
0(n, m) и О (n, m), т. к. содержат минимальное число необнаруживаемых искажений при заданном к):
N
^ = -NL. (8)
nq
Зная доли необнаруживаемых искажений заданной кратности d от общего числа искажений той же кратности (табл. 6 и 7) и принимая допущение о равновероятности появления информационных векторов кодов, а также о независимости искажений каждого разряда, можно определить вероятность возникновения необнаруживаемой ошибки в информационных векторах кодов [9]:
Qm =1 Qmd = X VdCtp^ (1 - Р)" , (9)
deD deD
где p - вероятность отсутствия искажения одного информационного разряда; D - множество кратностей необнаруживаемых искажений.
Рассчитанные вероятности возникновения необнаруживаемых искаже-
*
ний приведены в табл. 8. Новые коды при модификации (любые О (n, т)-коды) обладают минимальными вероятностями возникновения необнаруживаемых искажений, в том числе искажений малой кратности d = 2.
Таблица 8
Вероятностные характеристики кодов
Код Qm,d Qm
d = 2 d = 3 d = 4
1 2 3 4 5
S(7, 4) 0,0243 0 0,0000375 0,0243375
0(6, 4) 0,0243 0 0 0,0243
0*(6, 4) 0,0081 0,0018 0 0,0099
RS2(6, 4)-а1 0,0243 0 0 0,0243
RS2(6, 4)-а2 0,0162 0 0,0001 0,0163
S(8, 5) 0,03645 0 0,00016875 0,0366188
11
Безопасность, надежность и техническая диагностика
Окончание табл. 8
1 2 3 4 5
Q(8, 5) 0,01458 0 0,00009 0,01467
Q*(8, 5) 0 0,00162 0,00009 0,00171
RS4(8, 5)-а1 0,02187 0 0,000045 0,021915
RS4(8, 5)-а2 0,01458 0 0,000135 0,014715
Q(7, 5) 0,02916 0 0,00027 0,02943
Q*(7, 5) 0,01458 0,00324 0,00009 0,01791
RS2(7, 5)-а1 0,04374 0 0,00009 0,04383
RS2( 7, 5)-а2 0,02916 0 0,00027 0,02943
3 Тестеры Q(n, m)-кодов
В схеме функционального контроля элементом, осуществляющим проверку соответствия появляющихся векторов некоторому, заранее выбранному коду, является тестер [1], [2], [10]. Рассмотрим синтез тестеров
*
для кодов Q (n, m).
*
Поскольку код Q (n, m) - разделимый, тестер легко представляется в виде классической структуры совокупности генератора и компаратора (рис. 1), применимой в любой схеме функционального контроля, полученной по методу вычисления контрольных разрядов [10]. Генератор по значениям информационных разрядов, выступающих в схеме функционального контроля в качестве выходов контролируемого логического устройства, вычисляет функции а1, а2, ..., ак. В свою очередь эти же функции формируются блоком дополнительной логики. Компаратор проводит сравнение функций. В случае совпадения одноименных а, на выходах компаратора z1 и z2 формируется парафазный сигнал <01> или <10>. В противном случае (если действует помеха) парафазность нарушается.
Xi
*2
Z\
Z2
Рис. 1 Схема тестера
12
Безопасность, надежность и техническая диагностика
Компаратор строится на основе каскадного соединения самопрове-ряемых модулей сравнения парафазных сигналов TRC (two-rail checker) по аналогии с тестерами кодов с суммированием [11]. Генератор синтезируется по линейным функциям, описывающим контрольные разряды (см. формулы (3)-(7)). Используются сумматоры по модулю два (mod 2). Синтез по
такому принципу позволяет получать самопроверяемые тестеры для кодов * *
Q (n, m). На рис. 2 в качестве примера приводится тестер кода Q (8, 5).
ai a2 аз
Рис. 2 Схема тестера кода 5)
Заключение
Завершая изложение, отметим, что полученные в настоящей работе новые разделимые коды Q(n, m) и Q (n, m) позволяют организовывать схемы функционального диагностирования, обладающие улучшенными характеристиками по обнаружению искажений в контролируемых выходах комбинационных логических устройств.
Библиографический список
1. Сапожников В. В. Основы технической диагностики / В. В. Сапожников, Вл. В. Сапожников. - М. : Маршрут, 2004. - 316 с. - ISBN 5-89035-123-0.
2. Lala P. K. Self-checking and Fault-tolerant Digital Design / University of Arkansas, 2001. - 216 p. - ISBN 0124343708.
3. Berger J. M. A note on error detection codes for asymmetric channels / Information and Control. - 1961. - 4, № 3. - Pp. 68-73.
13
Безопасность, надежность и техническая диагностика
4. Сапожников В. В. Предельные свойства кода с суммированием / В. В. Сапожников, Вл. В. Сапожников, Д. В. Ефанов // Известия Петербургского университета путей сообщения. - 2010. - Вып. 3. - С. 290-299. - ISSN 1815-588 X.
5. Concurrent Error Detection Based on New Code with Modulo Weighted Transitions between Information Bits / V. Mehov, V. Saposhnikov, Vl. Saposhnikov, D. Ur-ganskov // IEEE East-West Design&Test Workshop (EWDTW 07), Yerevan, Armenia. -2007. - Pp. - 21-26.
6. Мехов В. Б. Контроль комбинационных схем на основе модифицированных кодов с суммированием / В. Б. Мехов, В. В. Сапожников, Вл. В. Сапожников // Автоматика и телемеханика. - 2008. - № 8. - С. 153-165. - ISSN 0005-2310.
7. Блюдов А. А. Модифицированный код с суммированием для организации контроля комбинационных схем / А. А. Блюдов., В. В. Сапожников, Вл. В. Сапожников // Автоматика и телемеханика. - 2012. - № 1. - С. 169-177.- ISSN 0005-2310.
8. Ефанов Д. В. О свойствах кода с суммированием в схемах функционального контроля / Д. В. Ефанов, В. В. Сапожников, Вл. В. Сапожников // Автоматика и телемеханика. - 2010. - № 6. - С. 155-162. - ISSN 0005-2310.
9. Сапожников В. В. Вероятностные свойства кода с суммированием в схемах функционального контроля / В. В. Сапожников, Вл. В. Сапожников, Д. В. Ефанов // Автоматика и телемеханика железных дорог России. Техника, технология, сертификация : Сб. науч. трудов. - СПб. : ПГУПС, 2011. - С. 3-13. - ISBN 978-5-7641-0030-2.
10. Сапожников В. В. Самопроверяемые дискретные устройства / В. В. Сапожников, Вл. В. Сапожников. - СПб. : Энергоатомиздат, 1992. - 224 с. - ISBN 5-28304605-2.
11. Мельников А. Г. Синтез самопроверяющихся тестеров для кодов с суммированием / А. Г. Мельников, В. В. Сапожников, Вл. В. Сапожников // Проблемы передачи информации. - Т. XXII. - 1986. - № 2. - С. 85-97.
14