CN201789495U - 一种rs纠错码解码器 - Google Patents
一种rs纠错码解码器 Download PDFInfo
- Publication number
- CN201789495U CN201789495U CN2010202133541U CN201020213354U CN201789495U CN 201789495 U CN201789495 U CN 201789495U CN 2010202133541 U CN2010202133541 U CN 2010202133541U CN 201020213354 U CN201020213354 U CN 201020213354U CN 201789495 U CN201789495 U CN 201789495U
- Authority
- CN
- China
- Prior art keywords
- syndrome
- error
- code word
- circuit
- delete position
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本实用新型提供一种RS纠错码解码器,包括:先进先出缓冲器、伴随式计算电路、删除位置多项式计算电路、修正伴随式计算电路、关键方程求解电路、钱搜索电路、错误值计算电路、加法器,其中,删除位置多项式计算电路和伴随式计算电路并行设置。通过以上设置,本实用新型的RS纠错码解码器能够实现同步进行伴随式计算和删除位置多项式计算,从而加快解码速度。
Description
【技术领域】
本实用新型属于纠错码技术领域,特别地,涉及一种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+1
其中,xi表示代码的位置,或某个二进制数位的位置,xi前面的系数ai表示码的值,若ai是一位二进制代码,则取值0或1,而M(x)称为信息代码多项式。
对于编码步骤而言,假设输入编码器的序列长度为K,则输入序列的信息代码多项式可表示为:
M(x)=mK-1xK-1+mK-2xK-2+…+m1x+m0 (1)
由以上介绍可知,mi为1或0,xi表示mi在序列中的位置,i=0,1,2,…,K-1。
编码器具有以下等式:
xRM(x)=α(x)g(x)+R(x) (2)
其中,xRM(x)表示xR与M(x)的乘积,R为R(x)的阶数,g(x)为生成多项式,α(x)为xRM(x)除以g(x)得到的商多项式,R(x)为接收元多项式,为(2)式中定义的余数多项式。
编码器输出的序列为T(x),长度为N,T(x)表示为
T(x)=M(x)xN-K+R(x) (3)
假设信道产生的错误为E(x),错误位置多项式E(x)的表达式为
E(x)=EN-1xN-1+EN-2xN-2+…+E1x+E0 (4)
其中,Ei表示错误值,当Ei为1时表示有错误发生,Ei为0时表示无错误发生。
则接收码元多项式R(x)可表示为
R(x)=T(x)+E(x) (5)
由式(2)、(3)知
T(x)=M(x)xR+R(x)=α(x)g(x) (6)
即T(x)能被α(x)整除。
定义伴随式Si,即S0,…,S2t-1,t为RS纠错码能够纠正的最大错误数。伴随式的表达式为
Si=E(αi)=R(αi) (7)
其中α是对应的迦罗华域(Galois Field,GF)的元素。接收码元多项式可以表示为
R(x)=rN-1xN-1+rK-2xK-2+…+r1x+r0 (8)
其中,rj表示输入序列{rN-1,rN-2,…,r1,r0}的一位,为1或0,xj表示rj在序列中的位置,j=0,1,2,3…,N-1。
根据霍纳算法(Horner),以及式(7)、(8),现有技术中提出如下伴随式的算法:
Si=R(xi)=rN-1(αi)N-1+rN-2(αi)N-2+…+r1(αi)+r0
=((rN-1(αi)+rN-2)(αi)+…+r1)(αi)+r0 (9)
其中,i=1,2,…,2t。
图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个内存地址的数据单元与αi相乘,以获取相乘结果,其中i为整数,1≤i≤2t;第二加法器,用于依次将相乘结果与输入到伴随式计算电路的N个码字中的第j+1个码字rN-1-j相加,以获取相加结果,并将相加结果保存至数据存储器的第i个内存地址,其中j为对数据存储器的全部2t个内存地址进行读取的次数,j为整数,1≤j≤N-1。
通过以上设置,本实用新型的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计算删除位置多项式Λ(x)。
在步骤702,由根据伴随式S(x)和删除位置多项式Λ(x)利用修正伴随式计算电路604计算出修正的伴随多项式T(x)。
在步骤703,由T(x)和Λ(x),利用关键方程求解电路605通过MEA(欧几里德算法)算法解关键方程,得到错误位置多项式σ(x)和错误多项式ω(x)。
在步骤704,利用钱搜索电路608计算出σ(x)的根,从而得出错误位置。
在步骤705,根据ω(x)和Λ(x)利用错误值计算电路606计算出错误/删除位置多项式ψ(x)。
在步骤706,错误值计算电路606根据ψ(x)和错误位置利用Forney公式计算出错误值和删除值,并将其与原来码字r(x)透过加法器602相加,得到正确的码字,其中原来的码字r(x)经先进先出缓冲器601缓冲后再输入加法器602,目的在于延迟原来码字r(x)输入加法器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个内存地址1-2t(其中内存地址1,2,3,...,2t仅为了便于说明而编号,其与实际内存地址不对应)输入数据单元,通常而言初始化时输入的数据单元为第一个码字rN-1。
读地址从第1个内存地址1开始,每个时钟周期加1,直至经历2t个时钟周期,从而遍历全部2t个内存地址1-2t,其中读地址加1的动作由控制器306所控制。
读取端口读取读地址指向的内存地址内的数据单元,如当读地址指向内存地址1,读取端口可读取内存地址1内存储的数据单元,并将其输入到乘 法器301,其中读取端口读取数据的动作由控制器306所控制。
写地址从第1个内存地址1开始,每个时钟周期加1,直至经历2t个时钟周期,从而遍历全部2t个内存地址1-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-1个循环。第一串行数据404和第二串行数据405根据伴随式计算公式
Si=(...(r(N-1)αi+r(N-2))αi+r(N-3))αi......+r1)αi+r0 (9)
定义,其中,i=1,2,...,2t。符号α为是对应的迦罗华域(Galois Field,GF)乘法GF(2m)的元素,实际计算时可根据相应标准定义为一常数,而r0至rN-1为RS纠错码解码器接收到的码字,其中rN-1是接收到的第一个码字,r0是接收到的最后一个码字。
在第一个2t时钟周期内,第一串行数据404输入至第一数据输入端304 的串行数据分别为:α、α2、α3、...、α2t,第二串行数据405输入至第二数据输入端305的串行数据分别为:rN-2、rN-2、rN-2、...、rN-2。
在第二个2t时钟周期内,第一串行数据404输入至第一数据输入端304的串行数据分别为:α、α2、α3、...、α2t,第二串行数据405输入至第二数据输入端305的串行数据分别为:rN-3、rN-3、rN-3、...、rN-3。
同样地,在第N-1个2t时钟周期内,第一串行数据404输入至第一数据输入端304的串行数据分别为:α、α2、α3、...、α2t,第二串行数据405输入至第二数据输入端305的串行数据分别为:r0、r0、r0、...、r0。
乘法器301依次将从数据存储器303读出的第i个内存地址的数据单元si与αi相乘,以获取相乘结果,其中i为整数,1≤i≤2t;
加法器302依次将相乘结果与输入到伴随式计算电路的N个码字中的第j+1个码字rN-1-j相加,以获取相加结果,并将相加结果保存至数据存储器303的第i个内存地址,其中j为对数据存储器303的全部2t个内存地址进行读取的次数,j为整数,1≤j≤N-1。
图7是本实用新型的RS纠错码解码器中的伴随式计算电路603的工作流程图。以下将参考图7对本实用新型的RS纠错码解码器中的伴随式计算电路的工作流程作详细介绍。
如图7所示,在步骤501,执行初始化操作,即向内存地址1-2t输入rN-1,并且设置外循环计数变量j等于1,另外设置变量i=1,其中i用于表示正在进行操作的内存地址,j用于统计对数据存储器的全部2t个内存地址进行读取的次数,以上操作在控制器306的控制下完成。
在步骤502,令数据存储器303的读地址和写地址指向内存地址i。
在步骤503,读取端口根据读地址读取内存地址i中的数据单元至乘法器301。
在步骤504,从第一数据输入端304输入一个第一串行数据αi至乘法器301,从第二数据输入端305输入一个串行数据rN-1-j至加法器302。
在步骤505,乘法器301将αi与数据单元相乘得到相乘结果。
在步骤506,加法器302将rN-1-j与相乘结果相加得到相加结果。
在步骤507,写入端口根据写地址将相加结果写入至内存地址i。
在步骤508,对i进行自加1处理。
在步骤509,判断i是否等于2t+1,若判断结果是“否”,则跳至步骤502。
若判断结果为“是”,则执行步骤510,将i设置为1,将j进行自加1处理。
在步骤511,判断j是否等于N-1,若判断结果是“是”,则在步骤512中得到伴随式。
若判断结果是“否”,则跳至步骤502。
因此,通过上述N-1次运算,数据存储器303的2t个内存地址中存储的数据单元s1至s2t分别是:
s1=(...(r(N-1)α+r(N-2))α+r(N-3))α......+r1)α+r0
s2=(...(r(N-1)α2+r(N-2))α2+r(N-3))α2......+r1)α2+r0
s3=(...(r(N-1)α3+r(N-2))α3+r(N-3))α3......+r1)α3+r0
……
s2t=(...(r(N-1)α2t+r(N-2))α2t+r(N-3))α2t......+r1)α2t+r0
即:
si=(...(r(N-1)αi+r(N-2))αi+r(N-3))αi......+r1)αi+r0
其中,i=1,2,...,2t。因而,数据单元s1,s2,s3,...,s2t对应于式(9) 中的各伴随式S1,S2,S3,...,S2t。
本实用新型的RS纠错码解码器中的伴随式计算电路603具有运算速度快、电路结构简单、操作方便的优点。
通过以上设置,本实用新型的RS纠错码解码器能够实现同步进行伴随式计算和删除位置多项式计算,从而加快解码速度。
以上参照附图说明了本实用新型的各种优选实施例,但是只要不背离本实用新型的实质和范围,本领域的技术人员可以对其进行各种形式上的修改和变更,都属于本实用新型的保护范围。
Claims (2)
1.一种RS纠错码解码器,其中RS纠错码的码字长度为N,用于纠正t个错误码字数目,对应的迦罗华域元素是α,其特征在于,包括:
先进先出缓冲器,用于缓冲接收码字;
伴随式计算电路,用于根据所述码字计算伴随式;
删除位置多项式计算电路,用于根据所述码字的删除位置计算删除位置多项式,
修正伴随式计算电路,根据所述伴随式和所述删除位置多项式计算修正伴随式;
关键方程求解电路,根据所述修正伴随多项式和所述删除位置多项式计算错误位置多项式和错误多项式;
钱搜索电路,根据错误位置多项式计算错误位置多项式的根,以获得错误位置;
错误值计算电路,根据错误多项式和删除位置多项式计算错误/删除位置多项式,根据错误/删除位置多项式以及所述错误位置利用Forney公式计算出错误值和删除值;
第一加法器,缓冲的接收码字经所述第一加法器与所述错误值和删除值相加,从而获得正确码字,
其中,所述删除位置多项式计算电路和所述伴随式计算电路并行设置。
2.根据权利要求1所述的RS纠错码解码器,其特征在于,所述伴随式计算电路包括:
数据存储器,至少包括2t个内存地址,用于存储2t个数据单元;
乘法器,用于依次将从所述数据存储器读出的第i个内存地址的数据单元与αi相乘,以获取相乘结果,其中i为整数,1≤i≤2t;
第二加法器,用于依次将所述相乘结果与输入到所述伴随式计算电路的N 个码字中的第j+1个码字rN-1-j相加,以获取相加结果,并将所述相加结果保存至所述数据存储器的第i个内存地址,其中j为对所述数据存储器的全部2t个内存地址进行读取的次数,j为整数,1≤j≤N-1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010202133541U CN201789495U (zh) | 2010-06-01 | 2010-06-01 | 一种rs纠错码解码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010202133541U CN201789495U (zh) | 2010-06-01 | 2010-06-01 | 一种rs纠错码解码器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN201789495U true CN201789495U (zh) | 2011-04-06 |
Family
ID=43821444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010202133541U Expired - Lifetime CN201789495U (zh) | 2010-06-01 | 2010-06-01 | 一种rs纠错码解码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN201789495U (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834617A (zh) * | 2010-06-01 | 2010-09-15 | 福建新大陆电脑股份有限公司 | 一种rs纠错码解码器 |
-
2010
- 2010-06-01 CN CN2010202133541U patent/CN201789495U/zh not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834617A (zh) * | 2010-06-01 | 2010-09-15 | 福建新大陆电脑股份有限公司 | 一种rs纠错码解码器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101834617B (zh) | 一种rs纠错码解码器 | |
CN101227194B (zh) | 用于并行bch编码的电路、编码器及方法 | |
CN101277119B (zh) | 里德所罗门码解码器硬件复用方法及其低硬件复杂度解码装置 | |
EP1974271A1 (en) | Error detection / correction circuit and corresponding method | |
CN101854180B (zh) | 一种条码纠错译码装置 | |
CN101257312A (zh) | 一种解码伴随式的计算方法、电路及解码器 | |
CN101483442B (zh) | 根据Nand Flash多余空间来配置纠错能力的BCH解码器 | |
CN1095122C (zh) | 差错定位多项式高速计算电路 | |
CN101800560B (zh) | Flash控制器中BCH编译码的纠错能力扩展方法 | |
CN104218957B (zh) | 一种低硬件复杂度的rs译码器 | |
CN101567696B (zh) | 一种参数可变的bch码编码器及译码器 | |
JPH0575479A (ja) | データ流における誤りの識別、補正修整回路装置 | |
CN101488762B (zh) | 一种面积紧凑且快速的bch并行译码方法 | |
CN101873143B (zh) | 一种rs纠错码解码器中的伴随式计算电路及其计算方法 | |
CN101848001B (zh) | Flash控制器中BCH编译码的数据长度扩展方法 | |
CN101442313B (zh) | 数字通信过程中的编解码方法以及编码器、解码器 | |
CN201789495U (zh) | 一种rs纠错码解码器 | |
US6735737B2 (en) | Error correction structures and methods | |
CN201789494U (zh) | 一种条码纠错译码装置 | |
CN107688506B (zh) | 一种流水结构的bch译码系统 | |
CN103269255A (zh) | 一种并行crc电路的生成方法和装置 | |
CN201789493U (zh) | 一种rs纠错码解码器中的伴随式计算电路 | |
CN108471315B (zh) | 一种纠删译码方法及装置 | |
CN103916138A (zh) | 一种钱搜索电路及基于该钱搜索电路的ecc解码装置及方法 | |
CN114513214A (zh) | 一种基于RS码的Zipper码编译码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
AV01 | Patent right actively abandoned |
Granted publication date: 20110406 Effective date of abandoning: 20130327 |
|
RGAV | Abandon patent right to avoid regrant |