




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国家市场监督管理总局国家标准化管理委员会I V 1 13.1术语和定义 13.2符号 23.3数学/逻辑符号 2 24.1基本特性 24.2附加特性总结 34.3符号结构 35ECC200的技术要求 45.1编码流程概述 45.2数据编码 45.3用户定义事项 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自动辨识能力 9.3系统考虑 27 2710.1数据传输总则 27Ⅱ10.2FNC1在第一位置的协议(GS1数据矩阵码) 2710.3FNC1在第二位置的协议 2710.4宏码字在第一位置的协议(仅适用于ECC200) 28 28 28附录A(资料性)ECC200编码实例 29 B.1示意性图解说明 B.2不同尺寸符号的交织开始序列 附录C(资料性)使用最小的ECC200符号进行数据字符编码 附录D(规范性)ECC200模式随机算法 D.1253状态随机化算法 D.1.2253状态随机算法 D.2255状态随机化算法 附录E(规范性)ECC200编码字符集 附录F(规范性)ECC200校正图形 43 45 45G.2纠错运算 G.3纠错码字算法 47附录H(规范性)ECC200符号字符放置 49H.1符号字符放置程序 49H.2符号字符放置规则 H.2.1不规则符号字符形状 H.2.2符号字符的排列 H.3ECC200符号字符放置实例 附录I(资料性)FNC1在第一位置的DataMatrix码(GS1数据矩阵码)应用领域的推荐尺寸 61 I.2仅在常规配送的贸易项目 I.3非POS扫描或常规零售贸易项目[一般分销或受监管医疗 61 1.5非常规扫描的受管制非零售医疗贸易项目 I.6零部件直接标记二维条码应用(DP 1.7零售或非零售药房常规配送可扫描的贸易项目(储运包装) 1.8受监管的常规配送可扫描的医疗零售贸易项目 Ⅲ 附录J(资料性)系统考虑 附录K(规范性)二维矩阵条码的印制质量——固有图形污损指标 K.2.1待评价的图形部分 附录L(资料性)过程控制技术 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-bytecodeAutomaticidentificationanddatacapture(AIDC)techniques—Harmonizedvocabulary]2数据矩阵码ASCII模式中表示后续编码为扩展ASCII码的专用字符。数据矩阵码C40和Text模式中表示后一码字为其他编码子集的专用字符。3.2符号d:纠错码字数k:(ECC200)纠错码字总数n:(ECC200)数据码字总数∈1:第i个纠错码字t:替代错误数X:模块的水平或垂直宽度LSB:最低有效位MSB:最高有效位数据矩阵码是一种矩阵式二维条码符号,该符号由方形模块阵列与环绕矩阵码主要以浅色背景和深色符号表示,也可以用深色背景和浅色符号表示,其中ECC200采用的是Reed-Solomon(RS编码)纠错。数据矩阵码的特征如下:1)与ISO/IEC646相一致的值为0~127的128个字符。2)与GB/T15273.1中的值为128~255的字符。3c)以模块数表示的符号尺寸(不包括空白区):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。在ANSIX12ISO/IEC646字符值0X12段终止符<CR>1X12段分隔符·23空格符EDIFACT值A9注:在译码过程中,若前导位(第6位)为1,则添加前缀00以建立8位字节。若前导位(第6位)为0,则添加前缀01以建立8位字节。EDIFACT值011111例外,它是切换至ASCII编码的解除锁定字DATAEDIFACT值(见表E.3)1列以基256编码锁定码字起始,之后为以1个~2个长仅1个长度指示码字,将8位二进制字节数直接转换为8位二进制码字,长度不足8位时前面补二进制“0”d₁=(字节数div250)+249d₂=字节数mod250将这两个数分别转换为2个长度指示码字,长度不二进制“0”ECC200共有24种正方形符号和6种长方形符号。符号的尺寸和形状可以根据实际应用的需要5.4扩充解释(ECI)ECI协议允许输出的数据流有与默认字符集不同的解释。ECI协议在各码制中有一致的定义。数a)国际字符集(或代码页);b)例如加密和压缩等一般用途的解释;数据矩阵码中ECC200的所有编码方案(如表1中定义的)可在任何ECI下应用。ECI只能在编码的8位数据值,而不依赖于使用的有效ECI。例如,从48到57(十进制)的字符序列使用数字型模式编码最有效,即使它们并不译解为数字。在ASCII编码中,使用ECI指示码字(241)可以激活ECI,其后的1个、2个或者3个附加码字被用来对ECI任务号进行编码。编码规则见表6。=[241][1+192][289mod2码字序列表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算法和字节的模“1001组对应的16个不同的生成多项式。数据码字多项式除以Reed-Solomon生成多项式g(x)后的余式便为纠错码字。数据码字多项式最高次项系数为第一个数据码字,最低次项系数为第一数据码字。余式的最高次项系数为第一个纠错码字,最低次(0次)项系数为最后一个纠错码字。纠错码字的计算可通过使用图5所示的除法电路图实现。寄存器b。到b-1的初始值为0。生成编码的状误码字)。拒读错误是不能被扫描或不能被译码的符号字符。替代错误是被错误译码的符号字符。可t——替代错误数;在一般情况下,p=0。如果大部分纠错容量用于纠正拒读错误,则检不出替代错误的概率增加。当拒读错误的数量多于纠错码字的一半时,p=3。对于小型符号(10×10,12×12,8×18和8×32)不b)插入校正图形模块(如果需要);为1,浅色模块为0。8个模块按照从左到右、从上到下的顺序组合成一个符应采用特殊的形状和排布方式。对于由校正图形分隔的多个数据区,某些邻的数据区域内。附录H规定了符号字符的放置方法与C语言排布程序。在32×32以上的正方形和除8×18,12×26以外的长方形数据矩阵码符号中,根据所选择的符号校正图形:校正图形的宽度最小应为X尺寸的2倍。空白区:符号四周空白区的最小宽度为X。对于在符号附近会出现中等或较高反射区域的应用,宜使用2X~4X的空白区。GS1数据矩阵码应用系统的推荐尺寸见附录I。录L。3)定义距离mmi为孔径的1.25倍。当孔径的大小为符号X尺寸的80%时,为标称的最小果两条线具有相反的p₁到p₂的方向,则验证p₁到p₂或p₂到p₁的间距小5)重复步骤3)和步骤4)直到没有A1线段对可以组合。左偏移3mmin,再向下偏移3mmin左左探测直线“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%。1)在数据模块的中心对其取样。中心黑色为1,白色为0。2)把定义的码字图形中的8个模块样本转变为8位符号字符值。3)对符号字符值应用Reed-Solomon纠错。数据矩阵码符号与其他符号一样可以在与其他多种码制一起使用的FNC1字符并不进行传输。当作为分隔符使用时,FFNC1应以ISO/IEC646字符<9s>(ISO/IEC646字符值29)的形式出现在传输信息中。此协议用于在ECC200符号中对两个特殊的信息当宏码字出现在符号第一位置时,应在编码字为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表示。这样完整的信息就可以用第一个字符后符号编码信息<1><转换至ECI000007><K>,使用下面一系列的数据矩阵码字:[扩展转换码译码器传输字节序列为(包括作为前缀的码制标识符修正字符值4,表明使用了ECI协议):93,100,52,182,92,48,48,48,48释。支持ECI协议的应用软件应能够正确处理ECI转义序列\000007,并将斯拉夫语字符“K”用系统指定的形式显示(如某一特定字体),最后的结果将与原始信息“K”(资料性)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,X12计数=1,ASCII计数=1,Text计数=2,X12计数=2,EDF计数=22)如果现有模式为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_numINPUT(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_c转换集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<QeR>Sg?Th@U[Vj\Wk]XYm一Zn{0P}9~rstuVWXyZ注:不管采用何种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(8×16×32)]x²+[(2×4×8×16)+(2×4×8×32)+(2×4×16×32=x⁵+62x⁴+111x³+15x²+g(x)=x⁵+62x⁴+11lx³+1g(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¹⁰+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¹⁷+254x¹21x³+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¹g(x)=x³⁶+112x³5+81x³⁴+98x³³+225x³²+25x³¹+59x³0+184x²⁹+175x²⁸119x⁵+95x⁴+137x²³+101x²+33x¹+68x²⁰+4x251x¹³+220x²+179x¹+84x¹⁰+120x⁹+102x⁸+181x⁷+162x⁶+250x⁵+130x⁴+2g(x)=x⁴²+5x⁴¹+9x⁴0+5x³+226x³+177x³7+150x³⁶+50x³5+69x³⁴+101x¹+54x³+57x⁹+253x²⁸+x⁷+21x²⁶+121x⁵+59x¹⁹+100x¹⁸+95x¹⁷+175x¹⁶+8x¹⁵+242x¹⁴+133x¹³+245x¹²+2x¹+122g(x)=x4⁸+19x⁷+225x⁵+253x⁴⁵+92x“+213x³+69x²+175x⁴¹+160x⁴0+187x³⁷+176x³+44x³⁵+82x³⁴+240x¹³+186x³²+138x³¹+66x³0+100205x⁵+170x²⁴+90x²³+37x²²+23x¹+118x0+147x¹⁹+16x¹⁸+106x⁷+191x¹⁶+8188x¹³+205x²+231x¹¹+238x¹⁰+133x⁹+238x⁸+2g(x)=x⁵⁶+46x⁵⁵+143x⁵⁴+53x⁵³+233x²+107x⁵¹+203x⁵0+43x⁴+155x67x⁴⁵+127x⁴+245x⁴³+137x⁴²+13x¹+164x⁴0+207x³9+62x³⁸+117x³22x⁴+238x³+144x³²+232x³¹+29x³0+203x²+117x⁸+234x”+218x⁵+14654x³+132x²+200x²¹+38x²0+223x¹⁹+36x¹⁸+159x¹⁷+150x¹⁶+235x230x²+170x¹+175x¹⁰+29x⁹+100x⁸+208x⁷+220x⁶+17x⁵+12x⁴+238x³+2g(x)=x²+204x⁶¹+11x0+47x⁵⁹+86x⁵⁸+124x⁵⁷+224x⁵⁶+166x⁵⁵+94x107x⁵¹+4x⁵⁰+170x⁴⁹+176x⁴⁸+31x⁴⁷+163x⁴⁶+1763x³+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⁶⁶+103x⁶⁵+96x⁶⁴+63x⁶³+132x²+153x⁶¹+108189x⁵⁷+211x⁵⁶+232x⁵⁵+49x⁵⁴+25x⁵³+172x⁵²+223x⁶+136x⁴⁵+231x“+210x³+96x²+232x⁴¹+220x⁰+25x³⁹+179x³⁸+16185x³⁵+153x³⁴+139x³+66x³²+236x³+227x³0+168x⁴+177x³+158x²²+197x¹+234x²⁰+180x¹⁹+248x¹⁸+136x⁷+213x36x³+154x²+244x¹¹+147x¹⁰+33x⁹+89x⁸+56x⁷+159x⁶+149x⁵+25ECC200符号译码纠错采用Peterso所有的运算应在域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*)=0,错误的位把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"withappropriatewrappingvoidmodule(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,chrmodule(nrow-2,0,chrmodule(nrow-1,0,chrmodule(nrow-2,0,chrmodule(nrow-1,0,chrmodule(nrow-1,ncol-1,ch/*"ecc200"fillsannrowfor(row=0;row<nrow;row+十){}}/*repeatedlyfirstcheckforoneoftheif((row==nrow-2)&.&.(col==0)&.&(ncol%if((row==nrow+4)&&(col==2)&&(!(ncol%8)))cor/*sweepupwarddiagonally,insertingsuccessivif((row<nrow)&.&(col>=0)&&(!array[rowrow十=1;col+=3;/*&.thensweepdownif((row>=0)&&(col<ncol)&&(!array[rowrow十=2;col-=2;row十=3;col+=1;/*Lastly,ifthelowerrighthandcornerisuntouched,fillinfixedpatternarray[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",z/10,z%10}}}基本的符号字符图形(见图H.2)。这些排列的变化要考虑上下边界之间列和列的关系(见放置。需要的特殊符号字符对数量随着映像图矩阵周界尺寸增加而成比例的增加。图H.1和模块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。模块放置的开始顺序166.36.48.48.5y.15/810.310.410.57.1图H.3先于其上方的符号字符编号(见图H.11和图H.18的例子)。图H.6先于其上方的符号字符编号(见图H.15的例子)。遵循这个程序的典型的映像矩阵见H.3。图H.9~图H.15分别覆盖了边界放置的7种情图H.13尺寸为6×16的长方形映像矩阵的码字放置7.2[6.66.76.89.39.49.57.47.58.18.27.77.88.38.48.53.13.28.68.78.817.317.417.512.112.218.618.718.827.327.427.53.33.43.54.14.217.617.717.812.312.412.513.113.227.627.21.621.721.8|24.324.424.5图H.14尺寸为10×24的长方形映像矩阵的码字放置1.36.66.76.8|3.33.43.54.14.212.612.712.89.39.49.510.110.218.618.718.8153154158.38.48.511.11.210.610.710.814.314.414.517.117.216.616.716.88.68.7881L311.411.513.113.214.614.714.817818.29.69.79.810.310.410.514.114.215.615.715816316.4图H.15尺寸为6×28的长方形映像矩阵的码字放置图H.16尺寸为16的正方形映像矩阵的码字放置28.328.428.537.137.224.624.724.835.135.2图H.17尺寸为18的正方形映像矩阵的码字放置31.331.431.544.344.444.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)的直接标记,如由X维度和编码的数据决定高度1X在所有四面30T|30S|90)器械/手术器“创建的“L”形寻像图形中是“连接模块”的直接标记方式(如激光蚀刻)。·创建的“L”形寻像图形中是“非连接模块”的直接标记方式(如机械打点)。指定符号X维度/mm(in)给定X维度的最小空白区目标值对于最小左侧右侧阵码由X维度和编码的数据决定高度1X在所有四面指定符号X维度/m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 淀粉在化妆品的滑石粉替代应用考核试卷
- 稀有金属在量子计算领域的应用考核试卷
- 欧阳修的春秋笔法宋代士大夫如何改写唐史
- 2025年租房经营民宿的合同范本
- 2025年度品牌推广服务合同
- 2025授权代建合同示范文本
- 2025房产交易居间合同范本
- 《2025年终止服务合同范本》
- 隧道工程-桥梁及结构工程施工图设计说明
- 苏教版九年级下册数学(全册知识点考点梳理、重点题型分类巩固练习)(提高版)(家教、补习、复习用)
- 中药饮片出库单
- 国开2023春《语言学概论》形考任务1-3+大作业参考答案
- 宿舍楼施工方案方案
- 甲醇-水精馏塔
- 中国话剧史专题知识
- GB/T 15544.1-2023三相交流系统短路电流计算第1部分:电流计算
- GB/T 90.3-2010紧固件质量保证体系
- GB/T 18799-2020家用和类似用途电熨斗性能测试方法
- 科技公司涉密计算机软件安装审批表
- GA/T 1369-2016人员密集场所消防安全评估导则
- GA 1517-2018金银珠宝营业场所安全防范要求
评论
0/150
提交评论