Мегаобучалка Главная | О нас | Обратная связь


II. Технические подробности технологии штрихового кодирования



2015-12-08 665 Обсуждений (0)
II. Технические подробности технологии штрихового кодирования 0.00 из 5.00 0 оценок




I.Немного истории появления штрихкода

Классическая история об изобретении штрихового кодирования, озвученная в американском духе, выглядит следующим образом. Дело было в 50-х годах. После окончания Массачусетского технологического института будущий изобретатель штрихкода Дэвид Коллинз поступил работать на Пенсильванскую железную дорогу, где ему была поручена сортировка вагонов: их надо было пересчитывать, выяснять номера, в общем, дело это было довольно нудное. Тогда и пришла идея светить прожекторами на вагоны и считывать с помощью фотодатчиков специальный код, состоящий из красных и синих полос, которые изобретатель предложил расположить на стенке вагона в прямоугольнике длиной до полуметра. Испытания показали, что сканирующее устройство способно верно читать коды даже при скорости движения вагона около 100 км/час. Достигнутый успех подтолкнул изобретателя к дальнейшему совершенствованию. В 1968 году он перешел от прожекторов, требовавших изрядного расхода энергии, к жестко сфокусированному лазерному лучу. Размеры сканирующей установки резко сократились, меньше стала и сама кодовая маркировка. Это натолкнуло Коллинза на мысль, что придуманный штриховой код можно использовать не только на железной дороге. Вспомнив, как 14-летним мальчиком подрабатывал по выходным на складе супермаркета, он решил использовать методику штрихкового кодирования для учёта идентификационных номеров товаров. Так постепенно и появился привычный штрихкод.

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

II. Технические подробности технологии штрихового кодирования

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

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

На рисунке изображена диаграмма, условно изображающая процесс считывания полосок штрихкода: сканер получает информацию фотодатчика о моментах переходов между светлыми и тёмными местами, между этими моментами засекается время (t1, t2, t3, и т.д)

Читающее устройство не оперирует никакой иной входной информацией, кроме потока чисел, отмеряющих время между изменениями показаний фотодатчика: t1, t2, t3... tn. Как из этого "потока времён" восстановить информацию о цифрах штрихкода?

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

Эти проблемы относятся не только к штрихкодам, но и вообще ко всей технологии асинхронной передачи данных. В технике их приходится решать довольно часто, например, при создании модемов. В штриховом кодировании плотность данных мала, поэтому решить все эти проблемы легко. Точность различения полосок штрихкода ограничена распознанием четырёх видов полос, обозначим их условно 1, 2, 3 и 4, - единице соответствует самая узкая полоса, а четвёрке - самая широкая. Читающее устройство непрерывно отмеряет время между изменениями показаний фотодатчика, и выдаёт поток чисел, соответствующих отсчитаной ширине полос. Эти числа округляются до ближайших значений, соответствующих четырём видам линий. Нестабильность скорости при этом компенсируется тем, что рассчётная ширина базовых размеров линий постоянно синхронизируется по последним прочитанным полосам, поэтому если скорость изменяется без резких рывков это не вредит распознанию кода.

Полученная числовая последовательность в результате соответствует считываемым полоскам, каждая полоса штрихкода несёт в себе 2 бита информации (поскольку различается 4 разновидности полос). Далее остаётся обработать полученные биты на логическом уровне, преобразовать их в цифры. Заметим, что информацию несут как полосы, так и промежутки между ними, то есть каждые N полос теоретически несут 4*N - 2 бит информации. Например, три полоски теоретически несут 4*3-2 = 10 бит, что соответствует трём десятичным цифрам. Если взять 10 полосок, то они могут нести 11 десятичных цифр, и так далее. Правда, на практике такой код был бы совершенно неудобен из-за разброса ширины: самый широкий штрихкод получился бы в 4 раза шире самого узкого. На практике гораздо удобнее сделать так, чтобы штрихкод имел ширину, не зависящую от информации внутри. Чтобы этого добиться выбирается фиксированная "ширина окна", несущего порцию информации, а весь штрихкод вцелом получается как бы составленным из таких "окон", приставленых вплотную друг к другу.

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

В стандарте EAN ширина "окна синхронизации" составляет 7 логических модулей (точек), как изображено на рисунке ниже. По методике EAN две чёрные полосы кодируют одну десятичную цифру (то есть информацию несут размеры L1, L2 и L3, а ширина белого поля после второй чёрной полосы информации не несёт - это поле нужно лишь для того, чтобы дополнить размер окна до стандартного размера.


На этом же рисунке изображен возможный вариант "альтернативной кодировки" (условно AC), когда "ширина окна" выбирается равной 10 логических модулей (точек). Этот пример я привожу для того, чтобы наглядно продемонстрировать что стандарт EAN-13 с технической точки зрения неэффективен и по-просту морально устарел: достаточно было бы всего лишь чуть-чуть увеличить ширину "окна синхронизации", в результате на той же длине штрихкода во-первых, разместилось бы 16 цифр (вместо 13), во-вторых, алгоритм декодирования существенно упрощается, в-третьих, можно было бы увеличивать количество информации в нём простым удлинением штрихкода, но не изменяя сам стандарт кодирования.

По методике AC (верхний вариант) размещается 16 цифр, длинный маркер в начале и признак конца в конце. Кроме того стандарт подразумевает возможность записи любого количества цифр, а декодировать его проще. Если ещё увеличить "ширину окна", до 16 точек, тогда на той же площади легко размещаются 24 цифры.

Штрихкод EAN-13 вмещает только 13 цифр, компьютеру декодировать его сложнее, наращивать его невозможно. Однако, именно этот стандарт сделался общемировым, именно его нам следует рассматривать.



2015-12-08 665 Обсуждений (0)
II. Технические подробности технологии штрихового кодирования 0.00 из 5.00 0 оценок









Обсуждение в статье: II. Технические подробности технологии штрихового кодирования

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (665)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)