Научная статья на тему 'Теоретические исследования двоичных модульных кодов с суммированием'

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

CC BY
94
49
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОД С СУММИРОВАНИЕМ / ИСКАЖЕНИЯ РАЗРЯДОВ / SUM CODE / BIT DISTORTION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Блюдов А.А.

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Блюдов А.А.

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

THEORETICAL STUDIES OF SUM BINARY MODULAR CODES

This paper presents a generalized formula of calculation of undetectable errors of sum modular code, which allows to prove experimental data obtained earlier.

Текст научной работы на тему «Теоретические исследования двоичных модульных кодов с суммированием»

СОВРЕМЕННЫЕ ТЕХНОЛОГИИ - ТРАНСПОРТУ

УДК 004.052.32

А. А. Блюдов

аспирант, инженер (ФГБОУ ВПО ПГУПС)

ТЕОРЕТИЧЕСКИЕ ИССЛЕДОВАНИЯ ДВОИЧНЫХ МОДУЛЬНЫХ КОДОВ С СУММИРОВАНИЕМ

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

Код с суммированием, искажения разрядов

Код Бергера, описанный в [1], используется в системах функционального контроля комбинационных схем в дискретных устройствах [2, 3]. Обозначим его как 8(п,ш)-код, где m - число информационных разрядов, к = ]log2(m + 1)[ - число контрольных разрядов, n = m + к - общее число разрядов. Контрольный вектор представляет собой двоичную запись веса информационного слова.

При отказах различных блоков системы функционального контроля могут возникать искажения как контрольных, так и информационных разрядов кода. Искажения контрольного вектора будут обнаруживаться всегда, так как при этом он перестает соответствовать информационному. Ошибки же в информационных разрядах могут не обнаруживаться. Это происходит, если количество искажений типа 1^0 равно числу искажений типа 0^1, т. е. если общее количество единиц в информационной части не изменяется. Таким образом, обнаруживаются все ошибки нечетной кратности и часть ошибок четной кратности. В [4] доказано, что доля необнаруживаемых ошибок информационных разрядов данной кратности t от общего числа ошибок информационных разрядов данной кратности не зависит от числа информационных разрядов и является постоянной величиной

t

в, = Q/2.

11

Основные свойства кода - избыточность и помехозащищенность. Обычно эти показатели обратно пропорциональны друг другу: чем больше контрольных разрядов используется в кодовом слове, тем меньше процент необнаруживаемых ошибок и наоборот. Однако структура необнаруживаемых ошибок может быть различной. Кроме того, ошибки различных кратностей появляются с различной вероятностью. В [5] экспериментально показано, что наибольшую вероятность возникновения имеют ошибки малой кратности, особенно кратности 2 и 4.

Модульные коды с суммированием

Модульным кодом с суммированием назовем код SM(n,m), контрольное слово которого рассчитывается как контрольное слово классического кода Бергера, взятое по модулю М. Рассмотрим код S4(n,m). Контрольное слово представляет собой двоичную запись взятого по модулю 4 количества единиц информационного слова и для любого m занимает два двоичных разряда. Так, например, в группу, соответствующую контрольному слову 00, входят информационные векторы с весом r = 0 и r = 4. В [6] приведены результаты экспериментальных исследований, согласно которым код S4(n,m) не обнаруживает 50 % ошибок любой четной кратности. Это свойство может оказаться полезным, так как количество контрольных разрядов кода S4(n,m) меньше, чем кода S(n,m), и не увеличивается с ростом m. Следовательно, имеет смысл провести дополнительные теоретические исследования для обоснования этих результатов.

Отличие кода S4(n,m) от кода S(n,m) состоит в том, что в нем в одну группу входят векторы с разным весом. Они имеют кодовое расстояние d < 4, поэтому множество необнаруживаемых ошибок кратности 2 кода S4(n,m) совпадает с аналогичным множеством кода S(n,m).

Ошибки кратности 4, 6,.. кода S(n,m) и кода S4(n,m) совпадают. Таким образом, для определения числа необнаруживаемых ошибок кода S4(n,m) осталось рассчитать количество ошибок, в которых число искажений типа 1—>0 и искажений типа 0—1, т. е. переходов между словами с разным коли -чеством единиц, разное.

Рассмотрим код S4(8,6) в плане ошибок кратности 4.

В таблице показано распределение информационных слов кода по группам, соответствующим контрольным векторам.

Рассмотрим группу [1,5]. Между векторами типа 100000 и 111110 (здесь и далее в примерах кодовых слов единицами обозначается только количество единиц в векторе, но не их расположение; изначально все единицы изображаются расположенными в старших разрядах) возможны ошибки кратности

12

Разбиение информационных слов кода S4(8,6) по обособленным группам

р

0,4 1,5 2,6 3

000000 000001 000011 000111

001111 000010 000101 001011

010111 000100 000110 001101

011011 001000 001001 001110

011101 010000 001010 010011

011110 100000 001100 010101

100111 011111 010001 010110

101011 101111 010010 011001

101101 110111 010100 011010

101110 111011 011000 011100

110011 111101 100001 100011

110101 111110 100010 100101

110110 100100 100110

111001 101000 101001

111010 110000 101010

111100 111111 101100

110001

110010

110100

111000

00 01 10 11

4 и 6. Ошибки кратности 4 возможны, если два вектора имеют один общий единичный разряд, например 100000—^111110. Число таких ошибок

й,[1,5] = 2хCl6 хC54 = 2х6х5 = 60,

где Cl - количество комбинаций из одной единицы в шести разрядах, C4 -количество комбинаций из четырех единиц в оставшихся пяти разрядах, коэффициент 2 объясняется двунаправленностью ошибок.

Рассмотрим группу [0,4]. Между вектором 000000 и векторами вида 111100 возможны ошибки кратности 4. Их число

е,[0,4] = 2 х С“ х C64 = 2 х 1 х 15 = 30.

13

В группе [2,6] возможны только ошибки кратности 4, приводящие к переходу вектора типа 110000—^111111:

Q4[2,6] = 2 х С62 х C44 = 2 х 15 х 1 = 30.

В группе [3] все слова имеют одинаковый вес, поэтому количество необнаруживаемых ошибок по сравнению с кодом S(n,m) не увеличивается.

Таким образом, количество «дополнительных» необнаруживаемых ошибок кратности 4 кода S4(8,6)

Q4 = 2 х СО х С4 + 2 х С х С + 2 х С х С = 30 + 60 + 30 = 120.

Общее же их число

Q = Q (S (9,6)) + Q4 = 360 +120 = 480,

что составляет 50 % от общего числа ошибок кратности 4.

Рассмотрим структуру необнаруживаемых ошибок кратности 4 для кода S4(9,7).

Группа [0,4]. Пример 0000000—1111000:

Q4[0,4] = 2 х С70 х С74 = 2 х 1 х 35 = 70.

Группа [1,5]. Пример 10000000—1111100:

Q4[1,5] = 2 х С7 х С4 = 2 х 7 х 15 = 210.

Группа [2,6]. Пример 11000000—1111110:

Q4[2,6] = 2 х С72 х С4 = 2 х 21х 5 = 210.

Группа [3,7]. Пример 1110000—1111111:

Q4[0,4] = 2 х С, х С44 = 2 х 35 х 1 = 70.

Аналогично количество «дополнительных» необнаруживаемых ошибок кратности 4 кода S4(9,7)

Q4 = 2 х С70 х С4 + 2 х С7 х С64 + 2 х С72 х С4 + 2 х С73 х С4 =

= 70 + 210 + 210 + 70 = 560.

14

Общее же их число

а = а (S (10,7)) + Q4= 1680 + 560 = 2240,

что также составляет 50 % от общего числа ошибок кратности 4.

Для кодов с m >1 способ расчета количества необнаруживаемых ошибок кратности 4 несколько изменится, так как в одной группе будут находиться различные виды искажений. Рассмотрим, например, код S4(12,10).

Группа [0,4,8]. Пример 0000000000—1111000000, 1111000000— 1111111100:

Q4[0,4,8] = 2 х С°0 х C40 + 2 х C* х C64 = 2 х 1х 210 + 2 х 210 х 15 = 6720.

Группа [1,5,9]. Пример 1000000000—1111100000, 1111100000— 1111111110:

Q4[1,5,9] = 2 х C110 х C94 + 2 х С0 х C54 = 2 х 10 х 126 + 2 х 252 х 5 = 5040.

Группа [2,6,10]. Пример 1100000000—1111110000, 1111110000— 1111111111:

а [2,6,10] = 2 х C20 х C84 + 2 х C60 х C44 = 2 х 45 х 70 + 2 х 210 х 1 = 6720.

Группа [3,1]. Пример 1110000000—^1111111000:

Q4[3,7] = 2 х C30 х C74 = 2 х 120 х 35 = 8400;

Q4 = 2 х С'0 х С4 + 2 х С4 х C64 + 2 х С0 х C94 + 2 х C,50 х С54 + 2 х C120 х хС84 + 2 х С®, х C44 + 2 х C30 х C74 = 6720 + 5040 + 6720 + 8400 = 26880.

Общее число необнаруживаемых ошибок кратности 4

а = a (S (13,10)) + Q4 = 80640 + 26880 = 107520,

что составляет 50 % от общего числа ошибок кратности 4.

Рассмотрев аналогичным образом структуру необнаруживаемых ошибок кратности 4 для других значений m, выведем обобщенную формулу расчета их количества

m-4

Q4 = Q4(S(n m)) +X 2 х Cm х C,t-.

i=0

(1)

15

Были проведены аналогичные исследования для других кратностей необнаруживаемых ошибок и выявлены соответствующие зависимости. Так, например, для кратности t = 8 формула (1) имеет вид

m-6

<а=q (^ (n, т»+2 (2 < х c x cm -+cm x cm -»,

i=0

а для t= 10

m-7

So = Qio(S(n,m)) + 2 (2xcm x(C) xC, + C3 xcm_,)).

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

i=1

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

Если mod4(t) = 0, то

m-2-t/2 j<t/2

Qt = Qt (S(n,m)) + 2 (2 xcm x2 C x C-.)).

i=0

j=0

Если mod4(t) = 2, то

m-2-t/2 t/2-1

Q, = Q (S(n, m)) + 2 (2 xcm x2 (C2j-) x Cmj)),

i=1 j=1

где t - кратность ошибки, m - количество информационных разрядов, Qt -количество необнаруживаемых ошибок кратности t,S(n,m) - код Бергера для m информационных разрядов.

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

Указатель литературы

1. Berger J. M. А note on error detecting codes for asymmetric channels / J. M. Berger // Inform. Control. - 1961. Vol. 4. № 3. - P. 68-73.

2. Сапожников В. В. Самопроверяемые дискретные устройства / В. В. Сапожников, Вл. В. Сапожников. - СПб.: Энергоатомиздат, 1992. - 224 с.

3. GoesselM. Error Detection Circuits / M. Goessel, S. Graf. - London.: Me Graw-Hill, 1994. - 261 p.

16

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

5. Moshanin Vl. The Impact of Logic Optimization of Concurrent Error Detection / Vl. Moshanin, V. Otcheretnij, A. Dmitriev // Proc. 4-th IEEE Intern. On-Line Testing Workshop. - Capry, 1998. - P. 81-84.

6. Сапожников В. В. Экспериментальные исследования двоичных кодов с суммированием / В. В. Сапожников, Вл. В. Сапожников, А. А. Блюдов // Изв. Пе-терб. ун-та путей сообщения. - 2011. - № 2.

© Блюдов А. А., 2011.

17

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