Автор работы: Пользователь скрыл имя, 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
символ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 можливих 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 Загальний огляд
Як правило той або інший тип штрихкоду вибирають, виходячи з наступних чинників:
і/або обладнанню ,що використається;
Нижче найвживаніша штрихкодова
символіка розглядатиметься більш
докладно. Потрібно зазначити основні
параметри якими
відношенням
В даній таблиці наведено основну характеристику найбільш вживаних світових стандартів штрихових кодів.
Таблиця 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 використовуються наступні значення:
ВАГИ: 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. Штрихові коди цього типу повинні мати так-звані “тихі зони” з обох боків штрихкоду. “Тихі зони” – незаповнені області, вільні від будь-якого друку, звичайно їх ширина не повинна бути меншою десятикратної ширини найменшого бруска штрихового коду.
Информация о работе Застосування штрих-коду для кодування інформації