一种条码纠错译码装置的制作方法

文档序号:7519371阅读:289来源:国知局
专利名称:一种条码纠错译码装置的制作方法
技术领域
一种条码纠错译码装置
技术领域
本实用新型属于条码技术领域,特别地,涉及一种条码纠错译码装置。背景技术
条码技术是在计算机技术与信息技术基础上发展起来的一门集编码、印刷、识别、 数据采集和处理于一身的新兴技术。条码技术由于其识别快速、准确、可靠以及成本低等优 点,被广泛应用于商业、图书管理、仓储、邮电、交通和工业控制等领域,并且势必在逐渐兴 起的“物联网”应用中发挥重大的作用。目前被广泛使用的条码包括一维条码及二维条码。一维条码又称线形条码,是由 平行排列的多个“条”和“空”单元组成,条形码信息靠条和空的不同宽度和位置来表达。一 维条码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,因 此信息容量及空间利用率较低,并且在条码损坏后即无法识别。二维条码是由按一定规律在二维方向上分布的黑白相间的特定几何图形组成,其 可以在二维方向上表达信息,因此信息容量及空间利用率较高,并具有一定的校验功能。二 维条码可以分为堆叠式二维条码和矩阵式二维条码。堆叠式二维条码是由多行短截的一 维条码堆叠而成,代表性的堆叠式二维条码包括PDF417、Code 49、Code 16K等。矩阵式 二维条码是由按预定规则分布于矩阵中的黑、白模块组成,代表性的矩阵式二维条码包括 Codeone、Aztec、Data Matrix、OR 石马等。纠错码在信息技术中广泛应用,一般而言,在发送端发送信息之前,纠错编码器 根据要发送的数据信息计算相应的校验码,并把校验码作为冗余检验和数据信息一起组成 纠错码,接收端收到纠错码后,通过纠错译码器不仅能自动地发现错误,而且能自动地纠正 码字在传输过程中的错误。RS纠错码(Reed-Solomon error correction,里德-所罗门纠错码)是一种纠错 能力很强的循环码,通常符号(N,K) RS的含义如下N表示码字长度;K表示码字中的信息 长度;N-K = 2t表示检验码的符号数,其中t表示能够纠正的码字错误数目。现有技术中的RS纠错码解码器的编码解码流程如图1所示,在步骤101,首先确定 原始信息,在步骤102,对原始信息进行RS编码,以获得RS编码数据,在步骤103,接收端获 取RS编码数据,在步骤104,计算伴随式,在步骤105,判断伴随式是否等于0,若判断结果是 “否”,则执行步骤106,确认错误多项式和错误位置,并在步骤107中,根据错误位置纠正错 误,并在步骤107完成后,执行步骤109,输出信息。在步骤105中,若判断结果是“是”,则在步骤108获知接收数据与原始数据一致, 执行步骤109,将接收信息输出。在纠错编码代数中,以二进制数字表示的一个数据系列看成一个多项式,例如二 进制数字序列10101111可以表示成M(x) = a7x7+a6x6+a5x5+a4x4+a3x3+a2x2+a1x1+a0x0 = x7+x5+x3+x2+l其中,Xi表示代码的位置,或某个二进制数位的位置,Xi前面的系数 表示码的值,若 是一位二进制代码,则取值0或1,而M(X)称为信息代码多项式。对于编码步骤而言,假设输入编码器的序列长度为K,则输入序列的信息代码多项 式可表示为M(X) = 1%_广+1%_;^2+· . .+ι^χ+π ο (1)由以上介绍可知,Hii为1或0,Xi表示Hii在序列中的位置,i = 0,1,2,... ,K-I0编码器具有以下等式χκΜ(χ) = α (χ) g (χ)+R (χ) (2)其中,XkM(X)表示7与皿00的乘积,R为R(X)的阶数,g(x)为生成多项式,α (χ) 为XkM(X)除以g(x)得到的商多项式,R(x)为接收元多项式,为(2)式中定义的余数多项式。
一1生成多项式g(x)表达式为容(力=1"1%(力,其中叫00为最小多项式。其物理意
义为,g(x)是由t个最小多项式相乘产生,t为RS纠错码能够纠正的最大错误个数。编码器输出的序列为T(X),长度为N,T(X)表示为T(x) = M(x) xN-K+R (χ) (3)假设信道产生的错误为E(X),错误位置多项式E(X)的表达式为E (χ) = En^X^'+E^X^2+. . . +ElX+E0 (4)其中,Ei表示错误值,当Ei为1时表示有错误发生,Ei为O时表示无错误发生。则接收码元多项式R (χ)可表示为R(x) = T (χ)+E (χ) (5)由式(2)、(3)知T(X) = M(x)xe+R(x) = α (x)g(x) (6)即T(X)能被α (χ)整除。定义伴随式Si, BP S0, ... , S2t+ t为RS纠错码能够纠正的最大错误数。伴随式的 表达式为Si = E(Qi)=R(CIi) (7)其中α是对应的迦罗华域(Galois Field, GF)的元素。接收码元多项式可以表 示为R (x) = r^iX^^r^X^2+. . . +Γ^+Γο (8)其中,r」表示输入序列Iiv1,rN_2,. .. , r1 r0}的一位,为1或0,Xj表示r」在序列 中的位置,j = 0,1,2,3. . . ,N-I0根据霍纳算法(Horner),以及式(7)、(8),现有技术中提出如下伴随式的算法Si = R (Xi) = Iv1 ( α O( α O N_2+· .^r1(Qi) +r0= ((Iv1 ( α ” +rN_2) ( α 0 +· . · +Γι) ( α +r0 (9)其中,i = 1,2,…,2t。图2示出了现有技术提供的计算伴随式(9)的电路结构,图中每个时钟周期从加 法器204处输入1位数据(input),并且此时控制位(control)控制选择器203,使得寄存器 输出的值传递到加法器204中,从而使输入的1位数据与之相加,相加后的结果通过乘法器 201进行一次常数乘法运算,运算结果反馈回寄存器202,在下一个时钟周期与加法器204
4处的输入数据累加,不断累加后,当需要校验的数据输入完成以后通过控制位关闭选择器 203,此时寄存器202输出的结果就是输入序列的伴随式值。伴随式的计算采用串行输入, 采用这种方式的计算只需要一个常数乘法器和一个加法器就能够计算Si,但是这种电路结 构运算速度偏慢,并且需要2t个以上电路才能分别计算S1-S2t的值,造成操作不便、电路结 构复杂。另外,删除位置是解码器拒绝读取的码字,在条码解码过程中,部分码字在提取过 程中可能会因为污损等原因而被解码器拒绝读取,从而将该码字标识为空码,即删除位置。 现有的RS纠错码解码器在计算伴随式时,会将删除位置译码出错的位置计算放在伴随式 的前一步(或后一步)进行,虽然解码后的信息与原始信息一致,但是在删除位置译码出错 的位置计算与伴随式计算不同步进行,会延长解码时间。因此,针对现有技术存在的以上不足,亟需提供一种条码纠错译码装置,能够实现 同步进行伴随式计算和删除位置多项式计算,从而加快解码速度。

发明内容本实用新型提供了一种条码纠错译码装置,以克服上述问题。本实用新型提供了一种条码纠错译码装置,包括码表存储模块,存储表示符号字 符与码字对应关系的码表;码字提取模块,根据码表利用接收的符号字符获取初始码字; RS纠错码解码器,对初始码字进行RS纠错处理,以获取正确码字;译码模块,根据码表利用 正确码字获取正确符号字符,并对正确符号字符进行译码来获得条码信息;其中,RS纠错 码解码器包括先进先出缓冲器,用于缓冲接收的初始码字;伴随式计算电路,用于根据初 始码字计算伴随式;删除位置多项式计算电路,用于根据初始码字的删除位置计算删除位 置多项式,修正伴随式计算电路,根据伴随式和删除位置多项式计算修正伴随式;关键方程 求解电路,根据修正伴随多项式和删除位置多项式计算错误位置多项式和错误多项式;钱 搜索电路,根据错误位置多项式计算错误位置多项式的根,以获得错误位置;错误值计算电 路,根据错误多项式和删除位置多项式计算错误/删除位置多项式,根据错误/删除位置多 项式以及错误位置利用Forney公式计算出错误值和删除值;第一加法器,缓冲的初始码字 经第一加法器与错误值和删除值相加,从而获得正确码字;其中,删除位置多项式计算电路 和伴随式计算电路并行设置。根据本实用新型之一优选实施例,伴随式计算电路包括数据存储器,至少包括 2t个内存地址,用于存储2t个数据单元;乘法器,用于依次将从数据存储器读出的第i个 内存地址的数据单元与α i相乘,以获取相乘结果,其中i为整数,1 ^ i ^ 2t ;第二加法 器,用于依次将相乘结果与输入到伴随式计算电路的N个初始码字中的第j+Ι个初始码字 rN+j相加,以获取相加结果,并将相加结果保存至数据存储器的第i个内存地址,其中j为 对数据存储器的全部2t个内存地址进行读取的次数,j为整数,N-1,其中在初始 化时将数据单元设置成伴随式计算电路接收到的N个初始码字中的第1个初始码字IV115通过以上设置,本实用新型的条码纠错译码装置,能够实现同步进行伴随式计算 和删除位置多项式计算,从而加快解码速度。
图1示出了现有技术中的RS纠错码的编码解码流程。[0047]图2示出了现有技术提供的计算伴随式的电路结构。图3是本实用新型的条码纠错译码装置的电路连接框图。图4是本实用新型的条码纠错译码装置中的RS纠错码解码器的电路连接框图。图5是本实用新型的条码纠错译码装置中的RS纠错码解码器的工作流程图。图6是本实用新型的条码纠错译码装置的RS纠错码解码器中的伴随式计算电路 的电路连接框图。图7是本实用新型的条码纠错译码装置的RS纠错码解码器中的伴随式计算电路 的串行数据输入方式示意图。图8是本实用新型的条码纠错译码装置的RS纠错码解码器中的伴随式计算电路 的工作流程图。
具体实施方式
有关本实用新型的特征及技术内容,请参考以下的详细说明与附图,附图仅提供 参考与说明,并非用来对本实用新型加以限制。图3是本实用新型的条码纠错译码装置的电路连接框图。如图3所示,本实用新 型的条码纠错译码装置包括码字提取模块801、RS纠错码解码器802、译码模块803以及码 表存储模块804。其中,码表存储模块804存储表示符号字符与码字对应关系的码表;码字提取模 块801根据码表利用接收的符号字符获取初始码字;RS纠错码解码器802对初始码字进行 RS纠错处理,以获取正确码字;译码模块803根据码表利用正确码字获取正确符号字符,并 对该正确符号字符进行译码来获得条码信息。其中,码表存储模块804将码表存储于ROM(Read-Only Memory,只读内存)中,码 字提取模块801可根据扫描条空间隙得出的符号字符从ROM中查询码表,获取初始码字,译 码模块803根据码表利用正确码字可获取正确符号字符,对正确符号字符进行译码来获得 条码信息。图4是本实用新型的条码纠错译码装置中的RS纠错码解码器802的电路连接框 图。如图4所示,本实用新型的RS纠错码解码器802包括先进先出缓冲器601、加法器602、 伴随式计算电路603、修正伴随式计算电路604、关键方程求解电路605、错误值计算电路 606、删除位置多项式计算电路607、钱搜索电路608。图5是本实用新型的条码纠错译码装置中的RS纠错码解码器802的工作流程图。 首先,在步骤701,根据接收的初始码字r (χ)利用伴随式计算电路603计算伴随式S (χ),同 时根据接收的初始码字r(x)的删除位置利用删除位置多项式计算电路607计算删除位置 多项式A (χ)。在步骤702,由根据伴随式S(X)和删除位置多项式Λ (χ)利用修正伴随式计算电 路604计算出修正的伴随多项式T (χ)。在步骤703,由T(X)和Λ (χ),利用关键方程求解电路605通过MEA (欧几里德算 法)算法解关键方程,得到错误位置多项式σ (χ)和错误多项式ω (χ)0在步骤704,利用钱搜索电路608计算出ο (χ)的根,从而得出错误位置。在步骤705,根据ω (χ)和Λ (χ)利用错误值计算电路606计算出错误/删除位置 多项式Ψ (X)。
6[0065]在步骤706,错误值计算电路606根据Ψ (χ)和错误位置利用Forney公式计算出 错误值和删除值,并将其与初始码字r (χ)透过加法器602相加,得到正确的码字,其中原来 的初始码字r(x)经先进先出缓冲器601缓冲后再输入加法器602,目的在于延迟初始码字 r(x)输入加法器602时间,与错误值计算电路606的输出结果同步。值得注意的是,RS纠错码解码器802将伴随式计算电路603与删除位置多项式计 算电路607并行设置,从而节省了运算时间,提高了解码效率。以下将详细介绍伴随式计算电路603的电路结构。图6是本实用新型的条码纠错译码装置的RS纠错码解码器802中的伴随式计算 电路603的电路连接框图。如图6所示,RS纠错码解码器802中的伴随式计算电路603包 括乘法器301、加法器302、数据存储器303、控制器306、第一数据输入端304以及第二数据 输入端305。其中,数据存储器303优选为双口数据存储器,包括读地址端口(即图3中所示 的raddr)、读取端口(即图3中所示的rdata)、写地址端口(即图3中所示的waddr)以及 写入端口(即图3中所示的wdata),当读地址端口输入的读地址指向数据存储器303的某 一内存地址时,可利用读取端口将该内存地址中存储的数据读出,同样地,当写地址端口输 入的写地址指向数据存储器303的某一内存地址时,可利用写入端口向该内存地址写入数 据。值得注意的是,可用控制器306产生读地址与写地址,并控制读地址端口、写地址端口 以及控制读取端口和写入端口的工作。本实用新型所揭示的RS纠错码解码器的伴随式计算电路603在开始时会对数据 存储器303进行初始化,其中在初始化时执行以下操作依次在数据存储器303的2t个内 存地址l-2t (其中内存地址1,2,3,. . .,2t仅为了便于说明而编号,其与实际内存地址不对 应)输入数据单元,通常而言初始化时输入的数据单元为第一个码字IV115读地址从第1个内存地址1开始,每个时钟周期加1,直至经历2t个时钟周期,从 而遍历全部2t个内存地址l_2t,其中读地址加1的动作由控制器306所控制。读取端口读取读地址指向的内存地址内的数据单元,如当读地址指向内存地址1, 读取端口可读取内存地址1内存储的数据单元,并将其输入到乘法器301,其中读取端口读 取数据的动作由控制器306所控制。写地址从第1个内存地址1开始,每个时钟周期加1,直至经历2t个时钟周期,从 而遍历全部2t个内存地址l_2t,其中写地址加1的动作由控制器306所控制。写入端口向写地址指向的内存地址写入由加法器302输出的数据单元,如当写地 址指向内存地址1,写入端口可将加法器302输出的数据单元写入至内存地址1的内存空间 进行数据存储,其中写入端口写入数据的动作由控制器306所控制。第一输入端304和第二输入端305可进行串行数据输入,第一串行数据与第二串 行数据按位数分别同步输入至第一数据输入端304和第二数据输入端305,即当分别输入 第一串行数据和第二串行数据至第一输入端304和第二输入端305时,该两组串行数据根 据时钟周期同步,可在一个时钟周期内,分别同时输入一位串行数据至第一输入端304和 第二输入端305。图7是本实用新型的条码纠错译码装置的RS纠错码解码器802中的伴随式计算 电路603的串行数据输入方式示意图。请参考图7,在图7中,第一串行数据404和第二串行数据405为分别输入至第一输入端304和第二输入端305的串行数据,如图8中所示,串 行数据的输入以2t个时钟周期为一个循环,共有N-I个循环。第一串行数据404和第二串 行数据405根据伴随式计算公式Si = (· · · (r^) α ^rfr2,) α ^rfr3)) α 1......+Γι) α ^r0定义,其中,i = 1,2,. . .,2t。符号α为是对应的迦罗华域(Galois Field, GF) 乘法GF(2m)的元素,实际计算时可根据相应标准定义为一常数,而A-Iv1为RS纠错码解码 器接收到的码字,其中IV1是接收到的第一个码字,r0是接收到的最后一个码字。在第一个2t时钟周期内,第一串行数据404输入至第一数据输入端304的串行数
据分别为α、α2、α3.....α 2t,第二串行数据405输入至第二数据输入端305的串行数
据分别为在第二个2t时钟周期内,第一串行数据404输入至第一数据输入端304的串行数
据分别为α、α2、α3.....α 2t,第二串行数据405输入至第二数据输入端305的串行数
据分别为 同样地,在第N-I个2t时钟周期内,第一串行数据404输入至第一数据输入端304
的串行数据分别为α、α 2、α 3.....α 2t,第二串行数据405输入至第二数据输入端305的
串行数据分别为rQ、rQ、rQ、. . .、rQ。乘法器301依次将从数据存储器303读出的第i个内存地址的数据单元与α 1相 乘,以获取相乘结果,其中i为整数,1 < i ^ 2t ;加法器302依次将相乘结果与输入到伴随式计算电路的N个初始码字中的第 j+Ι个初始码字Α+」相加,以获取相加结果,并将相加结果保存至数据存储器303的第i 个内存地址,其中j为对数据存储器303的全部2t个内存地址进行读取的次数,j为整数, 1 ^ j ^ N-I0图8是本实用新型的条码纠错译码装置的RS纠错码解码器802中的伴随式计算 电路603的工作流程图。以下将参考图8对伴随式计算电路603的工作流程作详细介绍。如图8所示,在步骤501,执行初始化操作,即向内存地址l_2t输入I^1,并且设置 外循环计数变量j等于1,另外设置变量i = 1,其中i用于表示正在进行操作的内存地址, j用于统计对数据存储器的全部2t个内存地址进行读取的次数,以上操作在控制器306的 控制下完成。在步骤502,令数据存储器303的读地址和写地址指向内存地址i。在步骤503,读取端口根据读地址读取内存地址i中的数据单元至乘法器301。在步骤504,从第一数据输入端304输入一个第一串行数据α 1至乘法器301,从 第二数据输入端305输入一个串行数据至加法器302。在步骤505,乘法器301将α 1与数据单元相乘得到相乘结果。在步骤506,加法器302将与相乘结果相加得到相加结果。在步骤507,写入端口根据写地址将相加结果写入至内存地址i。在步骤508,对i进行自加1处理。在步骤509,判断i是否等于2t+l,若判断结果是“否”,则跳至步骤502。若判断结果为“是”,则执行步骤510,将i设置为1,将j进行自加处理。在步骤511,判断j是否等于N-1,若判断结果是“是”,则在步骤512中得到伴随式。若判断结果是“否”,则跳至步骤502。因此,通过上述N-I次运算,数据存储器303的2t个内存地址中存储的数据单元 S1至S2t分别是S1 = (· · (Γ(Ν-1) 0[+r(N-2)) α+Γ(Ν-3)) Q..... +巧)α +r0[0099]S2 = (· · (Γ(Ν-1) 0[2+Γ(Ν-2)) C[2+r(N_3)) α2... · · +巧)α 2+r0[0100]S3 = (· · (Γ(Ν-1) 0[3+Γ(ν-2)) C[3+r(N_3)) α3... · · +巧)α 3+r0[0101][0102]S2t — (· · (Γ(Ν-1)‘a2t+r(N-2))α 2t+r(N-3)) α 2t......+ri) α 2t+r0[0103]即[0104]Si = (· · (Γ(Ν-1) 0[i+r(N-2)) c[i+r(N-3)) α · · · · +T1) α ^r0[0105]其中,i1 ? 2 j...,2t。因而,数据单元S1,s2, S3,... ,s2t对应于式(9)中的各伴随式S1,Sg S3 J ...,S2to伴随式计算电路603具有运算速度快、电路结构简单、操作方便的优点。[0106]通过以上设置,本实用新型的条码纠错译码装置可能够实现同步进行伴随式计算
和删除位置多项式计算,从而加快解码速度。另外,改进的伴随式计算电路可提高解码效率。 以上参照附图说明了本实用新型的各种优选实施例,但是只要不背离本实用新型 的实质和范围,本领域的技术人员可以对其进行各种形式上的修改和变更,都属于本实用 新型的保护范围。
权利要求1.一种条码纠错译码装置,其特征在于,包括码表存储模块,存储表示符号字符与码字对应关系的码表; 码字提取模块,根据所述码表利用接收的符号字符获取初始码字; RS纠错码解码器,对所述初始码字进行RS纠错处理,以获取正确码字; 译码模块,根据所述码表利用所述正确码字获取正确符号字符,并对所述正确符号字 符进行译码来获得条码信息;其中,所述RS纠错码解码器包括 先进先出缓冲器,用于缓冲接收的初始码字; 伴随式计算电路,用于根据所述初始码字计算伴随式;删除位置多项式计算电路,用于根据所述初始码字的删除位置计算删除位置多项式, 修正伴随式计算电路,根据所述伴随式和所述删除位置多项式计算修正伴随式; 关键方程求解电路,根据所述修正伴随多项式和所述删除位置多项式计算错误位置多 项式和错误多项式;钱搜索电路,根据错误位置多项式计算错误位置多项式的根,以获得错误位置; 错误值计算电路,根据错误多项式和删除位置多项式计算错误/删除位置多项式,根 据错误/删除位置多项式以及所述错误位置利用Forney公式计算出错误值和删除值;第一加法器,缓冲的所述初始码字经所述第一加法器与所述错误值和删除值相加,从 而获得所述正确码字;其中,所述删除位置多项式计算电路和所述伴随式计算电路并行设置。
2.根据权利要求1所述的条码纠错译码装置,其特征在于,所述伴随式计算电路包括数据存储器,至少包括2t个内存地址,用于存储2t个数据单元; 乘法器,用于依次将从所述数据存储器读出的第i个内存地址的数据单元与α 1相乘, 以获取相乘结果,其中i为整数,1 < i^2t;第二加法器,用于依次将所述相乘结果与输入到所述伴随式计算电路的N个初始码字 中的第j+Ι个初始码字相加,以获取相加结果,并将所述相加结果保存至所述数据存 储器的第i个内存地址,其中j为对所述数据存储器的全部2t个内存地址进行读取的次 数,j为整数,1 < j ^ N-1,其中在初始化时将所述数据单元设置成所述伴随式计算电路接 收到的N个初始码字中的第1个初始码字IV1。
专利摘要本实用新型提供一种条码纠错译码装置,包括码表存储模块、码字提取模块、RS纠错码解码器、译码模块,根据码表利用正确码字获取正确符号字符,其中,RS纠错码解码器包括先进先出缓冲器、伴随式计算电路、删除位置多项式计算电路、关键方程求解电路、钱搜索电路、错误值计算电路、第一加法器,其中,删除位置多项式计算电路和伴随式计算电路并行设置。通过以上设置,本实用新型提供的条码纠错译码装置能够在条码解码过程中实现同步进行伴随式计算和删除位置多项式计算,从而加快解码速度。
文档编号H03M13/15GK201789494SQ201020213330
公开日2011年4月6日 申请日期2010年6月1日 优先权日2010年6月1日
发明者王贤福, 胡伦育, 蔡小丹, 黄建新 申请人:福建新大陆电脑股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1