GB∕T 41208-2021 数据矩阵码 标准_第1页
GB∕T 41208-2021 数据矩阵码 标准_第2页
GB∕T 41208-2021 数据矩阵码 标准_第3页
GB∕T 41208-2021 数据矩阵码 标准_第4页
GB∕T 41208-2021 数据矩阵码 标准_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国家市场监督管理总局国家标准化管理委员会I V 13.1术语和定义 13.2符号 23.3数学/逻辑符号 2 24.1基本特性 24.2附加特性总结 34.3符号结构 35ECC200的技术要求 45.1编码流程概述 4 45.3用户定义事项 5.4扩充解释(ECI) 5.5数据矩阵码(ECC200)符号特性 5.6结构链接 5.7错误校验和纠正 5.8构建符号 6.1尺寸的基本要求 6.2GS1系统应用领域的推荐尺寸 7符号质量 7.1符号质量总则 7.2符号质量参数 7.3整体符号等级 7.4过程控制测试 8数据矩阵码参考译码算法 9用户导则 9.1供人识读解释 279.2自动辨识能力 279.3系统考虑 2710.1数据传输总则 27Ⅱ10.2FNC1在第一位置的协议(GS1数据矩阵码) 2710.3FNC1在第二位置的协议 2710.4宏码字在第一位置的协议(仅适用于ECC200) 28 2810.7传输数据实例 附录A(资料性)ECC200编码实例 29 B.1示意性图解说明 B.2不同尺寸符号的交织开始序列 附录C(资料性)使用最小的ECC200符号进行数据字符编码 附录D(规范性)ECC200模式随机算法 D.1253状态随机化算法 D.1.2253状态随机算法 D.2255状态随机化算法 D.2.3255状态去随机算法 附录E(规范性)ECC200编码字符集 附录F(规范性)ECC200校正图形 附录G(规范性)ECC200Reed-Solomon错误校验和纠正 45 45G.2纠错运算 G.3纠错码字算法 47附录H(规范性)ECC200符号字符放置 49H.1符号字符放置程序 49H.2符号字符放置规则 H.2.1不规则符号字符形状 52H.2.2符号字符的排列 H.3ECC200符号字符放置实例 附录I(资料性)FNC1在第一位置的DataMatrix码(GS1数据矩阵码)应用领域的推荐尺寸 61 I.2仅在常规配送的贸易项目 I.4常规配送需扫描的物流单元 1.5非常规扫描的受管制非零售医疗贸易项目 I.6零部件直接标记二维条码应用(DPM) 1.7零售或非零售药房常规配送可扫描的贸易项目(储运包装) 1.8受监管的常规配送可扫描的医疗零售贸易项目 Ⅲ 附录J(资料性)系统考虑 附录K(规范性)二维矩阵条码的印制质量——固有图形污损指标 K.2.1待评价的图形部分 附录L(资料性)过程控制技术 L.1过程控制技术概述 L.2符号反差 L.3特殊的参考符号 L.4评价轴向不一致性 L.5目测符号变形及缺陷 附录M(资料性)自动辨识性能 附录N(规范性)码制标识符 77V本文件按照GB/T1.1—2020《标准化工作导则第1部分:标本文件参考ISO/IEC16022:2006《信息技术自动识别和数据采集技术数据矩阵码条码规范》1GB/T15273.1信息处理八位单字节编码图形字符集第一部分:拉丁字母一ISO/IEC646信息技术信息交换用ISO7位编码字符集(Informationprocessing—ISO7-bitISO/IEC8859-5:1999信息技术8位单字节编码图形字符集第5部分:拉丁字母/斯拉夫字母(Informationtechnology—8-bitsingle-bytecodeISO/IEC19762信息技术自动识别与数据采集技术统一词汇[Informationtechnology—Automaticidentificationanddatacapture(AIDC)techniques—Harmonizedvocabulary]23c)以模块数表示的符号尺寸(不包括空白区):ECC200:10×10~144×144(模块)ECC200:8×18~16×48(模块),仅为偶d)每个符号的数据字符数量(ECC200的最大尺寸符号):1)数字字母型数据:最多2335个字符2)8位字节数据:最多1555个字节3)数字型数据:最多3116个数字ECC200:Reed-Solomon纠错形(见图1)在识读时这两种图形都可以做到正确识读。除特别说明,本文件中所指的符号都b)扩充解释(ECI)(仅适用ECC200,可选):这种方式使符号可以表示其他字符集的字符(如阿拉c)长方形符号(仅适用ECC200,可选):规定有6种符号采用长方形的形式表示。d)结构链接(仅适用ECC200,可选):允许一个数据文件通过最多16.个数据矩阵码符号的结构每个数据矩阵码符号主要由规则排列的名义上为正方形的模块构成的数据为两个ECC200符号的示例。45双位数字(十进制)4ISO/IEC646值0~1278大写字母数字型小写字母数字型ISO/IEC646字符值32~9468包括转移字符,占用两个Text值。码字1~128(ISO/IEC646字符编码取值+1);扩展ASCII字符(GB/T15273.1中取值为128~255的表2ASCII编码值ISO/IEC646字符(字符编码取值+1)双数字型数据00~99(数字值+130)扩展转换码字(转移至扩展ASCII)6表2ASCII编码值(续)保留保留705宏06宏编码。C40编码方案共有4个子集。第一子集又称基本集,由3个特殊转换字符、空格字符和ISO/IEC646字符A~Z和0~9组成,每个字符编码为一个C40值。其他3个子集由特定的分组(C1,C2,C3)编码为16位二进制值。将前8位和后8位分别转换为两个码字。8C40值[1(Shift2)][30(扩展转换字符)][V(扩展ASCI字符值-128)]9[1(Shift2)][30(扩展转换字符)][0,1,或2(Shift1,2或3)][V(扩展ASCII字符值-128)]5.2.7ANSIX12编码ANSIX12终止符和分隔符进行编码。ANSIX12代码集分配见表4。在ANSIX12代码集无转移ISO/IEC646字符值0X12段终止符<CR>1X12段分隔符·23空格符EDIFACT值A9注:在译码过程中,若前导位(第6位)为1,则添加前缀00以建立8位字节。若前导位(第6位)为0,则添加前缀01以建立8位字节。EDIFACT值011111例外,它是切换至ASCII编码的解除锁定字DATAEDIFACT值(见表E.3)15.2.9基256编码基256编码方案可对ECI和任意二进制数据进行编码。ECT的定义见5.2.2。基256编码码字序列以基256编码锁定码字起始,之后为以1个~2个长度指示码字为先导的相应长度的8位字节序列。对基256编码码字序列应采用附录D中D.2规定的255模式随机化算法进行随机化处理。利用相应的锁定码字(231),可以从ASCII编码转换为基256编码。在基256编码码字序列后,应自动转换为ASCII编码。如果采用的ECI不同于默认ECI,则应在基256编码锁定码字之前进行ECI基256编码字符集为任意8位二进制信息,对于待编码的8位二进制字节序列,首先以基256编码锁定码字作为起始,之后对待编码的8位二进制字节序列进行计数,将其长度按照表5的方法编制为1个~2个长度指示码字。将基256编码锁定码字、长度指示码字与8位二进制字节序列首尾相接构成最终的基256编码码字序列。表5基256长度指示符编制方案仅1个长度指示码字,将8位二进制字节数直接转换为8位二进制码字,长度不足8位时前面补二进制“0”d₁=(字节数div250)+249d₂=字节数mod250将这两个数分别转换为2个长度指示码字,长度不二进制“0”可以选用特定的ECI协议使编码数据具有不同的解释。在信息长度超过单个符号容量的情况下,还可以选择用最多16个独立却逻辑连接的数据矩阵码结构链接符号来承载信息(见5.6)。使用ECI可以标识一个特殊的代码页或者更特殊的数据解释,这时需要另外的ECI字符来激活。ECI协议(见5.4)的使用提供了对缺省解释(拉丁字母数字,GB/T15273.1)以外的字母数字进行数据ECC200共有24种正方形符号和6种长方形符号。符号的尺寸和形状可以根据实际应用的需要5.4扩充解释(ECI)5.4.1扩充解释(ECI)协议概述ECI协议允许输出的数据流有与默认字符集不同的解释。ECI协议在各码制中有一致的定义。数据矩阵码提供了四种基本类型的解释:a)国际字符集(或代码页);b)例如加密和压缩等一般用途的解释;c)闭环系统中用户的自定义解释;d)非缓冲模式中对结构链接的控制信息。ECI协议在AIMECI规范中有详细的定义,见参考文献[1]。AIMInc.ITS/04-001中定义了对自动识别数据载体印制前和译码后的字节值进行不同解释的方法。一个指定的ECI由6位ECI任务号标识,该任务号在数据矩阵码符号中编码为ECI字符和其后的1个~3个码字,并可在编码信息的任何地方被激活。ECI只有在识读器能够传输码制标识符时使用。不能传输码制标识符的识读器不能从含有ECI的符号中传输数据,ECI能够完全在识读器内处理的情况除外。5.4.2ECI的编码数据矩阵码中ECC200的所有编码方案(如表1中定义的)可在任何ECI下应用。ECI只能在ASCII编码时激活,一旦激活,数据编码就可以在任意编码方案间切换。使用的编码模式直接决定于被编码的8位数据值,而不依赖于使用的有效ECI。例如,从48到57(十进制)的字符序列使用数字型模式编码最有效,即使它们并不译解为数字。在ASCII编码中,使用ECI指示码字(241)可以激活ECI,其后的1个、2个或者3个附加码字被用来对ECI任务号进行编码。编码规则见表6。=[241][1+192][289mod254+1][211+1]码字序列表6ECC200中ECI任务号的编码(续)ECI任务号码字序列码字范围数据区映象矩阵尺寸块纠错分组占比%纠正的码字(替代/拒读")行列块数正方形符号1353516311575716318816111111111111414141数据区映象矩阵尺寸块纠错分组占比%纠正的码字(替代/拒读)行列块数41442244446688815757163821811212121见5.7.3。在最大的符号(144×144)中,前8个Reed-Solomon块共有218个码字(对156个数据码字编码个有217个码字(对155个数据码字编码),所有各块都有62个纠错码字。详见表B.1。基于Text或C40编码,无需切换或转换;对于其他编码方案,这个值可能会根据字符集不同。5.6结构链接在一个结构格式中可以链接共计16个ECC200符号。如果某个符号是结构链接的一部分,该符号第一个码字位置为码字(233),其后紧跟着三个结构链接码字。第一个码字是符号序列指示码字,第二个和第三个码字是文件标识。5.6.2符号序列指示码字在结构链接格式中,符号序列指示码字以n(2~16)个符号中的第m个符号的形式,指示该结构链接符号在多个结构链接数据矩阵码符号中的次序。该码字的前4位以(m-1)的二进制值形式在符号序列中的次序;后4位以(17-n)的二进制值的形式存储结构链接的符号个数,详见表8。次序m为3:0010表8结构链接符号序列指示码字的编码12233445566778899文件标识码字是取值范围为1~254的,用于标识结构链接符号承载信息属于同一文件的两个码字。用户可自行定义64516个不同的文件标识。通过文件标识结构链接可以实现承载多个文件。如果FNC1(见5.2.4.7)与结构链接共用时,则第一个结构链接符号的第5个或第6个码字应为FNC1码字,标识符号用于特定应用领域。出现在其他位置的FNC1码字(包括其他结构链ECC200符号采用Reed-Solomon纠错。对于少于255个码字的ECC200符号,纠错码字由数据码后根据附录B中的交织过程进行交织。每一个ECC200符号具有特定数量的数据和被分成特定数量的ECC200的纠错多项式算法用位的模2算法和字节的模“100101101”(十进制组对应的16个不同的生成多项式。数据码字多项式除以Reed-Solomon生成多项式g(x)后的余式便为纠错码字。数据码字多项式最高次项系数为第一个数据码字,最低次项系数为第一数据码字。余式的最高次项系数为第一个纠错码字,最低次(0次)项系数为最后一个纠错码字。纠错码字的计算可通过使用图5所示的除法电路图实现。寄存器b。到b-1的初始值为0。生成编码的状的顺序一样。如果数据矩阵码需要采用附录B中的交织,则符号的码字顺序应符图5纠错码字编码电路误码字)。拒读错误是不能被扫描或不能被译码的符号字符。替代错误是被错误译码的符号字符。可t——替代错误数;在一般情况下,p=0。如果大部分纠错容量用于纠正拒读错误,则检不出替代错误的概率增加。当拒读错误的数量多于纠错码字的一半时,p=3。对于小型符号(10×10,12×12,8×18和8×32)不5.8构建符号a)将码字模块放置于映像矩阵;b)插入校正图形模块(如果需要);c)将寻像图形模块沿周边放置。符应采用特殊的形状和排布方式。对于由校正图形分隔的多个数据区,某些邻的数据区域内。附录H规定了符号字符的放置方法与C语言排布程序。在32×32以上的正方形和除8×18,12×26以外的长方形数据矩阵码符号中,根据所选择的符号校正图形:校正图形的宽度最小应为X尺寸的2倍。空白区:符号四周空白区的最小宽度为X。对于在符号附近会出现中等或较高反射区域的应用,宜使用2X~4X的空白区。GS1数据矩阵码应用系统的推荐尺寸见附录I。录L。3)定义距离mmi为孔径的1.25倍。当孔径的大小为符号X尺寸的80%时,为标称的最小I)连接向上的边上的所有终点以绘制线A。Ⅱ)测试中间的边上的点是否距离线A0.5mmm以内。如果是,继续步骤Ⅲ。否则跳到步骤1)iv)沿着边朝相反方向采样。出发点之前的、沿着边上的最后的边上的点大于或等于mmn,并将其保存为终V)保存线段A1的两个端点,p₁和p₂。同时保存p₁到piv)如果步骤iii)失败或者不能按照步骤iii)IV)V)如果步骤i)和步骤i的边重复步骤iii)。2)从图像的中心点出发,沿着垂直方向向两边延伸扫描线。使用上面步骤1)相同的逻辑从3)按照下面四个标准,在保存的线段A1段中查询线段对:果两条线具有相反的p₁到p₂的方向,则验证p₁到p₂或p2到p₁的间距小iv)通过延长每条线到靠近另一条线段的最远端的延伸点4)对于符合上述步骤3)标准的每一对线段,用一条较长的A1线段替换这对线段,该A1线段是一对较短线段的四个端点的“最合适”5)重复步骤3)和步骤4)直到没有A1线段对可以组合。6)挑选至少与dmin一样长度的线段。将他们标记为“L”边的预选。7)寻找符合以下三个标准的“L”边的预选:左左探测直线“L”边“L”边5)从右侧区域最小的X对应的T值开始,增大X值,找到T。值(T,=零和T-1的最大值)的第一个实例,如果T值大于1,T,小于先前局部最大值T的15%。增加X的值,6)在图形左侧区域找到与右边波峰和波谷的下降曲线X值最匹配的波峰和波谷的下降曲X值相差小于两个波峰X值的均值的15%,并且确保左右波谷之间相差小于两个波谷X值的均值的15%。15%为最大允许偏差。偏移量=到波峰线的距离/[(转换次数+1)×2]4)边到边测量值与EE_Dist相差超过25%的模块对被丢弃。油墨扩张=均值[{条-[(条+空)/2]}/[(条+空)/2]]D₃中的空,如果为负,偏移量将远离此空),将该边偏移(油墨扩张/2)×Ⅲ)将单元格的中心设置在p₁和p₂的中间。向右的消失点向右的消失点的垂直直角边的10%。7)如果探测到一个或者两个有效的区域,尝试用步骤k)和1)对符号进行译码。如果区域不进行译码。1)在数据模块的中心对其取样。中心黑色为1,白色为0。2)把定义的码字图形中的8个模块样本转变为8位符号字符值。3)对符号字符值应用Reed-Solomon纠错。4)根据指定的编码方案,把符号字符译码成数据字符。数据矩阵码符号可表示数千个字符,不需标注所有与符号数据内容相关数据矩阵码符号与其他符号一样可以在与其他多种码制一起使用的环境中被自动辨识,见附录M。所有编码的数据字符都应包括在数据传输中,但不传输符号控制码字和纠当FNC1出现在第一位置(或者在结构链接的第一个符号为GS1数据矩阵码,其编码数据应遵循GS1应用标识符单元数据置的FNC1,应视为分隔符。识读GS1数据矩阵码时,识读器应能够传输码制标识符]d₂(见10.6)作为编码数据的前缀。出现在第一个符号字符位置(或者在结构链接的第一个符号的第五个符号字符位置)当FNC1在第二位置(或者在结构链接的第一个符号的第六个字符位置)时,表的行业标准格式。识读该类型数据矩阵码时,识读器应能够传输相应的码制标识符数据的前缀。与FNC1在第一位置相同,第二位置的FNC1字符并不传输。当作为段分隔符使用时,FNC1应以ISO/IEC646字符<9s>(ISO/IEC当宏码字出现在符号第一位置时,应在编码字为236(码字宏05),则应在编码数据之前增加()>Rs059s。如果第一个符号字符为237(码字宏06),则应在编码数据之前增加[]>Rs069s。并在编码数据之后附加后缀RsFo。在支持ECI协议的系统中,每一传输过程都要求使用码制标识符前缀。如遇到ECI码字,它应作义规则的逆运算,下一个码字将转化为6位的数值。这个6位的数值以相应的ISO/IEC646字符值应用软件识别到\nnnnnn之后,将所有后续字符解释为来自6位数字序列定义的ECI。该解释在如果反斜线符号(字节92pec)需要作为被编码的数据,应按如下方式进行传输。每当字符GB/Z19257—2003定义的码制标识符用于识读器向上层系码制标识符作为前缀后传输。数据矩阵码的码制标识符及修对于待传输的字符信息“K”,拟使用ECC200中的ASCII编码方案进行编码。在数据矩阵码默但是可以用ISO/IEC8859-5(ECI000007)相同的值182表示。这样完整的信息就可以用第一个字符后增加ECI000007的转换来进行ASCIⅡ编码。符号编码信息<1><转换至ECI000007><)K>,使用下面一系列的数据矩阵码字:[扩展转换码译码器传输字节序列为(包括作为前缀的码制标识符修正字符值4,表明使用了ECI协议):93,100,52,182,92,48,48,48,48释。支持ECI协议的应用软件应能够正确处理ECI转义序列\000007,并将斯拉夫语字符“K”用系统指定的形式显示(如某一特定字体),最后的结果将与原始信息“K”(资料性)ECC200编码实例数据字符:‘1'*2'*3'*4'*5'*6’ASCII编码将上面的6个字符转化成3个字节。对数字对使用下面的公式。码字=(数字对的数值)+130“12”=12+130=142“34”=34+130=164“56”=56+130=186十进制值:142164186根据表7,三个数据码字正好符合10×10符号,需要添加5个纠错码字。如果编码数据不能正好步骤2:错误校验和纠正123456785十数据 步骤3:矩阵的模块放置步骤4:实际的符号加入寻像图形模块,并把1转换成黑色、0转换成白色就得到最后的数据矩阵,见图A.2。图A.2最终符号图形纠错码字∈48纠错码字∈纠错码字∈48纠错码字∈5纠错码字∈26纠错码字∈37用72×72符号尺寸为例,如图B.1所示,对总共368个数据码纠错码字∈1234123415263748数据码字序列纠错码字序列12121234符号尺寸数据码字序列纠错码字序列1234123412341234561234561234567812表B.1不同符号尺寸的数据码字和纠错码字序列(续)数据码字序列纠错码字序列3456789注:144×144符号的第9个和第10个块仅有155个数据码字,另外的8个块均有156个数据码字。g)当用基256(B256)编码时:1)如果现有模式为ASCII,初始化:ASCII计数=0,Text计数=1,X12计数=1,EDF计数=1ASCII计数=1,C40计数=2,Text计数=2,X12计数=2,2)如果现有模式为C40编码,C40计数=0。3)如果现有模式为Text编码,Text计数=0。4)如果现有模式为X12编码,X12计数=0。5)如果现有模式为EDIFACT编码,EDF计数=0。6)如果现有模式为基256编码,B256计数=0。1)将所有的计数调整为整数。1)如果数据字符为数字型,在ASCII计数上加1/2。2)如果数据字符为扩展ASCII字符值(大于127),整数化并在ASCI计数上加2。3)否则,整数化并在ASCII计数上加1。1)如果数据字符为纯C40字符,在C40计数上加2/3。2)如果数据字符为扩展ASCII字符值(大于127),在C40计数上加8/3。3)否则,在C40计数上加4/3。2)如果数据字符为扩展ASCII字符值(大于127),在Text计数上加8/3。3)否则,在Text计数上加4/3。1)如果数据字符为纯X12字符,在X12计数上加2/3。2)如果数据字符为扩展ASCII字符值(大于127),在X12计数上加13/3。3)否则,在X12计数上加10/3。2)如果数据字符为扩展ASCII字符值(大于127),在EDF计数上加17/4。3)否则,在EDF计数上加13/4。2)否则,在B256计数上加1。ii)如果C40计数等于X12计数:INPUT(Pad_codeword_value,Pad_codeword_pseudo_random_number=((149*Pad_codeword_position)mod253)+1temp_variable=Pad_codeword_value+pseudo_randOUTPUT(randomized_Pad_codeword_value=temp_variable)OUTPUT(randomized_Pad_codeword_value=temp_variable—254)INPUT(randomized_Pad_codeword_value,Pad_codewordpseudo_random_number=((149*Pad_codeword_position)mod253)+1temp_variable=randomized_Pad_codeword_value—pseudo_random_numberINPUT(Base256_codeword_value,Base256_codewordpseudo_random_number=((149*Base256_codeword_position)mod255)+1temp_variable=Base256_codeword_value+pseudOUTPUT(randomized_Base256_codeword_value=temp_variable)OUTPUT(randomized_Base256_codeword_value=temp_variable—256)INPUT(randomized_Base256_codeword_value,Base256_codeworpseudo_random_number=((149*Base256_codeword_position)mod255)+1temp_variable=randomized_Base256_codeword_value—OUTPUT(Base256_codeword_value=temp_variable)OUTPUT(Base256_codeword_val转换集1十进制十进制十进制十进制00!11a22井b33$c404%d515e626f73(g848)h9596十7k8一19mA/nB:0CPD<qE=rF>sG?tH@uI[VJWK]XLyM zN{表E.1C40编码字符集(续)转换集1十进制十进制十进制十进制0P}QRSTUVWXYZ注:不管采用何种ECI,ASCII十进制值和C40值保持相对不变。转换集1十进制十进制十进制十进制00!114A22井B33$C404%D515&E626F737(G848)H959*I6十J7K8L9Ma/Nb:0表E.2Text编码字符集(续)转换集1十进制十进制十进制十进制C;Pd<QeRf>Sg?Th@U[Vj\Wk]XYm一Zn{0P}9rstuVWXyZ注:不管采用何种ECI,ASCII十进制值和Text值保持相对不变。@DAEBFCG表E.3Text编码字符集(续)H$I%J&KL(M)N*0十PQ一RS/T0U1V2W3X4Y5Z6[78]9<!=>#?注:不管采用何种ECI,ASCII十进制值和EDIFACT值保持相对不变。图F.3和图F.4。图F.3120×120正方形符号的校正图形=x⁵+(2+4+8+16+32)x⁴+[(2×4)+(2×8)+(2×16)+(2×32)+(4×(4×32)+(8×16)+(8×32)+(16×32)]x³+[(2×4×8)+(2×4(2×8×16)+(2×8×32)+(2×6×32)+(4×8×16)+(4×8×32)+(4×16×32)十(8×16×32)]x²+[(2×4×8×16)+(2×4×8×32)+(2×4×16×32=x⁵+62x⁴+111x³+15x²+g(x)=x⁵+62x⁴+111x³+15g(x)=x⁷+254x⁶+92x⁵+240x⁴+134x³+1g(x)=x¹⁰+61x⁹+110x⁸+255x⁷+116x⁶+248x⁵+223x⁴+166x³+g(x)=x¹¹+120x¹⁰+97x⁹+60x⁸+245x¹+39x⁶+168x⁵+194x⁴+12x³+2g(x)=x¹²+242x¹¹+100x¹0+178x⁹+97x³+213x⁷+142x⁶+42x⁵+61x⁴+91x³+g(x)=x¹⁴+185x¹³+83x²+186x¹¹+18x¹0+45x⁹+138x⁸+119x⁷+157x⁶+9xg(x)=x¹⁸+188x⁷+90x¹⁶+48x¹⁵+225x¹⁴+254x¹³+94x²+129x¹+109x¹⁰61x⁷+66x⁶+75x⁵+188x⁴+39x³+g(x)=x²⁰+172x¹⁹+186x¹⁸+174x¹+27x¹⁶+82x¹⁵+108x¹⁴+79x¹³+253x¹²+160x⁹+188x⁸+2x⁷+168xg(x)=x²⁴+193x²³+50x²+96x²¹+184x²0+181x¹⁹+12x¹⁸+124x¹⁷+254x21x¹³+155x²+223x¹¹+251x¹⁰+197x⁹+155x⁸+21x⁷+176x⁶+39x⁵+109x⁴+g(x)=x²⁸+255x⁷+93x²⁶+168x²⁵+233x²⁴+151x³+120x²²+136x¹+141x²⁰+138x⁷+17x¹⁶+121x¹⁵+249x⁴+34x¹³+75x¹²+53xg(x)=x³+112x³⁵+81x⁴+98x³³+225x²+25x³¹+59x³0+184x²⁹+175x²⁸119x⁵+95x⁴+137x²³+101x²+33x¹+68x0+4x¹251x¹³+220x¹²+179x¹+84x¹⁰+120x⁹+102x⁸+181x⁷+162x⁶+250x⁵+130x⁴+2g(x)=x⁴²+5x⁴¹+9x⁴0+5x³+226x³+177x³⁷+150x³⁶+50x³5+69x³⁴+101x¹+54x³+57x⁹+253x²⁸+x⁷+21x²⁶+121x+9x¹⁹+100x¹⁸+95x¹⁷+175x¹⁶+8x¹⁵+242x¹⁴+133x¹³+245x¹²+2x¹+122g(x)=x⁴+19x⁷+225x⁴+253x⁴⁵+92x“+213x⁴³+69x²+175x¹+160x⁴0+187x³+176x⁶+44x⁵+82x³⁶+240x³³+186x³²+138x³¹+66x0+100x205x⁵+170x²⁴+90x²³+37x²²+23x¹+118x²⁰+147x¹⁹+16x¹⁸+106x¹⁷+191x¹⁶+188x¹³+205x²+231x¹¹+238x¹0+133x⁹+238x⁸+2g(x)=x⁵⁶+46x⁵5+143x⁵⁴+53x³+233x²+107x⁵¹+203x⁵0+43x⁴+155x67x⁴⁵+127x⁴+245x³+137x⁴²+13x¹+164x⁴0+207x³9+62x³⁸+117x22x³⁴+238x³³+144x²+232x¹+29x³0+203x²+117x⁸+234x+218x⁵+14654x²³+132x²+200x²¹+38x²0+223x¹⁹+36x¹⁸+159x¹⁷+150x¹⁶+235230x²+170x¹+175x¹⁰+29x⁹+100x⁸+208x⁷+220x⁶+17x⁵+12x⁴+238x³+2g(x)=x²+204x⁶¹+11x0+47x⁵⁹+86x⁵+124x⁵⁷+224x⁵⁶+166x⁵⁵+94x⁵107x¹+4x⁵⁰+170x⁴+176x⁸+31x⁴⁷+163x⁴⁶+17x63x³+51x+218x³⁷+27x³⁶+6x³+147x⁴+44x³+161x²+71x¹+114x221x⁷+185x²⁶+106x²⁵+250x²⁴+190x²³+197x²+63x¹+245x²0+230x¹⁹+134185x¹⁶+37x¹⁵+196x¹⁴+108x¹³+143x²+189x¹210x⁵+144x⁴+50x³+169x²g(x)=x⁵⁸+186x⁶⁷+82x⁶6+103x⁶⁵+96x⁴+63x⁶³+132x⁶²+153x⁶¹+108189x⁵⁷+211x⁵⁶+232x⁵⁵+49x⁴+25x⁵³+172x⁵²+223x⁶+136x⁴⁵+231x⁴+210x⁴³+96x²+232x⁴¹+220x⁰+25x³⁹+179x³⁸+16185x³5+153x³⁴+139x³3+66x³²+236x³¹+227x³0+68x⁴+177x³+158x²²+197x¹+234x²0+180x¹⁹+248x¹⁸+136x⁷+213x36x³+154x²+244x¹+147x¹⁰+33x⁹+89x⁸+56x⁷+159x⁶+149x⁵+25所有的运算应在域GF(2⁸)内进行。加法和减法相当于二进制中的异或处理(XOR)。乘法和除法构建符号字符多项式C(x)=Cn-1x”-¹+Cn-2x"-²+…+C₁x¹+由上面得到的j个L值构建错误位置多项L(x)=L;-1x⁷+L;-1x-¹计算L(x)在x=2*的值,k从0到n-1,n为符号中符号字符的总数。只要L(2*)=把m个错误位置保存为变量E。到Em-1,其中m为所找到的错误位置数。使用纠错位置变量和第一个m的复合值S构造并解关于m的联立方程组,其中X。到Xm-1(错误量值)为关于m的未该算法的C语言实现可以从美国AIM的数据矩阵码开发者Diskette获得。中。函数ReedSolomon()首先生使用素数模数“pp”(在ECC200,301情况下)在长度为“gf”的伽罗瓦/*"prob(x,y,log,alog,gf)"returnstheproduct"x"times"y"intprob(intx,inty,int*log,inELSEreturnalog[(log[x]+log}/*"ReedSolomon(wd,nd,nc,gf.pp)"takes"nd"datacodewordvaluesinwd[]*//*powerof2and"pp"isthevalueofitsprimemoduluspolynomial*/voidReedSolomon(int*wd,intnd,intnc,ininti,j,/*allocate,thengeneratethelog&antilog=malloc(sizeof(int)*gffor(/*allocate,thengeneratethegeneratorpolynomialcoefficients:*/c[i]=c[i-1]*prob(c[j],alog[i],}c[0]=prob(c[0],alog[i],lowd[nd+j]=wd[nd+j+1]^prob(k,c[nc-j-1],log,alog}}}/*"module"places"chr+bit"withappropriatewrappingwithinarray[voidmodule(introw,int{if(row<0){row+=nrow;colif(col<0){col+=ncol;row+=array[row*ncol+col]=10*chr+bit;}/*"utah"placesthe8bitsofautah-shapedsymbolcharacterinECC200*/module(row-2,col-1,chmodule(row-1,col-2,chmodule(row-1,col-1,chmodule(row—1,col,chmodule(row,col-2,chmodule(row,col-1,ch/*"cornerN"places8bitsofthefourspecialcornercasesinECC2module(nrow-1,1,chrmodule(nrow-1,2,chr}module(nrow-2,0,chrmodule(nrow-1,0,chrmodule(nrow-2,0,chrmodule(nrow-1,0,chrmodule(nrow-1,ncol-1,ch/*"ecc200"fillsannrowxncolarraywithappropriatevaluesforECC2十){}chr=1;row=4;co/*repeatedlyfirstcheckforoneoftheif((row==nrow)&.&(col==0))corif((row==nrow-2)&.&.(col==0)&.&(ncol%if((row==nrow—2)&.&(col==0)&&(ncol%8==4))corner3(chrif((row==nrow+4)&.&(col==2)&&(!(ncol%8)))corner4(chr++);/*sweepupwarddiagonally,insertingsuccessivif((row<nrow)&.&(col>=0)&&(!array[rowrow十=1;col+=3;/*&.thensweepdownwarddiaif((row>=0)&&(col<ncol)&&(!array[rowrow十=2;col-=2;row十=3;col+=1;/*Lastly,ifthelowerrighthandcornerisuntouched,fillinfixedpattern*/array[nrow*ncol-1]=array[nrow*nco}/*"main"checksforvalidcommandlineentries,thencprintf("Commandline:ECC200#_of_Data_Rows#_of_Data_Columns\nnrow=atoi(argv[1]);ncol=atoi(argif((nrow>=6)&.&(~nrow&.0x01)&&(ncol>=6)&&(~narray=malloc(sizeof(elseprintf("%3d.%d"}}}基本的符号字符图形(见图H.2)。这些排列的变化要考虑上下边界之间列和列的关系(见放置。需要的特殊符号字符对数量随着映像图矩阵周界尺寸增加而成比例的增加。图模块a8和a7的行关系的列关系映像矩阵实例中的图1a7行=a8行c3列=c6列无正方形:8²,16²,24²,32²,图H.16左左边右边的行关系的列关系参考图编号影响的映像矩阵实例中的图2c3列=c6列-2无正方形:10²,182图H.10和图H.173图H.3正方形:12²,20²,28²,图H.11和图H.184图H.4正方形:14²,222图H.12和图H.195图H.5图H.136无图H.147a7行=a8行+4图H.6图H.15图H.3角落情况1图H.4角落情况2图H.5角落情况3图H.6角落情况4这些数据区域相邻构成32×32的映像矩阵。每个符号格式的映像矩阵的尺寸见表7。模块放置的开始顺序6.25.65.75/810.310.410.57.1图H.3先于其上方的符号字符编号(见图H.11和图H.18的例子)。图H.6先于其上方的符号字符编号(见图H.15的例子)。寸(10×10,14×14,18×18和22×22)在右下角剩有一个2×2的区域。这个区域左上方和右下方的模块为黑色的(编码二进制值为1)。见图H.8。遵循这个程序的典型的映像矩阵见H.3。图H.9~图H.15分别覆盖了边界放置的7种情况。图H.16~图H.19是情况1~情况4的另一组实例。H.1提供了一个C语言程序,能够将所有的编码ECC200符号字符放置实例见图H.9~图H.15。图H.9尺寸为8的正方形映像矩阵的码字放置图H.10尺寸为10的正方形映像矩阵的码字放置图H.11尺寸为12的正方形映像矩阵的码字放置图H.12尺寸为14的正方形映像矩阵的码字放置图H.13尺寸为6×16的长方形映像矩阵的码字放置2.12.22.12.23.63.73.84.34.44.511.111.2.32.42.55.15.21.56.16.25.65.75.810.310.410.515.115.214.614.711.86.36.46.59.19.210.610.710.815.315.415.519.119.227.47.58.18.29.69.79.87.77.88.38.48.513.13.28.68.78.83.33.43.54.14.217.617.717.812.312.412.513.1图H.14尺寸为10×24的长方形映像矩阵的码字放置2.12.21.61.71.82.12.21.61.71.8434.44.58.18.29.69.79.810.310.410.514.114.215.615.715816316.416.5202.62.72.85.35.45.57.17.1.36.66.76.8|3.33.43.54.14.212.612.712.89.39.49.510.110.218.618.718.8153154151.16.16.25.65.75.8图H.15尺寸为6×28的长方形映像矩阵的码字放置图H.16尺寸为16的正方形映像矩阵的码字放置28.328.428.537.137.224.624.724.835.135.2图H.17尺寸为18的正方形映像矩阵的码字放置31.331.431.529.329.429.544.344.444.542.342.442.557.357.457.5指定符号X维度/mm(in)给定X维度的最小空白区目标值对于最小左侧右侧-由X维度和编码的数据决定高度1X在所有四面指定符号X维度/mm(in)给定X维度的最小空白区目标值对于最小左侧右侧由X维度和编码的数据决定高度1X在所有四面指定符号X维度/mm(in)给定X维度的最小空白区目标值对于最小左侧右侧由X维度和编码的数据决定高度1X在所有四面用于常规配送的物流单元的符号尺寸见表I.4。指定符号X维度/mm(in)给定X维度的最小空白区目标值对于最小左侧右侧由X维度和编码的数据决定高度1X在所有四面指定符号X维度/mm(in)给定X维度的最小空白区目标值对于最小左侧右侧由X维度和编码的数据决定高度1X在所有四面用于零部件直接标记生成二维条码应用中的符号尺寸见表L.6。指定符号X维度/mm(in)给定X维度的空白区目标值左侧右侧—阵码由X维度和编码的数据决定高度1X在所有四面以外直接标记物品记(喷码)由X维度和编码的数据决定高度1X在所有四面的直接标记,指定符号X维度/mm(in)给定X维度的空白区目标值左侧右侧标记·由X维度和编码的数据决定高度1X在所有四面30T|30S|90)的直接标记,如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论