126
Проблематика транспортных систем
Важным представляется и повышение демпфирования в упругих элементах ВСП, что может быть обеспеченно за счет применения в качестве прокладок под рельсы и плиты ВСП высокодемпфирующих материалов.
Библиографический список
1. Родес Д. Тенденции развития конструкции верхнего строения пути // Железные дороги мира. - 2002. - №1.
2. Вериго М. Ф., Коган А. Я. Взаимодействие пути и подвижного состава. - М.: Транспорт, 1986.
3. Савинов О. А. Сейсмоизоляция сооружений (концепция, принцип устройства, особенности расчета) // Динамические проблемы строительной техники: Избр. статьи и доклады. - СПб., 1993.
4. Кондратов В. В., Уздин А. М., Харина Ю. А. Основные дефекты конструкции безбалластного мостового полотна на железнодорожных мостах и их влияние на безопасность движения // Сейсмостойкое строительство. Безопасность сооружений. - 2004. - №1.
УДК 519.714.2
В. Б. Мехов, В. В. Сапожников, Вл. В. Сапожников
КОНТРОЛЬ КОМБИНАЦИОННЫХ СХЕМ НА ОСНОВЕ КОДОВ С СУММИРОВАНИЕМ ВЗВЕШЕННЫХ ПЕРЕХОДОВ
Рассматривается новый двоичный код с суммированием взвешенных переходов, относящийся к классу разделимых кодов с обнаружением ошибок. Разработана структура функционального контроля комбинационной схемы на основе предложенного кода.
код с обнаружением ошибок, схема контроля, тестер.
Введение
На рисунке 1 приведена обобщенная структура функционального контроля комбинационной схемы. Заданная схема fx) реализует систему булевых функций f (x), f2(x), ...,fn(x) от m переменных Хц Х2,xm. Для организации контроля устанавливается блок дополнительной логики g(x), который вычисляет такие функции g1(x), g2(x),..., gk(x), что рабочие выходные векторы <f f2...f g1 g2... gk> являются кодовыми словами некоторого кода с обнаружением ошибок. Факт принадлежности этих векторов выбранному коду контролируется с помощью специального устройства - тестера [1], [2].
При возникновении неисправностей в блоках f(x) и g(x) происходит искажение выходного вектора <f f2...f g1 g2 -. gn>, что фиксируется тестером. В качестве кода, на основе которого организуется контроль, может быть использован любой код с обнаружением ошибок. Наиболее часто применяется разделимый код, у которого отдельно выделяются информационная и контрольная части кодовой комбинации. При этом контрольная часть строится по заданной информационной части. При контроле комбинационной схемы (см. рис. 1) ин-
2006/2
Proceedings of Petersburg Transport University
Проблематика транспортных систем
127
формационная часть кодовой комбинации формируется на выходах основного блокаfx), а контрольная часть - на выходах дополнительного блока g^x).
В качестве тестера в структуре контроля комбинационной схемы используется самопроверяемый тестер (СПТ), имеющий два выхода (Zi и Z2) и обладающий свойствами контроля входного вектора и самопроверки. Если на входе исправного тестера присутствует вектор заданного кода, то на выходах Zi и Z2
формируются противоположные сигналы (Zi = Z 2). При поступлении на вход тестера некодового вектора или при возникновении неисправности в структуре самого тестера на его выходах формируются одинаковые сигналы (Zi = Z2), чем и фиксируется отказ схемы. Теория построения СПТ для разных кодов достаточно хорошо разработана [1]- [3].
Рабочие выходы
Zi
Z2
Рис. i. Структура функционального контроля комбинационной схемы
При построении структуры в соответствии с рисунком i решаются следующие задачи:
синтез схемы дополнительного блока g"(x) с минимальной сложностью; обеспечение обнаружения максимального числа неисправностей в основном блоке fx);
синтез схемы тестера с наименьшей сложностью;
формирование на входе СПТ проверяющего теста, обеспечивающего обнаружение всех одиночных неисправностей СПТ.
1 Традиционные структуры функционального контроля
ISSN i8i5-588 X. Известия ПГУПС
2006/2
128
Проблематика транспортных систем
Сложность дополнительного блока g(x) существенным образом определяется числом выходов gi(x), g2(x),gk(x), а следовательно, числом контрольных разрядов используемого разделимого кода.
На рисунке 2 приведена схема контроля на основе кода паритета (кода с контролем на четность), в которой дополнительный блок вычисляет только одну контрольную функцию (минимальное число контрольных функций):
g(x)= fl(x) ©J2(x) 0.. .0 fn(x).
Zi
Z2
Рис. 2. Схема контроля методом паритета
Тестер включает в себя схему из последовательно соединенных элементов М2, реализующих функцию «сложение по модулю 2», которая также вычисляет функцию g(x).
На рисунке 3 приведена схема контроля на основе кода с повторением (схема дублирования), в которой дополнительный блок (второй экземпляр основного блока) вычисляет максимальное число контрольных функций. Тестер включает в себя схему сравнения парафазных сигналов TRC (two-rail checker), которая составляется из элементарных модулей сравнения двух парафазных сигналов [2].
На рисунке 4 приведена схема контроля на основе разделимого кода, в которой дополнительный блок вычисляет k контрольных функций, причем 2 < k <n. Тестер содержит генератор G, который вычисляет значения контрольных разрядов через функцииfi(x),f2(x),fn(x), реализуемые на выходах основного блока.
2006/2
Proceedings of Petersburg Transport University
Проблематика транспортных систем
129
Рис. 3. Схема контроля методом дублирования
Zi
Z2
Zi
Z2
Рис. 4. Схема контроля на основе разделимого кода
ISSN 1815-588 X. Известия ПГУПС
2006/2
130
Проблематика транспортных систем
В статье [4] предложен разделимый код с суммированием S(n/k) (n - общее число разрядов кодовых слов, к - число информационных разрядов). В таблице 1 представлен S(5/3)-код. Образуется множество из 2к информационных слов. Каждому информационному слову присваивается контрольное слово из ]/og2(k+1)[ разрядов. Контрольное слово образуется как двоичное число, отражающее количество единиц (нулей), содержащихся среди k символов соответствующего информационного слова. Генератор G для S(n/k)-кода составляется из элементарных модулей: полных (FA) и полусумматоров (HA).
ТАБЛИЦА 1. Разделимые коды
Информационное сло- Контрольные слова
во S(5/3)-код S1(6/3)-код S2(5/3)-код
*3 *2 *1 У2 У1 У3 У2 У1 У2 У1
0 0 0 0 0 0 0 0 0 0
0 0 1 0 1 0 0 1 0 1
0 1 0 0 1 0 1 0 1 1
0 1 1 1 0 0 1 1 1 0
1 0 0 0 1 0 1 1 1 0
1 0 1 1 0 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1
1 1 1 1 1 1 1 0 0 0
В таблице 2 приведены характеристики схем контроля на основе кодов паритета (Д4/3)-код), дублирования (0(6/3)-код) и суммирования ^(5/3)-код). Во всех случаях применяется код с тремя информационными разрядами. Неисправности элементов внутри основного блока^(х) приводят к искажению сигналов на выходах блока, что соответствует возникновению ошибок (искажений разрядов) в информационных словах. Неисправности в дополнительном блоке и соответственно ошибки в контрольных словах не рассматриваются. Поэтому общее число ошибок и число ошибок каждой кратности (в данном случае кратности 1, 2, 3) для всех кодов одинаковы.
ТАБЛИЦА 2. Характеристики схем контроля
Коды Число/процент необнаруживаемых ошибок Q W
Кратность ошибки 1 2 3 Всего
Общее число ошибок 24 24 8 56
/>(4/3)-код 0 24/100 0 24/42,9 0,216 6
И(6/3)-код 0 0 0 0 0 12
S(5/3)-код 0 12/50 0 12/21,4 0,108 17
S1(6/3)-код 0 0 2/25 2/3,6 0,002 37
S2(5/3)-код 0 0 8/100 8/14,3 0,008 12
В столбце Q приводится вероятность возникновения всех необнаруживаемых ошибок при заданной вероятности отсутствия искажения одного разряда
2006/2
Proceedings of Petersburg Transport University
Проблематика транспортных систем
131
P = 0,9. Например, для Р(4/3)-кода не обнаруживаются 24 ошибки кратности 2. Поэтому
Q = 24p(1 - p)2 = 24-0,9(1 - 0,9)2 = 0,216.
В столбце W приводится сложность тестера как число элементов с двумя входами без учета реализуемых на входах инверсий.
Из таблицы 2 видно, что увеличение числа контрольных разрядов (а следовательно увеличение числа выходов дополнительного блока и его сложности) приводит к уменьшению числа необнаруживаемых ошибок и вероятности Q, а также к уменьшению сложности тестера.
На практике наиболее часто используется 8(п/К)-код, т. к. он обеспечивает сравнительно небольшое число выходов дополнительного блока при достаточно высокой обнаруживающей способности.
В работе [5] предложен модифицированный код с суммированием S1(n/k), который строится следующим образом. Каждому разряду xj информационных слов присваивается вес Uj = i, как это показано в таблицы 3. Для данного информационного слова подсчитывается число а по формуле:
a = YuUj, (1)
ieR
где R - множество индексов разрядов, принимающих единичное значение в рассматриваемом информационном слове.
ТАБЛИЦА 3. Веса разрядов
Код Веса разрядов
*3 Х2 Х1
S1(6/3) 3 2 1
S2(5/3) 2 1
Контрольное слово является двоичным представлением числа а. В соответствии с правилом построения S1(n/k)-код получил название «код с суммированием весов разрядов».
2 Структура функционального контроля на основе кодов с суммированием взвешенных переходов
Рассмотрим новый код с суммированием взвешенных переходов S2(n/k), который строится следующим образом. Рассматривается каждый переход между информационными разрядами xj и X+1, которому присваивается вес U +1 = i (см. табл. 3). Для данного информационного слова подсчитывается число b по формуле:
ISSN 1815-588 X. Известия ПГУПС
2006/2
132
Проблематика транспортных систем
b = ZUi J+1, (2)
ieR
где R - множество переходов xi — xi+1, для которых xi Ф xi+i.
Контрольное слово является двоичным представлением числа b. В таблице 1 для значения к = 3 приведены коды 51(6/3) и 52(5/3). На рисунках 5 и 6 представлены тестеры, а в таблице 2 - характеристики схем контроля на основе этих кодов. Из таблице 2 видно, что модифицированные коды имеют лучшие характеристики по обнаружению ошибок, чем 5(п/к)-код. Однако модифицированные коды имеют большее число контрольных разрядов h = n — к. В таблице 4 приведены значения h для некоторых значений к.
Xi
X2
X3
У3
У2
У1
Zi
Z2
Рис. 5. Тестер кода 51 (6/3)
2006/2
Proceedings of Petersburg Transport University
Проблематика транспортных систем
133
Xi
X2
X3
У1
У2
Zi
Z2
Рис. 6. Тестер кода 52(5/3)
ТАБЛИЦА 4. Число контрольных разрядов
k 3 4 5 6 7 8 9 17 50 100
h S(n/k)-код 2 3 3 3 4 4 4 5 6 7
S1(n/k)-код 3 4 4 5 5 6 6 8 11 13
S2(n/k)-код 2 3 4 4 5 5 6 7 11 13
Число контрольных разрядов определяется по формулам:
- 8(п/к)-код: h=]log2 k+1[;
- 51(п/к)-код: h=]log2k(k +1 [;
2
- 52(п/к)-код: h=]log2k(k -1 [.
2
С целью уменьшения числа контрольных разрядов изменим правила построения кода S2(n/k). Код S3(n/k) строится так же, как и код S2(n/k), но каждому переходу между информационными разрядами xj и x+i присваивается вес Ui, j+1 = 2j 1 (см. табл. 5). В таблице 6 представлен код S3(9/5).
ТАБЛИЦА 5. Веса переходов S3(n/k)-кода
Код Веса переходов
х5 х4 Х3 Х2 Х1
S3(n/k) 23 22 21 20
ISSN 1815-588 X. Известия ПГУПС
2006/2
134
Проблематика транспортных систем ТАБЛИЦА 6. Коды 53(9/5) и S4(8/5)
Информационное слово Контрольное слово Информационное слово Контрольное слово
S3(9/5)-код S4(8/5)- код S3(9/5)-код S4(8/5)- код
Х5 Х4 X3 X2 X1 у 4 у3 у2 у1 у3 у2 у1 Х5 Х4 Х3 Х2 Х1 у 4 у3 у2 у1 у3 у2 у1
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 0 1 1 0 0 1 1 0 1
0 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 1 0 1 1 1 1 1
0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 1 1 0 1 0 1 1 0
0 0 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 1 1 1 0 1 1 0
0 0 1 0 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1
0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1
0 0 1 1 1 0 1 0 0 0 0 0 1 0 1 1 1 1 1 0 0 1 0 0
0 1 0 0 0 1 1 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0
0 1 0 0 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 0 1 0 0 1
0 1 0 1 0 1 1 1 1 1 1 1 1 1 0 1 0 0 1 1 1 0 1 1
0 1 0 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 0
0 1 1 0 0 1 0 1 0 1 1 0 1 1 1 0 0 0 0 1 0 0 1 0
0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 1 0 1 1
0 1 1 1 0 1 0 0 1 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1
0 1 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0
Код S3(n/k) обладает следующими свойствами. Число контрольных разрядов кода h = k—1. Два кодовых слова, имеющих взаимно инверсные информационные векторы, включают в себя одинаковые контрольные части. Например, в 53(9/5)-коде (см. табл. 6) такими являются слова <Х5 Х4 Х3 Х2 Xi у4 уз У2 yi>= 000000000 и <Х5 Х4 Х3 Х2 Х1 у4 у3 у2 у1>= 111110000 и т. д. Поэтому код обнаруживает все ошибки 1, 2,..., k-1 кратности и не обнаруживает только 2k ошибок кратности k. Контрольные функции вычисляются по формуле: у1 = Х Ф Х+1 (ie{1,2,...,k-1}). Из этих свойств следует, что схема контроля
на основе S3(n/k)-кода по своим характеристикам близка к схеме дублирования.
Далее рассмотрим код S4(n/k), который является модификацией кода S3(n/k) и требует того же числа контрольных разрядов, что и код S(n/k). В таблице 6 представлен код S4(8/5).
Строится код следующим образом. Определяются параметры кода t=]log2k[ и q=2t-1. Для каждого информационного слова по формуле (2) вычисляется число b по правилу: если сумма разрядов информационного слова Xk
* *
Ф х^(х) Ф...Ф xt+1=0, то b = b(q), в противном случае b = b(q)+q.
Здесь b(q) означает число b, рассчитанное по модулю q. Контрольное слово
*
является двоичным представлением числа b . Для кода S4(8/5) имеем: t = 3,
q = 4. В таблице 6 рассмотрим информационное слово 00111. В соответствии с
*
(2) b = 4. Так как Х5 Ф Х4 = 0, то b = 4(4) = 0. Поэтому контрольным для данного информационного слова является вектор 000.
2006/2
Proceedings of Petersburg Transport University
Проблематика транспортных систем
135
Рассмотрим информационное слово 01111. В соответствии с (2) b= 8. Так как X5 © х4 = 1, то b = 8(4) + 4 = 0 + 4 = 4. Поэтому контрольным является вектор 100.
Контрольные функции для кода S4(n/k) вычисляются по формулам:
У1= Х1 © Х2;
У2= Х2 © Хз; yt-1= Xt-1 © Xt; y t= Xt+1 ©...© Xk-1 © Xk.
Для S4(8/5) получаем:
У1= X1 © X2;
y2= X2 © X3;
Уз= X4 © X5.
На рисунке 7 представлена структура контроля комбинационной схемы на основе кода S4(8/5). Генератор в схеме контроля для кода S4(n/k) реализуется при помощи k-2 элементов М2. В таблице 7 проведено сравнение характеристик схем контроля на основе кодов S(8/5) и S4(8/5). Предложенный код дает возможность построить схему контроля, которая по сравнению с кодом S(n/k) позволяет уменьшить общее число необнаруживаемых ошибок в 2,29 раза, число необнаруживаемых двойных ошибок - в 2,5 раза, вероятность возникновения необнаруживаемых ошибок - в 2,26 раза, сложность тестера - в 2 раза.
ТАБЛИЦА 7. Характеристики схем контроля для k = 5
Коды Число/процент необнаруживаемых ошибок б W
Кратность ошибки 1 2 3 4 5 Всего
Общее число ошибок 160 320 320 160 32 992
S(8/5)-код 0 80/25 0 40/25 0 220/22,2 0,5868 42
S4(8/5)-код 0 32/10 32/10 0 32/100 96/9,7 0,25962 21
ISSN 1815-588 X. Известия ПГУПС
2006/2
136
Проблематика транспортных систем
Zi
Z2
Рис. 7. Схема контроля на основе кода £4(8/5)
Заключение
Рассмотрены схемы контроля комбинационных схем на основе разделимых кодов с обнаружением ошибок. Предложен новый код с суммированием взвешенных переходов, который позволяет улучшить характеристики схем контроля по сравнению с известными схемами.
Библиографический список
1. Согомонян Е.С., Слабаков Е.В. Самопроверяемые устройства и отказоустойчивые системы. - М.: Радио и связь, 1989.
2. Сапожников В.В., Сапожников Вл.В. Самопроверяемые дискретные устройства. -СПб.: Энергоатомиздат, 1992.
3. Piestrak S.J. Design of Self-Testing Checkers for Unidirectional Error Detecting Codes. -Wroclaw: Technical University, 1995.
4. Berger J.M. A note on error detecting codes for asymmetric channels // Information and Control. - 1961. - Vol. 4. - №3.
5. Das D.,Touba N.A., Seuring M., Gossel M. Low Cost Concurrent error detection based on modulo weight-base codes // Proc. 6th IEEE Int. On-Line Testing Workshop, Palma de Mallorca, Spain. - 2000.
2006/2
Proceedings of Petersburg Transport University