Научная статья на тему 'Штриховой код с возможностью исправления ошибок'

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

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

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — Голуб Владимир Иванович, Жамхарьян Александр Сергеевич, Фомина Ольга Владимировна

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

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

Похожие темы научных работ по электротехнике, электронной технике, информационным технологиям , автор научной работы — Голуб Владимир Иванович, Жамхарьян Александр Сергеевич, Фомина Ольга Владимировна

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

Bar code with the error correction possibility

The problem of bar codes creation is considered, a new bar code which can be used for automatic indentification and sorting systems construction is offered, it can also provide the basis for further researches in the given field.

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

КОМПЬЮТЕРНАЯ ИНЖЕНЕРИЯ И ТЕХНИЧЕСКАЯ ДИАГНОСТИКА

УДК 681. 3. 074

ШТРИХОВОЙ КОД С ВОЗМОЖНОСТЬЮ ИСПРАВЛЕНИЯ ОШИБОК

ГОЛУБ В.И., ЖАМХАРЬЯНА.С., ФОМИНА О.В.

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

Увеличение мировых объемов товарооборота и бурное развитие вычислительной техники привели к появлению систем автоматической идентификации и сортировки. Наиболее простым, экономичным и надежным способом сортировки является применение штрихового кодирования. В настоящее время разработано множество различных штриховых кодов (ШК), некоторые из них являются стандартными. Но в целях повышения эксплуатационных и экономических параметров кодов в этой области проводится множество исследований. Одним из перспективных направлений является применение корректирующих кодов.

Получение кода с заданной корректирующей способностью может быть сведено к задаче выбора (путем перебора) из всех кодовых комбинаций (КК) с требуемым минимальным кодовым расстоянием (степенью различия) [2-4]. Степень различия комбинаций характеризуется минимальным кодовым расстоянием по Хеммингу do, которое для любых двух кодовых комбинаций определяется числом несовпадающих в них разрядов и как вес суммы по модулю

2 этих кодовых комбинаций:

d0 = ai ® ak . (1)

Весом КК называется число входящих в неё ненулевых элементов. Связь между d0 и кратностью исправляемых ошибок определяется в виде

d^ dn 1

*и.ош = 2 -1, * (2) *и.ош = 2 (3)

для четного d0 и нечетного соответственно.

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

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

Специалистами предприятия “Укрпочта” разработан [1] стартстопный интервальный штриховой код с постоянным соотношением нулей и единиц (табл. 1, вариант 1).

Таблица 1

Цифра Вариант 1 Вариант 2

Старт 10010000 10010000

0 100001000010000 100001000010000

1 100000010001000 100010001000000

2 100010000001000 010010010000000

3 100010001000000 010001000100000

4 100000000100100 010000100001000

5 100100000000100 001000010000100

6 100100100000000 100100100000000

7 100100000100000 001000100010000

8 100000100100000 001001001000000

9 100000100000100 000100010001000

Стоп 100100001 100100001

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

На основе этого кода, при некоторой модификации, возможно построение кода с более высокими показателями (табл. 1, вариант 2).

Сущность модификации заключается в следующем: из всех существующих КК, при данной длине комбинации, выбираем разрешенные кодовые комбинации с максимальным кодовым расстоянием и учетом достоинств кода “вариант 1“. Изображение вариантов кодов приведено на рисунке.

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

Произведем сравнительный анализ новых вариантов ШК с широко распространенными кодами: "Код-128", "Код-39", EAN-13(8). Для этого введем следующие допущения:

— все неразрешенные кодовые комбинации (КК) являются ошибочными;

— все нечетные ошибки (с кратностью к = 1, 3, 5, ...) обнаруживаются;

— вероятность появления ошибок меньшей кратности выше в несколько раз, чем вероятность ошибок с большей кратностью;

86

РИ, 1998, № 1

КК данного кода равновероятными. Математически это можно представить так:

Рп. = Ркк 'x'q , (5)

Старт 0123456789 Стоп СтартО 123456789 Стоп )

Вариант 1 Вариант 2 где Ркк ~ n ( )

Варианты кодов

— возможность появления ошибки, связанной с внешними факторами (ошибки нанесения и считывания КК), не более одной на 1млн кодовых комбинаций;

— вероятность обнаружения ошибки в стартовых, стоповых и разделительных КК равна 1.

Для удобства чтения, записи и понимания ШК будем использовать двоичную систему счисления. Символ (буква или цифра) для любого ШК может быть представлен в виде n-модульной (n-разрядной) кодовой комбинации, последовательность которой в свою очередь составляет двоичную кодовую комбинацию набора десятичных символов (букв или цифр), закодированного данным ШК.

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

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

Вероятность появления двукратной ошибки в КК рассчитывается, как

Рош (2) = Сп ■ р0 - р0) , (4)

2

где сП - количество сочетаний из n модулей КК по

2; Р0 — вероятность ошибки единичного символа (ввозможность появления ошибки р0 равна 1*10-6).

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

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

вероятность появления любой возможной КК данного кода при объеме кода N; x — количество КК, имеющих с данной КК расстояние Хемминга равное 2; q — возможность двукратной ошибки (поскольку двукратная ошибка произошла, q=1).

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

Из всего сказанного выше можно предположить, что вероятность перехода наименее защищенной разрешенной КК кода в одну из ближайших разрешенных зависит от вероятности двукратной ошибки в КК данного кода. Тогда можно рассчитать возможность перехода наименее защищенной разрешенной КК кода в одну из ближайших разрешенных КК, не допуская, что двукратная ошибка произошла, но предполагая, что она может произойти с известной вероятностью. Для этого воспользуемся той же формулой, что и для расчета вероятности перехода при наличии двукратной ошибки, однако предполагая, что она только может произойти (q ф 1). Математически

Рп = Ркк ■ x ■ q . ^ ^

На основании расчетов, проведенных в соответствии с изложенными методами, составлена сравнительная табл. 2 вероятностей двукратной ошибки Рош(2) перехода разрешенной КК в разрешенную при наличии двукратной ошибки Pn, перехода разрешенной КК в разрешенную при возможности возникновения двукратной ошибки Pn* для исследуемых кодов.

На основе результатов расчетов, приведенных в табл. 2, можно сделать вывод:

предложенный код (вариант 2) имеет наименьшую вероятность перехода одной разрешенной КК в другую при двукратной ошибке.

Достоинствами данного кода являются:

— наличие не менее двух одинаковых групп интервалов в каждом символе;

— одинаковые группы интервалов расположены между единичными элементами (штрихами) кодовой комбинации;

— возможность гарантированного обнаружения ошибок кратностью до трех и исправления ошибок кратностью один.

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

РИ, 1998, № 1

87

Таблица 2

Код 39 Код 128 EAN-13 Код варианта 1 Код варианта 2

do 2 2 2 2 4

Рош(2)*1011 10.5 5.5 2.1 10.5 10.5

РЛ03 0.1831 14 47 0.1221 0

РП *1013 0.1923 7.519 9.844 0.1282 0

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

Литература: 1. Стариченко ОГолуб В. Коды и кодирование информации, штриховое кодирование выбор и применение штриховых кодов//Руководящий нормативный документ по стандартизации КНД 50-051-95. К.: Госстандарт Украины. 1995. 32 с. 2. Али К. Абуд Аль-Амери. Способы и средства помехоустойчивого штрихо-

вого кодирования — декодирования алфавитно-цифровой информации. К. 1994. 24 с. 3. Шувалов В. П, Захарченко Н. В. И др./ Под ред. Шувалова В. П. Передача дискретных сообщений. М.: Радио и связь, 1990. 142 с. 4. Зюко А. Г., Кловский Д. Д, Назаров М. В., Финк Л. М. Теория передачи сигналов. М.: Радио и связь, 1986. 242с.

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

Голуб Владимир Иванович, начальник инженерного центр украинского объединения почтовой связи “УКР-ПОЧТА”. Адрес: 252001, Украина, Киев-1, Хрещатик, 22, тел. (044) 228-37-12.

Жамхарьян Александр Сергеевич, аспирант кафедры сети связи, НИЛ-20. Адрес: 270021, Украина, Одесса, ул. Кузнечная, 1, тел. (8-0482) 23-61-80.

Фомина Ольга Владимировна, аспирант кафедры сети связи, НИЛ-20. Адрес: 270021, Украина, Одесса, ул. Кузнечная, 1, тел. (8-0482) 23-61-80.

УДК 681.51.015:519.7

ОБУЧЕНИЕ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ В СТОХАСТИЧЕСКИХ УСЛОВИЯХ

ВОРОБЬЕВ С.А.

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

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

Градиентная процедура настройки синаптических весов имеет вид

а(к +1) = а(к) + п(к )s(k ,a)Vaf (р(к ),а) =

= а(к) + п(к )є(к ,а)0(р(к ),а). (1)

T

где а(к) = (а1(к),а2(к),...,аПа (к)) — вектор синап-

тических весов нейронной сети; ц(к) — параметр шага поиска, принимаемый чаще всего постоянным; Wmf(р(к),а) = 0(р(к),а) — градиент функции

f (р(к),а) по синаптическим весам; р(к) = (у(к -1),

...,у(к - п),и(к - 1),...,и(к - p))T ; f (•) - некоторая функция;

е(к ,а) = у (к) - у (к ,а) (2)

— ошибка идентификации; у(к) и и (к) — соответственно выход и вход системы; у (к,а) = f (ф(к ),а).

Далее остановимся на более конкретных задачах настройки нейронных сетей в стохастических условиях. Рассмотрим радиально-симметричную искусственную нейронную сеть (RBFN-сеть), которая состоит из трех слоев, называемых: входным, скрытым и выходным [5]. Функцией первого слоя является простое прохождение входного сигнала на уровень скрытого слоя, который выполняет нелинейное преобразование пространства входных сигналов в новое пространство. При этом преобразование строится с помощью активационной функции гауссовского типа

Hi = exp[-||x - С/| |2 / Sjf], l = 1,2,..., L,

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

где 11»|| — евклидова норма вектора; ci и Si — соответственно центр и ширина гауссовской функции. Выходной слой сети представляет собой линейную комбинацию выходов нейронов скрытого слоя

L

ут (к) = "Laim (к )Hi (к), m = 1,2,..., s, i=1 .

Здесь со1т (к) — настраиваемые весовые множители между скрытым и выходным слоем сети (синаптические веса). Таким образом, вектор настраиваемых синаптических весов m-го нейрона выходного слоя имеет вид

T

ат (к) = (а 1т (к),а2т (к),...,аLm (к)) .

Для идентификации детерминированных объектов в теории искусственных нейронных сетей применяется алгоритм Уидроу-Хоффа [6]:

л л H (к )б(к ,0» т )

О»т (к +1) = ю т (к) + 2 т H(к), (3)

\\Н(к)\\2 (3)

где H(к) = (Щ(к),H2(к),...,HL(к))Т , е(к,£т) =

= ут (к) О» т (к) H (к).

88

РИ, 1998, № 1

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