CN101692612A - 多规格里德-所罗门编解码方法、装置及系统 - Google Patents
多规格里德-所罗门编解码方法、装置及系统 Download PDFInfo
- Publication number
- CN101692612A CN101692612A CN200910085703A CN200910085703A CN101692612A CN 101692612 A CN101692612 A CN 101692612A CN 200910085703 A CN200910085703 A CN 200910085703A CN 200910085703 A CN200910085703 A CN 200910085703A CN 101692612 A CN101692612 A CN 101692612A
- Authority
- CN
- China
- Prior art keywords
- register
- code
- code element
- generation
- multiplier
- 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.)
- Granted
Links
Images
Landscapes
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
一种多规格里德-所罗门RS码编、解码方法、装置及系统。通过设置实现最大校验码元RS码在编、解码时所需的寄存器、乘法器以及伴随式产生单元等功能模块,并根据编、解码时所采用的RS码校验码元规格,控制启动对应个数的上述功能器件,从而在一个硬件结构内,实现多规格RS码的编码或解码流程,极大的提高了实现多规格RS码编码时的资源利用率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种多规格里德-所罗门RS编、解码方法、装置及系统。
背景技术
里德-所罗门(RS:Reed-Solomon)码是一类性能良好的线性纠错码类。它既能纠正随机错误也能纠正突发错误,纠错能力强,特别在短码和中等码长下,其性能接近于理论值,并且构造方便,编解码设备也不复杂,因而在计算机纠错系统,特别是数字通信和存储系统中应用广泛。
现有技术的解决方案,对于需要支持不同收发速率的系统而言,通常采用的方式是设置多个RS编解码模块,或者对不同规格的RS编解码器单独设计,再组合到一起,并外加规格控制逻辑对各编解码器的输入输出进行选择,以此实现多规格的编解码。
但是,现有单模块结构无法支持多规格RS编解码实现,需要增加额外的外部控制逻辑。而且由于不同规格RS编解码实现时采用独立模块的组合,因此模块内部存储资源及运算资源无法复用,造成额外的资源浪费。
发明内容
本发明实施例提供实现多规格里德-所罗门RS编解码方法、装置及系统,通过集成设置,并根据RS码校验码元规格,启动对应个数的寄存器、乘法器以及伴随式产生单元等功能器件,从而在一个硬件结构内,实现多规格RS码的编码或解码流程,极大的提高了实现多规格RS码编码时的资源利用率。
本发明实施例提供了一种实现多规格RS码编码方法,包括:
启动设置的M组寄存器和乘法器中,与编码所需里德-所罗门RS码校验码元规格对应个数的N组寄存器和乘法器,对业务数据进行编码处理;所述N组寄存器和乘法器中,每组的乘法器用于根据输入的信息码元和预设的生成多项式表输出中间数据给该组中对应的寄存器;所述N组寄存器和乘法器中,N个寄存器串联连接,通过最后一级寄存器输出RS码校验码元;其中:M大于或等于N;M、N为正整数;
根据所述校验码元和所述信息码元,输出经过RS码编码处理的业务数据码流。
本发明实施例还提供了一种多规格里德-所罗门码解码方法,包括:
接收经过里德-所罗门RS码编码处理的业务数据码流;
在设置的P个伴随式产生单元中,启动与所述接收的业务数据码流的RS码校验码元规格对应个数的Q个伴随式产生单元,生成对应的伴随式;其中:P大于或等于Q;P、Q为正整数;
根据所述生成的伴随式,生成错误图样;
根据所述错误图样,还原所述接收的业务数据码流的原始业务数据。
本发明实施例还提供了一种多规格里德-所罗门码编码装置,包括:
编码模块,用于启动设置的M组寄存器和乘法器中,与编码所需里德-所罗门RS码校验码元规格对应个数的N组寄存器和乘法器,对业务数据进行编码处理;所述N组寄存器和乘法器中,每组的乘法器用于根据输入的信息码元和预设的生成多项式表输出中间数据给该组中对应的寄存器;所述N组寄存器和乘法器中,N个寄存器串联连接,通过最后一级寄存器输出RS码校验码元;其中:M大于或等于N,M、N为正整数;
输出模块,用于根据所述校验码元和所述信息码元,输出经过所述编码模块RS编码处理的业务数据码流。
本发明实施例还提供了一种多规格里德-所罗门码解码装置,包括:
接收模块,用于接收经过里德-所罗门RS码编码处理的业务数据码流;
伴随式生成模块,用于在设置的P个伴随式产生单元中,启动与所述接收的业务数据码流的RS码校验码元规格对应个数的Q个伴随式产生单元,生成对应的伴随式;其中:P大于或等于Q;P、Q为正整数;
错误图样生成模块,用于根据所述伴随式生成模块生成的伴随式,生成错误图样;
纠错模块,用于根据所述错误图样生成模块生成的错误图样,对所述接收的业务数据码流进行纠错,恢复原始业务数据。
本发明实施例还提供了一种多规格里德-所罗门码编解码系统,包括:
编码装置,用于启动设置的M组寄存器和乘法器中,与编码所需里德-所罗门RS码校验码元规格对应个数的N组寄存器和乘法器,所述N组寄存器和乘法器中,每组的乘法器用于根据输入的信息码元和预设的生成多项式表输出中间数据给该组中对应的寄存器;所述N组寄存器和乘法器中,N个寄存器串联连接,通过最后一级寄存器输出RS码校验码元;其中:M大于或等于N,M、N为正整数;根据所述校验码元和所述信息码元,对业务数据进行编码处理,并输出经过RS码编码处理的业务数据码流;
解码装置,用于接收经过所述编码装置RS码编码处理的业务数据码流;启动设置的P个伴随式产生单元中,与所述接收的业务数据码流RS码校验码元规格对应个数的Q个伴随式产生单元,生成对应的伴随式;其中:P大于或等于Q;P、Q为正整数;根据所述生成的伴随式,生成错误图样;根据所述错误图样,还原所述接收的业务数据码流的原始业务数据。
由上述本发明实施例提供的技术方案可以看出,本发明实施例通过设置实现最大校验码元RS码在编、解码时所需的寄存器、乘法器以及伴随式产生单元等功能模块,并根据编、解码时所采用的RS码校验码元规格,控制启动对应个数的上述功能器件,从而在一个硬件结构中,实现多规格RS码的编码或解码流程,极大的提高了实现多规格RS码编码时的资源利用率。
附图说明
图1为本发明实施例提供的所述编码方法实现示意图一;
图2为本发明实施例提供的所述编码方法实现示意图二;
图3为本发明实施例提供的所述解码方法实现示意图一;
图4为本发明实施例提供的所述解码方法实现示意图二;
图5为本发明实施例提供的所述解码方法实现示意图三;
图6为本发明实施例提供的所述解码方法实现示意图四;
图7为本发明实施例提供的所述解码方法实现示意图五;
图8为本发明实施例提供的所述编码装置结构示意图一;
图9为本发明实施例提供的所述编码装置结构示意图二;
图10为本发明实施例提供的所述解码装置结构示意图一;
图11为本发明实施例提供的所述解码装置结构示意图二;
图12为本发明实施例提供的所述解码装置结构示意图三;
图13为本发明实施例提供的所述系统结构示意图一;
图14为本发明实施例提供的所述系统结构示意图二;
图15为本发明实施例提供的所述解码方法实现示意图六。
具体实施方式
下面结合附图,对本发明实施例提供的实现多规格里德-所罗门(RS:Reed-Solomon)码的编、解码方法、装置及系统进行详细的表述。
本发明实施例提供的实现多规格RS编码方法,如附图1所示,通过启动设置的多个寄存器和乘法器中,这里可以理解为M组寄存器和乘法器,与编码所需里德-所罗门RS码校验码元规格对应个数的N组寄存器和乘法器,对业务数据进行编码处理;在N组寄存器和乘法器中,每组的乘法器用于根据输入的信息码元和预设的生成多项式表输出中间数据给该组中对应的寄存器;所述N组寄存器和乘法器中,N个寄存器串联连接,通过最后一级寄存器输出RS码校验码元;可以理解,这里根据RS码校验码元规格选择第N组寄存器作为RS编码迭代过程的反馈点。其中:M大于或等于N;M、N为正整数;根据所述校验码元和所述信息码元,输出经过RS码编码处理的业务数据码流。从而一个编码硬件结构内,实现不同校验码元规格的RS码的编码处理,极大的提高了实现多规格RS码编码时的资源利用率。
本发明实施例所涉及的RS码可以用RS(n,k)来表示,其中每一个码字可以包含n个码元,k个信息码元,n-k个校验码元,实现不同校验元规格时要求码长n固定。
RS(n,k)编码原理是将信息多项式m(x)乘以xn-k,然后再除g(x)得到的余式,即为编码后的冗余校验位。
对于RS(n,k)码,其生成多项式具体可以为:
g(x)=(x-α0)(x-α1)(x-α2)...(x-αn-k-1)=xn-k+gn-k-1xn-k-1+...+g1x+g0
由于固定码长,不同校验码元规格(即不同校验码元长度)的RS码,在编码时的区别仅在于生成的信息多项式的位数不同,因此,在本发明实施例提供的实现多规格RS编码方法的一个具体实施例的编码流程中,可以通过预先设置实现最大校验码元规格的RS码,在编码时所需个数的寄存器以及对应乘法器,并根据配置的RS码的校验码元长度(即n-k值)信息,启动对应个数的寄存器,在生成多项式表中选择对应校验码元长度的生成多项式值,再选择对应的寄存器反馈点,进入对应的乘法器进行运算。从而在一个编码硬件结构内,实现不同规格的RS码的编码操作。
请一并参阅图2,可以理解,N个寄存器串联连接为:根据初级寄存器对应的中间数据,得到第二级寄存器的输出数据;通过将第L级寄存器的输出数据与第L+1级寄存器对应的中间数据进行相加,产生第L+1级寄存器的输出数据,其中L为大于1的正整数。
可以理解,启动设置的M组寄存器和乘法器中,与编码所需里德-所罗门RS码校验码元规格对应个数的N组寄存器和乘法器,还包括以下步骤:通过所述RS码校验规格选择所述生成多项式表的输出。
举例说明,本发明实施例中所涉及的编码流程,具体还可如附图2所示。如果某一个应用场景下,可以允许存在的校验码元规格为12、22、26、32时,则本发明实施例可以设置与实现最大校验码元规格,即校验码元长度为32的RS码,在进行编码时所需的寄存器的个数相同的寄存器,以及对应的乘法器。
为了便于理解,本发明实施例后续描述中,以一校验码元包括8比特位宽为例进行说明,那么,本发明实施例中需要预先设置32组8比特寄存器以及对应的乘法器,并对设置的寄存器以及乘法器按顺序编号。
当需要进行编码的RS码,为校验码元长度为32的RS码时,则确认需要启动实现预先设置的所有寄存器(32组8比特),并选择预先设置的寄存器中最后一组寄存器,即编号为32的8比特寄存器,作为反馈点,将所有寄存器产生的中间计算结果与信息码元相加后进入对应的乘法器进行运算,后续可按任意成熟的流程,完成编码操作,输出编码后的业务数据码流。
需要说明的,本发明实施例所关注的是如何在一个编码或解码硬件结构内,实现多规格RS码的编、解码操作。而对于具体实现编、解码的处理操作,本发明实施例中可以采用任意成熟技术方案来实现。
继续举例说明,当需要进行编码的RS码,为校验码元长度为12的RS码时,则确认需要启动实现预先设置32组8比特寄存器中的前12组8比特寄存器,并选择预先设置的寄存器中第12组8比特寄存器,即编号为12的8比特寄存器,作为反馈点,将反馈点对应寄存器产生的中间计算结果与信息码元相加后进入对应的乘法器进行运算。
而对于校验码元为22、26的RS码,则分别需要启动实现设置的寄存器中的前22组8比特、26组8比特寄存器,并选择预先设置的寄存器中第22组8比特寄存器(即编号为22的8比特寄存器)、第26组8比特寄存器(即编号为26的8比特的寄存器)作为反馈点,将反馈点对应寄存器产生的中间计算结果与信息码元相加后进入对应的乘法器进行运算。
通过上述描述可以看出,本发明实施例提供的实现多规格RS码编码方法,充分考虑到不同规格RS码编码时所用资源和算法流程的一致性,其运算资源和存储资源的利用率得到很大提高。而且,其实现规模大大低于多模块例化方式实现的规模,并且无需再增加外部的接口控制逻辑,在模块接口直接配置校验规格即可实现编码的规格转换。由于本发明实施例中,无需为不同校验码元规格的RS码分别设置所需的寄存器,也无需为不同校验码元规格的RS码新增有限域乘法器,因此,相对于独立模块的组合,本发明实施例可以很大程度上节省硬件资源。并且,兼容校验码元规格数越多,本发明实施例节省的资源也就越多。
本发明实施例提供的实现多规格RS码解码方法,如附图3所示,通过接收经过里德-所罗门RS码编码处理的业务数据码流;在设置的P个伴随式产生单元中,启动与所述接收的业务数据码流的RS码校验码元规格对应个数的Q个伴随式产生单元,生成对应的伴随式;其中:P大于或等于Q;P、Q为正整数;根据所述生成的伴随式,生成错误图样;根据所述错误图样,还原所述接收的业务数据码流的原始业务数据。从而一个解码硬件结构内,实现不同校验码元规格的RS码的解码处理,极大的提高了实现多规格RS码解码时的资源利用率。
本发明实施例所涉及的解码流程的一个具体实施例中,可以根据接收的、经过RS编码流程处理后业务数据码流,生成对应的伴随式。
本发明实施例中,可以预先设置与最大校验码元规格RS码在解码时所需伴随式单元个数相同的伴随式产生功能单元(或模块等),产生与接收的业务数据码流对应的伴随式。
举例说明,某一个应用场景中,可以允许存在校验码元规格为12、22、26、32的RS码,则本发明实施例中,可以预先设置实现最大校验码元规格,即校验码元长度为32的RS码在产生伴随式时所需的32个伴随式产生功能单元,按顺序进行编号,由上述设置的伴随式产生功能单元产生与接收的业务数据码流对应的伴随式。
如果经过输入配置信息确定,RS解码对应的校验码元长度为32,则选择输出全部32个伴随式产生功能单元产生的32个伴随式,具体可为s0,…,s31。
如果经过输入配置信息确定,RS解码对应的校验码元长度为12,则选择输出32个伴随式产生功能单元中的前12个伴随式产生功能单元产生的伴随式,具体可为s0,…,s11。
如果经过输入配置信息确定,RS解码对应的校验码元长度为22或者26,则选择输出32个伴随式产生功能单元中的前22或26个伴随式产生功能单元产生的伴随式,具体可为s0,…,s21或s0,…,s25。
本发明实施例所涉及的伴随式产生流程,具体可如附图4所示。
在本发明实施例提供的实现多规格RS码解码方法的一个具体实施例中,还可以根据生成的伴随式,生成错误位置多项式和错误值多项式。
为了便于理解,以本发明实施例采用BM迭代算法为例,对本发明实施例生成错误位置多项式和错误值多项式的过程进行描述。可以理解的是,本发明实施例也可以采用其他成熟的算法,根据已经生成的伴随式,生成错误位置多项式和错误值错项式。
举例说明。本发明实施例所涉及的BM迭代算法,可设错误位置多项式σ(x)=1+σ1x+σ2x2+…+σtxt,dj表示j次迭代得到的σ(x)的阶,β(j)(x)=xj-iσ(j)(x)为辅助多项式,那么,BM迭代运算描述可以如下所示:
步骤51,初始化:σ(-1)(x)=1,σ(0)(x)=1,d-1=1,d0=s1,β(0)(x)=1,D0=0。
步骤52,首先从迭代次数为零开始计算,即令j=0。
步骤53,计算
如果dj=0,则转到步骤56,否则转到步骤54。
步骤54,计算新的错误位置多项式
步骤55,比较(j-Dj)与(i-Di)大小,如果前者小于后者,则转到步骤46;否则,更新辅助多项式β(j+1)(x)=σ(j)(x),同时更新di=dj,Dj+1=max(Dj,j-i+Di),转到步骤57。
步骤56,更新辅助多项式β(j+1)(x)=xβ(j)(x)。
步骤57,令迭代次数j=j+1。
如果j≠2t,则转到步骤53,否则执行步骤58。
步骤58,σ(2t)(x)即为所求的错误位置多项式。
其中t=r/2,为RS码实际可纠最大码元数。
由于不同校验码元规格(即长度)对算法的影响只在迭代次数和多项式阶数上,而在实际计算中又可以通过将高阶多项式的高阶系数置0的方式来与最大校验码元规格的RS码对应的多项式阶数保持一致,因此只需通过在计算流程中控制迭代次数,即可用同一个硬件结构来实现不同校验码元规格的BM迭代算法。
本发明实施例所涉及的实现多规格RS码表BM迭代算法的硬件结构图具体可如附图5举例所示。
另外,本发明实施例可以采用任意成熟的算法,生成错误值多项式,本发明实施例对此并不限制。
本发明实施例所涉及的错误值多项式求解,具体可以根据关键方程ω(x)≡σ(x)s(x)%x2t+1取前t项,得到:
ω1=s1+σ1
ω2=s2+s1σ1+σ2
ω3=s3+s2σ1+s1σ2+σ3
ω4=s4+s3σ1+s2σ2+s1σ3+σ4
ω5=s5+s4σ1+s3σ2+s2σ3+s1σ4+σ5
ω6=s6+s5σ1+s4σ2+s3σ3+s2σ4+s1σ5+σ6
ω7=s7+s6σ1+s5σ2+s4σ3+s3σ4+s2σ5+s1σ6+σ7
ω8=s8+s7σ1+s6σ2+s5σ3+s4σ4+s3σ5+s2σ6+s1σ7+σ8
在计算时,S1,S2,…,St串行输入,分别与σ1,σ2,…,σt相乘之后再移位相加,并且在出口通过选择相对应的Sx和σx(x=1,2,...,t)再进行相加。计算方法示意如图15所示:
本发明实施例所涉及的计算ω(x)电路实现方案具体可如附图6举例所示。
由图6可见,采用上述结构进行ω(x)计算,第一周期输出结果ω1=s1+σ1,并同时计算s1σ1,s1σ2,...,s1σt-1存入之后寄存器,第二周期移位相加输出ω2=s2+s1σ1+σ2,并同时计算s1σ2+s2σ1,s1σ3+s2σ2,...,s1σt-1+s2σt-2存入之后寄存器,以此类推,每周期输出一个计算结果,t周期后可输出全部ω(x)的系数结果。
本发明实施例中,σ(x)的系数σ1,σ2,…,σt在BM迭代算法计算完毕后存入对应的寄存器,可直接用于计算ω(x),而计算ω(x)用到的乘法器可复用BM迭代算法中使用的乘法器。在设计中多种RS码校验码元规格时,都可以使用同一套计算电路,因此可按照最大校验规格rmax将计算周期设为rmax/2,而其他校验码元规格的RS码输出时ω(x)高阶系数置0,从而使其它校验码元规格的RS码的错误值多项式,与最大校验码元规格的RS码的错误值多项式阶数一致。
在本发明实施例提供的实现多规格RS码解码方法的一个具体实施例中,还可以根据生成的错误位置多项式和错误值多项式,计算确定错误位置和错误值。
本发明实施例中,可以采用任意成熟的算法,根据生成的错误位置多项式和错误值多项式,计算确定错误位置和错误值。为了便于理解,下面以采用搜索(CHIEN)方法计算确定错误位置、采用Forney算法计算确定错误值为例,对本发明实施例进行描述。
搜索方法即为:在GF(28)域上,求σ(αi)的值是否为0,为0则说明在第i个码元位置出错。
根据Forney算法,如果σ(αi)的值为0,则该位置出现错误,且错误值为
已知σ(x)=1+σ1x+σ2x2+...+σtxt
则σ′(x)=σ1+2σ2x1+3σ3x2+..+tσtxt-1,如果GF(q)域的特征值为2
则σ′(x)=σ1+σ3x2+σ5x4+...+σt-1xt-2=x-1(σ1x+σ3x3+σ5x5+...+σt-1xt-1)(t为偶数)
或σ′(x)=σ1+σ3x2+σ5x4+...+σt-1xt-1=x-1(σ1x+σ3x3+σ5x5+...+σt-1xt)(t为奇数)
故σ′(x)=σodd(x)*x-1,所以
由于对应r=2t的校验码元规格,只有前t+1个σ(x)多项式系数σ0,σ1,…,σt值有效,其他高阶系数的值已固定设置为0,累乘相加后不会对结果产生任何影响,而同样ω0,ω1,...,ωt参与的运算也是如此,因此在此过程中可以不用考虑校验元规格的因素,对于不同校验码元规格,则资源可以完全复用。
本发明实施例中,采用搜索方法计算确定错误位置,采用Forney算法计算确定错误值的实现方案可如附图7所示。
由于σ(x)和ω(x)都按照rmax规格对应的多项式阶数进行了高阶系数置0,因此用附图7中所示的结构即可完成不同校验码元规格的RS码的错误位置和错误值的计算。
在本发明实施例提供的多规格RS码解码方法的一个具体实施例中,还可以根据计算获取的错误位置和错误值,生成错误图样,并进一步还可以根据生成的错误图样,对接收的业务数据码流进行纠错,恢复原始业务数据,从而完成解码流程。由于生成错误图样和恢复原始业务数据的流程,为本领域业已成熟的技术,因此本发明实施例对此不再赘述。
本发明实施例提供的多规格RS码解码方法的一个具体实施例中,还可以使用先进先出(FIFO)队列,在解码计算过程中,对接收的业务数据码流进行缓存,待错误值计算完毕后进行相加以完成纠错。由于FIFO队列,对各种校验规格解码器都是相同的处理方式,其资源也是可以复用的。
通过上述描述可以看出,本发明实施例提供的实现多规格RS码解码方法,充分考虑到不同规格RS码解码所用资源和算法流程的一致性,其运算资源和存储资源的利用率得到很大提高。而且,其实现规模大大低于多模块例化方式实现的规模,并且无需再增加外部的接口控制逻辑,在模块接口直接配置校验规格即可实现解码的规格转换。
本发明实施例提供了的多规格RS码编码装置,具体可如附图8所示包括:
编码模块81,用于启动设置的多个寄存器和乘法器中,与编码所需RS码校验码元规格对应个数的寄存器和乘法器,对业务数据进行编码处理。
具体的,编码模块81,用于启动设置的M组寄存器和乘法器中,与编码所需里德-所罗门RS码校验码元规格对应个数的N组寄存器和乘法器,对业务数据进行编码处理;所述N组寄存器和乘法器中,每组的乘法器用于根据输入的信息码元和预设的生成多项式表输出中间数据给该组中对应的寄存器;所述N组寄存器和乘法器中,N个寄存器串联连接,通过最后一级寄存器输出RS码校验码元;其中:M大于或等于N,M、N为正整数;
输出模块82,用于根据所述校验码元和所述信息码元,输出经过编码模块81RS编码处理的业务数据码流。
可选的,编码模块81还用于:根据初级寄存器对应的中间数据,得到第二级寄存器的输出数据,通过将第L级寄存器的输出数据与第L+1级寄存器对应的中间数据进行相加,产生第L+1级寄存器的输出数据,其中L为大于1的正整数。
可选的,编码模块81还用于:通过所述RS码校验规格选择所述生成多项式表的输出。
本发明实施例提供了的多规格RS码编码装置的另一个实施例中,如附图9所示,还可以包括:
设置模块83,用于在编码模块81中,预先设置实现最大校验码元规格的RS码在编码时所需个数的寄存器和乘法器。
本发明实施例提供了的多规格RS码编码装置的具体操作过程,可以参考本发明实施例提供的实现多规格RS码编码方法中的描述,例如有关于附图1、2的相关描述。这里不再赘述。
通过上述描述可以看出,本发明实施例提供的实现多规格RS码编码装置,充分考虑到不同规格RS编解码所用资源和算法流程的一致性,其运算资源和存储资源的利用率得到很大提高。而且,其实现规模大大低于多模块例化方式实现的规模,并且无需再增加外部的接口控制逻辑,在模块接口直接配置校验规格即可实现编码的规格转换。
本发明实施例提供了的多规格RS码解码装置,具体可如附图10所示,包括:
接收模块101,用于接收经过RS码编码处理的业务数据码流。
伴随式生成模块102,用于在设置的多个伴随式产生单元(比如P个)中,启动与接收模块101接收的业务数据码流的RS码校验码元规格对应个数(比如Q个,且P大于或等于Q;P、Q为正整数)的伴随式产生单元,生成对应的伴随式。
错误图样生成模块103,用于根据伴随式生成模块102生成的伴随式,生成错误图样。
纠错模块104,用于根据错误图样生成模块103生成的错误图样,对接收模块101接收的业务数据码流进行纠错,恢复原始业务数据。
本发明实施例提供了的多规格RS码解码装置的另一个具体实施例中,如附图11所示,还可以包括:
设置模块105,用于在伴随式生成模块102内,预先设置实现最大校验码元规格的RS码在解码时所需个数的伴随式产生单元。
缓存模块106,用于采用先进先出功能,对接收模块101接收的业务数据码流进行缓存。
本发明实施例提供的错误图样生成模块103具体可如附图12所示,包括:
错误位置多项式生成单元1031,用于根据伴随式生成模块102生成的伴随式,并根据接收的业务数据码流的RS码校验码元规格控制迭代次数,生成错误位置多项式。
错误值多项式生成单元1032,用于根据错误位置多项式生成单元1031生成的错误位置多项式,将计算周期设置为实现最大校验码元规格的RS码计算所需周期的一半,生成错误值多项式。
计算单元1033,根据错误位置多项式生成单元1031生成的错误位置多项式,和错误值多项式生成单元1032生成的错误值多项式,计算获取错误位置和错误值。
错误图样生成单元1034,根据计算单元1033计算获取的错误位置和错误值,生成错误图样。
本发明实施例提供了的多规格RS码编码装置的具体操作过程,可以参考本发明实施例提供的多规格RS码解码方法中的描述,例如有关于附图3、4、5、6、7的相关描述。这里不再赘述。
通过上述描述可以看出,本发明实施例提供的实现多规格RS码解码装置,充分考虑到不同规格RS编解码所用资源和算法流程的一致性,其运算资源和存储资源的利用率得到很大提高。而且,其实现规模大大低于多模块例化方式实现的规模,并且无需再增加外部的接口控制逻辑,在模块接口直接配置校验规格即可实现解码的规格转换。
本发明实施例提供的多规格RS码编、解码系统,附图13所示,该系统包括编码装置131和解码装置132。其中:
编码装置131,用于启动设置的多个寄存器和乘法器中,与编码所需RS码校验码元规格对应个数的寄存器和乘法器,对业务数据进行编码处理,并输出经过RS码编码处理的业务数据码流。
具体的,编码装置131,用于启动设置的M组寄存器和乘法器中,与编码所需里德-所罗门RS码校验码元规格对应个数的N组寄存器和乘法器,N组寄存器和乘法器中,每组的乘法器用于根据输入的信息码元和预设的生成多项式表输出中间数据给该组中对应的寄存器;所述N组寄存器和乘法器中,N个寄存器串联连接,通过最后一级寄存器输出RS码校验码元;其中:M大于或等于N,M、N为正整数;根据所述校验码元和所述信息码元,对业务数据进行编码处理,并输出经过RS码编码处理的业务数据码流。
解码装置131,用于接收经过编码装置131RS码编码处理的业务数据码流;启动设置的多个(比如P个)伴随式产生单元中,与所述接收的业务数据码流RS码校验码元规格对应个数(比如Q个,其中,P大于或等于Q;P、Q为正整数)的伴随式产生单元,生成对应的伴随式;根据所述生成的伴随式,生成错误图样;根据所述错误图样,还原所述接收的业务数据码流的原始业务数据。
在本发明实施例提供的多规格RS码编、解码系统的另一个具体实施例中,如附图14所示,还可以包括:
设置装置132,用于在编码装置131中,设置实现最大校验码元规格的RS码在编码时所需个数的寄存器和乘法器。
设置装置133还用于在解码装置132中,设置实现最大校验码元规格的RS码在解码时所需个数的伴随式产生单元。
本发明实施例提供了的多规格RS码编、解码系统的具体操作过程,可以参考本发明实施例提供的多规格RS码编码装置以及解码装置中的相关描述。这里不再赘述。
通过上述描述可以看出,本发明实施例提供的实现多规格RS码编、解码系统,充分考虑到不同规格RS编解码所用资源和算法流程的一致性,其运算资源和存储资源的利用率得到很大提高。而且,其实现规模大大低于多模块例化方式实现的规模,并且无需再增加外部的接口控制逻辑,在模块接口直接配置校验规格即可实现编解码的规格转换。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (17)
1.一种多规格里德-所罗门码编码方法,其特征在于,所述编码方法包括:
启动设置的M组寄存器和乘法器中,与编码所需里德-所罗门RS码校验码元规格对应个数的N组寄存器和乘法器,对业务数据进行编码处理;所述N组寄存器和乘法器中,每组的乘法器用于根据输入的信息码元和预设的生成多项式表输出中间数据给该组中对应的寄存器;所述N组寄存器和乘法器中,N个寄存器串联连接,通过最后一级寄存器输出RS码校验码元;其中:M大于或等于N;M、N为正整数;
根据所述校验码元和所述信息码元,输出经过RS码编码处理的业务数据码流。
2.根据权利要求1所述的方法,其特征在于,所述方法在启动设置的N组寄存器和乘法器之前还包括:
设置实现最大校验码元规格的RS码在编码时所需个数的寄存器和乘法器。
3.根据权利要求1所述的方法,其特征在于,N个寄存器串联连接还包括以下步骤:
根据初级寄存器对应的中间数据,得到第二级寄存器的输出数据;
通过将第L级寄存器的输出数据与第L+1级寄存器对应的中间数据进行相加,产生第L+1级寄存器的输出数据,其中L为大于1的正整数。
4.根据权利要求3所述的方法,其特征在于,启动设置的M组寄存器和乘法器中,与编码所需里德-所罗门RS码校验码元规格对应个数的N组寄存器和乘法器,还包括以下步骤:通过所述RS码校验规格选择所述生成多项式表的输出。
5.一种多规格里德-所罗门码解码方法,其特征在于,所述解码方法包括:
接收经过里德-所罗门RS码编码处理的业务数据码流;
在设置的P个伴随式产生单元中,启动与所述接收的业务数据码流的RS码校验码元规格对应个数的Q个伴随式产生单元,生成对应的伴随式;其中:P大于或等于Q;P、Q为正整数;
根据所述生成的伴随式,生成错误图样;
根据所述错误图样,对所述接收的业务数据码流进行纠错处理,恢复原始业务数据。
6.根据权利要求5所述的方法,其特征在于,所述方法在接收所述业务数据码流之前还包括:
设置与实现最大校验码元规格的RS码在解码时所需个数的伴随式产生单元。
7.根据权利要求5所述的方法,其特征在于,所述根据所述生成的伴随式,生成错误图样包括:
根据所述生成的伴随式,并根据所述RS码校验码元规格控制迭代次数,生成错误位置多项式;
根据所述错误位置多项式,将计算周期设置为实现最大校验码元规格的RS码计算所需周期的一半,生成错误值多项式;
根据所述错误位置多项式和错误值多项式,计算获取错误位置和错误值;
根据所述错误位置和错误值,生成错误图样。
8.根据权利要求7所述的方法,其特征在于,所述生成错误位置多项式包括:
若所述接收的业务数据码流的RS码校验码元为非最大校验码元规格的RS码,则通过将错误位置多项式的高阶系数置O的方式,来与最大校验码元规格的RS码错误位置多项式的阶数保持一致。
9.根据权利要求7所述的方法,其特征在于,所述生成错误值多项式包括:
若所述接收的业务数据码流的RS码校验码元为非最大校验码元规格的RS码,则通过将错误值多项式的高阶系数置O的方式,来与最大校验码元规格的RS码的错误值多项式的阶数保持一致。
10.一种多规格里德-所罗门码编码装置,其特征在于,所述编码装置包括:
编码模块,用于启动设置的M组寄存器和乘法器中,与编码所需里德-所罗门RS码校验码元规格对应个数的N组寄存器和乘法器,对业务数据进行编码处理;所述N组寄存器和乘法器中,每组的乘法器用于根据输入的信息码元和预设的生成多项式表输出中间数据给该组中对应的寄存器;所述N组寄存器和乘法器中,N个寄存器串联连接,通过最后一级寄存器输出RS码校验码元;其中:M大于或等于N,M、N为正整数;
输出模块,用于根据所述校验码元和所述信息码元,输出经过所述编码模块RS编码处理的业务数据码流。
11.根据权利要求10所述的编码装置,其特征在于,所述编码装置还包括:
设置模块,用于在所述编码模块中,设置实现最大校验码元规格的RS码在编码时所需个数的寄存器和乘法器。
12.根据权利要求10所述的编码装置,其特征在于,所述编码模块还用于:
根据初级寄存器对应的中间数据,得到第二级寄存器的输出数据;
通过将第L级寄存器的输出数据与第L+1级寄存器对应的中间数据进行相加,产生第L+1级寄存器的输出数据,其中L为大于1的正整数。
13.根据权利要求10所述的编码装置,其特征在于,所述编码模块还用于:通过所述RS码校验规格选择所述生成多项式表的输出。
14.一种多规格里德-所罗门码解码装置,其特征在于,所述解码装置包括:
接收模块,用于接收经过里德-所罗门RS码编码处理的业务数据码流;
伴随式生成模块,用于在设置的P个伴随式产生单元中,启动与所述接收的业务数据码流的RS码校验码元规格对应个数的Q个伴随式产生单元,生成对应的伴随式;其中:P大于或等于Q;P、Q为正整数;
错误图样生成模块,用于根据所述伴随式生成模块生成的伴随式,生成错误图样;
纠错模块,用于根据所述错误图样生成模块生成的错误图样,对所述接收的业务数据码流进行纠错,恢复原始业务数据。
15.根据权利要求14所述的解码装置,其特征在于,所述解码装置还包括:
设置模块,用于在所述伴随式生成模块中,设置实现最大校验码元规格的RS码在解码时所需个数的伴随式产生单元。
16.根据权利要求14或15所述的解码装置,其特征在于,所述错误图样生成模块包括:
错误位置多项式生成单元,用于根据所述伴随式生成模块生成的伴随式,并根据所述RS码校验码元规格控制迭代次数,生成错误位置多项式;
错误值多项式生成单元,用于根据错误位置多项式生成单元生成的错误位置多项式,将计算周期设置为实现最大校验码元规格的RS码计算所需周期的一半,生成错误值多项式;
计算单元,用于根据所述生成的错误位置多项式和错误值多项式,计算获取错误位置和错误值;
错误图样生成单元,用于根据所述计算单元计算获取的错误位置和错误值,生成错误图样。
17.一种多规格里德-所罗门码编解码系统,其特征在于,所述系统包括:
编码装置,用于启动设置的M组寄存器和乘法器中,与编码所需里德-所罗门RS码校验码元规格对应个数的N组寄存器和乘法器,所述N组寄存器和乘法器中,每组的乘法器用于根据输入的信息码元和预设的生成多项式表输出中间数据给该组中对应的寄存器;所述N组寄存器和乘法器中,N个寄存器串联连接,通过最后一级寄存器输出RS码校验码元;其中:M大于或等于N,M、N为正整数;根据所述校验码元和所述信息码元,对业务数据进行编码处理,并输出经过RS码编码处理的业务数据码流;
解码装置,用于接收经过所述编码装置RS码编码处理的业务数据码流;启动设置的P个伴随式产生单元中,与所述接收的业务数据码流RS码校验码元规格对应个数的Q个伴随式产生单元,生成对应的伴随式;其中:P大于或等于Q;P、Q为正整数;根据所述生成的伴随式,生成错误图样;根据所述错误图样,还原所述接收的业务数据码流的原始业务数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910085703A CN101692612B (zh) | 2009-05-27 | 2009-05-27 | 多规格里德-所罗门编解码方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910085703A CN101692612B (zh) | 2009-05-27 | 2009-05-27 | 多规格里德-所罗门编解码方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101692612A true CN101692612A (zh) | 2010-04-07 |
CN101692612B CN101692612B (zh) | 2012-10-17 |
Family
ID=42081274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910085703A Active CN101692612B (zh) | 2009-05-27 | 2009-05-27 | 多规格里德-所罗门编解码方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101692612B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843153A (zh) * | 2012-09-27 | 2012-12-26 | 苏州威士达信息科技有限公司 | 一种ccsds中多码率rs码的并行编码器和编码方法 |
CN106537352A (zh) * | 2014-06-17 | 2017-03-22 | 慧与发展有限责任合伙企业 | 分布式存储数据恢复 |
WO2017128731A1 (zh) * | 2016-01-28 | 2017-08-03 | 华为技术有限公司 | 动态功耗控制的编码方法及编解码器 |
CN111726124A (zh) * | 2019-03-21 | 2020-09-29 | 博通集成电路(上海)股份有限公司 | 用于纠错的电路及其方法 |
CN111884680A (zh) * | 2020-06-20 | 2020-11-03 | 青岛鼎信通讯股份有限公司 | 一种应用于电力线载波通信系统的rs编码方法 |
CN112491500A (zh) * | 2017-07-07 | 2021-03-12 | 华为技术有限公司 | 传输数据的方法、装置、发送设备和接收设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1398881A1 (en) * | 2002-09-05 | 2004-03-17 | STMicroelectronics N.V. | Combined turbo-code/convolutional code decoder, in particular for mobile radio systems |
CN1773864B (zh) * | 2004-11-12 | 2010-05-05 | 中国科学院空间科学与应用研究中心 | 一种纠错能力为2的扩展里德—所罗门码的译码方法 |
CN100546206C (zh) * | 2007-02-07 | 2009-09-30 | 华为技术有限公司 | 一种实现解码的电路和方法 |
CN100589329C (zh) * | 2007-03-12 | 2010-02-10 | 中兴通讯股份有限公司 | 一种双二进制ctc译码装置 |
CN101340192B (zh) * | 2008-08-07 | 2010-09-01 | 北京创毅视讯科技有限公司 | 低密度奇偶校验码的编码方法及编码装置 |
-
2009
- 2009-05-27 CN CN200910085703A patent/CN101692612B/zh active Active
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843153A (zh) * | 2012-09-27 | 2012-12-26 | 苏州威士达信息科技有限公司 | 一种ccsds中多码率rs码的并行编码器和编码方法 |
CN106537352A (zh) * | 2014-06-17 | 2017-03-22 | 慧与发展有限责任合伙企业 | 分布式存储数据恢复 |
CN106537352B (zh) * | 2014-06-17 | 2020-03-10 | 慧与发展有限责任合伙企业 | 分布式存储数据恢复 |
WO2017128731A1 (zh) * | 2016-01-28 | 2017-08-03 | 华为技术有限公司 | 动态功耗控制的编码方法及编解码器 |
US10826534B2 (en) | 2016-01-28 | 2020-11-03 | Huawei Technologies Co., Ltd. | Encoding method, encoder, and decoder for dynamic power consumption control |
CN112491500A (zh) * | 2017-07-07 | 2021-03-12 | 华为技术有限公司 | 传输数据的方法、装置、发送设备和接收设备 |
CN112491500B (zh) * | 2017-07-07 | 2022-07-29 | 华为技术有限公司 | 传输数据的方法、装置、发送设备和接收设备 |
CN111726124A (zh) * | 2019-03-21 | 2020-09-29 | 博通集成电路(上海)股份有限公司 | 用于纠错的电路及其方法 |
CN111726124B (zh) * | 2019-03-21 | 2023-09-29 | 博通集成电路(上海)股份有限公司 | 用于纠错的电路及其方法 |
CN111884680A (zh) * | 2020-06-20 | 2020-11-03 | 青岛鼎信通讯股份有限公司 | 一种应用于电力线载波通信系统的rs编码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101692612B (zh) | 2012-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101692612B (zh) | 多规格里德-所罗门编解码方法、装置及系统 | |
US4649541A (en) | Reed-Solomon decoder | |
CN101621299B (zh) | 一种突发纠错的方法、设备和装置 | |
US6119262A (en) | Method and apparatus for solving key equation polynomials in decoding error correction codes | |
CN101478314B (zh) | 一种里德-所罗门编码译码器及其译码的方法 | |
US5805617A (en) | Apparatus for computing error correction syndromes | |
EP0729611A1 (en) | Reed-solomon decoder | |
JPS60204125A (ja) | デコーデイング装置 | |
CN102684709B (zh) | 一种译码方法及其译码装置 | |
TW297190B (zh) | ||
CN101277119A (zh) | 里德所罗门码解码器硬件复用方法及其低硬件复杂度解码装置 | |
CN102970049B (zh) | 基于钱搜索算法和福尼算法的并行电路及rs译码电路 | |
CN112468161B (zh) | 一种rs高速编码电路 | |
CN107239362A (zh) | 一种并行crc校验码的计算方法及系统 | |
EP1502356B1 (en) | A method of soft-decision decoding of reed-solomon codes | |
CN101834615B (zh) | 里德-索罗蒙编码器实现方法 | |
CN104218957A (zh) | 一种低硬件复杂度的rs译码器 | |
CN101325706B (zh) | 低硬件开销Reed-Solomon解码器 | |
EP0660535B1 (en) | Apparatus for uniformly correcting erasure and error of received word by using a common polynomial | |
CN108809323B (zh) | 循环冗余校验码的生成方法和装置 | |
CN102891689B (zh) | 一种错误位置多项式求解方法及装置 | |
CN112468160A (zh) | 一种基于钱搜索算法和福尼算法的并行电路 | |
EP0329775B1 (en) | High bandwidth reed-solomon encoding, decoding and error correcting circuit and method | |
US6735737B2 (en) | Error correction structures and methods | |
CN115632662A (zh) | 一种rs译码中的伴随式计算方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210428 Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee after: Honor Device Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |