Связь на цифровом уровне




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

Кодовое число на какой-либо товар или, например, число ISBN для новой книги дает соответствующая организация, например, UCC для кодирования U.P.C.-A и ассоциация E.A.N. для кодировки E.A.N. Кодовое число является десятеричным числом (т.е. оно представлено в десятеричной системе счисления). Согласно с приведенной выше таблицей III, десятеричное число превращается в двоичную цифровую последовательность. Компании, печатающие этикетки, на основе технических планов, составленных заранее, печатают этот цифровой код в виде набора распознаваемых линий.

Во время прочтения компьютер определяет ширины штрихов и расстояния между ними не в миллиметрах, а в промежутках времени между поступлением электрических импульсов. Характеристики этих импульсов по идее должны были бы соответствовать ширинам линий и промежутков (bars and spaces) (см. схему 7). Однако в действительности этого не происходит, потому что вмешиваются вышеупомянутые факторы, вызывающие так называемое скольжение (drift) [13] ширины знаков.

Схема 7. W.Erdei. BarCodes. 1993, p.125. Схема 8. W.Erdei. BarCodes. 1993, p.10

Это скольжение происходит при использовании не только устаревшего wand-сканера, но и современных лазерных сканеров, потому что поверхность, на которой напечатана этикетка, является неровной. Луч прямо падает на одни знаки и под углом – на другие, как показано на схеме 8, где этикетка напечатана на цилиндрической поверхности.

Изменение ширины знаков показано на волнообразной кривой электронного импульса на схеме 10.

Мы видим, что пара импульсов, представляющих левый защитный знак (два первых отрицательных импульса слева) различаются по ширине от пары импульса центрального защитного знака (15 й и 16 й импульс) и от пары импульсов правого защитного знака (29 й и 30 й штрих), в то время как следовало бы, чтобы они были одинаковыми для удобства прочтения. Следовательно, сканер воспринимает постепенное увеличение ширины знаков справа налево.

Поскольку изменение ширины знаков непредсказуемо, то микропроцессор сканера не может распознать очередной знак через полное отождествление его с каким-либо заранее заданным знаком (nominal dimensions, см. таблицу IV). Поэтому он определяет его на основании пропорционального отношения [14].

На схеме 9 показан штрих-код, специально выполненный по принципу постепенного увеличения ширин знаков до 150% от изначальной, который представляет собой поучительный пример того, как изменение скорости прочтения этикетки (чтение простым сканером, чтение под углом, чтение этикетки, приклеенной на цилиндрическую поверхность и т.д.) в действительности заставляет сканер воспринимать определенные знаки кода как увеличенные или уменьшенные по сравнению с другими знаками того же кода [15]. В этом смысле ширина единичного модуля не имеет одного и того же временного значения для всех знаков кода. Однако связь единичного модуля определенного знака с шириной этого знака является постоянной для каждого из знаков и равняется 1/7. Сканер (scanteam 5500, Welch Allyn) безошибочно читает код схемы 9 и так показывает аналогичную связь, о которой говорилось выше.

 

 

Схема 9


 

Схема 10. W.Erdei. BarCodes, Design, Printing and Quality control. McGraw-Hill,Inc., 1993, p.129

 

Техника измерения ширин ("width distance")

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

Пример 1. Ассоциация E.A.N. (таблица IV) дает определенный план кодировки. Следовательно, правильное декодирование знака происходит тогда, когда соответствие временных уровней почти совпадает с соответствующими начертаниями знаков в таблице IV [16]. Предположим, что декодируется серия импульсов, соответствующая знаку 6 (E.A.N.-13, Set В). Сканер анализирует временные длительности импульсов (в миллисекундах), соответствующие ширинам знаков (width distances), которые после декодирования и определяют число 6 (см. схему 11).

Схема 11. Часть таблицы IV. Буквы a, b, g
введены нами для удобства читателей

Ширины знаков для этого случая:

2,31 мм = общая ширина (reference), то есть ширина всего знака (7 модулей); ей соответствует измеренный промежуток времени в 9,1 мсек; (a) 0,99 мм = ширина черного штриха + ширина белого промежутка + ширина следующего черного штриха; измеренное время 3,9 мсек; (b) 0,66 мм = ширина белого промежутка + ширина черного штриха; измеренное время приблизительно 2,6 мсек; (g) 0,33 мм, = ширина черного штриха; измеренное время 1,3 мсек.

Компьютер при делении ref/7 = 9.1 мсек/7 вычисляет, что временной эквивалент ширины одного модуля, т.е. единичный временной промежуток (pattern) для знака, о котором идет речь,равен 1,3 миллисекунды. И затем, через деление всех измерений на единичные временные промежутки, компьютер распознает, что:

- измерение (a) равно 3,9 миллисекунды/1,3 мсек = 3 patterns (отрицательный и положительный и отрицательный импульс, которые соответствуют двоичным числам 1, 0 и 1); - измерение (b) равно 2,6 мсек/1,3 мсек = 2 patterns (положительный и отрицательный импульс, соответствующий двоичным числам 0 и 1); - измерение (g) равно 1,3 мсек/1,3 мсек = 1 pattern (отрицательный импульс, соответствующий двоичному числу 1).

При соотношении длительностей 3:2:1 компьютер распознает двоичное число 101 на основании следующей процедуры.

Соотношение 3:2:1 помещается в память разрядностью 8 бит следующим образом:

Мa: 00000111 Мb: 00000011 Mg: 00000001.

Это может быть выполнено с помощью двух простых команд "Set Carry" (SEC) и "Rotate Left Thru Carry" (ROL) из набора команд (instruction set) микропроцессора МС6800 Motorolla [17]. Микропроцессор получает и помещает в памяти значение Мх искомого двоичного числа, как Мх = Мa - Мb + Мg = 00000111 - 00000011 + 00000001 = 00000101.

(Нули, которые добавляются слева до заполнения восьми битов, не влияют на информацию. Это становится понятным, если регистр микропроцессора состоит из 16 бит, так что Мх = Мa - Мb + Мg = 0000000000000111 –

0000000000000011+0000000000000001 = 0000000000000101).

По числу Мх, помещенному в памяти, рассчитывается четность (parity) знака, который в данном случае содержит четное число единиц (even parity) [18], и в результате на основании таблицы IV определяется символ, соответствующий числу 6 (set В).

[Замечание: алгоритм вычисления Мх = Мa - Мb + Мg = 00000111-00000011 +00000001 = 00000101 "binary" = (23-1) - (22-1) + (21-1) "decimal" = 23 - 22 + 21 - 1 = 5 показывает, что соотношение 3:2:1, определяющее знак, есть не что иное, как степенная зависимость: 2a - 2b + 2g - 1 = Мх = F(a, b, g)].

Пример 2. С тем же соотношением временных измерений 3:2:1 анализируются и три контрольных знака, потому что и для них при чтении создается серия импульсов, в которой расстояния, описывающие знак, равны, соответственно: 0,99 мм, 0,66 мм, 0,33 мм.

Схема 12. Часть таблицы IV. Буквы a, b, g прилагаются здесь для удобства читателей

Так, для центрального контрольного знака (center guard pattern, см. схему 12) характерны ширины:

1,65 мм = общая ширина (reference), то есть ширина всего знака (6,5 мсек); (a) 0,99 мм = ширина черного штриха + ширина белого промежутка + ширина следующего черного штриха (3,9 мсек); (b) 0,66 мм = ширина белого промежутка + ширина черного штриха (2,6 мсек); (g) 0,33 мм = ширина черного штриха(1,3 мсек).

Компьютер через деление ref/5 = 6,5 мсек/5 подсчитывает протяженность единичного временного промежутка (pattern) = 1,3 мсек. Затем, деля все измерения на этот единичный промежуток, он распознает, что:

- измерение (a) равно 3,9 мсек = 3 patterns (отрицательный и положительный и отрицательный импульс, которые соответствуют двоичным числам 1 и 0 и 1); - измерение (b) равно 2,6 мсек/1,3 мсек = 2 patterns (положительный и отрицательный импульс, которые соответствуют двоичным числам 0 и 1); - и измерение (g) равно 1,3 мсек/1.З мсек = 1 pattern (отрицательный импульс, соответствующий двоичному числу 1).

Но это же соотношение 3:2:1 является характерным и для числа 6, что понятно из анализа предыдущего примера.

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

Так, для левого контрольного знака измеряются следующие временные значения:

(ref) = 2,55 мсек; (a) = 2,55 мсек; (b) = 1,75 мсек; (g) = 1,00 мсек.

Затем, для правого контрольного знака измеряются временные значения:

(ref) = 6,7 мсек; (a) = 6,7 мсек; (b) = 4,3 мсек; (g) = 2,3 мсек.

Мы замечаем, что значения для правого контрольного знака более чем на 230% превышают соответствующие значения для левого, хотя закодированы одни и те же штрихи. Однако микропроцессор распознает их как одинаковые, потому что, как было сказано выше, сравнивает отношения временных измерений, определяющих знаки [19].

Эти отношения, как и в предыдущих примерах, получаются при делении измерений (a), (b), (g) на единичный временной промежуток для каждого знака.

Применительно к левому контрольному символу единичный временной промежуток равен: (ref)/3 = 2,55/3 =0,85 мсек. Следовательно, измерения дают:

(a) 2,55/0,85 = 3 patterns; (b) 1,75/0,85 = 2,05 patterns; (g) 1,00/0,85 =1,17 patterns.

Применительно к правому контрольному знаку: (ref)/3 = 6,7/3 = 2,23 мсек. Следовательно, измерения дают:

(a) 6,7/2,23 = 3 patterns, (b) 4,3/2,23 = 1,92 patterns, (g) 2,3/223 = 1,03 patterns.

Из сказанного следует, что если абсолютные измерения для одних и тех же знаков имеют между собой отклонения в 230%, то отклонения относительных величин едва достигают 114%.

 

Техника измерения приращений ("delta distance")

В этой методике декодирования сравниваются отношения временных измерений знаков (при специальном способе отсчета временных интервалов) с отношением временных измерений знаков-прототипов. Техника delta distance, которую предлагает компания IBM [20], разрешает как возникающую проблему скольжения величины знаков, так и проблему размывания краски при печатании этикетки [21] (см. схемы 13 и 14).

 

Схема 13. Delta Distance Decoding Technique of U.P.C. Схема 14. На втором штрих-коде показано изменение знаков из-за размывания краски

 

На выбранные таким способом временные интервалы (T-distances) не оказывают влияние изменения штрихов по причине размывания краски [22].

В частности, в соответствии с данной техникой измеряются следующие расстояния: Т1 – от начала первого штриха до начала второго штриха (от края до края); Т2 – от конца первого штриха до конца второго штриха; С – от начала знака до начала следующего знака.

 

Таблица V

Character Set C (T01, T02)
  5,3  
  4,4 [23]
  3,3 [23]
  5,5  
  2,4  
  3,5  
  2,2  
  4,4 [23]
  3,3 [23]
  4,2  
left guard 2,2  
right guard 2,2  
center pattern 2,2  

На схеме 15 показаны прототипы этих расстояний (Т0 - distances) для символа числа 4, Set А. Т01 равняется 2 модулям, а Т02 – 4 модулям.

Схема 15.

Таким же образом подсчитываются Т01 и Т02 всех знаков из таблицы II. В приведенной здесь таблице V представлены Т01 и Т02 знаков Set С.

Чтобы каждый знак этикетки, читаемый сканером, имел определенные характеристики при дешифровке, необходимо, чтобы измерения Т1 и Т2 были выражены в единицах длительности модуля знака (см. схему 13). Модуль равняется С/7.

Следовательно, значение Т1/модуль = Т1/(С/7) будет сравниваться со значением Т01. Подобным образом и значение Т2/модуль = Т2/(С/7) будет сравниваться со значением Т02. Следовательно, можно определить, на сколько процентов эти значения приближаются к значениям Т01 и Т02. Если эти значения окажутся в определенных допустимых пределах отклонения (tolerance) [24], то знак распознается, как соответствующий прототипу.

Из описанной техники delta-distance следует, что три контрольных знака имеют одинаковые временные интервалы (T-distances) с числом 6. Достойно внимания то, что если для знаков 1, 7 и 2, 8, имеющих одни и те же значения T-distances, требуется дополнительная операция по непосредственному измерению ширины штрихов с привлечением вышеописанной техники width distance для их различения между собой (см. примечание [23]), то для контрольных знаков, имеющих значения T-distances, одинаковые со знаком 6, не требуется их дифференциация от знака 6 (как это следует из литературы). Совершенно очевидно, что они отождествляются с числом 6.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-06-03 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: