Научная статья на тему 'Эффективный способ модификации кодов с суммированием единичных информационных разрядов'

Эффективный способ модификации кодов с суммированием единичных информационных разрядов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
115
10
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТЕХНИЧЕСКАЯ ДИАГНОСТИКА / КОД С СУММИРОВАНИЕМ / КОД БЕРГЕРА / МОДИФИЦИРОВАННЫЙ КОД БЕРГЕРА / УЛУЧШЕНИЕ ХАРАКТЕРИСТИК ОБНАРУЖЕНИЯ ОШИБОК / TECHNICAL DIAGNOSTICS / CODE SUMMATION / BERGER CODE / MODIFIED BERGER CODE / IMPROVED ERROR DETECTION ABILITY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Сапожников В. В., Сапожников Вл В., Ефанов Д. В.

Предлагается новый принцип модификации кодов с суммированием единичных информационных разрядов, который позволяет расширить класс модифицированных кодов и получать коды с улучшенными характеристиками обнаружения ошибок малой кратностью. Приведен обзор способов модификации классических кодов с суммированием единичных информационных разрядов. Описывается метод построения модифицированных кодов с суммированием, основанный на определении наименьшего неотрицательного вычета веса неполного информационного вектора и контроле „неиспользованных“ информационных разрядов с помощью поправочного коэффициента, являющегося сверткой по модулю два (в том числе, в поправочный коэффициент могут входить и разряды, по которым определяется вычет веса). Рассмотрены все возможные способы построения помехоустойчивых модифицированных кодов с суммированием. Проанализированы характеристики обнаружения ошибок в информационных векторах таких кодов. Показано, при каких условиях код с суммированием будет обнаруживать наибольшее количество двукратных ошибок в информационных векторах, а также при каких условиях код будет иметь минимальное количество монотонных необнаруживаемых ошибок. Представленный принцип модификации кодов с суммированием позволяет увеличить множество известных кодов, используемых при решении задач технической диагностики дискретных систем.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Сапожников В. В., Сапожников Вл В., Ефанов Д. В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Effective method of modifying code with on-bits summation

A new principle of modification of codes with summation of on-bits that allows to expand the class of modified codes and obtain codes with better characteristics of low multiplicity error detection is proposed. An overview of known methods of classical codes modifications with summation of individual information bits is presented. A method of constructing modified codes with summation, based on determination of the smallest nonnegative deduction weight incomplete information vector and control of "unused" information bits by using the correction coefficient, which is a convolution modulo two is described; in particular, the correction factor may include discharge, subject to a deduction of the weight. All the possible ways of constructing error-correcting codes modified with the summation are considered. Characteristics of error detection in the information vectors of these codes are analyzed. The conditions, under which a code with summation detects the maximal number of double errors in the information vectors and the conditions under which the code will have the minimum number of monotone non-detectable errors are established. The presented principle of codes modification is shown to allow for increasing the number of well-known codes used in technical diagnostics of discrete systems.

Текст научной работы на тему «Эффективный способ модификации кодов с суммированием единичных информационных разрядов»

ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА

УДК 681.518.5:004.052.32 DOI: 10.17586/0021-3454-2017-60-11-1020-1032

ЭФФЕКТИВНЫЙ СПОСОБ МОДИФИКАЦИИ КОДОВ С СУММИРОВАНИЕМ ЕДИНИЧНЫХ ИНФОРМАЦИОННЫХ РАЗРЯДОВ

В. В. Сапожников, Вл. В. Сапожников, Д. В. Ефанов

Петербургский государственный университет путей сообщения Императора Александра I,

190031, Санкт-Петербург, Россия E-mail: [email protected]

Предлагается новый принцип модификации кодов с суммированием единичных информационных разрядов, который позволяет расширить класс модифицированных кодов и получать коды с улучшенными характеристиками обнаружения ошибок малой кратностью. Приведен обзор способов модификации классических кодов с суммированием единичных информационных разрядов. Описывается метод построения модифицированных кодов с суммированием, основанный на определении наименьшего неотрицательного вычета веса неполного информационного вектора и контроле „неиспользованных" информационных разрядов с помощью поправочного коэффициента, являющегося сверткой по модулю два (в том числе, в поправочный коэффициент могут входить и разряды, по которым определяется вычет веса). Рассмотрены все возможные способы построения помехоустойчивых модифицированных кодов с суммированием. Проанализированы характеристики обнаружения ошибок в информационных векторах таких кодов. Показано, при каких условиях код с суммированием будет обнаруживать наибольшее количество двукратных ошибок в информационных векторах, а также при каких условиях код будет иметь минимальное количество монотонных необнаруживаемых ошибок. Представленный принцип модификации кодов с суммированием позволяет увеличить множество известных кодов, используемых при решении задач технической диагностики дискретных систем.

Ключевые слова: техническая диагностика, код с суммированием, код Бергера, модифицированный код Бергера, улучшение характеристик обнаружения ошибок

Введение. При построении надежных систем автоматического управления, как правило, применяются методы помехоустойчивого кодирования [1—3]. При этом используются как корректирующие коды (например, коды Хэмминга при передаче данных на удаленные объекты в системах железнодорожной автоматики [4]), так и коды, ориентированные на обнаружение ошибок (например, равновесные коды и коды с суммированием при контроле шин данных в микропроцессорных реализациях компонентов систем управления [5]).

На этапе проектирования аппаратных средств автоматики для создания возможности обнаружения неисправностей и исключения их накопления часто применяются коды, ориентированные на обнаружение ошибок [6]. Кроме того, такие коды имеют меньшую избыточность, чем корректирующие коды, что позволяет создавать более простые дискретные устройства [7]. Например, при построении самопроверяемых схем встроенного контроля (систем функционального контроля [8, 9]) часто используются равномерные разделимые коды, или

(т,к)-коды, где т и к — длины информационных и контрольных векторов соответственно. При этом, как правило, применяются (т,к)-коды, в которых длина информационного вектора значительно превышает длину контрольного вектора [10]. К таким кодам относятся коды с суммированием. Так, повсеместно используемый код паритета [11—14] имеет всего один контрольный разряд (к=1), а классический код с суммированием, или код Бергера [15, 16], —

к = |~1о§2 (т +1)~| контрольных разрядов (запись |~..."| обозначает целое сверху от вычисляемого значения).

Различные (т,к)-коды имеют разные характеристики обнаружения ошибок в информационных векторах и обладают различной сложностью функций, описывающих разряды контрольного вектора. Это обстоятельство влияет на особенности обнаружения неисправностей в компонентах устройств автоматики, а также на вносимую при их разработке избыточность.

Известно большое количество модификаций кодов Бергера, позволяющих строить коды с суммированием с различными свойствами. В настоящей статье предлагается способ расширения известного [17—21] класса модифицированных кодов с суммированием единичных информационных разрядов.

Коды с суммированием единичных информационных разрядов. Рассмотрим способы построения кодов с суммированием единичных информационных разрядов.

Классический код с суммированием, или код Бергера, разработан в конце 50-х гг. XX века, правила построения кода впервые опубликованы в работе [15]. Обозначим код Бергера как £(т,к)-код. При построении £(т,к)-кода подсчитывается число единичных информационных разрядов (определяется вес г информационного вектора), которое представляется в двоичном виде и записывается в разряды информационного вектора. Следует отметить, что в оригинале [15] предполагается подсчет количества нулевых разрядов, но вследствие используемой системы счисления свойства кода никак не изменяются при подсчете единичных разрядов, более того, при схемной реализации их удобно подсчитывать путем применения стандартных схем сумматоров и полусумматоров [22]. Коды Бергера обнаруживают любые монотонные и асимметричные ошибки в информационных векторах (монотонные ошибки связаны с наличием искажений только нулевых или только единичных разрядов, а асимметричные — с возникновением искажений и нулевых, и единичных разрядов, при этом количество этих искажений различно). Не обнаруживаются кодами Бергера любые симметричные ошибки (при таких ошибках искажается одинаковое количество нулевых и единичных разрядов). Число таких ошибок, однако, существенно. В работе [23] доказано, что £(т,к)-коды вне зависимости от длины информационного вектора не обнаруживают Р^ = С^2 -100% ошибок

любой четной кратностью ё (запись Созначает число сочетаний). Это, к примеру, 50 %

двукратных и 37,5 % четырехкратных ошибок.

Некоторым предельным случаем кода с суммированием является код паритета — его единственный контрольный разряд вычисляется как свертка по модулю два всех информационных разрядов. При минимальной избыточности таким кодом не обнаруживаются любые ошибки четной кратностью ё.

Часто при построении систем автоматики применяются так называемые коды Боуза — Лина [10, 24], позволяющие реализовать более простые контролепригодные дискретные устройства, чем при использовании кодов Бергера. При построении кодов Боуза — Лина фиксируется значение модуля М=4 или М=8, а затем подсчитывается наименьший неотрицательный вычет веса информационного вектора по выбранному модулю. Коды Боуза — Лина входят во множество модульных кодов с суммированием, или £М(т,к)-кодов, со значением модуля

М е <2; 4; 8;...; 2|1оВ2(т+1Я 11. Выбор указанных значений модуля обусловлен представлением

получаемых в этом случае значений наименьших неотрицательных вычетов: для SM(m,k)-кода всегда будут формироваться все контрольные векторы, при этом сами контрольные функции будут полностью соответствовать k = log2 M контрольным функциям кода Бергера, описывающим младшие разряды контрольного вектора. Следует также отметить, что при построении SM(m,k)-кода могут применяться и другие значения модулей из множества M е {2; 3;...; m +1] (значение M = m +1 соответствует модулю кода Бергера). При этом количество разрядов в контрольном векторе будет равно k = |log2 M |, а сами выражения, описывающие контрольные функции, будут существенно отличаться от выражений, описывающих контрольные разряды кода Бергера. Свойства данного класса кодов с суммированием подробно изучены в работах [25—28]. SM(m,k)-коды, так же как и коды Бергера, не обнаруживают любые симметричные ошибки. Кроме того, SM(m,k)-кодами не обнаруживаются все монотонные ошибки кратностью d = jM, j = 1,2,..., p, p < [m/M J (запись [...J обозначает

целое снизу от вычисляемого значения), а также некоторая доля асимметричных ошибок кратностью d = M + 2j, гдеj=1, 2, ... (d<m).

В работе [29] представлен алгоритм построения модифицированного кода Бергера, предполагающий подсчет значения модифицированного веса информационного вектора по формуле W = r (modM) + aM, где r (modM) — значение наименьшего неотрицательного

вычета веса по модулю M = 2|log2 (m+1)J 1, а поправочный коэффициент а определяется как свертка по модулю два старших m-k информационных разрядов: a = fm ® fm_1 ®...® fm_k+1 ® fm_k. Данные коды обозначены как RS(m,k)-коды.

Как показано в работах [18, 19], количество различных модифицированных кодов Бергера может быть увеличено за счет выбора различных подмножеств информационных разря-

риантов построения RS(m,k)-кодов. Все модифицированные коды с одинаковым количеством разрядов в сумме поправочного коэффициента будут обладать одинаковыми характеристиками обнаружения ошибок в информационных векторах. При этом RS(m,k)-коды с длиной информационного вектора m<8 при любых способах подсчета коэффициента а будут иметь одинаковое общее количество необнаруживаемых ошибок. При т>8 для RS(m,k)-кодов будет наблюдаться следующая закономерность: с увеличением количества разрядов информационного вектора в сумме поправочного коэффициента от величины t (а) = 1 к величине

t (а) = 1_т/ 2] уменьшается общее количество необнаруживаемых ошибок. Такая же тенденция характерна для двукратных необнаруживаемых ошибок при любых значениях m.

Уменьшая значение модуля и выбирая его из множества M е |2; 4; 8;...; 2^°82(т+1)_1 21,

можно строить целые семейства модульно модифицированных кодов с суммированием, или RSM(m,k)-кодов [20, 21]. Данным кодам присущи свойства RS(m,k)-кодов. А для случаев RS2(m,k)- и RS4(m,k)-кодов общее количество необнаруживаемых ошибок при конкретном значении m постоянно при любых правилах подсчета коэффициента а.

Необходимо отметить, что RS(m,k)- и RSM(m,k)-коды, являясь модификациями классических кодов с суммированием единичных информационных разрядов, имеют схожие с ними свойства обнаружения ошибок: ими не обнаруживаются некоторые симметричные ошибки, часть монотонных ошибок кратностью d = ]Ы, у = 1, 2,..., p, p < |_m/M\, а также некоторая доля асимметричных ошибок кратностью d = М + 2 у, где у'=1, 2, ... ^<т). За счет минимиза-

m_1

дов при подсчете значения поправочного коэффициента. Всего возможны

ции количества необнаруживаемых ошибок каждого вида модифицированные коды имеют улучшенные свойства по сравнению с S(m,k)- и £М(да,£)-кодами. Л5М(да,£)-коды, так же как и SM(m,k)-коды, могут быть построены и для модуля, не равного степени числа два, а выбранного из множества M е |2; 3;...; 2^°82(m+1)l 1 j.

В работе [21] предложена классификация кодов с суммированием, охватывающая известные классические и модульные коды с суммированием, а также их модификации. Тем не менее исследования показывают, что возможно расширение класса модифицированных кодов, если определять значение наименьшего неотрицательного вычета веса не всего информационного вектора, а вектора, образованного удалением одного или нескольких разрядов, т.е. неполного информационного вектора. Остальные правила следует оставить прежними. Изложению результатов исследований особенностей обнаружения ошибок кодами с суммированием указанной модификации, обозначим их как RSEXP(m,k) -коды (индекс „EXP' образован от английского expansion — расширение ), и посвящена данная статья.

На рис. 1 приведена классификация кодов с суммированием единичных информационных разрядов с учетом известных классических и модифицированных кодов с суммированием, а также введенных в рассмотрение RSEXP(m,k)-кодов.

Рис. 1

Расширенный класс модифицированных кодов с суммированием единичных информационных разрядов. Известный ранее способ модификации кода Бергера основан на подсчете наименьшего неотрицательного вычета веса всего информационного вектора — определении числа r (mod M) — и дополнительном контроле части информационных разрядов с помощью коэффициента а (свертки по модулю два значений определенного числа разрядов). Фактически, значение числа r (modM) записывается в |log2 M| младших разрядах

контрольного вектора, а значение поправочного коэффициента — в старшем контрольном разряде. Таким образом, часть информационных разрядов контролируется и в младших, и в старших разрядах контрольного вектора. На рис. 2, а показан пример построения кода для случая m=6 (g1, g2, g3 — разряды контрольного вектора).

При определении наименьшего неотрицательного вычета веса неполного информационного вектора — получении числа r'(modM) — „неиспользованные" информационные

разряды следует контролировать в свертке по модулю два при вычислении поправочного коэффициента (рис. 2, б). В противном случае код потеряет свойство помехоустойчивости.

Рис. 2

Исследования показывают, что RSEXP(m,k)-кодъl при определенных условиях построения обнаруживают большее количество двукратных ошибок по сравнению с RS(m,k)-кодами, также существует возможность уменьшения количества необнаруживаемых ошибок различного вида (монотонных, симметричных и асимметричных).

Определим, как изменяются свойства кодов при вычислении наименьшего неотрицательного вычета неполного информационного вектора. Анализ удобно проводить по табличной форме задания кода, где все информационные векторы распределены между контрольными векторами (соответствуют контрольным группам) [23].

При известном способе модификации при М = 2^°82 (т+1)_1 1 [18] в одной контрольной группе оказываются только информационные векторы с одинаковым по четности весом. Это определяется четностью значения модуля. Таким образом, RS(m,k)-код обнаруживает любые ошибки нечетной кратностью в информационных векторах. Так как в одной контрольной группе RS(m,k)-кода оказываются также и разновесные векторы с одинаковым значением

вычета по модулю М = 2^°82 (т+1)_1 1 и одинаковыми значениями поправочных коэффициентов а, в классе необнаруживаемых данными кодами присутствуют монотонные ошибки кратностью с?=М Ошибки, вызываемые переходами между равновесными векторами одной и той же контрольной группы, будут симметричными необнаруживаемыми ошибками. Так как при вычислении поправочного коэффициента части равновесных векторов оказываются в разных контрольных группах, наблюдается уменьшение числа симметричных необнаруживаемых ошибок по сравнению с классическими кодами Бергера. Для некоторых модифицированных кодов группы, имеющие разновесные векторы, дают также некоторую долю асимметричных необнаруживаемых ошибок. Установлено [30], что такие ошибки имеют достаточно высокую кратность d = М + 2у, гдеу=1, 2, ... (й<ш). В табл. 1 рассмотрен RS(6,3)-код, для которого

а = /б Ф /5 Ф /4 . Данный код идентифицирует любые асимметричные ошибки в информационных векторах.

_Таблица 1

Контрольные группы

000 001 010 011 100 101 110 111

Информационные векторы

000000 000001 000011 000111 001111 001000 001001 001011

011011 000010 000101 011001 010111 010000 001010 001101

011101 000100 000110 011010 100111 100000 001100 001110

011110 011111 011000 011100 111001 111011 010001 010011

101011 101111 101000 101001 111010 111101 010010 010101

101101 110111 110000 101010 111100 111110 010100 010110

101110 101100 100001 100011

110011 110001 100010 100101

110101 110010 100100 100110

110110 110100 111111 111000

При рассмотрении особенностей распределения векторов -кода наблюдается

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

-коде с неполным вектором, состоящим из пяти младших разрядов, при вычислении поправочного коэффициента по формуле а = /б Ф /5 Ф /4 четность весов информационных векторов в контрольных группах нарушается (табл. 2). В рассматриваемом случае в одной контрольной группе присутствуют векторы с весами, различающимися либо на величину М (при равенстве старшего разряда /6=0), либо на величину М+1 (при равенстве старшего разряда /6=1).

Таблица 2

Контрольные группы

000 001 010 011 100 101 110 111

Информационные векторы

000000 000001 000011 000111 100000 001000 001001 001011

011011 000010 000101 011001 001111 010000 001010 001101

011101 000100 000110 011010 010111 100001 001100 001110

011110 101000 011000 011100 111101 100010 010001 010011

101111 110000 101001 101011 111110 100100 010010 010101

110111 011111 101010 101101 111011 111111 010100 010110

101100 101110 100011 100111

110001 110011 100101 111001

110010 110101 100110 111010

110100 110110 111000 111100

Состав контрольных групп в рассматриваемых модифицированных кодах в общем количественно не поменялся, что предопределило сохранение общего числа необнаруживаемых кодами ошибок. Наличие же в контрольных группах информационных векторов со значением г=М+1 привело к уменьшению количества двукратных симметричных переходов в каждой группе по сравнению с Л5(6,3)-кодом. Это, кроме того, привело к увеличению кратности не-обнаруживаемых ошибок, связанных с переходами внутри группы между векторами с весами

г=М и г=М+1 (увеличилось число асимметричных ошибок), а также к уменьшению количества монотонных переходов внутри каждой контрольной группы.

В табл. 3 приведена подробная информация о характеристиках необнаруживаемых ошибок рассмотренными модифицированными кодами с суммированием.

_Таблица 3

Вид ошибок Количество необнаруживаемых ошибок по кратностям d

1 2 3 4 5 6 1 - 6

RS(6,3)-^, a = / © / © /4

Монотонные 0 0 0 72 0 0 72

Симметричные 0 192 0 216 0 0 408

Асимметричные 0 0 0 0 0 0 0

Всего 0 192 0 288 0 0 480

rSex(6,3)-код с неполным вектором, состоящим из пяти младших разрядов, a = / © / © /

Монотонные 0 0 0 24 8 0 32

Симметричные 0 128 0 72 0 0 200

Асимметричные 0 0 192 0 56 0 248

Всего 0 128 192 96 64 0 480

Множество модифицированных кодов с суммированием. Рассмотренный выше RSexp(6,3)-код с неполным вектором, состоящим из пяти младших разрядов, поправочный коэффициент которого вычисляется по формуле a = / © / © /, — однако только один из кодов, которые могут быть построены для конкретной длины информационного вектора. Как было отмечено, количество способов подсчета поправочного коэффициента определяется ве-

m_1

личиной ^ C'm = 2m _ 2. Необходимо учесть, что вследствие равноправности разрядов в ин-

г=1

формационном векторе на характеристики кода будет влиять именно количество разрядов, входящих в сумму поправочного коэффициента, а не то, какие именно это разряды. Таким образом, множество модифицированных кодов с суммированием существенно сокращается до величины m, а поправочный коэффициент может содержать множество разрядов информационного вектора: {1; 2;...; m] . Например, при длине информационного вектора m=6 возможно построение шести различных RS(m,k)-кодов. Поскольку, как показано выше, вес r'( mod M) определяется по неполному информационному вектору, получаемому путем исключения некоторых разрядов, мощность множества RSEXP(m,k)-кодов будет превышать мощность множества RS(m,k)-кодов. Длину информационного вектора при условии, что M = 2[log2 (m+1)"1 1,

можно устанавливать от m- 1 до 2log2 M_1 (при количестве разрядов, меньшем обозначенной величины, старшие разряды в двоичном представлении вычета по модулю M будут всегда равны нулю). Длины неполных векторов, таким образом, могут быть выбраны из множества

{2log2M 1; 2log2M_1 +1;...; m _ 1]. Для RSE5p(6,3)-кодов, следовательно, длины неполных векторов могут быть равны 2, 3, 4 и 5.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Для каждого варианта неполных векторов поправочный коэффициент может быть вычислен m способами, однако если не будет учитываться значение разряда, не вошедшего в неполный информационный вектор, код не будет наделен свойством помехоустойчивости. Например, при длине неполного вектора, равной 4, при построении помехоустойчивого RS (6,3) -кода необходимо в сумму поправочного коэффициента внести как минимум два разряда, не вошедшие в неполный вектор. Таким образом, если m' — длина неполного вектора,

то варианты рассмотрения ЯБ^1" (т,к)-кодов с количеством разрядов в сумме поправочного коэффициента, равном т - (т' +1), следует исключить. Для примера со значением да'=4 не потребуется рассмотрение кодов с одним разрядом (т -(т' +1) = 6 -(4 +1) = 1) в сумме коэффициента а.

Все способы построения ЯБЕХР(6,3) -кодов представлены матрицей (рис. 3). Каждому модифицированному коду соответствует клетка, расположенная на пересечении строки, определяющей длину неполного вектора, и столбца, определяющего количество разрядов в сумме поправочного коэффициента. Существует 18 способов построения ЯБЕХР(6,3)-кодов. Модифицированные коды Бергера разбиты на группы I — V по количеству разрядов в векторе, по которому определяется наименьший неотрицательный вычет веса.

Количество разрядов, по которым рассчитывается поправочный коэффициент а _Л_

г

Л

г

Количество разрядов, по которым У рассчитывается вес

V.

6 5 4 3 2 1

6 ЯБ ЯБ ЯБ ЯБ ЯБ ЯБ - I

5 ябехр ябехр ябехр ябехр яБгхР ябехр - II

4 ЯБ^ ябЕХР ЯБ^ ябехр ябТ <— - III

3 ЯБ^ ябЕХР ЯБ^ ябехр <— - IV

2 ябГ ябЕхр ЯБТ <— - V

Рис. 3

Результаты исследований характеристик обнаружения ошибок различными кодами с суммированием при длине информационного вектора т=6 приведены в табл. 4. Для каждого кода указано количество необнаруживаемых ошибок конкретной кратностью и определенного вида. В последней графе указано общее количество необнаруживаемых кодом ошибок (величина Ыт).

Для каждой группы ЯБЕХР(т,к)-кодов с постоянным значением т' наблюдается следующая закономерность. -коды имеют одинаковые распределения ошибок по видам и кратностям в случаях, когда I (а) = ц и I(а) = т, I (а) = ц +1 и I (а) = т -1 и т.д. (здесь ц —

минимальное количество разрядов в поправочном коэффициенте, при котором сохраняется свойство помехоустойчивости).

Модифицированные коды I и II групп обнаруживают любые двукратные монотонные ошибки (коды других групп не обнаруживают некоторые монотонные двукратные ошибки).

Для ЯБЕР(т,к)-кодов, принадлежащих к одной группе, величина Ыт будет одинаковой вне зависимости от способа вычисления поправочного коэффициента. С уменьшением длины неполного вектора (значения т'), т.е. с увеличением номера группы, величина Ыт будет увеличиваться. Тем не менее значение Ыт для ЯБЕР(т,к)-кодов будет всегда меньше значения Ыт для классических кодов Бергера.

При т<8 коды I и II групп будут иметь наименьшее значение Ыт (за исключением ЯБ(т,к)-кода с а = /т Ф /т-1 Ф... Ф /2 Ф /1). При т>8 модифицированные коды будут иметь

модуль М=8, 16, ..., что скажется на характере изменения величины Ыт при изменении ^(а) .

В ЯБ(т,к)-кодах при т>8 величина Ыт уменьшается при увеличении ^ (а) от 1 к ^ (а) = |_т/2] .

Для В$ЕХР(т,к)-кодов II группы при т>8 значение Ыт равно общему количеству необнаружи-ваемых ошибок в информационных векторах Я8(т,к)-кодов (коды I группы) при X (а) = 1 или

X (а) = т -1.

_Таблица 4

№ п/п (т,к)-код Функция поправочного коэффициента а Вектор для подсчета веса Необнаруживаемые ошибки кратностью Л, монотонные / симметричные / асимметричные монотонные / симметричные / асимметричные

2 3 4 5 6

1 3(6,3) — <////> 480 0/480 / 0 0 0 / 0 / 0 360 0/360 / 0 0 0 / 0 / 0 20 0 / 20 / 0 860 0/860/0

2 й£(6,3) /в </4Ш/> 320 0/320 / 0 0 0 / 0 / 0 160 40 / 120/0 0 0 / 0 / 0 0 0 / 0 / 0 480 40 / 440 / 0

3 Й3(6,3) /в © /5 <//5//3//1> 224 0/224 / 0 0 0 / 0 / 0 224 56 / 168/0 0 0 / 0 / 0 32 0/20 / 12 480 56 / 412 / 12

4 Й3(6,3) /6 ©/5©/4 <//5//3//1> 192 0/192 / 0 0 0 / 0 / 0 288 72 / 216 / 0 0 0 / 0 / 0 0 0 / 0 / 0 480 72 / 408 / 0

5 Й3(6,3) /в © - ©/3 224 0/224 / 0 0 0 / 0 / 0 224 56 / 168/0 0 0 / 0 / 0 32 0/20 / 12 480 56 / 412 / 12

6 Й3(6,3) /в © - ©/2 320 0/320 / 0 0 0 / 0 / 0 160 40 / 120/0 0 0 / 0 / 0 0 0 / 0 / 0 480 40 / 440 / 0

7 Й3(6,3) /6 © -© /1 480 0/480 / 0 0 0 / 0 / 0 480 120 / 360 / 0 0 0 / 0 / 0 32 0/20 / 12 992 120 / 860 / 12

8 ЯБЕХР(6,3) /6 <///3//1> 320 0/320 / 0 0 0 / 0 / 0 160 40 / 120/0 0 0 / 0 / 0 0 0 / 0 / 0 480 40 / 440 / 0

9 ЯБЕХР(6,3) /6 © /5 192 0/192 / 0 128 0/0/128 32 8/24/0 128 16 / 0/112 0 0 / 0 / 0 480 24 / 216 / 240

10 ЯБЕХР(6,3) /в ©/5©/4 <///3//1> 128 0/128 / 0 192 0/0/192 96 24 / 72 / 0 64 8 / 0 / 56 0 0 / 0 / 0 480 32 / 200 / 248

11 ЯБЕХР(6,3) /6 © -© /3 <///3//1> 128 0/128 / 0 192 0/0/192 96 24 / 72 / 0 64 8 / 0 / 56 0 0 / 0 / 0 480 32 / 200 / 248

12 ЯБЕХР(6,3) /в © -© /2 <///3//1> 192 0/192 / 0 128 0/0/128 32 8/24/0 128 16 / 0/112 0 0 / 0 / 0 480 24 / 216 / 240

13 ЯБЕХР(6,3) /в © -© /1 <///3//1> 320 0/320 / 0 0 0 / 0 / 0 160 40 / 120/0 0 0 / 0 / 0 0 0 / 0 / 0 480 40 / 440 / 0

14 ЯБЕХР(6,3) /в © /5© 256 32 / 224/0 0 0 / 0 / 0 224 8 / 120 / 96 0 0 / 0 / 0 32 2/12 / 18 512 42 / 356 / 114

15 ЯБЕХР(6,3) /в © /5© /4 160 32 / 128/0 192 0/0/192 96 0 / 48 / 48 64 8 / 0 / 56 0 0 / 0 / 0 512 40 / 176 / 296

16 ЯБЕХР(6,3) /в © -© /3 128 32 /96/0 256 0 / 0/256 96 8 / 56/32 0 0 / 0 / 0 32 2/12 / 18 512 42 / 164 / 306

17 ЯБЕХР(6,3) /в © -© /2 160 32 / 128/0 192 0/0/192 96 0 / 48 / 48 64 8 / 0 / 56 0 0 / 0 / 0 512 40 / 176 / 296

18 ЯБЕХР(6,3) /в © -© /1 256 32 / 224/0 0 0 / 0 / 0 224 8 / 120 / 96 0 0 / 0 / 0 32 2/12 / 18 512 42 / 356 / 114

19 ПЕР(6,3) /в © /5© /4 <///1> 288 96 / 192/0 0 0 / 0 / 0 288 0 / 144 / 144 0 0 / 0 / 0 0 0 / 0 / 0 576 96 / 336 / 144

20 ПЕР(6,3) /в © -© /3 <///1> 224 96 / 128/0 192 0/0/192 96 0 / 48 / 48 64 0 / 0 / 64 0 0 / 0 / 0 576 96 / 176 / 304

21 ПЕР(6,3) /в © -© /2 224 96 / 128/0 192 0/0/192 96 0 / 48 / 48 64 0 / 0 / 64 0 0 / 0 / 0 576 96 / 176 / 304

22 ПЕР(6,3) /в © -© /1 <///1> 288 96 / 192/0 0 0 / 0 / 0 288 0 / 144 / 144 0 0 / 0 / 0 0 0 / 0 / 0 576 96 / 336 / 144

23 ПЕР(6,3) /в © -© /3 <//1> 416 192 / 224 / 0 0 0 / 0 / 0 256 8 / 120 / 128 0 0 / 0 / 0 32 0/12 / 20 704 200 / 356 / 148

24 ПЕР(6,3) /в © -© /2 <//1> 384 192 / 192 / 0 128 0/0/128 64 8 / 24/32 128 0/0/128 0 0 / 0 / 0 704 200 / 216 / 288

25 ПЕР(6,3) /в © - ©/1 <//1> 416 192 / 224 / 0 0 0 / 0 / 0 256 8 / 120 / 128 0 0 / 0 / 0 32 0/12 / 20 704 200 / 356 / 148

Для Я3ЕХР(т,к)-кодов II группы общее количество необнаруживаемых двукратных ошибок Nm2 (все они являются симметричными) уменьшается при изменении X (а) от 1 к

/ \ т ± 1 , ч т +1 t (а) = —2— для четного значения т и к X (а) = —^--для нечетного; при дальнейшем увеличении X (а) количество необнаруживаемых двукратных ошибок возрастает. Минимум дву-

кратных необнаруживаемых ошибок среди ЯБ (т,к) -кодов II группы имеют коды при

+ ( \ т± 1 ./ ч т +1

I(а) = —2— для четного значения т и t(а) = —^— — для нечетного. Тем не менее существуют ЯБЕХР(т,к)-коды, принадлежащие к группам с номерами III и более, имеющие такое же, как коды групп I, II, или даже меньшее количество двукратных необнаруживаемых ошибок (для таких кодов в классе необнаруживаемых двукратных ошибок характерны как монотонные, так и симметричные ошибки).

Закономерность изменения количества двукратных необнаруживаемых ошибок для модифицированных кодов различных групп при т=6 проиллюстрирована на рис. 4, а на рис. 5 для примера показано общее количество необнаруживаемых двукратных ошибок для всех вариантов ЯБЕХР(16,5) -кодов (нумерация кодов л соответствует методике нумерации, приведенной в табл. 4).

лт,2

450 400 350 300 250 200 150 100 50

--Двукратные ошибки

...... Монотонные ошибки

Симметричные ошибки

А А

/

О-О'-О-О

Р-0--0-0--0

0 о ■ - с>■ ■ о ■ -о ■ о - - о ■ о ■ ■ о ■ <> ■ ■ о- ■ о ■ ■ о - о'' Номер кода в таблице 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Ч____¿К____А__А

"V"

I

"V

II

III

IV

V

Рис. 4

^т,2"104

350 300 250 200 150 100 50 0

--Двукратные ошибки

Монотонные ошибки ~' Симметричные ошибки

100 109 л

46 55 Рис. 5

Заключение. Множество модифицированных кодов с суммированием единичных информационных разрядов гораздо шире множества известных модификаций. Анализ способов модификации кодов с суммированием единичных информационных разрядов показал, что возможно значительное расширение класса модифицированных кодов Бергера и введение в рассмотрение кодов, при построении которых определяется вес не всего информационного вектора, а его части с последующим контролем неиспользованных разрядов в поправочном коэффициенте (ЯБ (т,к)-кодов). Показано, что ЯБЕХР(т,к) -коды имеют преимущество перед

известными ранее Я^(да,Л)-кодами по характеристикам обнаружения ошибок малых кратно-стей, что существенно для задач построения дискретных систем с обнаружением отказов. Приведенный способ расширения множества модифицированных кодов с суммированием может быть использован и для расширения множества модульно модифицированных кодов с суммированием единичных разрядов.

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

список литературы

1. Пархоменко П. П., Согомонян Е. С. Основы технической диагностики (оптимизация алгоритмов диагностирования, аппаратурные средства). М.: Энергоатомиздат, 1981. 320 с.

2. Сапожников В. В., Сапожников Вл. В., Христов Х. А., Гавзов Д. В. Методы построения безопасных микроэлектронных систем железнодорожной автоматики / Под ред. Вл. В. Сапожникова. М.: Транспорт, 1995. 272 с.

3. Ubar R., Raik J., VierhausH.-T. Design and Test Technology for Dependable Systems-on-Chip (Premier Reference Source). Hershey — N. Y.: IGI Global, 2011. 578 p.

4. Системы управления движением поездов на перегонах: Учебник для вузов / В. М. Лисенков, П. Ф. Бестемьянов, В. Б. Леушин, А. В. Лисенков, А. Е. Ваньшин; Под ред. В. М. Лисенкова. М.: Изд-во ГОУ „Учебно-методический центр по образованию на железнодорожном транспорте", 2009. 324 с.

5. Микропроцессорные системы централизации: Учебник / Вл. В. Сапожников, В. А. Кононов, С. А. Куренков, А. А. Лыков, О. А. Наседкин, А. Б. Никитин, А. А. Прокофьев, М. С. Трясов; Под ред. Вл. В. Сапожникова. М.: Изд-во ГОУ „Учебно-методический центр по образованию на железнодорожном транспорте", 2008. 398 с.

6. Rao T. R., Fujiwara E. Error Control Coding for Computer Systems. N. Y.: Prentice Hall, 1989. 584 p.

7. Согомонян Е. С., Слабаков Е. В. Самопроверяемые устройства и отказоустойчивые системы. М.: Радио и связь, 1989. 207 с.

8. Nicolaidis M., ZorianY. On-Line Testing for VLSI — А compendium of approaches // J. of Electronic Testing: Theory and Application. 1998. Vol. 12, iss. 1—2. P. 7—20. DOI: 10.1023/A:1008244815697.

9. Mitra S., McCluskey E. J. Which concurrent error detection scheme to ^oose? // Proc. of Intern. Test Conf. Atlantic City, NJ, 3—5 Oct. 2000. P. 985—994.

10. Piestrak S. J. Design of Self-Testing Checkers for Unidirectional Error Detecting Codes. Wroclaw: Oficyna Wydawnicza Politechniki Wroclavskiej, 1995. 111 p.

11. Mourad S., McCluskey E. J. Testability of parity checkers // IEEE Transact. on Industrial Electronics. 1989. Vol. 36, iss. 2. P. 254—262. DOI: 10.1109/41.19077.

12. Ghosh S., Basu S., Touba N. A. Synthesis of low power CED circuits based on parity codes // Proc. of the 23rd IEEE VLSI Test Symp. (VTS'05), 2005. P. 315—320.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

13. Fujiwara E. Code Design for Dependable Systems: Theory and Practical Applications. New Jersey: John Wiley & Sons, 2006. 720 p.

14. Аксенова Г. П. О функциональном диагностирования дискретных устройств в условиях работы с неточными данными // Проблемы управления. 2008. № 5. С. 62—66.

15. Berger J. M. А note on error detecting codes for asymmetric channels // Information and Control. 1961. Vol. 4, iss. 1. P. 68—73. DOI: 10.1016/S0019-9958(61)80037-5.

16. Freiman C. V. Optimal error detection codes for completely asymmetric binary channels // Information and Control. 1962. Vol. 5, iss. 1. P. 64—71. DOI: 10.1016/S0019-9958(62)90223-1.

17. Blyudov A., Efanov D., Sapozhnikov V., Sapozhnikov Vl. Properties of code with summation for logical circuit test organization // Proc. of the 10th IEEE East-West Design & Test Symp. (EWDTS'2012), Kharkov, Ukraine, 14—17 Sept., 2012. P. 114—117. DOI 10.1109/EWDTS.2013.6673150.

18. Блюдов А. А., Ефанов Д. В., Сапожников В. В., Сапожников Вл. В. Построение модифицированного кода Бергера с минимальным числом необнаруживаемых ошибок информационных разрядов // Электронное моделирование. 2012. Т. 34, № 6. С. 17—29.

19. Efanov D., Sapozhnikov V., Sapozhnikov Vl., Blyudov A. On the problem of selection of code with summation for combinational circuit test organization // Proc. of the 11th IEEE East-West Design & Test Symposium (EWDTS 2013), Rostov-on-Don, Russia, 27—30 Sept., 2013. P. 261—266. DOI 10.1109/EWDTS.2013.6673133.

20. Блюдов А. А., Ефанов Д. В., Сапожников В. В., Сапожников Вл. В. Коды с суммированием для организации контроля комбинационных схем // Автоматика и телемеханика. 2013. № 6. С. 153—164.

21. Блюдов А. А., Ефанов Д. В., Сапожников В. В., Сапожников Вл. В. О кодах с суммированием единичных разрядов в системах функционального контроля // Автоматика и телемеханика. 2014. № 8. С. 131—145.

22. Marouf M. A., Friedman A. D. Design of self-checking checkers for berger codes // Proc. of the 8th Annual Intern. Conf. on Fault-Tolerant Computing, Toulouse, France, 1978. P. 179—183.

23. Ефанов Д. В., Сапожников В. В., Сапожников Вл. В. О свойствах кода с суммированием в схемах функционального контроля // Автоматика и телемеханика. 2010. № 6. С. 155—162.

24. Bose B., Lin D. J. Systematic unidirectional error-detection codes // IEEE Transact. on Computers. 1985. Vol. C—34, Nov. P. 1026—1032.

25. Sapozhnikov V., Sapozhnikov Vl., Efanov D. Modular sum code in building testable discrete systems // Proc. of the 13th IEEE East-West Design & Test Symposium (EWDTS'2015), Batumi, Georgia, 26—29 Sept., 2015. P. 181—187. DOI 10.1109/EWDTS.2015.7493133.

26. Ефанов Д. В., Сапожников В. В., Сапожников Вл. В. Применение модульных кодов с суммированием для построения систем функционального контроля комбинационных логических схем // Автоматика и телемеханика. 2015. № 10. С. 152—169.

27. Сапожников В. В., Сапожников Вл. В., Ефанов Д. В., Черепанова М. Р. Модульные коды с суммированием в системах функционального контроля. I. Свойства обнаружения ошибок кодами в информационных векторах // Электронное моделирование. 2016. Т. 38, № 2. С. 27—48.

28. Сапожников В. В., Сапожников Вл. В., Ефанов Д. В., Черепанова М. Р. Модульные коды с суммированием в системах функционального контроля. II. Уменьшение структурной избыточности систем функционального контроля // Электронное моделирование. 2016. Т. 38, № 3. С. 47—61.

29. Блюдов А. А., Сапожников В. В., Сапожников Вл. В. Модифицированный код с суммированием для организации контроля комбинационных схем // Автоматика и телемеханика. 2012. № 1. С. 169—177.

30. Сапожников В. В., Сапожников Вл. В., Ефанов Д. В. Применение кодов с суммированием при синтезе систем железнодорожной автоматики и телемеханики на программируемых логических интегральных схемах // Автоматика на транспорте. 2015. Т. 1, № 1. С. 84—107.

Сведения об авторах

Валерий Владимирович Сапожников — д-р техн. наук, профессор; Петербургский государственный университет путей сообщения Императора Александра I, кафедра автоматики и телемеханики на железных дорогах; E-mail: [email protected]

Владимир Владимирович Сапожников — д-р техн. наук, профессор; Петербургский государственный университет путей сообщения Императора Александра I, кафедра автоматики и телемеханики на железных дорогах; E-mail: [email protected] — канд. техн. наук, доцент; Петербургский государственный университет путей сообщения Императора Александра I, кафедра автоматики и телемеханики на железных дорогах; E-mail: [email protected]

Поступила в редакцию 13.04.17 г.

на железных дорогах

Дмитрий Викторович Ефанов

Рекомендована кафедрой автоматики и телемеханики

Ссылка для цитирования: Сапожников В. В., Сапожников Вл. В., Ефанов Д. В. Эффективный способ модификации кодов с суммированием единичных информационных разрядов // Изв. вузов. Приборостроение. 2017. Т. 60, № 11. С. 1020—1032.

EFFECTIVE METHOD OF MODIFYING CODE WITH ON-BITS SUMMATION

V. V. Sapozhnikov, Vl. V. Sapozhnikov, D. V. Efanov

Emperor Alexander I St. Petersburg State Transport University, 190031, St. Petersburg, Russia E-mail: [email protected]

A new principle of modification of codes with summation of on-bits that allows to expand the class of modified codes and obtain codes with better characteristics of low multiplicity error detection is proposed. An overview of known methods of classical codes modifications with summation of individual information bits is presented. A method of constructing modified codes with summation, based on determination of the smallest nonnegative deduction weight incomplete information vector and control of "unused" information bits by using the correction coefficient, which is a convolution modulo two is described; in particular, the correction factor may include discharge, subject to a deduction of the weight. All the possible ways of constructing error-correcting codes modified with the summation are considered. Characteristics of error detection in the information vectors of these codes are analyzed.

The conditions, under which a code with summation detects the maximal number of double errors in the information vectors and the conditions under which the code will have the minimum number of monotone non-detectable errors are established. The presented principle of codes modification is shown to allow for increasing the number of well-known codes used in technical diagnostics of discrete systems.

Keywords: technical diagnostics, code summation, Berger code, modified Berger code, improved error detection ability

Data on authors

Valery V. Sapozhnikov — Dr. Sci., Professor; Emperor Alexander I St. Petersburg State

Transport University, Department of Automation and Remote Control on Railways; E-mail: [email protected] Vladimir V. Sapozhnikov — Dr. Sci., Professor; Emperor Alexander I St. Petersburg State

Transport University, Department of Automation and Remote Control on Railways; E-mail: [email protected] Dmitry V. Efanov — PhD, Associate Professor; Emperor Alexander I St. Petersburg

State Transport University, Department of Automation and Remote Control on Railways; E-mail: [email protected]

For citation: Sapozhnikov V. V., Sapozhnikov Vl. V., Efanov D. V. Effective method of modifying code with on-bits summation. Journal of Instrument Engineering. 2017. Vol. 60, N 11. P. 1020—1032 (in Russian).

DOI: 10.17586/0021-3454-2017-60-11-1020-1032

i Надоели баннеры? Вы всегда можете отключить рекламу.