Застосування штрих-коду для кодування інформації

Автор работы: Пользователь скрыл имя, 21 Января 2014 в 12:54, дипломная работа

Краткое описание

Широке використання штрихових кодів було зумовлене необхідністю забезпечити автоматизоване введення інформації в комп'ютерні системи управління, що відрізнялося б високою надійністю, простотою і економічністю. Штриховий код — це не щось особливе, існуюче саме по собі, а передусім елемент системи управління. В відриві від комп'ютерної системи управління, поза зв'язком з її інформаційною базою він не має жодного сенсу. Технологія штрихового кодування застосовується в багатьох сферах людської діяльності, але найбільш широко і ефективно вона використовується в оптовій і роздрібній торгівлі, управлінні матеріальними запасами, управлінні перевезеннями.

Содержание

Вступ 3
1. Теоретичні відомості
1.1 Побудова та класифікація штрихових кодів 5
1.2 Деякі поняття теорії інформації 7
1.2.1 Міра інформації 7
1.2.2 Інформаційна ентропія 10
1.2.3 Умовна ентропія. Iнформацiя, що мiститься в одному дослiдi вiдносно iншого 13
1.2.4 Надлишковість 17
1.2.5 Цiннiсть iнформацiї 19
1.2.6 Экспоненциальный закон збiльшення числа
повiдомленнь 20
1.3 Коди з виявленням та виправленням помилок 22
1.3.1 Кодування інформації 22
1.3.2 Коди з виявленням та виправленням помилок 24
2. Огляд найбільш вживаних типів штрихових кодів
2.1 Загальний огляд 28
2.2 Тип EAN-13, UPC та EAN-8 31
2.3 Code39 та CODABAR 35
2.4 INTERLEAVED 2 OF 5 38
3. Створення самокорегуючого штрихового коду
3.1 Постановка задачі 40
3.2 Хід роботи 40
4. Результати та їх аналіз
4.1 Початкові результати 46
4.2 Кінцевий результат 46
5. Програми
5.1 Iнструкція користувача 48
5.2 Текст програм 53
Висновки 99

Прикрепленные файлы: 1 файл

plt7070.DOC

— 796.50 Кб (Скачать документ)

 

символiв з залишившихся m iнформацiйних i т. д. Цей метод утворення провірочних сум наочно iлюструє приклад коду '11 з 15' (табл. 2).

Викладене поширюється i на бiльш складнi випадки, коли код може водночас мiстити двi помилки, три i т. д. При цьому умова (1.95), кiлькiсть необхiдних провірочних символiв, змiнюється. Наприклад, якщо припустити, що код може мiстити двi помилки, то до n+1 вказiвки (помилок немає, в такому-то мiсцi є одинична помилка) повиннi додатися вказiвок можливих комбiнацiй по двi помилки, тобто повинно мати мiсце

.    (1.97)

Якщо в кодi можливi i три помилки, то повиннi додатися ще вказiвок можливих комбiнацiй по три помилки, тобто

2k>= (n+1) + l/2n(n -1) + 1/3! n(n - 1),  (1.98)

i т. д. 

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

Викладенi iдеї можна  дуже наочно проiлюструвати геометрично. Уявимо собi, що для передачi можливих N повiдомлень ми користуємось n-розрядним двiйковим кодом. Кожне n-розрядне двiйкове слово можна уявити точкою в n-мiрному просторi, координати якого - значення символiв по кожному розряду (0 або 1). Якщо n=3, то ми маємо звичайний тривимiрний простiр, де означенi точки утворять вершини одиничного куба (рис. 7).


Домовимося називати вiдстанню dij мiж двома кодовiми словами (двома вершинами куба) найменше число їхнiх ребер ,що роздiляють їх або, що те ж саме, кiлькiсть порозряднiх не-збiгiв в цих двох словах. Наприклад, вiдстань мiж двiйковими словами 101100 i 100110 рiвна dij =2. Якщо код не володiє надлишковiстю, тобто N=2n, те кожному кодовому слову вiдповiдає своє повiдомлення i мiнiмальний iнтервал при такому кодуваннi dij min рiвний 1. Природньо, що такий код не може виявити помилку, бо будь-яка помилка перекладає дане слово в iнше, вiдповiдне iншому повiдомленню. Цю помилку не можна буде вiдрiзнити вiд iншого сигналу. Якщо ж N<2n, тобто має мiсце надлишковiсть, те не всi вершини куба можна взяти в якостi кодових слiв, вiдповiдних повiдомленням, а тiльки частину з них. Тодi можна вибрати код, при якому dijmin=2, i виявити одну помилку (але не виправити). Дiйсно, наявнiсть помилки призведе до того, що помилкове слово буде стояти вiд iншого кодового слова на iнтервалi, рiвному dij=1. А це для iстинних повiдомлень неможливо. Але подвiйну помилку вже виявити не можна, бо вона переведе наше слово в iнше кодовое слово, вiдповiдне iншому iстинному повiдомленню. Якщо вибрати код з мiнiмальним iнтервалом dij min=3, то одинична помилка призведе до отримання слова, що стоїть на вiдстанi dij=1 вiд вхiдного. Але вiд iнших слiв коду, вiдповiдних iстинним повiдомленням, воно буде вiдстояти мiнiмум на двi одиницi. Це дозволяє знайти викривлене слово (вхiдне), тобто виправити помилку. Таким чином, код з dij min=3 дозволяє виправити одиничну помилку i виявити подвiйну. В загальному випадку, якщо N << 2n (бiльша надлишковiсть), то при мiнiмальнiй вiдстанi мiж словами, рiвнiй dijmin = 2(m+1) (m - цiле, додатнє), можна побудувати код, що виправляє  v-кратну помилку (v= 1, 2,..., m) або що виявляє 2v-кратну.

 

 

 

2. Огляд найбільш вживаних

типів штрихових кодів

 

 

2.1 Загальний огляд

 

Як правило той або інший  тип штрихкоду вибирають, виходячи з наступних чинників:

  • Прикладний пакет підтримує тільки один тип коду;
  • Промислові стандарти диктують той або інший тип коду;
  • Тип коду вибирається виходячи з умови відповідності іншим системам

і/або обладнанню ,що використається;

  • Особисті вподобання керівника.

Дуже  часто штрихкоди наносять так, як про це просить майбутній продавець даного товару. В цьому випадку виробник, імпортер, або пакувальник при нанесенні EAN-коду використає номер виробника. На тару може наноситися або 13-символьний EAN-код, або 14-символьний ITF. Найбільший по розміру EAN-код, що може бути нанесений, занадто малий і тому може загубитися на великій тарі. Він також вимагає високої точності друку, що неможливо при друкуванню на такому матеріалі, як наприклад, картонні коробки. ITF-код може бути значно більшого розміру і для нього допустимі більші відхилення ширини ліній і пробілів, що робить можливим прямий друк навіть на низкоякісному субстраті. Кожному, хто використовує штрихове кодування в роздрібній торгівлі, слід подумати про використання EAN-кодів. Для торгівлі харчовими продуктами вони є узвичаєним стандартом. Але оскільки багато організацій, що торгують харчовими продуктами, продають зараз багато нехарчових, а продавці наполягають на маркуванні їх за допомогою EAN, тому безліч інших видів продукції доставляється зараз вже маркованими за допомогою EAN. Однак в торгівлі взуттям і ювелірними виробами прийняте маркування за допомогою ITF. Гнучкість цього коду  відносно довжини робить його більш придатним, ніж EAN з жорстко фіксованими розмірами. Контрольна цифра в ITF необовязкова, але може використовуватися, з умовою, що прінтер і сканер штрихкода працюють в одному режимі. CODE 39 - мабуть, найбільш розповсюджений в неторгівельній сфері. Його обрали збройні сили і автомобільна промисловість. Якщо вимагаються різноманітні довжини кодів, а також використання літерних символів, найбільш зручним є CODE 39. В поштовій справі знайшов своє примінення штрихкод типу POSTNet. Для кодування великих об’ємів інформації на малій площі застосовують двомірні штрихові коди, такі як PDF-417, DATAMATRIX та ін.

Нижче найвживаніша штрихкодова  символіка розглядатиметься більш  докладно. Потрібно зазначити основні  параметри якими характеризується симоліка штрихових кодів:

  • Співвідношенням між широким і вузьким елементами - друкованим

відношенням

  • шириною вузького елементу (часто називають ширина модуля)
  • комбінаціями штрихів і пробілів для кодування знаків
  • кількістю знаків в символі
  • комбінаціями штрихів і пробілів для кодування старт/стоп знаків.
  • допусками при друці кожного елементу
  • контрольним розрядом (контрольною сумою)

В даній таблиці  наведено основну характеристику найбільш вживаних світових стандартів штрихових  кодів.

 

Таблиця 3

Тип штрихкода

Довжина

Контрол. Розряд

Допустимі символи

1

3 of 9

Різна

-

0-9, A-Z, -.*/+% и пробіл

2

UPC-A

11 цифр

+

0-9

3

UPC-E

6 цифр

+

0-9

4

Interleaved 2 of 5

Різна

-

0-9

5

Code 128 (A,B,C)

Різна

M-103

128 символів ASCII

6

EAN-13

12 цифр

+

0-9

7

EAN-8

7 цифр

+

0-9

8

Health Industry Bar Code (HIBC)

Різна

M-43

0-9, A-Z, -.$:/.   Повинен починатися з "+"

9

Codabar

Різна(Мін. 3 символа)

-

0-9,-,.,$,:,/,+, і коди старт/стопа  a, b, c и d

10

Interleaved 2 of 5 without Bars

Різна

M-10

0-9

11

MSI Plessey

Різна

M-10

0-9, Якщо + останній символ, на місто символа + буде добавлена додаткова контрольна сумма MSI

12

Interleaved 2 of 5 (UPC CASE)

13

M-10

0-9

13

UPC 2 digit add

2 цифри

+

0-9

14

UPC 5 digit add

5 цифр

+

0-9

15

Code 93

Різна

-

128 символів ASCII

16

Postnet

Різна

+

0-9

17

UCC/EAN Code   128

19 цифр

+

0-9

18

UCC/EAN Code   128 K-MART   NON EDI

18 цифр

+

0-9

19

UCC/EAN Code   128 Random Weight

Різна,   принаймні 34 цифри

+

0-9

20

Telepen

Різна

+

128 символів ASCII

21

UPS MaxiCode

84

+

0-9, A-Z

22

FIM

1 символ

-

A, B, C або D

23

PDF-417

Різна

+

Всі символи ASCII


 

 

 

2.2 Тип  EAN-13, UPC та EAN-8

 

Цей код частіше інших зустрічається на упаковках імпортних продуктів харчування в супермаркетах. EAN - абревіатура European Article Number (європейський номер товару), а американський еквівалент UPC - абревиатура від Universal Product Code (унивесальный код товару).Існують 2 типи штрихового коду EAN: EAN8, що кодується вісьмома цифрами і EAN13, що кодуєтся тринадцятьма цифрами. Слово 'цифра', а не 'символ', використовується навмисне, тому що EAN (і UPC) можуть містити тільки цифри.

Штрихові коди UPC, на перший погляд, мають вигляд точнісінько такий, як і коди EAN, але вони складаються тільки з дванадцяти (UPS-A) або шести (UPS-E) цифр. EAN International - це добровільна некоммерційна і не урядова міжнародна Асоціація, що складається з національних організацій (в нинішній час 80 організацій в 89 країнах). EAN (European Article Numbering) International управляє міжнародною багатогалузевою системою товарної нумерації і стандартів штрихового кодування, що дозволить ідентифікувати і передавати дані про товари, послуги, підприємства, транспортні одиниці і адресні дані.

Розглянемо структуру  штрихового коду типів ЕAN на прикладі EAN-13.

Перші 3 цифри називаються префіксом EAN і присвоюються EAN International. Ними ідентифікуються  національні організації. Национальні  організації товарної нумерації уповноважені EAN International використовують систему EAN на національному або регіональному рівнях в якості офіційних представників EAN. В окремо взятій країні

 

або регіоні може існувати тільки один представник EAN Intrernational. Префікси 460-469 в коді EAN-13 присвоєні Росії. Префікс 482 присвоєно ЮНІСКАН/EAN України. Префікс завжди є зісланням на національну організацію. Так префікс 482 означає, що підприємство зареєстроване в Українському відділенні EAN, а зовсім не те, що підприємство знаходиться на території України. В національну організацію України може вступити будь-яке підприємство, наприклад, розташоване на території Німеччини, Казахстану, Росії і т. д., за умови, що воно має своє представництво в Україні. При вступі в ЮНІСКАН/EAN України підприємству буде присвоєний відповідний код, що починається префіксом 482. Аналогічно, наприклад, префікс 50 означає, що підприємство зареєстроване в національній організації Великобританії, а не те, що воно розміщене на англійській території. (Префікси деяких національних організацій складаються з 2 цифр.) Наступні 9 цифр містять номер підприємства, що зареєструвалось всередині національної організації, і номер товару. Структура 9 знаків, що належать номеру підприємства і номеру товару, визначається безпосередньо національною організацією, наприклад:

    5 - підприємство/4 - товар,

    6 - підприємство/3 - товар, 

    7 -  підприємство/2 - товар і ін.

В нинішній час ЮНІСКАН/EAN України визначило наступну структуру: 4 цифри - номер підприємства, 5 цифр - номер товару. Остання 13 цифра називається контрольним розрядом. Вона призначена для перевірки правильності считування коду EAN скануючим пристроєм. Прочитавши графічне зображення штрихового коду за допомогою сканера і перетворивши його в цифровий код, комп'ютер по спеціальному алгоритму обчислює контрольний розряд і порівнює його із зісканованим з графічного зображення. Збіг зісканованого і обчисленого контрольних розрядів означає правильне считування штрихового коду. В цьому випадку на сканері з'являється відповідний світловий/звуковий сигнал. Якщо код читається погано, то одна або декілька цифр коду можуть бути при зчитуванні викривлені. В цьому випадку сканер не дасть сигнал про правильне зчитування. Аналогічно, якщо хто-небуть придумав свій код з довільних 13 цифр або, якщо контрольний розряд має довільне значення, те цей штриховий код сканером зчитуватися не буде.

Розглянемо алгоритм знаходження контрольного числа(розряду) для коду EAN13.

 В процесі знаходження контрольного числа в коді EAN 13 використовуються наступні значення:

МОДУЛЬ: 10

ВАГИ: 131313131313

СУМА: Добутків

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

КРОК 1: Починаючи з  крайнього праворуч розряду, виключаючи контрольний розряд, скласти величини парних розрядів;

КРОК 2: Результат КРОКУ 1 помножити на 3;

КРОК 3: Скласти величини розрядів ,що залишалися;

КРОК 4: Скласти результати КРОКІВ 2 і 3;

КРОК 5: Значення контрольного розряду є найменшим числом, що в сумі з величиною, отриманої в КРОЦІ 4, дасть число, кратне 10.

Приклад розрахунку контрольного розряду в коді EAN-13 =467622135746С

    4 6 7 6 2 2 1 3 5 7 4 6 C 

Крок 1: 6+6+2+3+7+6=30

Крок 2: 30×3=90

Крок 3: 4+7+2+1+5+4 =23

Крок 4: крок 2+ крок 3=113

Крок 5: С=120-113=7

 

Роз'яснення: наступне за 113 найближче кратне 10 число рівне 120. Тому контрольний розряд в коді EAN-13 буде рівний: 120 - 113=7, а повний номер EAN-13 буде наступним: 4676221357467.

Розглянемо особливості  графічної побудови кодів типу EAN-13. Штрихові коди цього типу повинні мати так-звані “тихі зони” з обох боків штрихкоду. “Тихі зони” – незаповнені області, вільні від будь-якого друку, звичайно їх ширина не повинна бути меншою десятикратної ширини найменшого бруска штрихового коду.

Информация о работе Застосування штрих-коду для кодування інформації