Data Matrix原名Data code,由美国国际资料公司(International Data Matrix, 简称ID Matrix)于1989年发明。Data Matrix又可分为ECC000-140与ECC200两种类型,ECC000-140具有多种不同等级的错误纠正功能,而ECC200则透过Reed-Solomon演算法产生多项式计算出错误纠正码,其尺寸可以依需求印成不同大小,但采用的错误纠正码应与尺寸配合,由于其演算法较为容易,且尺寸较有弹性,故一般以ECC200较为普遍。
Data Matrix二维条码的外观是一个由许多小方格所组成的正方形或长方形符号,其资讯的储存是以浅色与深色方格的排列组合,以二位元码(Binary-code)方式来编码,故电脑可直接读取其资料内容,而不需要如传统一维条码的符号对映表(Character Look-up Table)。深色代表“1”,浅色代表“0”,再利用成串(String)的浅色与深色方格来描述特殊的字元资讯,这些字串再列成一个完成的矩阵式码,形成Data Matrix二维条码码,再以不同的印表机印在不同材质表面上。由于Data Matrix二维条码只需要读取资料的20%即可精确辨读,因此很适合应用在条码容易受损的场所,例如印在暴露于高热、化学清洁剂、机械剥蚀等特殊环境的零件上。
Data Matrix二维条码的尺寸可任意调整,最大可到14平方英寸,最小可到0.0002平方英寸,这个尺寸也是目前一维与二维条码中最小的。另一方面,大多数的条码的大小与编入的资料量有绝对的关系,但是Data Matrix二维条码的尺寸与其编入的资料量却是相互独立的,因此它的尺寸比较有弹性。此外Data Matrix二维条码码还具有以下特性:
1.可编码字元集包括全部的ASCII字元及扩充ASCII字元,共256个字元。
2.条码大小(不包括空白区):10×10 ~ 144×144
3.资料容量:2235个文数字资料,1556个8位元资料,3116个数字资料。
4.错误纠正:透过Reed-Solomon演算法产生多项式计算获得错误纠正码。不同尺寸宜采用不同数量的错误纠正码。
定位图形是资料区域的一个周界,为一个模组宽度。其中两条邻边为暗实线,主要用于限定物理尺寸;定位和符号失真。另两条邻边由交替的深色和浅色模组组成,主要用于限定符号的单元结构,但也能帮助确定物理尺寸及失真。
ECC000-140符号有奇数行与奇数列。符号外观为一方形矩阵,尺寸从9×9至49×49,不包括空白区。这些符号可透过右上角深色方格识别出来。
ECC200符号有偶数行与偶数列。有些符号是正方形,尺寸从10×10至144×144,不包括空白区。有些是长方形,尺寸从8×18至16×48,不包括空白区。所有的ECC200符号都可以透过右上角浅色方格识别出来。
Data Matrix二维条码按以下步骤来表示资料:
资料编码
先分析要表示的资料,选取合适的编码方案,按所选定的方案将资料流转为字码流,并加入必要的填字,如果使用者未规定矩阵寸,则应选取能满足要存放资料的最小尺寸。DataMatrix二维条码共有6种编码方案,即6种字码集,见下表。
编码模式 | 字符集 | 每字符数据位数 |
ASCII | 数字成对编码 | 4 |
ASCII 0-127 | 8 | |
扩展ASCII 128-255 | 16 | |
C40 | 大写字母和数字 | 5.33 |
Text | 小写字母和数字 | 5.33 |
X12 | ANSI X12 EDI数据集 | 5.33 |
EDIFACT | ASCII 32-94 | 6 |
Base 256 | 0-255范围的任何数据 | 8 |
错误检测和纠正字码(ECC)的产生:
对少于255个字码的Data Matrix二维条码,错误纠正字码可由资料字码计算得出。对于多于255个字码的符号,应将资料字码分成多个模组,然後再产生每一个模组的错误纠正字码。错误纠正字码能够纠正两种类误字码,包括E错误(已知位置上的错误字码),以及T错误(未知位置上的错误字码)。换句话说,E错误是不能被扫瞄或不能被解码的符号字元,T错误则是被错误解码的符号字元。
Data Matrix 包括ECC 000-140 和ECC 200 两套符号体系,ISO 标准推荐在公共场合使用ECC 200 规范。下面给出ECC 200 的相关技术规格和性能。
编码模式 | 字符集 | 每字符数据位数 |
ASCII | 数字成对编码 | 4 |
ASCII 0-127 | 8 | |
扩展ASCII 128-255 | 16 | |
C40 | 大写字母和数字 | 5.33 |
Text | 小写字母和数字 | 5.33 |
X12 | ANSI X12 EDI数据集 | 5.33 |
EDIFACT | ASCII 32-94 | 6 |
Base 256 | 0-255范围的任何数据 | 8 |
符号尺寸 | 数据容量 | 纠错性能 | ||||
行数 | 列数 | 数字 | 数字字母 | 字节数据 | 纠错率% | 错误/擦除 |
10 | 10 | 6 | 3 | 3 | 62.5 | 2/ |
12 | 12 | 10 | 6 | 5 | 58.3 | 3/ |
14 | 14 | 16 | 10 | 8 | 55.6 | 5/7 |
16 | 16 | 24 | 16 | 12 | 50 | 6/9 |
18 | 18 | 36 | 25 | 18 | 43.8 | 7/11 |
20 | 20 | 44 | 31 | 22 | 45 | 9/15 |
22 | 22 | 60 | 43 | 30 | 40 | 10/17 |
24 | 24 | 72 | 52 | 34 | 40 | 12/21 |
26 | 26 | 88 | 64 | 42 | 38.9 | 14/25 |
32 | 32 | 124 | 91 | 60 | 36.7 | 18/33 |
36 | 36 | 172 | 127 | 84 | 32.8 | 21/39 |
40 | 40 | 228 | 169 | 112 | 29.6 | 24/45 |
44 | 44 | 288 | 214 | 142 | 28 | 28/53 |
48 | 48 | 348 | 259 | 172 | 28.1 | 34/65 |
52 | 52 | 408 | 304 | 202 | 29.2 | 42/78 |
64 | 64 | 560 | 418 | 278 | 28.6 | 56/106 |
72 | 72 | 736 | 550 | 366 | 28.1 | 72/132 |
80 | 80 | 912 | 682 | 454 | 29.6 | 96/180 |
88 | 88 | 1152 | 862 | 457 | 28 | 112/212 |
96 | 96 | 1392 | 1042 | 694 | 28.1 | 136/260 |
104 | 104 | 1632 | 1222 | 814 | 29.2 | 168/318 |
120 | 120 | 2100 | 1573 | 1048 | 28 | 204/390 |
132 | 132 | 2608 | 1954 | 1302 | 27.6 | 248/472 |
144 | 144 | 3116 | 2335 | 1556 | 28.5 | 310/590 |
矩形符号 | ||||||
8 | 18 | 10 | 6 | 3 | 58.3 | 3/ |
8 | 32 | 20 | 13 | 8 | 52.4 | 5/ |
12 | 26 | 32 | 22 | 14 | 46.7 | 7/11 |
12 | 36 | 44 | 31 | 20 | 45.0 | 9/15 |
16 | 36 | 64 | 46 | 30 | 42.9 | 12/21 |
16 | 48 | 98 | 72 | 47 | 36.4 | 14/25 |