一种rs纠错码解码器的制作方法

文档序号:7517350阅读:166来源:国知局
专利名称:一种rs纠错码解码器的制作方法
技术领域
本发明属于纠错码技术领域,特别地,涉及一种RS纠错码解码器。背景技术
纠错码在信息技术中广泛应用,一般而言,在发送端发送信息之前,纠错编码器根 据要发送的数据信息计算相应的校验码,并把校验码作为冗余检验和数据信息一起组成纠 错码,接收端收到纠错码后,通过纠错译码器不仅能自动地发现错误,而且能自动地纠正码 字在传输过程中的错误。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其中,P表示代码的位置,或某个二进制数位的位置,X1前面的系数 表示码的 值,若 是一位二进制代码,则取值0或1,而M(x)称为信息代码多项式。对于编码步骤而言,假设输入编码器的序列长度为K,则输入序列的信息代码多项 式可表示为M(x) = mK_1xK_1+mK_2xK_2+. . . +111^+1110(1)由以上介绍可知,11^为1或0,?表示叫在序列中的位置,i =0,1,2,...,K_1。编码器具有以下等式xeM(x) = a (x)g(x) +R(x)(2)其中,xkM(x)表示7与皿00的乘积,R为R(x)的阶数,g(x)为生成多项式,a (x) 为xkM(x)除以g(x)得到的商多项式,R(x)为接收元多项式,为⑵式中定义的余数多项式。生成多项式g(x)表达式为射X) = fim,(x),其中mi(x)为最小多项式。其物理意义
为,g(x)是由t个最小多项式相乘产生,t为RS纠错码能够纠正的最大错误个数。编码器输出的序列为T(x),长度为N,T(x)表示为
<formula>formula see original document page 5</formula>3)假设信道产生的错误为E(x),错误位置多项式E(x)的表达式为<formula>formula see original document page 5</formula>(4)其中,Ei表示错误值,当Ei为1时表示有错误发生,Ei为0时表示无错误发生。
则接收码元多项式R (χ)可表示为<formula>formula see original document page 5</formula>(5)由式(2)、(3)知<formula>formula see original document page 5</formula>)即T(X)能被α (χ)整除。定义伴随式S”即Stl,...,S2t^1, t为RS纠错码能够纠正的最大错误数。伴随式的 表达式为<formula>formula see original document page 5</formula>(7)其中α是对应的迦罗华域(Galois Field, GF)的元素。接收码元多项式可以表 示为<formula>formula see original document page 5</formula>(8)其中,r」表示输入序列Iiv1,rN_2,. .. , r1 r0}的一位,为1或0,Xj表示r」在序列 中的位置,j = 0,1,2,3. . . ,N-I0根据霍纳算法(Horner),以及式(7)、(8),现有技术中提出如下伴随式的算法<formula>formula see original document page 5</formula>图2示出了现有技术提供的计算伴随式(9)的电路结构,图中每个时钟周期从加 法器204处输入1位数据(input),并且此时控制位(control)控制选择器203,使得寄存器 输出的值传递到加法器204中,从而使输入的1位数据与之相加,相加后的结果通过乘法器 201进行一次常数乘法运算,运算结果反馈回寄存器202,在下一个时钟周期与加法器204 处的输入数据累加,不断累加后,当需要校验的数据输入完成以后通过控制位关闭选择器 203,此时寄存器202输出的结果就是输入序列的伴随式值。伴随式的计算采用串行输入, 采用这种方式的计算只需要一个常数乘法器和一个加法器就能够计算Si,但是这种电路结 构运算速度偏慢,并且需要2t个以上电路才能分别计算S1-S2t的值,造成操作不便、电路结 构复杂。删除位置是解码器拒绝读取的码字,如在条码解码过程中,部分码字在提取过程 中可能会因为污损等原因而被解码器拒绝读取,从而将该码字标识为空码,即删除位置。现 有的RS纠错码解码器在计算伴随式时,会将删除位置译码出错的位置计算放在伴随式的 前一步(或后一步)进行,虽然解码后的信息与原始信息一致,但是在删除位置译码出错的 位置计算与伴随式计算不同步进行,会延长解码时间。因此,针对现有技术存在的以上不足,亟需提供一种RS纠错码解码器,能够实现 同步进行伴随式计算和删除位置多项式计算,并且采用改进的伴随式计算电路,从而加快 解码速度,并且保证解码不会出错。
发明内容为了克服现有技术的RS纠错码解码器运算速度偏慢的缺点,本发明提供了一种 RS纠错码解码器,以克服上述问题。本发明提供一种RS纠错码解码器,其中RS纠错码的码字长度为N,用于纠正t个 错误码字数目,对应的迦罗华域元素是α,其特征在于,包括先进先出缓冲器,用于缓冲 接收码字;伴随式计算电路,用于根据码字计算伴随式;删除位置多项式计算电路,用于根 据码字的删除位置计算删除位置多项式,修正伴随式计算电路,根据伴随式和删除位置多 项式计算修正伴随式;关键方程求解电路,根据修正伴随多项式和删除位置多项式计算错 误位置多项式和错误多项式;钱搜索电路,根据错误位置多项式计算错误位置多项式的根, 以获得错误位置;错误值计算电路,根据错误多项式和删除位置多项式计算错误/删除位 置多项式,根据错误/删除位置多项式以及错误位置利用Forney公式计算出错误值和删除 值;第一加法器,经缓冲的接收码字经第一加法器与错误值和删除值相加,从而获得正确码 字,其中,删除位置多项式计算电路和伴随式计算电路并行设置。根据本发明之一优选实施例,伴随式计算电路包括数据存储器,至少包括2t个 内存地址,用于存储2t个数据单元;乘法器,用于依次将从数据存储器读出的第i个内存地 址的数据单元与α 1相乘,以获取相乘结果,其中i为整数,1 ^ i ^ 2t ;第二加法器,用于 依次将相乘结果与输入到伴随式计算电路的N个码字中的第j+Ι个码字相加,以获取 相加结果,并将相加结果保存至数据存储器的第i个内存地址,其中j为对数据存储器的全 部2t个内存地址进行读取的次数,j为整数,J^N-I0根据本发明之一优选实施例,数据存储器为双口数据存储器,包括读地址端口、写 地址端口、读取端口以及写入端口,其中读地址端口输入的读地址首先指向2t个内存地址 中的第1个内存地址,每个时钟周期加1,直至经历2t个时钟周期,从而遍历2t个内存地 址;写地址端口输入的写地址首先指向2t个内存地址中的第1个内存地址,每个时钟周期 加1,直至经历2t个时钟周期,从而遍历2t个内存地址;读取端口用于读取读地址指向的 内存地址内的数据;写入端口向写地址指向的内存地址写入数据。根据本发明之一优选实施例,数据存储器进一步包括控制器,用于控制读地址端 口、写地址端口、读取端口以及写入端口的工作。根据本发明之一优选实施例,控制器判断写地址或读地址是否指向第2t+l个内 存地址,若判断结果为“是”,则控制器控制写地址或读地址指向第1个内存地址。根据本发明之一优选实施例,控制器判断j是否等于N-1,若判断结果为“是”,则 从2t个内存地址中分别得到伴随式。根据本发明之一优选实施例,α对应于不同标准取值为不同的常数。根据本发明之一优选实施例,在初始化时将数据单元设置成RS纠错码解码器接 收到的第1个码字IV1。通过以上设置,本发明的RS纠错码解码器能够实现同步进行伴随式计算和删除位置多项式计算,从而加快解码速度。

图1示出了现有技术中的RS纠错码的编码解码流程。
图2示出了现有技术提供的计算伴随式的电路结构。图3是本发明的RS纠错码解码器的电路连接框图。图4是本发明的RS纠错码解码器的工作流程图。图5是本发明的RS纠错码解码器中的伴随式计算电路的电路连接框图。图6是本发明的RS纠错码解码器中的伴随式计算电路的串行数据输入方式示意 图。图7是本发明的RS纠错码解码器中的伴随式计算电路的工作流程图。
具体实施方式
有关本发明的特征及技术内容,请参考以下的详细说明与附图,附图仅提供参考 与说明,并非用来对本发明加以限制。图3是本发明的RS纠错码解码器的电路连接框图。如图3所示,本发明的RS纠 错码解码器包括先进先出缓冲器601、加法器602、伴随式计算电路603、修正伴随式计算电 路604、关键方程求解电路605、错误值计算电路606、删除位置多项式计算电路607、钱搜索 电路608。本发明的RS纠错码解码器的工作流程如图4所示,首先,在步骤701,根据接收码 字r(x)利用伴随式计算电路603计算伴随式S(x),同时根据删除位置利用删除位置多项式 计算电路607计算删除位置多项式Λ (χ)。在步骤702,由根据伴随式S(x)和删除位置多项式Λ (χ)利用修正伴随式计算电 路604计算出修正的伴随多项式T (χ)。在步骤703,由T(X)和Λ (χ),利用关键方程求解电路605通过MEA (欧几里德算 法)算法解关键方程,得到错误位置多项式σ (χ)和错误多项式ω (χ)0在步骤704,利用钱搜索电路608计算出σ (χ)的根,从而得出错误位置。在步骤705,根据ω (χ)和Λ (χ)利用错误值计算电路606计算出错误/删除位置 多项式Ψ (X)。在步骤706,错误值计算电路606根据Ψ (χ)和错误位置利用Forney公式计算出 错误值和删除值,并将其与原来码字r(x)透过加法器602相加,得到正确的码字,其中原来 的码字r(x)经先进先出缓冲器601缓冲后再输入加法器602,目的在于延迟原来码字r (χ) 输入加法器602时间,与错误值计算电路606的输出结果同步。值得注意的是,本发明的RS纠错码解码器将伴随式计算电路603与删除位置多项 式计算电路607并行设置,从而节省了运算时间,提高了解码效率。以下将详细介绍伴随式计算电路603的电路结构。图5是根据本发明的RS纠错码解码器中的伴随式计算电路603的电路连接框图。 如图5所示,本发明所揭示的RS纠错码解码器中的伴随式计算电路包括乘法器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仅为了便于说明而编号,其与实际内存地址不对应) 输入数据单元,通常而言初始化时输入的数据单元为第一个码字IVp读地址从第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。图6是本发明的RS纠错码解码器中的伴随式计算电路603的串行数据输入方式 示意图。请参考图6,在图6中,第一串行数据404和第二串行数据405为分别输入至第一 输入端304和第二输入端305的串行数据,如图6中所示,串行数据的输入以2t个时钟周 期为一个循环,共有N-I个循环。第一串行数据404和第二串行数据405根据伴随式计算 公式Si = (· · · (r^) α ^rfr2,) α ^rfr3)) Qi......+巧)α ^r0 (9)定义,其中,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个内存地址的数据单元Si与α 1 相乘,以获取相乘结果,其中i为整数,1 < i ^ 2t ;加法器302依次将相乘结果与输入到伴随式计算电路的N个码字中的第j+Ι个码 字rN+j相加,以获取相加结果,并将相加结果保存至数据存储器303的第i个内存地址,其 中j为对数据存储器303的全部2t个内存地址进行读取的次数,j为整数,J^N-I0图7是本发明的RS纠错码解码器中的伴随式计算电路603的工作流程 图。以下 将参考图7对本发明的RS纠错码解码器中的伴随式计算电路的工作流程作详细介绍。如图7所示,在步骤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进行自加1处理。在步骤511,判断j是否等于N-1,若判断结果是“是”,则在步骤512中得到伴随式。若判断结果是“否”,则跳至步骤502。因此,通过上述N-I次运算,数据存储器303的2t个内存地址中存储的数据单元 S1至S2t分别是S1 = (· · · (r(N_D α +r(N_2)) α +r(N_3)) α......+r^ α +r0S2 = (· · · (r^) α 2+r(N_2)) α 2+r(N_3)) α 2......+Γι) α 2+r0S3 = (· · · (r^) α 3+r(N_2)) α 3+r(N_3)) α 3......+Γι) α 3+r0......s2t = (··· Ov1) α 2t+r(N_2)) α 2t+r(N_3)) α 2t......+Γι) α 2t+r0即si = (· · · (r(N_D α ^rfr2,) α ^rfrs) α 1......+r^ α ^r0其中,i = 1,2,...,2t。因而,数据单元S1, s2,s3,...,s2t对应于式(9)中的各伴
P這 Si J S2 ? S3 J ... ; Sgto本发明的RS纠错码解码器中的伴随式计算电路603具有运算速度快、电路结构简 单、操作方便的优点。通过以上设置,本发明的RS纠错码解码器能够实现同步进行伴随式计算和删除位置多项式计算,从而加快解码速度。 以上参照

了本发明的各种优选实施例,但是只要不背离本 发明的实质和 范围,本领域的技术人员可以对其进行各种形式上的修改和变更,都属于本发明的保护范围。
权利要求
一种RS纠错码解码器,其中RS纠错码的码字长度为N,用于纠正t个错误码字数目,对应的迦罗华域元素是α,其特征在于,包括先进先出缓冲器,用于缓冲接收码字;伴随式计算电路,用于根据所述码字计算伴随式;删除位置多项式计算电路,用于根据所述码字的删除位置计算删除位置多项式,修正伴随式计算电路,根据所述伴随式和所述删除位置多项式计算修正伴随式;关键方程求解电路,根据所述修正伴随多项式和所述删除位置多项式计算错误位置多项式和错误多项式;钱搜索电路,根据错误位置多项式计算错误位置多项式的根,以获得错误位置;错误值计算电路,根据错误多项式和删除位置多项式计算错误/删除位置多项式,根据错误/删除位置多项式以及所述错误位置利用Forney公式计算出错误值和删除值;第一加法器,缓冲的接收码字经所述第一加法器与所述错误值和删除值相加,从而获得正确码字,其中,所述删除位置多项式计算电路和所述伴随式计算电路并行设置。
2.根据权利要求1所述的RS纠错码解码器,其特征在于,所述伴随式计算电路包括 数据存储器,至少包括2t个内存地址,用于存储2t个数据单元;乘法器,用于依次将从所述数据存储器读出的第i个内存地址的数据单元与a 1相乘, 以获取相乘结果,其中i为整数,1 ≤ i ≤ 2t;第二加法器,用于依次将所述相乘结果与输入到所述伴随式计算电路的N个码字中的 第j+1个码字相加,以获取相加结果,并将所述相加结果保存至所述数据存储器的第i 个内存地址,其中j为对所述数据存储器的全部2t个内存地址进行读取的次数,j为整数, 1 ^ j ^ N-l.
3.根据权利要求2所述的RS纠错码解码器,其特征在于,所述数据存储器为双口数据 存储器,包括读地址端口、写地址端口、读取端口以及写入端口,其中所述读地址端口输入 的读地址首先指向所述2t个内存地址中的第1个内存地址,每个时钟周期加1,直至经历 2t个时钟周期,从而遍历所述2t个内存地址;所述写地址端口输入的写地址首先指向所述 2t个内存地址中的第1个内存地址,每个时钟周期加1,直至经历2t个时钟周期,从而遍历 所述2t个内存地址;所述读取端口用于读取所述读地址指向的内存地址内的数据;所述写 入端口向所述写地址指向的内存地址写入数据。
4.根据权利要求3所述的RS纠错码解码器,其特征在于,所述数据存储器进一步包括 控制器,用于控制所述读地址端口、所述写地址端口、所述读取端口以及所述写入端口的工 作。
5.根据权利要求4所述的RS纠错码解码器,其特征在于,所述控制器判断所述写地址 或所述读地址是否指向第2t+l个内存地址,若判断结果为“是”,则所述控制器控制所述写 地址或所述读地址指向所述第1个内存地址。
6.根据权利要求4所述的RS纠错码解码器,其特征在于,所述控制器判断所述j是否 等于N-1,若判断结果为“是”,则从所述2t个内存地址中分别得到伴随式。
7.根据权利要求2所述的RS纠错码解码器,其特征在于,所述a对应于不同标准取值 为不同的常数。
8.根据权利要求2所述的RS纠错码解码器,其特征在于,在初始化时将所述数据单元 设置成所述RS纠错码解码器接收到的第1个码字rN_i。
全文摘要
本发明提供一种RS纠错码解码器,包括先进先出缓冲器、伴随式计算电路、删除位置多项式计算电路、修正伴随式计算电路、关键方程求解电路、钱搜索电路、错误值计算电路、加法器,其中,删除位置多项式计算电路和伴随式计算电路并行设置。通过以上设置,本发明的RS纠错码解码器能够实现同步进行伴随式计算和删除位置多项式计算,从而加快解码速度。
文档编号H03M13/15GK101834617SQ20101018892
公开日2010年9月15日 申请日期2010年6月1日 优先权日2010年6月1日
发明者庄国梁, 王贤福, 胡伦育, 陈朱管 申请人:福建新大陆电脑股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1