litceysel.ru
добавить свой файл
1


Московский государственный институт электроники и математики

(технический университет)


Кафедра


«Информационно-коммуникационные технологии»


Курсовая работа


на тему:


«Штрих-код Interleaved 2 of 5»


по дисциплине:

«Технологии программирования»



Выполнил:

Группа:


Проверил:

Чернов А.В.

С – 84


Куприянов Ю.В.



Москва 2008 г.

Аннотация


В курсовой работе рассматривается алгоритм кодирования числовых данных штрих-кодом Interleaved 2 of 5. Проводится обзор свободного ПО для его реализации.

Содержание


Техническое задание


Рассмотреть алгоритм шифрования цифровых данных штрих-кодом Interleaved 2 of 5. Провести обзор свободного ПО для его реализации.

Анализ технического задания


В соответствии с техническим заданием необходимо рассмотреть алгоритм Interleaved 2 of 5. В качестве платформы для обзора свободного ПО для реализации данного алгоритма взята ОС Debian GNU/Linux.

Введение

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


Различают линейные и двухмерные символики штрих-кодов.

Двухмерными называются символики, разработанные для кодирования большого объема информации (до нескольких страниц текста). Двухмерный код считывается при помощи специального сканера двухмерных кодов и позволяет быстро и безошибочно вводить большой объем информации. Расшифровка такого кода проводится в двух измерениях (по горизонтали и по вертикали). Пример – Datamatrix, Data Glyph, Aztec.

Линейными называются штрих-коды, читаемые в одном направлении (по горизонтали). Пример линейного штрих-кода – Code128, Codabar, Interleaved 2 of 5. Линейные символики позволяют кодировать небольшой объем информации (до 20-30 символов – обычно цифр) с помощью штриховых линий и белых полос, читаемых недорогими сканерами.

Кроме того штриховой код является наиболее экономичным способом маркировки и/или идентификации объекта.

Штрих-код Interleaved 2 of 5


Линейный код Interleaved 2 of 5 состоит из последовательности чередующихся черных и белых вертикальных полосок, начинающейся и заканчивающейся черными. В данном коде полоски двух видов: Широкие (логическая «1») и узкие (логический «0»). Interleaved 2 of 5 предполагает наличие стартового и стопового символов. Стартовый символ кодируется «0000», стоповый символ кодируется «100». Между этими двумя символами находится полезная информация.

Своё название код получил, исходя из того, что информация кодируется расположением двух широких полосок среди пяти. Исходя из этого, получаем, что таким блоком можно закодировать 10 различных значений, т.е. все цифры от 0 до 9. Interleaved (перемежающийся - англ.) он потому, что рассматриваются отдельно черные и отдельно белые полоски.

На нечетных позициях (считая слева направо) цифры изображаются штрихами, а на четных - промежутками (чередование). При кодировании данных с нечетным количеством знаков впереди записывается «0».

В штрих-коде Interleaved 2 of 5 для повышения надежности считывания рекомендуется использовать контрольный знак. Контрольный знак располагается непосредственно после информационных знаков перед знаком «Стоп». Если добавление контрольного знака делает количество знаков в кодируемых данных нечетным, впереди кодовой строки непосредственно после знака «Старт» добавляется «0».


Параметры символики


В системе GS1 символы символики Interleaved 2 of 5 имеют следующие параметры:


  • Кодируемый набор знаков – цифровой от 0 до 9 (знаки ASCII с десятичными значениями от 48 до 57 включительно по ISO/EIC 646 (ГОСТ 27463));

  • Тип кода – непрерывный;

  • Число элементов в знаке символа – пять (два широких и три узких), закодированных либо в виде пяти штрихов (тёмных элементов) или пяти пробелов (светлых элементов);

  • Самоконтроль знака символа – присутствует;

  • Кодируемая длина строки данных – фиксированная длина – 14 цифр;

  • Двунаправленное декодирование – присутствует;

  • Контрольная цифра – одна обязательная;

  • Плотность знаков символа для Interleaved 2 of 5 – от 16 до 18 модулей на два парных знака символа, в зависимости от отношения широкого к узкому. Значение 16 основано на заданном отношении 2.5:1;

  • Необходимое дополнение, не относящееся к данным: от 8 до 9 модулей, в зависимости от отношения широкого к узкому. Значение 8,5 – при заданном отношении широкого к узкому 2.5:1.

Структура символа


Символ Interleaved 2 of 5 включает:

Кодирование знаков данных


В таблице 1 приведено кодирование знаков символа Interleaved 2 of 5. В графе «Двоичное представление» знаку «1» соответствует широкий элемент, а знаку «0» – узкий элемент.



Знак данных

Двоичное представление

1


2

4

7




0

0

0

1

1

0

1

1

0

0

0

1

2

0

1

0

0

1

3

1

1

0

0

0

4

0

0

1

0

1

5

1

0

1

0

0

6

0

1

1

0

0

7

0

0

0

1

1

8


1

0

0

1

0

9

0

1

0

1

0


Таблица 1. Двоичное представление кодирования знаков.


В таблице 1 используют модифицированную схему двоично-десятичного кодирования. Четырём расположенным слева битам каждого знака слева направо присваивают позиционные веса 1, 2, 4 и 7. Пятый бит используют для паритета чётности. Сумма позиционных весов битов со значением 1 равна значению знака данных, за исключением знака данных «0», где единицу используют для позиционного веса 4 и 7. Бит паритета используют, чтобы в знаке всегда присутствовали два бита со значением «1».

Алгоритм преобразования числовых данных в знаки Interleaved 2 of 5


В таблице 2 приведён алгоритм преобразования числовых данных в знаки символа Interleaved 2 of 5. Для примера возьмём номер 0367123456789.


Алгоритм

Пример

  1. Рассчитывают контрольную цифру для 0367123456789.

  2. Берутся четыре крайние левые цифры.

  3. Строку числовых знаков разбивают на пары цифр.

  4. Пары цифр кодируют следующим образом:

- каждую первую цифру каждой пары кодируют комбинацией штрихов в соответствии с таблицей 1.

- каждую вторую цифру каждой пары кодируют комбинацией пробелов в соответствии с таблицей 1.
  1. Каждую пару знаков символа образуют путём чередования штрихов (тёмных штрихов) и пробелов (светлых штрихов) из комбинаций, полученных в результате выполнения действия 4. При этом за первым штрихом (тёмным штрихом) комбинации первой цифры должен следовать первый пробел (светлый штрих) комбинации второй цифры.


7

0367

03 и 67


0 и 6


3 и 7


Таблица 2. Алгоритм преобразования цифровых данных.

Распознавание штрих-кода


Распознавание элементов штрих-кода можно свести к распознаванию образов. Для оптического распознавания образов можно применить метод перебора вида объекта под различными углами, масштабами, смещениями и т. д. В случае штрих-кода имеется 4 элемента: «0,1» (темного) и «0,1» (светлого). Учитывая особенности алгоритма для распознавания элемента необходимо определить его ширину.

Вычисление контрольной цифры


Типовое вычисление контрольной цифры приведено в таблице 3.


Позиции разрядов

N1

N2

N3

N4

N5

N6

N7

N8

N9

N10

N11

N12

N13

N14

Умножают значение в каждой позиции на позиционные веса


x3


x1

x3

x1

x3

x1

x3

x1

x3

x1

x3

x1

x3




Складывают полученные произведения




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





Таблица 3. Типовое вычисление контрольной цифры.

Примеры


Пример 1.

На рисунке 1 представлена последовательность элементов: штрихов (тёмных штрихов) и пробелов (светлых штрихов), соответствующая парам знаков цифр «03 и 67».




Рис. 1. Пары знаков символа Interleaved 2 of 5, кодирующие 03 и 67.


Пример 2.

Как отмечалось ранее знак «СТАРТ» должен состоять из четырёх узких элементов в последовательности «штрих – пробел – штрих – пробел». Знак «СТОП» должен состоять из последовательности «широкий штрих – узкий пробел – узкий штрих», как показано на рис. 2.

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

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


Знаки «СТАРТ» и «СТОП» не имеют визуального представления для чтения и не подлежат передаче декодером. Знаки «СТАРТ» и «СТОП» с указанием их взаимосвязи со знаками символа приведены на рисунке 2.




Рис. 2. Знаки «СТАРТ» и «СТОП».

Пример 3.

На рисунке 3 приведён законченный символ штрихового кода для числа 1234 с представлением необходимых свободных зон.




Рис. 3. Символ Interleaved 2of 5 с указанием свободных зон.


Пример 4.

В таблице 4 приведён пример типового вычисления контрольной цифры для последовательности 0367123456789.


Действия

Позиции разрядов

N1

N2

N3

N4

N5

N6

N7

N8

N9

N10

N11

N12

N13

N14

Число без контрольной цифры


0

3

6

7

1

2

3

4

5

6

7

8

9




Умножение на позиционные веса

x3

x1

x3

x1

x3

x1

x3

x1

x3

x1

x3

x1

x3




Результат умножения

0

3

18

7

3

2

9

4

15

6

21

8

27




Сложение результатов умножения


=123



Вычитание суммы из ближайшего эквивалентного или большего, кратного 10(130) = контрольная цифра (7)


Число с контрольной цифрой

0

3

6

7

1

2

3

4

5

6

7

8

9

7


Таблица 4. Типовое вычисление контрольной цифры.

Обзор свободного ПО для реализации алгоритма


Приложение KBarcode предназначено для печати этикеток и штрих-кодов. С её помощью можно изготавливать различную печатную продукцию от визитных карточек до сложных этикеток с несколькими штрих-кодами, таких как описания товаров. В состав KBarcode входят: Barcode Generator – для генерации штрих-кода, Label Editor – для редактирования этикеток, Batch Printing – для печати этикеток.





Рис. 4. Программа Kbarcode.


Запустим Barcode Generator, сгенерируем штрих-код из даты «15.06.08» и разберем его по составу.





Рис. 5. Barcode Generator.


На рис. 6 представлен детальный разбор штрих-кода заданной даты, на котором показаны границы «Старт», «Стоп», информационная зона и разряд контрольной суммы.





Рис. 6. Детальный разбор штрих-кода.

Далее данный штрих-код можно открыть в Label Editor и добавить к нему текстовую информацию.






Рис. 7. Label Editor.

Заключение


В курсовой работе был рассмотрен метод штрихового кодирования информации Interleaved 2 of 5. Рассмотрена свободная программа по его реализации Kbarcode.

Литература