CN105337619A - 一种bch码解码方法及装置 - Google Patents
一种bch码解码方法及装置 Download PDFInfo
- Publication number
- CN105337619A CN105337619A CN201410253127.4A CN201410253127A CN105337619A CN 105337619 A CN105337619 A CN 105337619A CN 201410253127 A CN201410253127 A CN 201410253127A CN 105337619 A CN105337619 A CN 105337619A
- Authority
- CN
- China
- Prior art keywords
- syndrome
- polynomial
- calculation stages
- bch code
- modifying factor
- 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
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明实施例提供一种BCH码解码方法及装置,其中方法包括:在第一计算阶段,计算t个奇数序号的伴随式多项式,其中t为BCH码的纠错位数;在第二计算阶段,根据偶数序号的伴随式多项式为奇数序号的伴随式多项式的平方的特性,使用预定的一个乘法器串行计算各偶数序号的伴随式多项式,并在满足预定条件时,采用第二计算阶段所对应的两排乘法器计算错误位置多项式;在第三计算阶段,计算截短码的起始位置,进行钱搜索。本发明实施例提供的解码方法,节省了计算逻辑和计算时间,减少了乘法器的使用个数,减小了关键路径延时,减小了解码所需成本。
Description
技术领域
本发明涉及解码技术领域,更具体地说,涉及一种BCH码解码方法及装置。
背景技术
IBM(InversionlessBerlekampMassey)算法是一种可用于对二进制BCH码进行解码的无求逆运算的算法,其中,BCH码取自Bose、Ray-Chaudhuri与Hocquenghem的缩写,是编码理论尤其是纠错码中研究得比较多的一种编码方法。BCH码的解码方法主要分为3个计算阶段:第一计算阶段为计算伴随式多项式,第二计算阶段为计算错误位置多项式,第三计算阶段为进行钱搜索。
图1示出了一种IBM算法的电路实现,图中表示有限域乘法器,⊕表示有限域加法器。由于差错位置多项式σ(x)的最大介数为t,因此图1中分别需要t+1个寄存器来存储多项式σ(x)和λ(x)的系数,同时还需要t+1个寄存器来串行输入伴随式多项式的系数S1,S2,...,S2t。控制电路主要完成对σ是否为零的检测,产生选择器的控制信号,对多项式阶的更新控制及判断迭代计算是否结束等。迭代运算完成后,t+1个σ寄存器中的内容就是所求的差错位置多项式σ(x)的系数。
图1电路的工作原理如下,初始状态时,寄存器R中的内容是(R0,R1,...,Rt)=(S1,0,...,0),同时设(σ0,σ1...,σt)=(1,0,...,0)和(λ0,λ1,...,λt-1)=(1,0,...,0),寄存器γ的内容是1。每次迭代计算中更新的值就存储在σ、λ中,新的伴随式值输入寄存器R0,同时寄存器Ri中的内容右移进入下一级寄存器Ri+1(i=0,1,...,t)。虚线框中t+1个乘法器的输出相加后得到下一步迭代计算所需的修正值δ,迭代计算在控制电路的控制下重复进行,直到满足迭代运算结束条件为止。
本发明的发明人在实现本发明的过程中发现:现有IBM算法在解码过程中,使用了3排乘法器,共3t+2个乘法器,且关键路径延时为2Tmult+Tadd2+Tadd(t+1);现有技术所使用的乘法器个数较多,关键路径延时较大,所造成的解码所需成本较高。
发明内容
有鉴于此,本发明实施例提供一种BCH码解码方法及装置,以解决现有技术在解码过程中所使用的乘法器个数较多,关键路径延时较大,所造成的解码所需成本较高的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种BCH码解码方法,所述方法包括:
在第一计算阶段,计算t个奇数序号的伴随式多项式,其中t为BCH码的纠错位数;
在第二计算阶段,根据偶数序号的伴随式多项式为奇数序号的伴随式多项式的平方的特性,使用预定的一个乘法器串行计算各偶数序号的伴随式多项式,并在满足预定条件时,采用第二计算阶段所对应的两排乘法器计算错误位置多项式;
在第三计算阶段,计算截短码的起始位置,进行钱搜索。
其中,所述预定条件为修正因子为零。
其中,所述采用错误位置多项式计算阶段所对应的两排乘法器计算所述错误位置多项式包括:
采用所述两排乘法器计算奇数序号的伴随式多项式和偶数序号的伴随式多项式的乘积,根据所述乘积得出所述错误位置多项式。
其中,所述根据所述乘积得出所述错误位置多项式包括:
将奇数序号的伴随式多项式和偶数序号的伴随式多项式作异或处理,得到修正因子,将所述乘积通过所述修正因子进行修正,得出错误位置多项式。
其中,所述方法还包括:
在第二计算阶段,根据修正因子在偶数次迭代过程中的结果始终为0的特性,在偶数次迭代过程中计算奇数次迭代时所对应的修正因子,而不在偶数次迭代过程中计算偶数次迭代时对应的修正因子和对应的辅助多项式系数。
其中,所述计算截短码的起始位置包括:
在计算出所述错误位置多项式后,复用所述两排乘法器中的第一排乘法器计算截短码的起始位置。
本发明实施例还提供一种BCH码解码装置,包括:
第一计算模块,用于在第一计算阶段,计算t个奇数序号的伴随式多项式,其中t为BCH码的纠错位数;
第二计算模块,用于在第二计算阶段,根据偶数序号的伴随式多项式为奇数序号的伴随式多项式的平方的特性,使用预定的一个乘法器串行计算各偶数序号的伴随式多项式,并在满足预定条件时,采用第二计算阶段所对应的两排乘法器计算错误位置多项式;
第三计算模块,用于在第三计算阶段,计算截短码的起始位置,进行钱搜索。
其中,所述预定条件为修正因子为零,所述第二计算模块包括:
乘积单元,用于采用所述两排乘法器计算奇数序号的伴随式多项式和偶数序号的伴随式多项式的乘积;
得出单元,用于根据所述乘积得出所述错误位置多项式。
其中,所述得出单元包括:
修正因子得出子单元,用于将奇数序号的伴随式多项式和偶数序号的伴随式多项式作异或处理,得到修正因子;
修正子单元,用于将所述乘积通过所述修正因子进行修正,得出错误位置多项式。
其中,所述装置还包括:
提前计算模块,用于在第二计算阶段,根据修正因子在偶数次迭代过程中的结果始终为0的特性,在偶数次迭代过程中计算奇数次迭代时所对应的修正因子,而不在偶数次迭代过程中计算偶数次迭代时对应的修正因子和对应的辅助多项式系数。
其中,所述第三计算模块包括:
复用单元,用于在计算出所述错误位置多项式后,复用所述两排乘法器中的第一排乘法器计算截短码的起始位置。
基于上述技术方案,本发明实施例提供的BCH码解码方法,在第一计算阶段进行伴随式多项式计算时,利用第一排乘法器只计算奇数序号的伴随式多项式;而在第二计算阶段进行错误位置多项式的计算时,在使用到上述计算的奇数序号的伴随式多项式时,采用预定的一个乘法器逐个计算各奇数序号的下一偶数序号的伴随式多项式;从而将原来需要t(纠错位数)个乘法器来同时计算的电路结构,修改为利用t/2个乘法器,只计算出奇数项的伴随式,如s1,s3,s5,s7....等,偶数项的伴随式在第二计算阶段来边计算边使用,这样节省了计算逻辑和计算时间,减少了乘法器的使用个数,减小了关键路径延时,减小了解码所需成本;同时在第二计算阶段,使用对应的两排乘法器计算错误位置多项式;进而根据截断码的起始位置和第二多项式进行钱搜索,完成解码。本发明实施例提供的解码方法,节省了计算逻辑和计算时间,减少了乘法器的使用个数,减小了关键路径延时,减小了解码所需成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术IBM算法的电路结构示意图;
图2为本发明实施例提供的算法电路的列结构示意图;
图3为本发明实施例提供的BCH码解码方法的流程图;
图4为本发明实施例提供的BCH码解码方法的另一流程图;
图5为本发明实施例提供的BCH码解码装置的结构框图;
图6为本发明实施例提供的第二计算模块的结构框图;
图7为本发明实施例提供的得出单元的结构框图;
图8为本发明实施例提供的BCH码解码装置的另一结构框图;
图9为本发明实施例提供的第三计算模块的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的BCH码解码方法,应用于一种算法电路中,图2示出了该算法电路的列结构示意图,可进行参照;具体的,该算法电路的可认为是将图1电路结构中每一列的结构修改为图2所示电路结构后,所形成的电路;即去掉了图1中椭圆型虚线内的这一排乘法器及寄存器R0,并将图1电路结构中每一列的结构修改为图2所示电路结构。
基于上述算法电路的描述,图3示出了本发明实施例提供的BCH码解码方法的流程图,参照图3,该方法可以包括:
步骤S100、在第一计算阶段,计算t个奇数序号的伴随式多项式,其中t为BCH码的纠错位数;
可选的,本发明实施例可在第一计算阶段(现对于现有技术计算伴随式多项式的阶段),只计算奇数序号的伴随式多项式,从而减小第一阶段的计算规模;即在BCH码解码的第一阶段的伴随式计算过程中,对纠错能力为t的BCH码,本发明实施例只需要计算t个奇数序号的伴随式多项式(如S1,S3,S5....S2t-1),从而使得第一计算阶段的电路规模能够减小一半。
步骤S110、在第二计算阶段,根据偶数序号的伴随式多项式为奇数序号的伴随式多项式的平方的特性,使用预定的一个乘法器串行计算各偶数序号的伴随式多项式,同时,在满足预定条件时,采用第二计算阶段所对应的两排乘法器计算错误位置多项式;
本发明实施例可在错误位置多项式计算阶段,根据偶数序号的伴随式多项式是奇数序号的伴随式多项式的平方的特性,将偶数序号的伴随式多项式的计算放在第二计算阶段完成,即在第二计算阶段,采用预定的一个乘法器串行逐个计算各偶数序号的伴随式多项式,从而满足第二计算阶段的计算使用,减小第一计算阶段的电路规模。
同时,在第二计算阶段,本发明实施例将现有第二计算阶段所使用的三排乘法器减小为两排乘法器,通过该两排乘法器计算错误位置多项式;可选的,本发明实施例可采用所述两排乘法器计算奇数序号的伴随式多项式和偶数序号的伴随式多项式的乘积,根据所述乘积得出所述错误位置多项式。
本发明实施例在第二计算阶段,通过预定的一个乘法器逐个计算偶数序号的伴随式多项式,以满足错误位置多项式的计算需求,从而减小了整个解码过程的运算延时。即在第二计算阶段时,若使用到S1(奇数序号的伴随式多项式)时,则计算S2(偶数序号的伴随式多项式),S2=S1×S1,当使用S2时就可以计算S4=S2×S2,当使用S3时就可以计算S6=S3×S3;从而在计算出偶数序号的伴随式多项式后,采用第二计算阶段对应的两排乘法器计算错误位置多项式。
可选的,预定条件可以是修正因子为零。修正因子即图2中寄存器D的计算结果,其实它是纠错位数组这样的逻辑计算的结果相加的结果,其中,相加是指有限域上的相加,其实就是作异或操作,这里的乘法也是指有限域上的乘法。
可以看出,本发明实施例在解码的第二阶段,可在Mout=0,即修正因子为零时,采用第二计算阶段对应的两排乘法器来完成第二阶段的运算。同时在修正因子的计算通路上增加寄存器D,这样使得关键路径被分割为两部分,从而使关键路径的延时也被缩短,但运算的周期数还是2t。由于本方案要求校正子要提前一个节拍给出,因此需要去掉图1中的移位寄存器组中的第一个寄存器R0;这样电路中的寄存器个数也没有增加。
步骤S120、计算截短码的起始位置,进行钱搜索。
本发明实施例提供的BCH码解码方法是在IBM算法的基础上的改进,IBM算法共分3个计算阶段,第一个计算阶段是计算伴随式SI,第二个计算阶段是错误位置多项式计算,第三个计算阶段是钱搜索,本发明实施例的改进在于:将原来需要t(纠错位数)个有限域乘法来同时计算的电路结构,修改为利用t/2个乘法器,只计算出奇数项的伴随式多项式,如s1,s3,s5,s7....等,偶数项的伴随式多项式则在IBM的第二个计算阶段采用预定的一个乘法器来边计算边使用,这样节省了计算逻辑和计算时间,计算方法使用s2=s1×s1的方法,即偶次项的伴随式是奇次项的平方。从而在计算出奇数序号的伴随式多项式和偶数序号的伴随式多项式后,采用第二计算阶段所对应的两排乘法器计算出错误位置多项式;进而计算出截短码的起始位置,根据所述起始位置和所述错误位置多项式进行钱搜索,完成解码过程。
本发明实施例提供的BCH码解码方法,在第一计算阶段进行伴随式多项式计算时,利用第一排乘法器只计算奇数序号的伴随式多项式;而在第二计算阶段进行错误位置多项式的计算时,在使用到上述计算的奇数序号的伴随式多项式时,采用预定的一个乘法器逐个计算各奇数序号的下一偶数序号的伴随式多项式;从而将原来需要t(纠错位数)个乘法器来同时计算的电路结构,修改为利用t/2个乘法器,只计算出奇数项的伴随式,如s1,s3,s5,s7....等,偶数项的伴随式在第二计算阶段来边计算边使用,这样节省了计算逻辑和计算时间,减少了乘法器的使用个数,减小了关键路径延时,减小了解码所需成本;同时在第二计算阶段,使用对应的两排乘法器计算错误位置多项式;进而根据截断码的起始位置和第二多项式进行钱搜索,完成解码。本发明实施例提供的解码方法,节省了计算逻辑和计算时间,减少了乘法器的使用个数,减小了关键路径延时,减小了解码所需成本。
可选的,所述两排乘法器的个数为2t+2个乘法器,所述错误位置多项式的计算周期为2t个运算周期。
可选的,由于在第二计算阶段时,修正因子在偶数迭代次数时的结构值始终为零,且这个修正因子还是计算过程中的辅助多项式系数计算逻辑的一个有限域乘法因子,因此辅助多项式系数的计算结果也为零;基于此,本发明实施例可在偶次迭代时不计算偶次迭代时对应的修正因子(即本段上文提到的修正因子)和辅助多项式系数了,而将奇数次迭代时对应的修正因子放到偶数次迭代的过程中完成;通过这样的设置,本发明实施例可节省至少1/3的电路规模。对应的,在执行上,本发明实施例可在第二计算阶段,根据修正因子在偶数次迭代过程中的结果始终为0的特性,在偶数次迭代过程中计算奇数次迭代时所对应的修正因子,而不在偶数次迭代过程中计算偶数次迭代时对应的修正因子和对应的辅助多项式系数。
可选的,本发明实施例在计算出错误位置多项式后,可在第二计算阶段结束后增加一个运算周期提前计算截短码的起始位置;即本发明实施例可在计算出所述错误位置多项式后,复用所述两排乘法器中的第一排乘法器计算截短码的起始位置,从而使得第三阶段的电路规模能够减小。
对应的,图4示出了本发明实施例提供的BCH码解码方法的另一流程图,参照图4,该方法可以包括:
步骤S200、在第一计算阶段,计算t个奇数序号的伴随式多项式,其中t为BCH码的纠错位数;
步骤S210、在第二计算阶段,根据偶数序号的伴随式多项式为奇数序号的伴随式多项式的平方的特性,使用预定的一个乘法器串行计算各偶数序号的伴随式多项式,同时,在满足预定条件时,采用第二计算阶段所对应的两排乘法器计算错误位置多项式;
步骤S220、在计算出所述错误位置多项式后,复用所述两排乘法器中的第一排乘法器计算截短码的起始位置,进行钱搜索。
可选的,钱搜索的过程可以为:根据所述截短码的起始位置和所述错误位置多项式进行钱搜索。
本发明实施例有以下核心点需要注意:
本发明实施例在第一计算阶段,只计算奇数序号的伴随式多项式,而偶数序号的伴随式多项式在第二计算阶段(错误位置多项式计算阶段)边计算边使用,利用S2=S1*S1特征,即偶数序号的伴随式多项式是奇数序伴随式多项式的平方特性,使用预定的一个乘法器串行计算各偶数序号的伴随式多项式,而不用在第一阶段时计算所有的伴随式多项式,从而节省了时间;
解码第二计算阶段(错误位置多项式计算阶段),使用两排乘法器,使其在Mout=0,即修正因子为零时,使用所述两排乘法器来完成错误位置多项式的运算。同时在修正因子的计算通路上增加寄存器D,这样使得关键路径被分割为两部分,从而使关键路径的延时也被缩短,但运算的周期数还是2t。由于本方案要求校正子要提前一个节拍给出,因此需要去掉图1所示移位寄存器组中的第一个寄存器R0。这样电路中的寄存器个数也没有增加。
解码第三阶段(钱搜索阶段),在计算出所述错误位置多项式后,复用所述两排乘法器中的第一排乘法器计算截短码的起始位置,然后再进行迭代计算;由于计算BCH截短码的起始位置和后续的迭代计算所使用的乘法器的参数不同,因此就需要使用普通的乘法器;可选的,本发明实施例可将BCH截短码的起始位置的计算移到解码的第二阶段进行,复用第二阶段所使用的普通乘法器来完成,即本发明实施例在计算截短码的起始位置时,可复用在错误位置多项式计算阶段所使用的两排乘法器中的第一排乘法器计算截短码的起始位置;而在第三阶段只进行CHIEN搜索迭代运算,这样CHIEN搜索迭代运算就可以使用固定因子乘法器了,而固定因子乘法器的电路规模是普通乘法的1/5~1/8,因此,本发明实施例可以大大的降低电路的规模。
经过实验发现:本发明实施例在解码第一计算阶段的计算规模降低了一半,但整体运算时间没有受到影响;解码第二计算阶段在不降低运算周期的条件下,电路规模降低了至少1/3,运算速度提高了3倍,本发明实施例在解码第二计算阶段很好的达到了规模和速度的平衡。
可选的,本发明实施例根据所述乘积得出错误位置多项式的方式可以为:通过寄存器D将奇数序号的伴随式多项式和偶数序号的伴随式多项式作异或处理,得到修正因子;将所述乘积通过所述修正因子进行修正,得出错误位置多项式。
本发明实施例提供的BCH码解码方法,节省了计算逻辑和计算时间,减少了乘法器的使用个数,减小了关键路径延时,减小了解码所需成本。
下面对本发明实施例提供的BCH码解码装置进行介绍,下文描述的BCH码解码装置与上文描述的BCH码解码方法可相互对应参照。
图5为本发明实施例提供的BCH码解码装置的结构框图,该装置可应用于一种算法电路,该算法电路的列结构可如图2所示;该算法电路可认为是将图1电路结构中每一列的结构修改为图2所示电路结构后,所形成的电路;参照图5,该解码装置可以包括:
第一计算模块100,用于在第一计算阶段,计算t个奇数序号的伴随式多项式,其中t为BCH码的纠错位数;
第二计算模块200,用于在第二计算阶段,根据偶数序号的伴随式多项式为奇数序号的伴随式多项式的平方的特性,使用预定的一个乘法器串行计算各偶数序号的伴随式多项式,并在满足预定条件时,采用第二计算阶段所对应的两排乘法器计算错误位置多项式;
第三计算模块300,用于在第三计算阶段,计算截短码的起始位置,进行钱搜索。
可选的,所述预定条件为修正因子为零;
本发明实施例提供的BCH码解码装置,在第一计算阶段进行伴随式多项式计算时,利用第一排乘法器只计算奇数序号的伴随式多项式;而在第二计算阶段进行错误位置多项式的计算时,在使用到上述计算的奇数序号的伴随式多项式时,采用预定的一个乘法器逐个计算各奇数序号的下一偶数序号的伴随式多项式;从而将原来需要t(纠错位数)个乘法器来同时计算的电路结构,修改为利用t/2个乘法器,只计算出奇数项的伴随式,如s1,s3,s5,s7....等,偶数项的伴随式在第二计算阶段来边计算边使用,这样节省了计算逻辑和计算时间,减少了乘法器的使用个数,减小了关键路径延时,减小了解码所需成本;同时在第二计算阶段,使用对应的两排乘法器计算错误位置多项式;进而根据截断码的起始位置和第二多项式进行钱搜索,完成解码。本发明实施例提供的解码方法,节省了计算逻辑和计算时间,减少了乘法器的使用个数,减小了关键路径延时,减小了解码所需成本。
参照图2可以看出,本发明实施例提供的算法电路中还包括寄存器D,可选的,图6示出了本发明实施例提供的第二计算模块200的一种可选结构,参照图6,第二计算模块200可以包括:
乘积单元210,用于采用所述两排乘法器计算奇数序号的伴随式多项式和偶数序号的伴随式多项式的乘积;
得出单元220,用于根据所述乘积得出所述错误位置多项式。
可选的,图7示出了本发明实施例提供的得出单元220的一种可选结构,参照图7,得出单元220可以包括:
修正因子得出子单元221,用于将奇数序号的伴随式多项式和偶数序号的伴随式多项式作异或处理,得到修正因子;
修正子单元222,用于将所述乘积通过所述修正因子进行修正,得出错误位置多项式。
可选的,图8示出了本发明实施例提供的BCH码解码装置的另一结构框图,结合图5和图8所示,该装置还可以包括:
提前计算模块400,用于在第二计算阶段,根据修正因子在偶数次迭代过程中的结果始终为0的特性,在偶数次迭代过程中计算奇数次迭代时所对应的修正因子,而不在偶数次迭代过程中计算偶数次迭代时对应的修正因子和对应的辅助多项式系数。
可选的,图9示出了本发明实施例提供的第三计算模块300的一种可选结构,参照图9,第三计算模块300可以包括:
复用单元310,用于在计算出所述错误位置多项式后,复用所述两排乘法器中的第一排乘法器计算截短码的起始位置。
本发明实施例提供的BCH码解码装置,节省了计算逻辑和计算时间,减少了乘法器的使用个数,减小了关键路径延时,减小了解码所需成本。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种BCH码解码方法,其特征在于,所述方法包括:
在第一计算阶段,计算t个奇数序号的伴随式多项式,其中t为BCH码的纠错位数;
在第二计算阶段,根据偶数序号的伴随式多项式为奇数序号的伴随式多项式的平方的特性,使用预定的一个乘法器串行计算各偶数序号的伴随式多项式,并在满足预定条件时,采用第二计算阶段所对应的两排乘法器计算错误位置多项式;
在第三计算阶段,计算截短码的起始位置,进行钱搜索。
2.根据权利要求1所述的BCH码解码方法,其特征在于,所述预定条件为修正因子为零。
3.根据权利要求2所述的BCH码解码方法,其特征在于,所述采用错误位置多项式计算阶段所对应的两排乘法器计算所述错误位置多项式包括:
采用所述两排乘法器计算奇数序号的伴随式多项式和偶数序号的伴随式多项式的乘积,根据所述乘积得出所述错误位置多项式。
4.根据权利要求3所述的BCH码解码方法,其特征在于,所述根据所述乘积得出所述错误位置多项式包括:
将奇数序号的伴随式多项式和偶数序号的伴随式多项式作异或处理,得到修正因子,将所述乘积通过所述修正因子进行修正,得出错误位置多项式。
5.根据权利要求1或2所述的BCH码解码方法,其特征在于,所述方法还包括:
在第二计算阶段,根据修正因子在偶数次迭代过程中的结果始终为0的特性,在偶数次迭代过程中计算奇数次迭代时所对应的修正因子,而不在偶数次迭代过程中计算偶数次迭代时对应的修正因子和对应的辅助多项式系数。
6.根据权利要求1所述的BCH码解码方法,其特征在于,所述计算截短码的起始位置包括:
在计算出所述错误位置多项式后,复用所述两排乘法器中的第一排乘法器计算截短码的起始位置。
7.一种BCH码解码装置,其特征在于,包括:
第一计算模块,用于在第一计算阶段,计算t个奇数序号的伴随式多项式,其中t为BCH码的纠错位数;
第二计算模块,用于在第二计算阶段,根据偶数序号的伴随式多项式为奇数序号的伴随式多项式的平方的特性,使用预定的一个乘法器串行计算各偶数序号的伴随式多项式,并在满足预定条件时,采用第二计算阶段所对应的两排乘法器计算错误位置多项式;
第三计算模块,用于在第三计算阶段,计算截短码的起始位置,进行钱搜索。
8.根据权利要求7所述的BCH码解码装置,其特征在于,所述预定条件为修正因子为零,所述第二计算模块包括:
乘积单元,用于采用所述两排乘法器计算奇数序号的伴随式多项式和偶数序号的伴随式多项式的乘积;
得出单元,用于根据所述乘积得出所述错误位置多项式。
9.根据权利要求8所述的BCH码解码装置,其特征在于,所述得出单元包括:
修正因子得出子单元,用于将奇数序号的伴随式多项式和偶数序号的伴随式多项式作异或处理,得到修正因子;
修正子单元,用于将所述乘积通过所述修正因子进行修正,得出错误位置多项式。
10.根据权利要求9所述的BCH码解码装置,其特征在于,还包括:
提前计算模块,用于在第二计算阶段,根据修正因子在偶数次迭代过程中的结果始终为0的特性,在偶数次迭代过程中计算奇数次迭代时所对应的修正因子,而不在偶数次迭代过程中计算偶数次迭代时对应的修正因子和对应的辅助多项式系数。
11.根据权利要求7所述的BCH码解码装置,其特征在于,所述第三计算模块包括:
复用单元,用于在计算出所述错误位置多项式后,复用所述两排乘法器中的第一排乘法器计算截短码的起始位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410253127.4A CN105337619B (zh) | 2014-06-09 | 2014-06-09 | 一种bch码解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410253127.4A CN105337619B (zh) | 2014-06-09 | 2014-06-09 | 一种bch码解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105337619A true CN105337619A (zh) | 2016-02-17 |
CN105337619B CN105337619B (zh) | 2019-07-26 |
Family
ID=55287957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410253127.4A Active CN105337619B (zh) | 2014-06-09 | 2014-06-09 | 一种bch码解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105337619B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106067825A (zh) * | 2016-07-01 | 2016-11-02 | 建荣集成电路科技(珠海)有限公司 | Bch预搜索电路、bch解码电路、bch预搜索方法及bch纠错方法 |
CN106961283A (zh) * | 2017-03-31 | 2017-07-18 | 山东超越数控电子有限公司 | 一种基于bch译码器的ibm算法的优化方法 |
CN106961282A (zh) * | 2017-03-31 | 2017-07-18 | 山东超越数控电子有限公司 | 一种基于二元bch码的高速ibm算法结构的硬件实现方法 |
CN107181563A (zh) * | 2016-03-11 | 2017-09-19 | 富士施乐株式会社 | 解码装置、信息传输系统和解码方法 |
CN107204782A (zh) * | 2017-04-10 | 2017-09-26 | 北京大学 | 一种bch译码器及生成该译码器的编译器的实现方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488762A (zh) * | 2009-02-10 | 2009-07-22 | 苏州国芯科技有限公司 | 一种面积紧凑且快速的bch并行译码方法 |
CN101777922A (zh) * | 2010-01-12 | 2010-07-14 | 殷雪冰 | 用于BCH译码器的高速低延时Berlekamp-Massey迭代译码电路 |
CN102855940A (zh) * | 2012-06-19 | 2013-01-02 | 记忆科技(深圳)有限公司 | 伴随式的计算方法及其计算装置 |
CN102891689A (zh) * | 2012-09-26 | 2013-01-23 | 成都国微电子有限公司 | 一种错误位置多项式求解方法及装置 |
-
2014
- 2014-06-09 CN CN201410253127.4A patent/CN105337619B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488762A (zh) * | 2009-02-10 | 2009-07-22 | 苏州国芯科技有限公司 | 一种面积紧凑且快速的bch并行译码方法 |
CN101777922A (zh) * | 2010-01-12 | 2010-07-14 | 殷雪冰 | 用于BCH译码器的高速低延时Berlekamp-Massey迭代译码电路 |
CN102855940A (zh) * | 2012-06-19 | 2013-01-02 | 记忆科技(深圳)有限公司 | 伴随式的计算方法及其计算装置 |
CN102891689A (zh) * | 2012-09-26 | 2013-01-23 | 成都国微电子有限公司 | 一种错误位置多项式求解方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107181563A (zh) * | 2016-03-11 | 2017-09-19 | 富士施乐株式会社 | 解码装置、信息传输系统和解码方法 |
CN107181563B (zh) * | 2016-03-11 | 2021-03-30 | 富士施乐株式会社 | 解码装置、信息传输系统和解码方法 |
CN106067825A (zh) * | 2016-07-01 | 2016-11-02 | 建荣集成电路科技(珠海)有限公司 | Bch预搜索电路、bch解码电路、bch预搜索方法及bch纠错方法 |
CN106961283A (zh) * | 2017-03-31 | 2017-07-18 | 山东超越数控电子有限公司 | 一种基于bch译码器的ibm算法的优化方法 |
CN106961282A (zh) * | 2017-03-31 | 2017-07-18 | 山东超越数控电子有限公司 | 一种基于二元bch码的高速ibm算法结构的硬件实现方法 |
CN107204782A (zh) * | 2017-04-10 | 2017-09-26 | 北京大学 | 一种bch译码器及生成该译码器的编译器的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105337619B (zh) | 2019-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10187085B2 (en) | Decoding method, decoding apparatus and decoder | |
CN105337619A (zh) | 一种bch码解码方法及装置 | |
US20040078411A1 (en) | Galois field arithmetic unit for use within a processor | |
CN103762991B (zh) | 一种bch码译码方法及系统 | |
US20040078555A1 (en) | Processor having a finite field arithmetic unit | |
US7403964B2 (en) | Galois field multiplier array for use within a finite field arithmetic unit | |
KR100260415B1 (ko) | 고속시리얼에러위치다항식계산회로 | |
JP2004032737A (ja) | リード−ソロモン復号器 | |
EP1502356B1 (en) | A method of soft-decision decoding of reed-solomon codes | |
CN104218957A (zh) | 一种低硬件复杂度的rs译码器 | |
RU2314639C1 (ru) | Устройство декодирования кодов рида-соломона | |
CN102891689B (zh) | 一种错误位置多项式求解方法及装置 | |
WO2017146946A1 (en) | Methods and apparatus for performing reed-solomon encoding | |
US20190305800A1 (en) | Low-power block code forward error correction decoder | |
JP3343857B2 (ja) | 復号装置、演算装置およびこれらの方法 | |
US10067821B2 (en) | Apparatus and method for cyclic redundancy check | |
KR101805073B1 (ko) | 폴딩된 곱셈기가 적용된 bch 디코더 | |
US20180006664A1 (en) | Methods and apparatus for performing reed-solomon encoding by lagrangian polynomial fitting | |
CN108847851B (zh) | 一种二元bch码伴随式矩阵的实现方法 | |
CN113485751A (zh) | 执行伽罗瓦域乘法的方法、运算单元和电子装置 | |
TWI551059B (zh) | 用於具有不同GF(2m)中m值的BCH碼之多模式秦式搜尋電路 | |
JP2907138B2 (ja) | 誤り訂正の演算処理方法及び処理回路 | |
TWI514778B (zh) | 用於bch碼字之縮短秦式搜尋演算法延時的方法及電路 | |
TWI529614B (zh) | 用於伽羅瓦場的串列乘積累加器 | |
US9250862B2 (en) | Method and system of improved reed-solomon decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |