Краткие теоретические сведения. Штриховые коды используются для идентификации единичных предметов и сконструированы
Штриховые коды используются для идентификации единичных предметов и сконструированы специально для построения систем автоматизированного сбора первичной информации для дальнейшей компьютерной обработки и оптимальной организации материальных потоков в разнообразных отраслях хозяйства (производстве, торговле, медицине и т.д.).
В общем виде, штрих-код - это последовательность штрихов и пробелов, расположенных в направлении воображаемой прямой.
Существует много разновидностей штриховых кодов. Так, по цветовой гамме они делятся на много- и двухцветные, по назначению – на цифровые и алфавитно-цифровые, по построению – на дискретные, в которых знаки разделены между собой пробелами, и непрерывные, в которых соседние знаки не разделяются разделителем.
Наиболее распространенными штриховыми кодами являются EAN (European Article Number) и UPC (Universal Product Code).
Штриховой код EAN предназначены для кодирования 10 цифр (0…9) и пяти дополнительных символов (СТАРТ, СТОП и разделительные знаки). Код EAN двунаправленный и может иметь кодовое слово длиной 4…8, 10, 12…14 знаков. Но существуют две основных разновидности этого кода: EAN-13 и EAN-8, где цифрой обозначено длину кода (количество знаков в кодовом слове).
Последняя цифра кодовой комбинации является контрольной и рассчитывается по специальному алгоритму:
1) находят сумму цифр, расположенных на нечетных позициях кодового слова (просмотр осуществляют справа налево), и умножают полученный результат на 3;
2) находят сумму цифр, расположенных на четных позициях кодового слова;
3) прибавляют числа, полученные в предыдущих пунктах;
4) находят контрольную цифру следующим образом: она равна цифре, которая при прибавлении к числу, полученному в предыдущем пункте, дает число, кратное 10.
В кодах EAN используется 4 набора знаков A, B, C, D для кодирования десятичных цифр, а также знаки СТАРТ, СТОП (H1, H2, H3) и разделительные знаки (H4, H5) (все эти наборы знаков можно найти в книге [1], табл. 7.1, стр. 150). Каждый знак состоит из двух штрихов и двух пробелов. Длина каждого знака для кодирования цифр равна семи модулям, а вспомогательные знаки имеют длину три, пять и шесть модулей. В качестве знаков СТАРТ и СТОП используются знаки H1, H2, H3 в зависимости от символов начала и конца кодового слова (см. книгу [1], табл. 7.2, стр. 151).
Штриховые коды EAN длиной 4…7 знаков кодируются набором А и ограничиваются знаками СТАРТ (H1) и СТОП (H2). Кодовые слова длиной 8, 10, 12 и 14 знаков состоят из двух частей с одинаковым количеством знаков в каждой из них, разделенных знаком (H4). Для изображения левой части кодового слова используются наборы А и В, а правой – наборы С и D. Такие кодовые слова имеют ограничительные знаки СТАРТ и СТОП из набора H1, H2, H3.
Если товар имеет номер из семи цифр, то, после дополнения его контрольной цифрой по приведенному выше алгоритму, получают восемь цифр, которые кодируют кодом EAN-8. Кодовое слово этого кода состоит из знака СТАРТ (H1), четырех знаков набора А, разделительного знака H4, трех знаков набора С, знака контрольной цифры в наборе С, а также знака СТОП (H1).
Кодирование
Число, месяц и год моего рождения:
13.04.1990.
Отбросим разделительные точки и последнюю цифру “0” и получим 7‑значное десятичное число, которое необходимо закодировать и представить в графическом виде его штрих-код EAN-8:
По описанному выше алгоритму вычислим контрольную цифру:
1) (9 + 1 + 0 + 1) · 3 = 33;
2) 9 + 4 + 3 = 16;
3) 33 + 16=49;
4) 49 + 1 = 50 → K = 1.
То есть, 8-значная комбинация, которую мы будем кодировать кодом EAN-8:
13041991.
Эта кодовая комбинация, закодированная кодом EAN-8, в двоичном виде будет состоять из следующих частей:
1) знак СТАРТ – Н1:
101;
2) двоичный эквивалент из набора А первых четырех цифр исходной комбинации – 1304:
0011001 0111101 0001101 0100011;
3) разделительный знак – H4:
01010;
4) двоичный эквивалент из набора С остальных четырех цифр исходной комбинации – 1991:
0011001 0001011 0001011 0011001;
5) знак СТОП – Н1:
101.
Собираем последовательно все эти 5 частей и получаем кодовую комбинацию кода EAN-8:
101 0011001 0111101 0001101 0100011 01010 0011001 0001011 0001011 0011001 101.
Представим полученную закодированную кодовую комбинацию в графическом виде:
ЗАКЛЮЧЕНИЕ
В результате проделанной работы я углубил свои знания в теории информации и кодирования. В работе были рассмотрены такие разделы, как простейшие коды, статическое кодирование, коды, обнаруживающие ошибки, коды, исправляющие ошибки, канальные коды и штриховые коды. Мной были досконально изучены такие понятия, как количество информации, энтропия, избыточность кода.
В работе для множества разнообразных кодов представлены процессы кодирования и декодирования определенной кодовой комбинаций. В разделе простейших кодов для двоично-десятичного кода была рассчитана избыточность, а для кода Грея – показано уменьшение веса ошибки. В разделе статического кодирования для определенного текста было подсчитано вероятности появления букв, количество информации в символах, энтропия источника; после чего полученный алфавит был закодирован кодами Шеннона-Фано и Хаффмана, для которых расчетами была доказана их оптимальность. Для всех кодов, обнаруживающих ошибки была рассчитана избыточность. Для кодов, исправляющих ошибки, был показан процесс декодирования искаженного сообщения с исправлением ошибок такой кратности, которые позволяет исправлять данный код. Для канальных кодов были приведены рисунки, иллюстрирующие кодирование определенного сообщения. В разделе штриховых кодов 7‑значное десятичное число было закодировано кодом EAN-8, и найденный штрих-код этого числа был представлен в графическом виде.
В процессе выполнения данной работы я убедился в том, что каждый код имеет свои специфические свойства, свои достоинства и свои недостатки, и именно они и определяют область применения того или иного кода.
Приложение А
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ “КПІ” _
(назва вищого навчального закладу)
Кафедра АВТОМАТИКИ ТА УПРАВЛІННЯ В ТЕХНІЧНИХ СИСТЕМАХ _
Дисципліна Основи збору, передачі та обробки інформації _
Курс III Група ІА-71 Семестр 5 _
ЗАВДАННЯ
на курсовий проект (роботу) студента
Оконського Іллі В’ячеславовича _
(прізвище, ім'я, по батькові)
1.Тема проекту (роботи)______________________ ______________
2.Срок здачі студентом закінченого проекту (роботи)__________________________
3.Вихідні дані до проекту (роботи) 3 перші великі літери прізвища, імені та по батькові, закодовані цифровим кодом: ОИВ – 11101111 11101001 11110111; текст, що складається з повного написання прізвища, імені та по батькові мене та моїх батьків: оконскийильявячеславовичоконскийвячеславанатолиевичоконскаянаталиясергеевна; семизначне число, що містить послідовно число, місяць і рік мого народження: 1304199 (без останнього нуля)___________________________
_____________
_____________
_____________
4.Зміст розрахунково-пояснювальної записки (перелік питань, які підлягають розробці)____
_____________
_____________
_____________
5.Перелік графічного матеріалу (з точним зазначенням обов'язкових креслень)__
_____________
_____________
6.Дата видачі завдання_______________________
КАЛЕНДАРНИЙ ПЛАН
№ п/п | Назва етапів курсового проекту (роботи) | Строк виконання етапів проекту (роботи) | Примітки |
Студент____________________________
(підпис)
Керівник___________________________ ______
(підпис) (прізвище, ім'я, по батькові)
‹‹_____››___________________________
Приложение Б
Список литературы
1. Жураковский Ю. П., Полторак В. П. Теория информации и кодирование: Учебник. – Киев: Высшая школа, 2001. - 256 с.
2. Макаров А. А., Чернецкий Г. А. Корректирующие коды в системах передачи информации: Учебное пособие. – Новосибирск, 1999. – 100 с.
3. http://wikipedia.org.