CN102891689A - 一种错误位置多项式求解方法及装置 - Google Patents

一种错误位置多项式求解方法及装置 Download PDF

Info

Publication number
CN102891689A
CN102891689A CN2012103649486A CN201210364948A CN102891689A CN 102891689 A CN102891689 A CN 102891689A CN 2012103649486 A CN2012103649486 A CN 2012103649486A CN 201210364948 A CN201210364948 A CN 201210364948A CN 102891689 A CN102891689 A CN 102891689A
Authority
CN
China
Prior art keywords
iteration
coefficient
polynomial
lower whorl
error location
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
Application number
CN2012103649486A
Other languages
English (en)
Other versions
CN102891689B (zh
Inventor
王俊敏
钟孟辰
杨航
谢文刚
任民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics Shenzhen R&D Co Ltd
Original Assignee
CHENGDU GUOHUI ELECTRONICS CO LTD
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CHENGDU GUOHUI ELECTRONICS CO LTD filed Critical CHENGDU GUOHUI ELECTRONICS CO LTD
Priority to CN201210364948.6A priority Critical patent/CN102891689B/zh
Publication of CN102891689A publication Critical patent/CN102891689A/zh
Application granted granted Critical
Publication of CN102891689B publication Critical patent/CN102891689B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本申请公开了一种错误位置多项式求解方法及装置,该方法包括:在每轮迭代的第一周期中输入奇数项伴随式的系数和偶数项伴随式的系数,计算下轮迭代所需的修正值;在每轮迭代的第二周期中判断修正值是否为0,并根据判断结果输出下轮迭代所需的中间多项式的系数以及中间量;在每轮迭代的第二周期中根据修正值和本轮迭代所需的错误位置多项式的系数、本轮迭代所需的中间多项式的系数以及中间量,计算下轮迭代所需的错误位置多项式的系数。本申请方案提供的错误位置多项式求解的IBM迭代电路大大降低了关键路径延时,均衡解决了面积和时序问题,使得该错误位置多项式求解方法及装置可以应用于高频数据传输。

Description

一种错误位置多项式求解方法及装置
技术领域
本申请涉及数字通信和数据信息处理领域,尤其涉及一种错误位置多项式求解方法及装置。
背景技术
纠错码技术在数据通信、数据存储等方面应用广泛,现在常见的纠错码有:RS(Reed-Solomon里德-所罗门)码、BCH码、海明码,其中海明码由于码距较小,只能纠正一位错误。而RS码、BCH码可以进行多比特纠错,因而应用十分广泛。在BCH码的解码过程中,最关键的一步是求解关键方程以获得错误位置多项式,它占用了最大的资源和最多的运算量。
对于一个最多可纠t个错的二进制BCH码,解关键方程就是由求得的2t个伴随式值S1、S2、…、S2t来确定错误位置多项式σ(x)=1+σ1x+σ2x2+…+σt xt的系数σ1、σ2、…、σt,得到了这个多项式后,就可以通过钱氏搜索等方法来确定错误发生的位置,从而纠正产生的错误。
图1为现有技术通用的IBM迭代算法流程图,设σ(k)(x)是待求的差错位置多项式,λ(k)(x)是辅助计算的中间多项式,δ(k+1)是连续迭代前后两个错误位置多项式的差值,这里称为修正值,k代表迭代计算的次数,l(k)表示多项式σ(k)(x)的阶,γ(k)是辅助计算的中间量,迭代步骤如下:
第一步:设置初始值:
σ(0)(x)=1;λ(0)(x)=1;l(0)=0;γ(0)=1;k=0
第二步:计算当前迭代值对于牛顿恒等式的误差:
δ k + 1 = Σ i = 0 l ( k ) s k + 1 - i σ i ( k )
第三步:修正σ(x)产生满足当前牛顿等式的σ(x):
σ(k+1)(x)=γ(k)σ(k)(x)+δ(k+1)λ(k)(x)x
第四步:根据条件修改中间变量值:
当δ(k+1)(x)=0or 2l(k)>k时:
λ(k+1)(x)=xλ(k)(x)
l(k+1)=l(k)
γ(k+1)(k)
k=k+1
当δ(k+1)(x)≠0 and 2l(k)≤k时:
λ(k+1)(x)=σ(k)(x)
l(k+1)=k+1-l(k)
γ(k+1)(k+1)
k=k+1
第五步:判断k是否等于2t,如果不是进入第二步;否则结束运算。输出错误位置多项式的系数。
图2为现有技术中对应IBM迭代算法的错误位置多项式求解电路,图中
Figure BDA00002199244300021
表示有限域乘法器,
Figure BDA00002199244300022
表示有限域加法器。该电路总共包含有限域乘法器3t+2个,其中有限域乘法器组11和有限域乘法器组15均为t+1个,有限域乘法器组14为t个。伴随式按照一轮一拍的方式进入移位寄存器组A进行迭代,总共需要迭代计算2t个时钟周期,而目前公开的方法中每轮只输入一个伴随式系数,电路的最长延时路径(也称为关键路径)为从移位寄存器组A到寄存器组B之间的路径,共需要经过有限域乘法器组11、t+1输入有限域加法器12、有限域乘法器14和2输入有限域加法器13等4个单元,关键路径延时为2T乘法器+T加法器2+T加法器(t+1)
在实现本申请的过程中,通过对现有技术的研究,发明人发现现有技术中至少存在如下问题:有限域中的乘法器由于其复杂性成为影响电路速度和面积的关键因数,而该电路中的乘法器数量过多,导致关键路径延迟过长,不适用于高频数据传输。
发明内容
有鉴于此,本发明提供了一种错误位置多项式求解方法及装置,以解决现有方法和装置中由于乘法器数量过多导致关键路径延迟过长的问题。
为了解决上述问题,本申请提供一种错误位置多项式求解方法如下:
一种错误位置多项式求解方法,包括:
在每轮迭代的第一周期中输入奇数项伴随式的系数和偶数项伴随式的系数,计算下轮迭代所需的修正值;
在每轮迭代的第二周期中判断所述修正值是否为0,并根据判断结果输出下轮迭代所需的中间多项式的系数以及中间量;
在每轮迭代的第二周期中根据所述修正值和本轮迭代所需的错误位置多项式的系数、本轮迭代所需的中间多项式的系数以及中间量,计算下轮迭代所需的错误位置多项式的系数。
优选地,所述计算下轮迭代所需的修正值,具体包括:
对所述奇数项伴随式的系数和对应的本轮迭代所需的错误位置多项式的系数进行乘法运算;
对所述偶数项伴随式的系数和对应的本轮迭代所需的错误位置多项式的系数进行乘法运算;
对两组乘法运算的结果进行加法运算,得到下轮迭代所需的修正值。
优选地,所述根据判断结果输出下轮迭代所需的中间多项式的系数以及中间量,具体包括:
若所述修正值为0,将所述本轮迭代所需的中间多项式的系数以及中间量分别作为下轮迭代所需的中间多项式的系数以及中间量输出;
若所述修正值不为0,将所述本轮迭代所需的错误位置多项式的系数作为下轮迭代所需的中间多项式的系数输出,并将下轮迭代所需的修正值作为下轮迭代所需的中间量输出。
优选地,所述计算下轮迭代所需的错误位置多项式的系数,具体包括:
对所述下轮迭代所需的修正值和所述本轮迭代所需的中间多项式的系数进行乘法运算;
对所述本轮迭代所需的错误位置多项式的系数和所述本轮迭代所需的中间量进行乘法运算;
对两组乘法运算的结果进行加法运算,得到下轮迭代所需的错误位置多项式的系数。
为了解决上述问题,本申请还提供一种错误位置多项式求解装置如下
一种错误位置多项式求解装置,包括:
伴随式输出寄存器组、第一寄存器组、第二寄存器组、第三寄存器组、第一有限域乘法器组、第二有限域乘法器组、加法器,加法器组、控制逻辑组和选择器,其中:
所述伴随式输出寄存器组用于在每轮迭代的第一周期中输出本轮迭代所需的奇数项伴随式的系数和偶数项伴随式的系数;
所述第一寄存器组用于在每轮迭代的第一周期中输出本轮迭代所需的错误位置多项式的系数,并在每轮迭代的第二周期中保存本轮迭代更新的错误位置多项式的系数;
所述第一有限域乘法器组用于在每轮迭代的第一周期中对所述奇数项伴随式的系数和对应的本轮迭代所需的错误位置多项式的系数进行乘法运算,对所述偶数项伴随式的系数和对应的本轮迭代所需的错误位置多项式的系数进行乘法运算,并在每轮迭代的第二周期中对所述本轮迭代所需的错误位置多项式的系数和本轮迭代所需的中间量进行乘法运算;
所述加法器用于在每轮迭代的第一周期中对所述第一有限域乘法器组在每轮迭代的第一周期中进行乘法运算后的结果进行加法运算,生成下轮迭代所需的修正值;
所述第二寄存器组用于在每轮迭代的第一周期中保存所述加法器生成的所述下轮迭代所需的修正值;
所述控制逻辑组用于判断迭代是否全部完成,且当判断出迭代未全部完成时在每轮迭代的第二周期中判断所述下轮迭代所需的修正值是否为0,若为0,将所述本轮迭代所需的中间多项式的系数以及中间量分别作为下轮迭代所需的中间多项式的系数以及中间量输出,若不为0,将所述本轮迭代所需的错误位置多项式的系数作为下轮迭代所需的中间多项式的系数输出,并将下轮迭代所需的修正值作为下轮迭代所需的中间量输出;
所述第三寄存器组用于在每轮迭代的第二周期中输出本轮迭代所需的中间多项式的系数和辅助计算的中间量,并保存下轮迭代所需的中间多项式的系数和辅助计算的中间量;
所述第二有限域乘法器组用于在每轮迭代的第二周期中对所述下轮迭代所需的修正值和所述中间多项式的系数进行乘法运算;
所述加法器组用于在每轮迭代的第二周期中对所述第一有限域乘法器组在每轮迭代的第二周期中进行乘法运算后的结果和所述第二有限域乘法器组在每轮迭代的第二周期中进行乘法运算后的结果进行加法运算,生成本轮迭代更新的所述错误位置多项式的系数;
所述选择器用于在每轮迭代的第一周期中选择所述伴随式输出寄存器组的输出,并在每轮迭代的第二周期中选择所述控制逻辑组的输出。
优选地,所述伴随式输出寄存器组包括:
奇数项伴随式寄存器组、偶数项伴随式寄存器组和移位寄存器组,其中:
所述奇数项伴随式寄存器组用于输出奇数项伴随式的系数;
所述偶数项伴随式寄存器组用于输出偶数项伴随式的系数;
所述移位寄存器组用于接收所述奇数项伴随式的系数和所述偶数项伴随式的系数并进行移位输出。
优选地,所述控制逻辑组包括:
第一控制逻辑和第二控制逻辑,其中:
所述第一控制逻辑用于判断迭代是否全部完成,且当判断出迭代未全部完成时在每轮迭代的第二周期中判断所述下轮迭代所需的修正值是否为0,且用于判断迭代是否全部完成;
所述第二控制逻辑用于在所述下轮迭代所需的修正值为0时,将所述本轮迭代所需的中间多项式的系数以及中间量分别作为下轮迭代所需的中间多项式的系数以及中间量输出,在所述下轮迭代所需的修正值不为0时,将所述本轮迭代所需的错误位置多项式的系数作为下轮迭代所需的中间多项式的系数输出,并将下轮迭代所需的修正值作为下轮迭代所需的中间量输出。
从上述的技术方案可以看出,本发明实施例公开的一种错误位置多项式求解方法及装置,相对于现有技术来说,可以实现的有益效果是:
1、本申请提供的方案,在现有技术的基础上,提供了一种低延时的错误位置多项式求解的IBM迭代电路。在电路的最长路径中插入了一个寄存器,将最长路径一分为二,关键路径长度缩短为T乘法器+T加法器(t+1),这样就大大降低了迭代电路的关键路径延时,使之能够应用到高频数据传输中。
同时,在插入一级寄存器之后如果不做任何修改,完成一次迭代的时间需要多达4t个时钟周期,为了解决这个问题,本设计将迭代算法改进成t次,每轮输入2个伴随式的系数,使伴随式的系数按照一轮两拍的方式进入移位寄存器组,这样迭代计算时间能够继续维持在现有的2t个时钟周期不变。
本发明中IBM迭代计算仅需要2t个时钟周期,关键路径长度为T乘法器+T加法器(t+1),乘法器数量为2t+1个,均衡解决了面积和时序问题,具有较高的实用价值,不仅可用于高速光通信系统中,还可用于其它高速通信系统和信息处理领域。
2、本申请提供的方案,在现有技术的基础上,提供了一种面积紧凑型的错误位置多项式求解的IBM迭代电路。在迭代过程中,两个周期输入一轮伴随式的系数,每轮输入两个伴随式的系数,因此在该电路加入了选择器,用来分时复用有限域乘法器组,第一个周期选择伴随式输出寄存器组的输出作为有限域乘法器的乘数,第二个周期选择控制逻辑组的输出作为有限域乘法器的乘数,这样可以节省多达t+1个有限域乘法器,大大减少了电路中乘法器的数量,节省了电路面积。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术通用的IBM迭代算法流程图;
图2为现有技术中对应IBM迭代算法的错误位置多项式求解电路;
图3为本申请实施例提供的一种错误位置多项式求解方法流程图;
图4为本申请实施例提供的另一种错误位置多项式求解方法流程图;
图5为本申请实施例提供的又一种错误位置多项式求解方法流程图;
图6为本申请实施例提供的又一种错误位置多项式求解方法流程图;
图7为本申请实施例提供的一种错误位置多项式求解装置示意图;
图8为本申请实施例提供的一种优化的乘法器结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图3为本申请实施例提供的一种错误位置多项式求解方法流程图。
参照图3所示,本申请实施例提供的一种错误位置多项式求解方法,包括如下步骤:
S100:在每轮迭代的第一周期中输入奇数项伴随式的系数和偶数项伴随式的系数,计算下轮迭代所需的修正值;
在本申请实施例中,步骤S100求解下轮迭代所需的修正值就相当于IBM迭代算法中的第二步:计算当前迭代值对于牛顿恒等式的误差。
在这里,奇数项伴随式和偶数项伴随式的系数是按照一轮两拍的方式进行输入的,即在迭代过程中,每一轮迭代包含两个周期,在两个周期的第一周期输入一轮伴随式的系数,每轮同时输入两个伴随式的系数,并且两个伴随式的系数为相邻的奇数项伴随式的系数和偶数项伴随式的系数。
S200:在每轮迭代的第二周期中判断修正值是否为0,并根据判断结果输出下轮迭代所需的中间多项式的系数以及中间量;
在本申请实施例中,按照IBM迭代算法,需要根据在第一周期中生成的下轮迭代所需的修正值来修改求解错误位置多项式过程中需要的中间变量值,即中间多项式的系数和中间量,具体的修正方式是根据修正值是否为0来确定的。
S300:在每轮迭代的第二周期中根据修正值和本轮迭代所需的错误位置多项式的系数、本轮迭代所需的中间多项式的系数以及中间量,计算下轮迭代所需的错误位置多项式的系数。
在本申请实施例中,每轮迭代的第一周期中提供下轮迭代所需的修正值,第二周期中根据该修正值输出下轮迭代所需的中间位置多项式的系数和中间量,并在第二周期中根据上轮迭代生成的本轮迭代所需的中间位置多项式的系数和中间量以及下轮迭代所需的修正值计算下轮迭代所需的错误位置多项式的系数。
本申请实施例提供的方案,在现有技术的基础上,提供了一种低延时的错误位置多项式求解的IBM迭代电路。在电路的最长路径中插入了一个寄存器,将最长路径一分为二,关键路径长度缩短为T乘法器+T加法器(t+1),这样就大大降低了迭代电路的关键路径延时,使之能够应用到高频数据传输中。
同时,在插入一级寄存器之后如果不做任何修改,完成一次迭代的时间需要多达4t个时钟周期,为了解决这个问题,本设计将迭代算法改进成t次,每轮输入2个伴随式的系数,使伴随式的系数按照一轮两拍的方式进入移位寄存器组,这样迭代计算时间能够继续维持在现有的2t个时钟周期不变。
本发明中IBM迭代计算仅需要2t个时钟周期,关键路径长度为T乘法器+T加法器(t+1),乘法器数量为2t+1个,均衡解决了面积和时序问题,具有较高的实用价值,不仅可用于高速光通信系统中,还可用于其它高速通信系统和信息处理领域。
图4为本申请实施例提供的另一种错误位置多项式求解方法流程图。
参照图4所示,本申请实施例提供的另一种错误位置多项式求解方法,在上述实施例提供的错误位置多项式求解方法中,计算下轮迭代所需的修正值的方法,具体包括如下步骤:
S101:对奇数项伴随式的系数和对应的本轮迭代所需的错误位置多项式的系数进行乘法运算;
S102:对偶数项伴随式的系数和对应的本轮迭代所需的错误位置多项式的系数进行乘法运算;
在本申请实施例中,奇数项伴随式和偶数项伴随式的系数是按照一轮两拍的方式进入移位寄存器组进行输入的,即在迭代过程中,每一轮迭代包含两个周期,在两个周期的第一周期输入一轮伴随式的系数,每轮同时输入两个伴随式的系数,并且两个伴随式的系数为相邻的奇数项伴随式的系数和偶数项伴随式的系数。
S103:对两组乘法运算的结果进行加法运算,得到下轮迭代所需的修正值。
根据IBM迭代算法,需要对两组乘法运算结果相加,得到的值即为下轮迭代所需的修正值,在每轮迭代的第一周期中将该值从加法器中输出到寄存器组中。
作为优选,在迭代过程中,计算下轮迭代所需的修正值的方法,具体以如下公式进行说明:
设σ(k)(x)是待求的差错位置多项式,λ(k)(x)是辅助计算的中间多项式,δ(k+1)是连续迭代前后两个错误位置多项式的差值,这里称为修正值,k代表迭代计算的次数,l(k)表示多项式σ(k)(x)的阶,γ(k)是辅助计算的中间量,迭代步骤如下:
初始值:σ(0)(x)=1;λ(0)(x)=1;l(0)=0;γ(0)=1;k=0
则计算下轮迭代所需的修正值,即计算当前迭代值对于牛顿恒等式的误差,公式表示为:
δ k + 1 = Σ i = 0 l ( k ) s k + 1 - i σ i ( k )
图5为本申请实施例提供的又一种错误位置多项式求解方法流程图。
参照图5所示,本申请实施例提供的又一种错误位置多项式求解方法,在上述实施例提供的错误位置多项式求解方法中,根据判断结果输出下轮迭代所需的中间多项式的系数以及中间量的方法,具体包括如下步骤:
S201:若修正值为0,将本轮迭代所需的中间多项式的系数以及中间量分别作为下轮迭代所需的中间多项式的系数以及中间量输出;
S202:若修正值不为0,将本轮迭代所需的错误位置多项式的系数作为下轮迭代所需的中间多项式的系数输出,并将下轮迭代所需的修正值作为下轮迭代所需的中间量输出。
在本申请实施例中,根据IBM迭代算法,需要根据在第一周期中生成的下轮迭代所需的修正值来修改求解错误位置多项式过程中需要的中间变量值,即中间多项式的系数和中间量,具体的修正方式是根据修正值是否为0来确定的。
作为优选,在迭代过程中,根据判断得到的下轮迭代所需的修正值是否为0的情况,输出的下轮迭代所需的中间多项式的系数以及中间量的方法,具体以如下公式进行说明:
当δ(k+1)(x)=0 or 2l(k)>k时:
λ(k+1)(x)=xλ(k)(x)
l(k+1)=l(k)
γ(k+1)(k)
k=k+1
而当δ(k+1)(x)≠0 and 2l(k)≤k时:
λ(k+1)(x)=σ(k)(x)
l(k+1)=k+1-l(k)
γ(k+1)(k+1)
k=k+1
图6为本申请实施例提供的又一种错误位置多项式求解方法流程图。
参照图6所示,本申请实施例提供的又一种错误位置多项式求解方法,在上述实施例提供的错误位置多项式求解方法中,计算下轮迭代所需的错误位置多项式的系数的方法,具体包括如下步骤:
S301:对下轮迭代所需的修正值和本轮迭代所需的中间多项式的系数进行乘法运算;
S302:对本轮迭代所需的错误位置多项式的系数和本轮迭代所需的中间量进行乘法运算;
S303:对两组乘法运算的结果进行加法运算,得到下轮迭代所需的错误位置多项式的系数。
作为优选,根据IBM迭代算法,在上述实施例的基础之上,本实施例的计算产生满足当前牛顿等式的下轮迭代所需的错误位置多项式的系数的方法,具体以如下公式进行说明:
σ(k+1)(x)=γ(k)σ(k)(x)+δ(k+1)λ(k)(x)x
本申请实施例提供的方案,在现有技术的基础上,提供了一种面积紧凑型的错误位置多项式求解的IBM迭代电路。在迭代过程中,两个周期输入一轮伴随式的系数,每轮输入两个伴随式的系数,因此在该电路加入了选择器,用来分时复用有限域乘法器组,第一个周期选择伴随式输出寄存器组的输出作为有限域乘法器的乘数,第二个周期选择控制逻辑组的输出作为有限域乘法器的乘数,这样可以节省多达t+1个有限域乘法器,大大减少了电路中乘法器的数量,节省了电路面积。
图7为本申请实施例提供的一种错误位置多项式求解装置示意图。
参照图7所示,本申请还提供一种错误位置多项式求解装置,在本申请实施例中,该装置包括:
伴随式输出寄存器组1、第一寄存器组2、第二寄存器组3、第三寄存器组4、第一有限域乘法器组5、第二有限域乘法器组6、加法器7,加法器组8、控制逻辑组9和选择器10,其中:
伴随式输出寄存器组1用于在每轮迭代的第一周期中输出本轮迭代所需的奇数项伴随式的系数和偶数项伴随式的系数;
第一寄存器组2用于在每轮迭代的第一周期中输出本轮迭代所需的错误位置多项式的系数,并在每轮迭代的第二周期中保存本轮迭代更新的错误位置多项式的系数;
第一有限域乘法器组5用于在每轮迭代的第一周期中对奇数项伴随式的系数和对应的本轮迭代所需的错误位置多项式的系数进行乘法运算,对偶数项伴随式的系数和对应的本轮迭代所需的错误位置多项式的系数进行乘法运算,并在每轮迭代的第二周期中对本轮迭代所需的错误位置多项式的系数和本轮迭代所需的中间量进行乘法运算;
加法器7用于在每轮迭代的第一周期中对第一有限域乘法器组3在每轮迭代的第一周期中进行乘法运算后的结果进行加法运算,生成下轮迭代所需的修正值;
第二寄存器组3用于在每轮迭代的第一周期中保存加法器7生成的下轮迭代所需的修正值;
控制逻辑组9用于判断迭代是否全部完成,且当判断出迭代未全部完成时在每轮迭代的第二周期中判断下轮迭代所需的修正值是否为0,若为0,将本轮迭代所需的中间多项式的系数以及中间量分别作为下轮迭代所需的中间多项式的系数以及中间量输出,若不为0,将本轮迭代所需的错误位置多项式的系数作为下轮迭代所需的中间多项式的系数输出,并将下轮迭代所需的修正值作为下轮迭代所需的中间量输出;
第三寄存器组4用于在每轮迭代的第二周期中输出本轮迭代所需的中间多项式的系数和辅助计算的中间量,并保存下轮迭代所需的中间多项式的系数和辅助计算的中间量;
第二有限域乘法器组6用于在每轮迭代的第二周期中对下轮迭代所需的修正值和中间多项式的系数进行乘法运算;
加法器组8用于在每轮迭代的第二周期中对第一有限域乘法器组5在每轮迭代的第二周期中进行乘法运算后的结果和第二有限域乘法器组6在每轮迭代的第二周期中进行乘法运算后的结果进行加法运算,生成本轮迭代更新的错误位置多项式的系数;
选择器10用于在每轮迭代的第一周期中选择伴随式输出寄存器组1的输出,并在每轮迭代的第二周期中选择控制逻辑组9的输出。
参照图7所示,上述实施例中的伴随式输出寄存器组1包括:
奇数项伴随式寄存器组11、偶数项伴随式寄存器组12和移位寄存器组13,其中:
奇数项伴随式寄存器组11用于输出奇数项伴随式的系数;
偶数项伴随式寄存器组12用于输出偶数项伴随式的系数;
移位寄存器组13用于接收奇数项伴随式的系数和偶数项伴随式的系数并进行移位输出。
参照图7所示,上述实施例中的控制逻辑组9包括:
第一控制逻辑91和第二控制逻辑92,其中:
第一控制逻辑91用于判断迭代是否全部完成,且当判断出迭代未全部完成时在每轮迭代的第二周期中判断下轮迭代所需的修正值是否为0,且用于判断迭代是否全部完成;
第二控制逻辑92用于在下轮迭代所需的修正值为0时,将本轮迭代所需的中间多项式的系数以及中间量分别作为下轮迭代所需的中间多项式的系数以及中间量输出,在下轮迭代所需的修正值不为0时,将本轮迭代所需的错误位置多项式的系数作为下轮迭代所需的中间多项式的系数输出,并将下轮迭代所需的修正值作为下轮迭代所需的中间量输出。
下面以72位错误位置多项式求解的IBM迭代过程为例,对上述实施例提供的错误位置多项式求解装置做进一步说明:
奇数项伴随式寄存器组11和偶数项伴随式寄存器组12接收外部144个伴随式的值并保存,然后奇数项伴随式和偶数项伴随式按照一轮两拍的方式进入IBM迭代的移位寄存器组13;
迭代采用一轮两拍的方式,即两个周期(下称第一周期和第二周期)执行一次迭代,迭代过程通过信号shift_en的高低电平的周期性转换来控制选择器10的输出,第一周期选择移位寄存器组13,第二周期选择控制逻辑组9,这样就实现了分时复用有限域乘法器组的目的;
在第一周期时间内,将有限域乘法器组5的值送入有限域加法器7做有限域的加法,将加得的值存入第二寄存器组3;
在第二周期时间内,第一控制逻辑91和第二控制逻辑92分别判断第二寄存器组3的值,若为0,则第二控制逻辑92控制第三寄存器组4做移位操作;若不为0,则第二控制逻辑92控制第一寄存器组2将值送入第三寄存器组4,同时第一控制逻辑91根据迭代次数计算出新的值输出。第二寄存器组3和第三寄存器组4通过有限域乘法器6相乘(假设结果为R1),第一寄存器组2和第一控制逻辑91的输出通过有限域乘法器5相乘(假设结果为R2),然后R1和R2通过有限域加法器组8相加,得到的和送入第一寄存器组2中寄存;
当迭代次数等于72次时,将第一寄存器组2中的值作为模块的最终结果输出。
此外,由于IBM迭代电路中采用大量的有限域乘法器,为了有效的降低面积,还可以采用一种优化的乘法器结构。
图8为本申请实施例提供的一种优化的乘法器结构示意图。
参照图8所示,根据本发明的二进制BCH码译码器,对于有限域乘法器面积的优化,可以采用14域转7域的方法,方法如下,在有限域GF(2m)中的元素A(x)和B(x)可以用如下多项式表示:
A(x)=am-1xm-1+am-2xm-2+…+a1x+a0,ai∈GF(2)
B(x)=bm-1xm-1+bm-2xm-2+…+b1x+b0,bi∈GF(2)
一般的乘法器使用多项式相乘,然后在对本原多项式进行取模实现。
C(x)=A(x)×B(x)=c2m-2x2m-2+c2m-3x2m-3+…+c1x+c0,ci∈GF(2)
C′(x)=C(x)mod(p(x))
其中p(x)是域GF(2m)上的本原多项式
这里考虑使用小次数多次乘法来代替高次乘法。比如14位的乘法器,直接进行计算他的资源消耗是14*14的数量级,实际计算得到14位乘法器使用的与门数量是14*14=196个,使用的异或门个数是13*13+64=233个,如果使用三个7位的乘法器来实现,那么数量级是7*7*3。实际实现时使用的与门数是7*7*3=147,使用的异或门个数是6*6*3+6*4+64=196。
下面为实现的理论依据:
把14位的数据变成高7位和低7位两部分。
A=Ahx7+Al和B=Bhx7+Bl
其中Ah和Bh是高7位,Al和Bl是低7位。
A ⊗ B = ( A h x 7 + A l ) ⊗ ( B h x 7 + B l )
= ( A h ⊗ B h ) ⊗ x 14 + ( A h ⊗ B l + A l ⊗ B h ) ⊗ x 7 + ( A l ⊗ B l )
= ( A h ⊗ B h ) ⊗ x 14 + ( ( A h + B l ) ⊗ ( A l + B h ) + A h ⊗ B h + A l ⊗ B l ) ⊗ x 7 + ( A l ⊗ B l )
从上述公式可以看到14位的乘法变成了7位的三个乘法实现,这样就优化了乘法器结构,减小了电路面积,使电路结构更加紧凑。
从上述的技术方案可以看出,本发明实施例公开的一种错误位置多项式求解方法及装置,相对于现有技术来说,可以实现的有益效果是:
1、本申请提供的方案,在现有技术的基础上,提供了一种低延时的错误位置多项式求解的IBM迭代电路。在电路的最长路径中插入了一个寄存器,将最长路径一分为二,关键路径长度缩短为T乘法器+T加法器(t+1),这样就大大降低了迭代电路的关键路径延时,使之能够应用到高频数据传输中。
同时,在插入一级寄存器之后如果不做任何修改,完成一次迭代的时间需要多达4t个时钟周期,为了解决这个问题,本设计将迭代算法改进成t次,每轮输入2个伴随式的系数,使伴随式的系数按照一轮两拍的方式进入移位寄存器组,这样迭代计算时间能够继续维持在现有的2t个时钟周期不变。
本发明中IBM迭代计算仅需要2t个时钟周期,关键路径长度为T乘法器+T加法器(+1),乘法器数量为2t+1个,均衡解决了面积和时序问题,具有较高的实用价值,不仅可用于高速光通信系统中,还可用于其它高速通信系统和信息处理领域。
2、本申请提供的方案,在现有技术的基础上,提供了一种面积紧凑型的错误位置多项式求解的IBM迭代电路。在迭代过程中,两个周期输入一轮伴随式的系数,每轮输入两个伴随式的系数,因此在该电路加入了选择器,用来分时复用有限域乘法器组,第一个周期选择伴随式输出寄存器组的输出作为有限域乘法器的乘数,第二个周期选择控制逻辑组的输出作为有限域乘法器的乘数,这样可以节省多达t+1个有限域乘法器,大大减少了电路中乘法器的数量,节省了电路面积。
以上对本申请所提供的一种错误位置多项式的求解方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
需要说明的是,在本文中,诸如“大于”或“超过”或“高于”或“小于”或“低于”等之类的关系描述,均可以理解为“大于且不等于”或“小于且不等于”,也可以理解为“大于等于”或“小于等于”,而不一定要求或者暗示必须为限定的或固有的一种情况。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
需要说明的是,以上所述仅仅是本申请技术方案的一部分优选具体实施方式,使本领域技术人员能够充分理解或实现本申请,而不是全部的实施例,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,基于以上实施例,对于本技术领域的普通技术人员来说,在不脱离本申请原理,不做出创造性劳动前提下,还可以做出多种显而易见的修改和润饰,通过这些修改和润饰所获得的所有其他实施例,都可以应用于本申请技术方案,这些都不影响本申请的实现,都应当属于本申请的保护范围。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (7)

1.一种错误位置多项式求解方法,其特征在于,包括:
在每轮迭代的第一周期中输入奇数项伴随式的系数和偶数项伴随式的系数,计算下轮迭代所需的修正值;
在每轮迭代的第二周期中判断所述修正值是否为0,并根据判断结果输出下轮迭代所需的中间多项式的系数以及中间量;
在每轮迭代的第二周期中根据所述修正值和本轮迭代所需的错误位置多项式的系数、本轮迭代所需的中间多项式的系数以及中间量,计算下轮迭代所需的错误位置多项式的系数。
2.根据权利要求1所述的方法,其特征在于,所述计算下轮迭代所需的修正值,具体包括:
对所述奇数项伴随式的系数和对应的本轮迭代所需的错误位置多项式的系数进行乘法运算;
对所述偶数项伴随式的系数和对应的本轮迭代所需的错误位置多项式的系数进行乘法运算;
对两组乘法运算的结果进行加法运算,得到下轮迭代所需的修正值。
3.根据权利要求1所述的方法,其特征在于,所述根据判断结果输出下轮迭代所需的中间多项式的系数以及中间量,具体包括:
若所述修正值为0,将所述本轮迭代所需的中间多项式的系数以及中间量分别作为下轮迭代所需的中间多项式的系数以及中间量输出;
若所述修正值不为0,将所述本轮迭代所需的错误位置多项式的系数作为下轮迭代所需的中间多项式的系数输出,并将下轮迭代所需的修正值作为下轮迭代所需的中间量输出。
4.根据权利要求1所述的方法,其特征在于,所述计算下轮迭代所需的错误位置多项式的系数,具体包括:
对所述下轮迭代所需的修正值和所述本轮迭代所需的中间多项式的系数进行乘法运算;
对所述本轮迭代所需的错误位置多项式的系数和所述本轮迭代所需的中间量进行乘法运算;
对两组乘法运算的结果进行加法运算,得到下轮迭代所需的错误位置多项式的系数。
5.一种错误位置多项式求解装置,其特征在于,包括:
伴随式输出寄存器组、第一寄存器组、第二寄存器组、第三寄存器组、第一有限域乘法器组、第二有限域乘法器组、加法器,加法器组、控制逻辑组和选择器,其中:
所述伴随式输出寄存器组用于在每轮迭代的第一周期中输出本轮迭代所需的奇数项伴随式的系数和偶数项伴随式的系数;
所述第一寄存器组用于在每轮迭代的第一周期中输出本轮迭代所需的错误位置多项式的系数,并在每轮迭代的第二周期中保存本轮迭代更新的错误位置多项式的系数;
所述第一有限域乘法器组用于在每轮迭代的第一周期中对所述奇数项伴随式的系数和对应的本轮迭代所需的错误位置多项式的系数进行乘法运算,对所述偶数项伴随式的系数和对应的本轮迭代所需的错误位置多项式的系数进行乘法运算,并在每轮迭代的第二周期中对所述本轮迭代所需的错误位置多项式的系数和本轮迭代所需的中间量进行乘法运算;
所述加法器用于在每轮迭代的第一周期中对所述第一有限域乘法器组在每轮迭代的第一周期中进行乘法运算后的结果进行加法运算,生成下轮迭代所需的修正值;
所述第二寄存器组用于在每轮迭代的第一周期中保存所述加法器生成的所述下轮迭代所需的修正值;
所述控制逻辑组用于判断迭代是否全部完成,且当判断出迭代未全部完成时在每轮迭代的第二周期中判断所述下轮迭代所需的修正值是否为0,若为0,将所述本轮迭代所需的中间多项式的系数以及中间量分别作为下轮迭代所需的中间多项式的系数以及中间量输出,若不为0,将所述本轮迭代所需的错误位置多项式的系数作为下轮迭代所需的中间多项式的系数输出,并将下轮迭代所需的修正值作为下轮迭代所需的中间量输出;
所述第三寄存器组用于在每轮迭代的第二周期中输出本轮迭代所需的中间多项式的系数和辅助计算的中间量,并保存下轮迭代所需的中间多项式的系数和辅助计算的中间量;
所述第二有限域乘法器组用于在每轮迭代的第二周期中对所述下轮迭代所需的修正值和所述中间多项式的系数进行乘法运算;
所述加法器组用于在每轮迭代的第二周期中对所述第一有限域乘法器组在每轮迭代的第二周期中进行乘法运算后的结果和所述第二有限域乘法器组在每轮迭代的第二周期中进行乘法运算后的结果进行加法运算,生成本轮迭代更新的所述错误位置多项式的系数;
所述选择器用于在每轮迭代的第一周期中选择所述伴随式输出寄存器组的输出,并在每轮迭代的第二周期中选择所述控制逻辑组的输出。
6.根据权利要求5所述的装置,其特征在于,所述伴随式输出寄存器组包括:
奇数项伴随式寄存器组、偶数项伴随式寄存器组和移位寄存器组,其中:
所述奇数项伴随式寄存器组用于输出奇数项伴随式的系数;
所述偶数项伴随式寄存器组用于输出偶数项伴随式的系数;
所述移位寄存器组用于接收所述奇数项伴随式的系数和所述偶数项伴随式的系数并进行移位输出。
7.根据权利要求5所述的装置,其特征在于,所述控制逻辑组包括:
第一控制逻辑和第二控制逻辑,其中:
所述第一控制逻辑用于判断迭代是否全部完成,且当判断出迭代未全部完成时在每轮迭代的第二周期中判断所述下轮迭代所需的修正值是否为0,且用于判断迭代是否全部完成;
所述第二控制逻辑用于在所述下轮迭代所需的修正值为0时,将所述本轮迭代所需的中间多项式的系数以及中间量分别作为下轮迭代所需的中间多项式的系数以及中间量输出,在所述下轮迭代所需的修正值不为0时,将所述本轮迭代所需的错误位置多项式的系数作为下轮迭代所需的中间多项式的系数输出,并将下轮迭代所需的修正值作为下轮迭代所需的中间量输出。
CN201210364948.6A 2012-09-26 2012-09-26 一种错误位置多项式求解方法及装置 Expired - Fee Related CN102891689B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210364948.6A CN102891689B (zh) 2012-09-26 2012-09-26 一种错误位置多项式求解方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210364948.6A CN102891689B (zh) 2012-09-26 2012-09-26 一种错误位置多项式求解方法及装置

Publications (2)

Publication Number Publication Date
CN102891689A true CN102891689A (zh) 2013-01-23
CN102891689B CN102891689B (zh) 2015-12-09

Family

ID=47535078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210364948.6A Expired - Fee Related CN102891689B (zh) 2012-09-26 2012-09-26 一种错误位置多项式求解方法及装置

Country Status (1)

Country Link
CN (1) CN102891689B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103346805A (zh) * 2013-05-31 2013-10-09 中国科学院自动化研究所 一种长bch码的译码系统及方法
CN105337619A (zh) * 2014-06-09 2016-02-17 联想(北京)有限公司 一种bch码解码方法及装置
CN106961282A (zh) * 2017-03-31 2017-07-18 山东超越数控电子有限公司 一种基于二元bch码的高速ibm算法结构的硬件实现方法
CN108574495A (zh) * 2017-03-13 2018-09-25 西部数据技术公司 错误定位多项式解码器及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141787A (en) * 1997-05-19 2000-10-31 Sanyo Electric Co., Ltd. Digital modulation and demodulation
CN1344439A (zh) * 1999-11-24 2002-04-10 皇家菲利浦电子有限公司 加速的Reed-Solomon纠错

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141787A (en) * 1997-05-19 2000-10-31 Sanyo Electric Co., Ltd. Digital modulation and demodulation
CN1344439A (zh) * 1999-11-24 2002-04-10 皇家菲利浦电子有限公司 加速的Reed-Solomon纠错

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103346805A (zh) * 2013-05-31 2013-10-09 中国科学院自动化研究所 一种长bch码的译码系统及方法
CN103346805B (zh) * 2013-05-31 2016-12-28 中国科学院自动化研究所 一种长bch码的译码系统及方法
CN105337619A (zh) * 2014-06-09 2016-02-17 联想(北京)有限公司 一种bch码解码方法及装置
CN105337619B (zh) * 2014-06-09 2019-07-26 联想(北京)有限公司 一种bch码解码方法及装置
CN108574495A (zh) * 2017-03-13 2018-09-25 西部数据技术公司 错误定位多项式解码器及方法
CN108574495B (zh) * 2017-03-13 2021-07-16 西部数据技术公司 错误定位多项式解码器及方法
CN106961282A (zh) * 2017-03-31 2017-07-18 山东超越数控电子有限公司 一种基于二元bch码的高速ibm算法结构的硬件实现方法

Also Published As

Publication number Publication date
CN102891689B (zh) 2015-12-09

Similar Documents

Publication Publication Date Title
CN102084335B (zh) 任意伽罗瓦域算术在可编程处理器上的实施
CN101227194B (zh) 用于并行bch编码的电路、编码器及方法
CN102684709B (zh) 一种译码方法及其译码装置
CN102521211B (zh) 一种求解有限域上线性方程组的并行装置
CN101277119A (zh) 里德所罗门码解码器硬件复用方法及其低硬件复杂度解码装置
CN102891689A (zh) 一种错误位置多项式求解方法及装置
CN1095122C (zh) 差错定位多项式高速计算电路
US20100332956A1 (en) Polynomial division
Cho et al. Strength-reduced parallel Chien search architecture for strong BCH codes
CN114063973B (zh) 伽罗华域乘法器及纠删编解码系统
CN105337619B (zh) 一种bch码解码方法及装置
CN104218957A (zh) 一种低硬件复杂度的rs译码器
JP2009171347A (ja) 演算ユニット、エラー訂正復号回路及び誤り位置多項式の演算方法
JPH1093445A (ja) 誤り位置検出多項式計算装置
CN101834616B (zh) 里德-索罗蒙解码器实现方法
CN102045073B (zh) 一种bch码译码方法和装置
KR100302847B1 (ko) 유한필드에서의긴다항식제산장치
US10218386B1 (en) Methods and apparatus for performing variable and breakout Reed Solomon encoding
CN101777922B (zh) 用于BCH译码器的高速低延时Berlekamp-Massey迭代译码电路
CN103152059A (zh) Ccsds系统rs编码中常系数矩阵的生成装置和方法
US6598201B1 (en) Error coding structure and method
CN111506293A (zh) 一种基于srt算法的高基除法器电路
CN108268243B (zh) 一种基于查找的复合域乘法装置
Mozhi et al. Efficient bit-parallel systolic multiplier over GF (2 m)
KR20100032102A (ko) 고속 저복잡 BCH 복호기의 불합도 계산이 필요 없는 RiBM 알고리즘을 이용한 오류위치 연산 방법 및 오류위치 연산 회로

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SHENZHEN STATEMICRO ELECTRONICS CO., LTD.

Free format text: FORMER OWNER: CHENGDU STATEMICRO ELECTRONICS CO., LTD.

Effective date: 20150121

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 610000 TO: 518063 SHENZHEN, GUANGDONG PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20150121

Address after: 518063 Guangdong city of Shenzhen province Nanshan District Gao Xin Road No. 015 building six layer A in micro research

Applicant after: SHENZHEN STATE MICROELECTRONICS Co.,Ltd.

Address before: 3 building, A1 building, A District, Tianfu Software Park, Chengdu hi tech Zone, Sichuan, 610000

Applicant before: CHENGDU STATE MICROELECTRONIC Co.,Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151209

CF01 Termination of patent right due to non-payment of annual fee