Item Unique Identification (IUID) 201



Similar documents
Tips on Encoding the Unique Item Identifier (UII) Mark and Building the Concatenated UII

Application of Data Matrix Verification Standards

A Barcode Primer for Manufacturers Dr. Peter Green BellHawk Systems Corporation

The ID Technology. Introduction to GS1 Barcodes

Barcode Labels Feature Focus Series. POSitive For Windows

The Use and Standardization of Barcodes in Railroad Wheel and Wheelset Manufacturing. Tim Epperson

About Data Matrix Symbology

Department of Defense. Guidelines for the Virtual Unique Item Identifier (UII)

ZIMBABWE SCHOOL EXAMINATIONS COUNCIL. COMPUTER STUDIES 7014/01 PAPER 1 Multiple Choice SPECIMEN PAPER

Customer Barcoding Technical Specifications

WHITE PAPER DECEMBER 2010 CREATING QUALITY BAR CODES FOR YOUR MOBILE APPLICATION

White Paper Barcoding

Technical guide 1. june 2011

Contents. Bar code data transmission specifications...b-1. A October 1997 i

2D BARCODE STANDARD FOR LENSES (OPTICAL PRODUCT CODE/ COUNTRY OF ORIGIN)

Laser Barcode Scanner

On-Demand Printing Technologies

QR Codes and Other Symbols Seen in Mobile Commerce


FAA Asset Identification Process and Procedure Guide

A Brief History of Barcode Verification

The Barcode Printing option may be purchased for an additional cost. You will receive a CD that you will use to activate this feature.

Grade 6 Math Circles. Binary and Beyond

RFID Tag Data Standards. Kenneth R. Traub, PhD Ken Traub Consulting LLC 3 April 2012

Laser Scanner Programming Guide (SE923 laser engine)

Back to Basics: Introduction to Industrial Barcode Reading

RFID Tag Data Standards. Kenneth R. Traub, PhD Ken Traub Consulting LLC 12 April 2011

Print, Verify and Quality Control 2D barcodes

European Medicines Verification System (EMVS) European Pack Coding Guidelines

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012

Base Conversion written by Cathy Saxton

SE03. Benefits of Image Based Bar Code Scanning

Introduction: Consumables - Part of the Identification System

Produce Traceability Initiative Best Practices for Direct Print

Support Guide for Codification of Medicines

A brief guide to... Barcode Printing

Laser coding a technology of choice for the Pharmaceutical industry

white paper JANUARY 2011 The Next- Warehouse Scanning and the Emergence of 2D Bar Codes

User Manual. Before you connect, start or configure your new point of sale terminal, please carefully read the User Manual

Elfring Fonts, Inc. PCL MICR Fonts

ELFRING FONTS UPC BAR CODES

May Prepared: Product version: Keyword: Accelio Present Central 5.4. Original value:

Grade 5 Math Content 1

Planning a DoD UID Bar Code Marking System A practical guide to program requirements, marking options and printer selection A ZEBRA BLACK&WHITE

=

Common Core Unit Summary Grades 6 to 8

Decodability QUALITY. A New Method to Ensure Bar Code Quality throughout the Distribution Channel

A Brief Guide to Bar Code Printing

BARCODE PRINTING SET UP BARCODE PRINTING

ELFRING FONTS INC. MICR FONTS FOR WINDOWS

Matt Cabot Rory Taca QR CODES

Barcodes principle. Identification systems (IDFS) Department of Control and Telematics Faculty of Transportation Sciences, CTU in Prague

Learn about OCR: Optical Character Recognition Track, Trace & Control Solutions

Parts of a Computer. Preparation. Objectives. Standards. Materials Micron Technology Foundation, Inc. All Rights Reserved

BAR CODE 39 ELFRING FONTS INC.

Index...1. Introduction...3. Installation- Keyboard Wedge...3 RS USB...3. Default Setting for each barcode shown as below:...

EE 261 Introduction to Logic Circuits. Module #2 Number Systems

-- Martensdale-St. Marys Community School Math Curriculum

SYSTEMS OF EQUATIONS AND MATRICES WITH THE TI-89. by Joseph Collison

Frequently Asked Questions

Layman's Guide to ANSI X3.182

Revision 5 - (Released April 2008) Added further definitions of RFID tag contents and testing requirements for RFID tag read range.

Beginner s Matlab Tutorial

Bar Code & Label Layout Specification

Charlesworth School Year Group Maths Targets

Let s talk symbology. A guide to decoding barcodes

Digital Versus Analog Lesson 2 of 2

Grade 6 Mathematics Performance Level Descriptors

MATRIX 210. Host Mode Programming

MATH 60 NOTEBOOK CERTIFICATIONS

Laser Barcode Scanner User s Manual

QUICK START GUIDE Bluetooth Cordless Hand Scanner (CHS)

Encoding Text with a Small Alphabet

Elfring Fonts LaserJet Bar Codes & More

MATH 110 Landscape Horticulture Worksheet #4

1.1.2 Polypropylene The polypropylene must be a white opaque film, 1 2 mil thick. Biaxial orientation is preferred.

Storing Measurement Data

UDI. Guide to Label and Marking Compliance. Unique Device Identification. For Medical Device Manufacturers

Grade 5 Common Core State Standard

Chapter 4: Computer Codes

VISUAL ALGEBRA FOR COLLEGE STUDENTS. Laurie J. Burton Western Oregon University

Ian Hawdon Physics Page 1 of 20 Barcodes

All V7 registers support barcode printing, except the Sharp 410/420 1A ROM and that limitation is based upon the register.

Programming Reference Guide HP USB Barcode Scanner

Minnesota Academic Standards

Section 1.4 Place Value Systems of Numeration in Other Bases

Colour by Numbers Image Representation

ISAT Mathematics Performance Definitions Grade 4

Developing Conceptual Understanding of Number. Set J: Perimeter and Area

Japanese Character Printers EPL2 Programming Manual Addendum

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Ten steps to GS1 barcode implementation. User Manual

SAT Math Strategies Quiz

Negative Integral Exponents. If x is nonzero, the reciprocal of x is written as 1 x. For example, the reciprocal of 23 is written as 2

Introduction to Fractions, Equivalent and Simplifying (1-2 days)

2011, The McGraw-Hill Companies, Inc. Chapter 3

Grade 6 Mathematics Assessment. Eligible Texas Essential Knowledge and Skills

Count the Dots Binary Numbers

Transcription:

DASN (ELM)'s IUID Education and Training Series Item Unique Identification (IUID) 201 IUID Center Representative NSWC Corona, IUID Center 28 March 2013 1

Housekeeping Please mute your telephone Please use the chat box for questions which are critical to the understanding of the presentation Please submit any question not requiring immediate attention to iuid.helpdesk@dla.mil Questions will be answered as time permits 2

Schedule IUID and the Data Matrix Encoding Data into a Barcode Error Correction and Recovering Data Drawing the Data Matrix When is a Data Matrix Not an IUID Printing a Barcode Choosing and Using Barcode Readers 3

Item Unique Identification (IUID) IUID is a system of marking items with globally unique Unique Item Identifiers (UIIs) that distinguish them from all other like and unlike items IUID is mandated within the DoD for all new item acquisitions, items the government already owns (legacy items), and government furnished property (GFP) meeting specific criteria Most simply, IUID requires items to be permanently, uniquely identified with a UII and to have that UII encoded into a data matrix barcode marked on the item 4

Why the Data Matrix? for marking small parts Capacity: Up to 2,335 alphanumeric characters Multiple ways to make your mark Error Correction: ~50%

Schedule IUID and the Data Matrix Encoding Data into a Barcode Error Correction and Recovering Data Drawing the Data Matrix When is a Data Matrix Not an IUID Printing a Barcode Choosing and Using Barcode Readers 6

Encoding Example To illustrate how data and error correction gets into a data matrix, we choose to encode the data 3R60. This is done by first converting the data to a numeric form by using its ASCII representation. 7

The ASCII Table 8

The ASCII Table 3 = 51 R = 82 6 = 54 0 = 48 9

ASCII Encoding We will be compressing our data by using one of 6 algorithms.* (We choose to use ASCII encoding for this example which is the default method and especially good for digits.) Take the ASCII value and add 1 to it unless it is a digit next to another digit. For digits next to each other, take their value as a pair and add 130. 3 = 51+1 = 52 R = 82+1 = 83 60 + 130 = 190 So the data to encode into our data matrix is 52, 83, and 190 * ASCII, C40, Text, Base256, EDIFACT, X12 10

Encoding Example The next thing to do is find a Data Matrix that can accommodate our data. There are 24 different square and 6 different rectangular data matrices to choose from. Each of them can hold our data consisting of 3 numbers. We choose the smallest one a 10x10 data matrix. (In general, the amount of data determines the size of the data matrix used.) The 10x10 symbol holds 3 data numbers and has 5 error correction numbers. 11

Data Matrix Capacity 12

Schedule IUID and the Data Matrix Encoding Data into a Barcode Error Correction and Recovering Data Drawing the Data Matrix When is a Data Matrix Not an IUID Printing a Barcode Choosing and Using Barcode Readers 13

Error Correction Notional Idea Assume you have 2 points - let s say (1,2) and (1,3). We can plot them on a 2- dimensional graph as shown. (1,2) (2,3) 14

Error Correction Notional Idea We can then make a unique line through those two points as shown. Suppose we over-determine the line by adding add yet another point to our line - let s say (3,4). (1,2) (2,3) 15

Error Correction Notional Idea We can now plot the all of the dots that fall on our line. The first dot, we will call our data and the other two dots we will call our error correction information. (3,4) (1,2) (2,3) Data to encode: 2, 3, 4 16

Error Correction Notional Idea If the data becomes damaged, represented by the point (2,7), it is easy to determine which data is wrong and what its value should be. [(2,7) should really be (3,4)] However, If there are too many points damaged, it would be impossible to determine the line. (2,7) (1,2) (2,3) Note: It doesn t matter if the damage is in the data or the error correction 17

Error Correction Notional Idea For 3 data points we would have to use a 3-dimensional graph. The 3 points are unlikely to lie in a line, but they will always be able to define a plane in 3 dimensions. 18

Error Correction Notional Idea For 3 data points we would have to use a 3-dimensional graph. The 3 points are unlikely to lie in a line, but they will always be able to define a plane in 3 dimensions. And these 3 points can always define a circle within this plane. The error correction data are then chosen to lie on this circle. More data points require more dimensions which gets harder to show. 19

Encoding Example To illustrate how data and error correction gets into a data matrix, we choose to encode the data 3R60. This is done by first converting the data to a numeric form by using its ASCII representation. 20

Encoding Example First we write down the series of numbers we want to encode and append 0 for each of the required error correcting byte required. Data Will be Error Correction Data 52 83 190 0 0 0 0 0 Next we use mathematical algorithms to generate the error correcting bytes from our data. This math can become quite involved. We have given all of the mathematical details in the backup slides if you are interested. Programs that create data matrices can do all of the required math in a very short time. 21

Encoding Example The computer will generate the following codes and append them to the data we Want encoded. This will form the data that will be encoded into the data matrix. Data Error Correction Data 52 83 190 203 219 192 191 177 22

Schedule IUID and the Data Matrix Encoding Data into a Barcode Error Correction and Recovering Data Drawing the Data Matrix When is a Data Matrix Not an IUID Printing a Barcode Choosing and Using Barcode Readers 23

Encoding Example To determine our error correction numbers and to encode them, we need to use numbers a computer can use. Normally, counting is based on something tangible you understand. People understand 10 fingers and their counting is based on this. Electronic machines understand electricity being on or off. (the proverbial 1s and 0s represent electricity being on and off respectively). Computer counting is based on these 2 states of electricity. The computer way of counting is called Binary. 24

Encoding Example Here is how our message looks in 8 bit binary form. 52 = 00110100 83 = 01010011 190 = 10111110 203 = 11001011 219 = 11011011 192 = 11000000 191 = 10111111 177 = 10110001 25

Encoding Example Now map each binary number into a Utah 52 = 00110100 8 7 = 1 6 5 3 2 4 1 = 0 26

Encoding Example Now map each binary number into a Utah 52 = 00110100 = 1 = 0 27

Encoding Example Here are all of the Utahs for our data matrix 52 = 00110100 = 219 = 11011011 = 83 = 01010011 = 192 = 11000000 = 190 = 10111110 = 191 = 10111111 = 203 = 11001011 = 177 = 10110001 = 28

Putting it All Together in a Data Matrix The Data Matrix Standard (ISO/IEC 16022) provides a map for the data placement 29

The Finished Barcode for 3R60 30

End-to-End Big Picture An example of different encoding algorithms for Data Matrix symbols: Encode the data 3R60 into a Data Matrix Default Encoding (ASCII) C40 Text Base 256 The data matrices can look different and still decode the same 31

Schedule IUID and the Data Matrix Encoding Data into a Barcode Error Correction and Recovering Data Drawing the Data Matrix When is a Data Matrix Not an IUID Printing a Barcode Choosing and Using Barcode Readers 32

Can You Spot the IUID? Each one is a data matrix, but only one is an IUID An IUID is always a data matrix A data matrix is not always an IUID 33

Turning a Data Matrix into an IUID The right information encoded into the right kind of mark Syntax [)> R / S 06 G / S 7LN41164 G / S 1PT123 G / S S531 R / S E OT Format Code: Data Identifiers: Enterprise Identifier: Part Number: Serial Number: Unique Item Identifier (UII) : LDN41164T123531 34

Data Constraints when Encoding for IUID 3 formats are allowed for constructing an IUID-compliant Data Matrix: Application Identifiers (AI) (Format Code 05) Data Identifiers (DI) (Format Code 06) Text Element Identifiers (TEI) (Format Code 12) In general, the following restrictions apply to data elements in an IUID-compliant Data Matrix: Issuing Agency Code (IAC) 3 characters Enterprise Identifier (EID) 13 characters Original Part Number or Lot or Batch 32 characters Serial Number 30 characters But there are exceptions 35

Data Constraints when Encoding for IUID And the exceptions are: If using DIs: 18S 25 characters If using TEIs: LOT 15 characters LTN 15 characters BII 5 characters PNO 15 characters UID 45 characters UST 20 characters USN 20 characters SEQ 15 characters SER 15 characters UCN 15 characters For more information on the data elements to construct an IUIDcompliant Data Matrix, see MIL-STD 130 36

Minimizing the Data Matrix Size Sometimes, space for marking is limited, but the required data elements, syntax, and structure for an IUID-compliant Data Matrix cannot be compromised Macro 05 (for AI) and Macro 06 (for DI) can help! Macro 05 and 06 are each a single character which takes the place of 9 others ([)> R / S 05 G / S or [)> R / S 06 G / S in the beginning and R / S E OT at the end) For example, instead of encoding [)> R / S 06 G / S 7LN41164 G / S 1PT123 G / S S531 R / S E OT We could use Macro 06 to encode [Macro06]7LN41164 G / S 1PT123 G / S S531 37

A UII by Any Other Symbol Would Be Just as Unique Each of the following symbols decodes into the same UII: LDN41164T123531 This one encodes the complete UII [)> R / S 06 G / S 25SLDN41164T123531 R / S E OT This one encodes the individual data elements [)> R / S 06 G / S 7L41164 G / S 1PT123 G / S S531 R / S E OT This one encodes the complete UII and uses Macro 06 (the most compact encoding available) [Macro06]25SLDN41164T123531 The data matrices can look different and still decode the same 38

Schedule IUID and the Data Matrix Encoding Data into a Barcode Error Correction and Recovering Data Drawing the Data Matrix When is a Data Matrix Not an IUID Printing a Barcode Choosing and Using Barcode Readers 39

Anatomy of a Label Top Coat Optional layer Added by the manufacturer, Can help overcome: UV, chemicals, abrasion problems Face Stock Paper Polypropylene Polyester Polyolefin Ink Inkjet Toner Direct Thermal Thermal Transfer Wax Wax/Resin Resin Direct Laser Liner Paper or film Moisture stability important to minimize edge curl Comes with release coating Adhesive Thousands of choices! 3 major categories Rubber PSA Acrylic PSA Silicone PSA 40

Expensive Readers Readability Of The Mark Hard Read Easy Read Contrast Shape Cell Size Reflectance Cheap Readers 41

Verification Verification grades ( A F ) eight characteristics of the mark Grades of B or higher are required to pass the mark Axial Non-uniformity Grid Non-uniformity Unused Error Correction Fixed Pattern Damage Modulation Over-print Under-print Contrast 42

A Readable, Failing Mark UNDER PRINT OVER PRINT CLOCKING PATTERN DAMAGE FINDER PATTERN DAMAGE 43

Application of the Labels Multiple identical marks can be applied to an item Protected Easily Read (when boxed) Easily Read (when in service)

Schedule IUID and the Data Matrix Encoding Data into a Barcode Error Correction and Recovering Data Drawing the Data Matrix When is a Data Matrix Not an IUID Printing a Barcode Choosing and Using Barcode Readers 45

Barcode Readers

What To Look For In A Barcode Reader 1. Barcode Compatibilities (Data Matrix, PDF417, Code39, Code128) 2. Mature Software (Upgradeable Firmware) 3. High Density CCD (Charged Couple Device) 4. Durability 5. Good Lighting Features (for DPM) Scanner 6. Multiple Focal Lengths 7. Data Transfer (Tethered, Batch, Blue Tooth, RF) 8. Data Processing/Computing

Targeting and Reading Angle Optimal: 65 degrees Optimal Range: 45-65 degrees Range: 35-90 degrees Depends on mark and ambient lighting 65 o 90 o 45 o 48

Targeting and Reading Distance Optimal distance - 4 from symbol Optimal range: 2 6 inches Center scanner and press trigger button SWIPE 49

Scanner Programming Configuration Symbol/Programming Code Examples: Clear All XML Rules Clear All Stored Data Save Settings Data Matrix Rectangle On Volume High Low Off 50

Keyboard Wedge and NMCI Keyboard wedge allows scanners, plugged into USB ports, to interact with software on the host computer as if they were a keyboard. Under NMCI, USB devices which do not require drivers to be installed, can interact with an NMCI computer as if they were a keyboard. This allows applications like Word, Excel, Access, etc. to easily incorporate barcode scanners in their business processes. 51

IUID Resources OSD UID Policy Office Website www.uniqueid.org Trusted site for policy, updates, FAQs, and IUID newsletter DoN IUID Website https://acquisition.navy.mil/rda/home/acquisition_one_source/item_unique_identification_iuid MIL-STD 130 (current version is N, Change 1 as of Nov 2012) Marking standards and requirements DoD Guide to Uniquely Identifying Items (currently v2.5 as of Sep 2012) Business rules, additional guidance for legacy items IUID Toolkit www.iuidtoolkit.com Role based roadmaps for IUID implementation Defense Acquisition University (DAU) www.dau.mil Continuous Learning Courses (CLM200, CLE 040) to increase IUID knowledge IUID Helpdesk iuid.helpdesk@dla.mil 52

QUESTIONS & ANSWERS 53

Example Binary Numbers The Basics of Binary Counting 2 16 2 15 2 14 2 13 2 12 2 11 2 10 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 4 + 2 = 6 128 = 128 8,192 + 4,096 + 128 + 2 = 12,418 8 + 4 + 2 + 1 = 15 54

IUID Uses 8 bit Binary Numbers For IUID purposes it is necessary to consider limits imposed by 8 positions. (This is a little arbitrary, but is based mostly on historic work.) With 8 binary digits there are 256 different numbers with an upper limit of 255. 2 0 2 1 2 2 2 3 00000000 = 0 00000001 = 1 00000010 = 2 00000011 = 3 00000100 = 4 00000101 = 5 00000110 = 6 00000111 = 7 00001000 = 8 2 4 2 5 2 6 2 7 00010000 = 16 00100000 = 32 01000000 = 64 10000000 = 128 11110111 = 247 11111000 = 248 11111001 = 249 11111010 = 250 11111011 = 251 11111100 = 252 11111101 = 253 11111110 = 254 11111111 = 255 55

0 255 is a Small Universe When limited to 256 numbers you must be careful with math that takes you outside your universe. (e.g. 25 x 25 = 625 how does that work?) For Data Matrix construction an established and agreed upon set of ways to do math is as follows: Use an exclusive or (XOR) function when combining numbers. (details to follow) Use a MOD301 function to bring big numbers back into the universe. 56

XOR Exclusive OR compares two bits and produces a 1 if they are different and a 0 if they are the same. We use the symbol for this operation. 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 0 0 0 0 1 57

Different Same Different Same Same Same Same Same Different XOR Exclusive OR compares two bits and produces a 1 if they are different and a 0 if they are the same. We use the symbol for this operation. 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 0 0 0 0 1 58

MOD301 When you have a number bigger than 255 (Lets take 25 x 25 = 625 = 1001110001 as an example) Use the binary form of 301 = 100101101 Shift the binary 301 so that the left most 1 lines up with the left most 1 of the number which is too big 1001110001 100101101 Fill in any empty spaces with zeros XOR the two binary numbers Convert the result back to decimal 32+8+2+1 = 43 (If the result is bigger than 255, MOD301 it again.) 1001110001 1001011010 1001110001 1001011010 0000101011 59

Back to Error Correction Numbers We know we need 5 error correction numbers which are generated from our 3 data numbers. To find the error correction numbers we use a set of 5 other numbers: 62, 111, 15, 48, 228. We call these our generating numbers. (These seem sort of random but if you want 5 error correction numbers you always use these same 5 numbers. How to calculate them is in the backup slides. For now we are just going to use them.) 60

Encoding Example First we write down the series of numbers we want to encode and append 0 for each of the required error correcting byte required. Data Will be Error Correction Data 52 83 190 0 0 0 0 0 Next we use mathematical algorithms to generate the error correcting bytes from our data. This math can become quite involved. We have given all of the mathematical details in the backup slides if you are interested. Programs that create data matrices can do all of the required math in a very short time. 61

Generating Numbers Encoding Example First write down the series of numbers to encode but use a 0 for each ECC number Data Will be Error Correction Data 52 83 190 0 0 0 0 0 Next start at the left and multiply each data number by your generating numbers then XOR it with the data number just to the right. (Remember to MOD301 numbers when they get too big.) 52 83 190 0 0 0 0 0 108 179 1 89 247 52 x 62 = 3224 52 x 111 = 5772 52 x 15 = 780 52 x 48 = 2496 52 x 228 = 11856 3224 MOD301 = 108 5772 MOD301 = 179 780 MOD301 = 1 2496 MOD301 = 89 11856 MOD301 = 247 62

Encoding Example First write down the series of numbers to encode but use a 0 for each ECC number Data Will be Error Correction Data 52 83 190 0 0 0 0 0 Next start at the left and multiply each data number by your generating numbers then XOR it with the data number just to the right. (Remember to MOD301 numbers when they get too big.) 52 83 190 0 0 0 0 0 108 179 1 89 247 0 0 63 13 1 89 247 0 0 63

Generating Numbers Encoding Example First write down the series of numbers to encode but use a 0 for each ECC number Data Will be Error Correction Data 52 83 190 0 0 0 0 0 Next start at the left and multiply each data number by your generating numbers then XOR it with the data number just to the right. (Remember to MOD301 numbers when they get too big.) 52 83 190 0 0 0 0 0 108 179 1 89 247 0 0 63 13 1 89 247 0 0 243 13 104 164 21 83 x 62 = 5146 83 x 111 = 9213 83 x 15 = 1245 83 x 48 = 3984 83 x 228 = 18924 5146 MOD301 = 243 9213 MOD301 = 13 1245 MOD301 = 104 3984 MOD301 = 164 18924 MOD301 = 21 64

Encoding Example First write down the series of numbers to encode but use a 0 for each ECC number Data Will be Error Correction Data 52 83 190 0 0 0 0 0 Next start at the left and multiply each data number by your generating numbers then XOR it with the data number just to the right. (Remember to MOD301 numbers when they get too big.) 52 83 190 0 0 0 0 0 108 179 1 89 247 0 0 63 13 1 89 247 0 0 243 13 104 164 21 254 15 49 83 21 0 65

Encoding Example First write down the series of numbers to encode but use a 0 for each ECC number Data Will be Error Correction Data 52 83 190 0 0 0 0 0 Next start at the left and multiply each data number by your generating numbers then XOR it with the data number just to the right. (Remember to MOD301 numbers when they get too big.) 52 83 190 0 0 0 0 0 108 179 1 89 247 0 0 63 13 1 89 247 0 0 243 13 104 164 21 254 15 49 83 21 0 199 234 147 170 177 190 (62, 111, 15, 48, 228) MOD301 = Generating Numbers 66

Encoding Example First write down the series of numbers to encode but use a 0 for each ECC number Data Will be Error Correction Data 52 83 190 0 0 0 0 0 Next start at the left and multiply each data number by your generating numbers then XOR it with the data number just to the right. (Remember to MOD301 numbers when they get too big.) 52 83 190 0 0 0 0 0 108 179 1 89 247 0 0 63 13 1 89 247 0 0 243 13 104 164 21 0 254 15 49 83 21 0 199 234 147 170 177 203 219 192 191 177 67

Encoding Example First write down the series of numbers to encode but use a 0 for each ECC number Data Will be Error Correction Data 52 83 190 203 219 192 191 177 Next start at the left and multiply each data number by your generating numbers then XOR it with the data number just to the right. (Remember to MOD301 numbers when they get too big.) 52 83 190 0 0 0 0 0 108 179 1 89 247 0 0 63 13 1 89 247 0 0 243 13 104 164 21 0 254 15 49 83 21 0 199 234 147 170 177 203 219 192 191 177 68

Encoding Example Here is how our message looks in 8 bit binary form. 52 = 00110100 83 = 01010011 190 = 10111110 203 = 11001011 219 = 11011011 192 = 11000000 191 = 10111111 177 = 10110001 69

How to Calculate the Generating Numbers Because we know we want 5 generating numbers we start with a polynomial with 5 terms like this Then we multiply it out like a normal polynomial except we XOR instead of add and we MOD301 any number over 301.and so on 70

How to Calculate the Generating Numbers The terms of the 5 th degree polynomial separate out into the following terms. 71

How to Calculate the Generating Numbers Each term will be separated out and handled on its own slide because of space limitations. Here is the work for the x 4 term. 32 = 100000 16 = 010000 110000 8 = 001000 111000 4 = 000100 111100 2 = 000010 111110 = 62 This is the first of our generating numbers. 72

How to Calculate the Generating Numbers 512 = 1000000000 301 = 100101101 1011010 90 = 1011010 256 = 100000000 101011010 16 = 000010000 101001010 8 = 000001000 101000010 301= 100101101 001101111 Because we will XOR these terms and we know any two terms of the same value will have identical binary forms we cancel these pairs. The 512 is a problem because it is too big, so we need to MOD301 it. 1101111 = 64+32+8+4+2+1 = 111 This is our second generating number. 73

How to Calculate the Generating Numbers 64 = 01000000 128 = 10000000 11000000 69 = 01000101 10000101 138 = 10001010 00001111 00001111 = 8+4+2+1 = 15 2048 MOD301 = 69 4096 MOD301 = 138 This is our third generating number. 74

How to Calculate the Generating Numbers 180 = 10110100 69 = 01000101 11110001 138 = 10001010 01111011 57 = 00111001 01000010 114 = 11110010 00110000 00110000 = 32+16 = 48 1024 MOD301 = 180 2048 MOD301 = 69 4096 MOD301 = 138 8192 MOD301 = 57 16384 MOD301 = 114 This is our fourth generating number. 75

How to Calculate the Generating Numbers 32768 MOD301 = 228 This is our last generating number. 32768 = 1000000000000000 301 = 1001011010000000 0001011010000000 301 = 1001011010000 0010001010000 301 = 10010110100 00011100100 32768 MOD301 in detail this time The red zeros added as place holders 00011100100 = 128+64+32+4 = 228 76

End-to-End Big Picture An example of different encoding algorithms for Data Matrix symbols: Encode the data 3R60 into a Data Matrix Default Encoding (ASCII) C40 Text Base 256 The data matrices can look different and still decode the same 77

ERGO; A Latin word meaning "therefore" as in Cogito ergo sum. 3R60; 3 R 60 Single number ASCII conversion 51 82 No single number ASCII conversion Default ECC200 Data Matrix data Encoding 51+1 82+1 60 + 130 Data to map into 52 83 190 our Data Matrix Data in binary form 0 0 1 1 0 1 0 0 0 1 0 1 0 0 1 0 1 0 1 1 1 1 1 0 Translated into Utah form 78

Data Qualifiers for IUID Usage Data Element Enterprise Identifier CAGE/NCAGE D-U-N-S GS1 Company Prefix DODAAC Other Agencies DI ISO/IEC 15418 17V 12V 3V 7L 18V AI GS1 General Specifications - - - - - TEI A4A CSDD MFR, SPL, or CAG DUN EUC - - Serial Number within Enterprise Identifier - - SER or UCN Serial Number within Original PIN or within Lot/Batch Number S - SEQ Original PIN 1P - PNO Lot/Batch Number 1T - LOT, LTN, OR BII UII Data Set (single element) Complete UII UII not including the IAC (CAGE + Serial Number within CAGE) IUID Equivalents - VIN - ESN/MEID/CMTI - GRAI - GIAI 25S 18S I 22S - - - - - 8002 8003 8004 UID USN or UST - - - - From MIL-STD 130N Change 1, Table VI. 79