Научная статья на тему 'Векторные коды для локализации ошибок в двоичных данных'

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шафеева Ольга Павловна

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

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

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

¿й

о

9К X

! х г

ИНФОРМАЦИОННЫЕ I

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

УДК 681.3.045.5 О. П. ШЛФЕЕВЛ

Омский государственный технический университет

ВЕКТОРНЫЕ КОДЫ

ДЛЯ ЛОКАЛИЗАЦИИ ОШИБОК

В ДВОИЧНЫХ ДАННЫХ_

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

Наиболее простые способы построения кодов, локализующих и корректирующих ошибки передачи или хранения двоичной информации, основаны на определении четности (или нечетности) конкретных битов данных. Так, код с проверкой на четность слов позволяет лишь обнаружить наличие одиночной ошибки или ошибки нечетной кратности в пределах этого слова. Блоковый итеративный К0А [1] с контролем срок и столбцов дает возможность однозначно локализовать и исправить одиночную ошибку в блоке слов, но требует разбиения информации на блоки. Код для контроля информации на магнитной ленте [1] с определением отдельных битов четности слов и битов четности диагоналей устраняет указанный недостаток: является непрерывным, но обладает информационной избы-

точностью — два контрольных бита на двоичное слово данных и позволяет корректировать ошибки.

Коды векторного метода предусматривают добавление одного проверочного бита к каждому двоичному слову и предполагают использование нескольких векторов данных для его вычисления [2]. Один и тот же контрольный бит определяется как четностью информационных разрядов слова (столбца) , так и четностью разрядов диагонального вектора. Ошибочный бит локализуется при помощи двух "помеченных" контрольных разрядов или проверочных битов, для которых при декодировании обнаружено нарушение четности (рис. 2). Черным цветом выделен бит, который локализуется на пересечении вертикального и диагонального векторов. Такой векторный код обнаруживает и исправляет

2 г

ш а

'5

л х

I

Рис. 1. Схема локализации ошибки двухвекторным кодом.

а а а

а У а

о а а

а а а

1а. а а

а а а

и а а

*

Рис. 2. Симметричный трехвекторный код.

п л

л п -П

л п л

л £\ л

г\ п п.

п. п л

п ■П л

Рис. 3. Векторный код серии 14.

л

Рис. 4. Векторный код серии 13.

п

• - контрольный разряд, N - точка пересечения двух схем, Т. - "помеченный" контрольный бит с нарушенной четностью, и - локализованный ошибочный разряд.

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

Концепция векторного метода локализации ошибок основана на визуальном впечатлении, которое складывается у человека, проходящего по яблоневому саду с регулярно расположенными рядами деревьев. Отдельно взятое дерево можно увидеть под утлом 45" к линии ряда. То же дерево видно, если смотреть в сад перпендикулярно ряду. Пройдя некоторое расстояние, наблюдатель снова может увидеть это же дерево, повернувшись назад под углом 135°. Таким образом, любое дерево внутри сада может быть найдено, если его местонахождение описать через координаты двух деревьев, находящихся на краю сада и лежащих на тех же самых векторах, что и искомое внутреннее дерево. Симметричная схема трехвекторного кода, напрямую связанная с визуальным впечатлением во фруктовом саду опубликована в [2] и показана ни рис. 2.

Для такой схемы кода легко вычислить проверочные разряды и контрольные соотношения. Пусть элементы первой (к= 1) дорожки являются контрольными, тогда для массива (т-1 ^разрядных двоичных слов С они вычисляются сложением по модулю два по формуле 1

„=Е(с

м©Ск„+к.,]

той 2,

(1)

где к - номер разряда в слове (к = 1..т), 1 - номер слова в массиве С.

При декодировании потока т-разрядных двоичных слов-кодов проверяется сохранение четностей для всех контрольных битов, т.е. производится проверка верности для всех слов проверочных соотношений (2)

к!ФСк,икН

,©СЦ+ы)тос12 = О

(2)

к к н

к к к

к и и

м к к

к н к

к м и

н к к

*

»1 »1 ; л

«1 «1

3>

ф <5>

3> 3> а

3> 3>

«1 » 3> 1

1 ! * 1 ! 1 1

Рис. 5. Схема локализации ошибки.

Рис. 6. Векторные коды серии 13.

Б Б я

Б Б Б

Б Б Б

Б Б] Б

Б п в;

Б п Б

Б Б! Б:

*

И щ

П) Щ Щ

щ> 14» п*

Щ» Щ ад

п» щ

*

Рис. 7. Нерегулярные вектор-коды.

или (3)

т

Е (С к1 © с м.к+1 ® С к, |+к,) тос! 2 = 0. (3)

Ошибок в процессе передачи или хранения данных не произошло, если сохранилась четность для контрольных битов всех слов. При нарушении четности групп разрядов только для одного контрольного равенства обнаруживается ошибка в 1-ом проверочном бите (первой (к = 1) строки). В случае возникновения ошибки в информационном разряде нарушается четность для трех контрольных неравенств (2): для ¿-го, (ькн- 1)-го и (¡-1-к-1)-го слов. На графической схеме "помечаются" при этом три контрольных бита-признака, для которых найдены нечетные суммы.

Локализация ошибки производится по следующему правилу. Пусть из / последовательно вычисленных соотношений (2) неверные равенства имеют номера ! ,, /'.,, причем I, < (2 < г, и /2 - = I, - /2, то ошибка находится в 12-ом слове. Номер ошибочного разряда в нем определяется формулами (4) или (5)

к„ш = <2

¿,+1,

кош=[«:, -<,)/2+1,

(4)

(5)

где [х] - целая часть числа х. На графической схеме одиночная ошибка в информационной части массива локализуется на пересечении трех схем вектор-кода, построенных из "помеченных" вершин, для которых суммы (2) нечетны [1].

Исследования показали, что прямолинейность векторов не является обязательным условием однозначной локализации ошибочного разряда. Да и в саду можно увидеть одно дерево также под другими углами. В связи с этим на рис. 3 предложена конфигурация векторного кода, для которого блок слов, в котором возможно исправление одиночной ошибки, на 7,7% меньше, чем для кода рис.2.

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

Автором доказано, что возможно исправление одиночной ошибки кодами, конфигурации которых на 13% меньше, чем для кода рис.2. В устройствах кодирования и декодирования на столько же сокращаются размеры регистровых матриц. Один из таких кодов показан на рис. 4.

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

Две другие конфигурации кодов серии 13 приведены на рис. 6. Все они позволяют однозначно локализовать одиночные ошибки в пределах блока слов, равного ширине схемы векторного кода.

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

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

Библиографический список

1. Темников Ф.Е. Теоретические основы информационной техники / Темников Ф.Е., Афонин В.А.Дмитриев В.И. - М.: Энергия, 1979. - 512 с.

2. Скотт Э, Исправление многобитовых ошибок при помощи одного контрольного бита на слово / Скотт Э„ Гетшель Д. // Электроника. - 1981. - №9. - С. 40-47.

ШАФЕЕВА Ольга Павловна, кандидат технических наук, доцент кафедры «Информатика и вычислительная техника».

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