《一种BCH码译码方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种BCH码译码方法和装置.pdf(16页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102045073A43申请公布日20110504CN102045073ACN102045073A21申请号200910205545522申请日20091026H03M13/1520060171申请人成都市华为赛门铁克科技有限公司地址611731四川省成都市高新区西部园区清水河片区72发明人邢继元张琴梁剑74专利代理机构北京三友知识产权代理有限公司11127代理人任默闻54发明名称一种BCH码译码方法和装置57摘要本发明实施例提供一种BCH码译码方法和装置,所述方法包括根据接收码计算伴随式;利用迭代算法根据所述伴随式求解错误位置多项式;利用钱式搜索算法根据所述错误位置多项式确。
2、定错误位置;对所述确定的错误位置上的错误值进行纠错得到恢复码。本发明实施例的BCH码译码方法和装置通过对RIBM算法的改进,使并行BM迭代算法在资源和速度上都得到了优化。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书4页说明书7页附图4页CN102045077A1/4页21一种BCH码译码方法,其特征在于,所述方法包括根据接收码计算伴随式;利用迭代算法根据所述伴随式计算错误位置多项式,包括设置错误位置多项式在零次迭代下的初始值和所述错误位置多项式的辅助多项式在零次迭代下的初始值为零;设置错误值多项式在零次迭代下的初始值和所述错误值多项式的辅助多项式在零次迭代下的初始值。
3、为所述伴随式的系数;设置错误位置多项式在零次迭代零次幂下的初始值和所述错误位置多项式的辅助多项式在零次迭代零次幂下的初始值为1;设置迭代系数在零次迭代下的初始值为0;设置迭代限制条件在零次迭代下的初始值为1;根据上述设置的初始值计算错误值多项式的辅助多项式、错误位置多项式的辅助多项式、迭代系数以及迭代限制条件;根据上述设置的初始值以及根据上述计算获得的错误值多项式的辅助多项式、错误位置多项式的辅助多项式、迭代系数以及迭代限制条件,计算错误值多项式;根据上述设置的初始值以及根据上述计算获得的计算错误值多项式、错误值多项式的辅助多项式、错误位置多项式的辅助多项式、迭代系数以及迭代限制条件计算错误位。
4、置多项式,获得错误位置多项式;利用钱式搜索算法根据所述错误位置多项式确定错误位置;对所述确定的错误位置上的错误值进行纠错得到恢复码。2根据权利要求1所述的方法,其特征在于错误位置多项式在零次迭代下的初始值和所述错误位置多项式的辅助多项式在零次迭代下的初始值为零表示为I0BI00其中,I1,2,T;错误值多项式在零次迭代下的初始值和所述错误值多项式的辅助多项式在零次迭代下的初始值为所述伴随式的系数,数学式表示为其中,SI为所述伴随式的系数,I0,1,2T1;错误位置多项式在零次迭代零次幂下的初始值和所述错误位置多项式的辅助多项式在零次迭代零次幂下的初始值为1,数学式表示为00B001;迭代系数在。
5、零次迭代下的初始值为0,数学式表示为K00;迭代限制条件在零次迭代下的初始值为1,数学式表示为01。3根据权利要求2所述的方法,其特征在于,根据上述设置的初始值计算错误值多项式的辅助多项式、错误位置多项式的辅助多项式、迭代系数以及迭代限制条件,包括根据所述设置的初始值和下式计算错误值多项式的辅助多项式、错误位置多项式的辅助多项式、迭代系数以及迭代限制条件如果0R0并且KR0,则否则,其中,R为权利要求书CN102045073ACN102045077A2/4页3迭代次数,I为次方项。4根据权利要求3所述的方法,其特征在于,根据上述设置的初始值以及根据上述计算获得的错误值多项式的辅助多项式、错误位。
6、置多项式的辅助多项式、迭代系数以及迭代限制条件,计算错误值多项式,包括利用下式,根据上述设置的初始值以及经过上述计算获得错误值多项式的辅助多项式、错误位置多项式的辅助多项式、迭代系数以及迭代限制条件,计算错误值多项式;5根据权利要求4所述的方法,其特征在于,根据上述设置的初始值以及根据上述计算获得的计算错误值多项式、错误值多项式的辅助多项式、错误位置多项式的辅助多项式、迭代系数以及迭代限制条件计算错误位置多项式,获得错误位置多项式,包括利用下式,根据上述设置的初始值以及经过上述计算获得的计算错误值多项式、错误值多项式的辅助多项式、错误位置多项式的辅助多项式、迭代系数以及迭代限制条件计算错误位置。
7、多项式获得错误位置多项式,表示为其中,I0,1,T。6一种BCH码译码装置,其特征在于,所述装置包括第一计算单元,用于根据接收码计算伴随式;第二计算单元,用于利用迭代算法根据所述伴随式计算错误位置多项式,该第二计算单元包括设置模块,用于设置错误位置多项式在零次迭代下的初始值和所述错误位置多项式的辅助多项式在零次迭代下的初始值为零;设置错误值多项式在零次迭代下的初始值和所述错误值多项式的辅助多项式在零次迭代下的初始值为所述伴随式的系数;设置错误位置多项式在零次迭代零次幂下的初始值和所述错误位置多项式的辅助多项式在零次迭代零次幂下的初始值为1;设置迭代系数在零次迭代下的初始值为0;设置迭代限制条件。
8、在零次迭代下的初始值为1;控制模块,用于根据设置模块设置的初始值计算错误值多项式的辅助多项式、错误位置多项式的辅助多项式、迭代系数以及迭代限制条件;第一计算模块,用于根据设置模块设置的初始值以及控制模块的计算结果计算错误值多项式;第二计算模块,用于根据设置模块设置的初始值以及控制模块和第一计算模块的计算结果计算错误位置多项式,获得错误位置多项式;确定单元,用于利用钱式搜索算法根据所述错误位置多项式确定错误位置;纠错单元,用于对所述确定单元确定的错误位置上的错误值进行纠错得到恢复码。7根据权利要求6所述的装置,其特征在于,所述设置模块设置的初始值具体为错误位置多项式在零次迭代下的初始值和所述错误。
9、位置多项式的辅助多项式在零次迭代下的初始值为零表示为I0BI00其中,I1,2,T;权利要求书CN102045073ACN102045077A3/4页4错误值多项式在零次迭代下的初始值和所述错误值多项式的辅助多项式在零次迭代下的初始值为所述伴随式的系数,数学式表示为其中,SI为所述伴随式的系数,I0,1,2T1;错误位置多项式在零次迭代零次幂下的初始值和所述错误位置多项式的辅助多项式在零次迭代零次幂下的初始值为1,数学式表示为00B001;迭代系数在零次迭代下的初始值为0,数学式表示为K00;迭代限制条件在零次迭代下的初始值为1,数学式表示为01。8根据权利要求7所述的装置,其特征在于,所述控。
10、制模块包括接收子模块,用于接收所述设置模块设置的迭代限制条件的初始值,以及第零次幂的错误值多项式的系数;判断子模块,用于根据所述第零次幂的错误值多项式的系数和所述迭代限制条件的初始值,判断所述第零次幂的错误值多项式的系数是否为零,以及所述迭代限制条件的初始值是否大于等于零,并据此产生下一次迭代的控制指令、以及下一次迭代的迭代系数R1;其中,下一次迭代的控制指令包括下一次迭代的错误位置多项式的辅助多项式的系数下一次迭代的错误值多项式的辅助多项式的系数以及下一次迭代的迭代限制条件KR1;其中,如果0R0并且KR0,则否则,其中,R为迭代次数,I为次方项。9根据权利要求8所述的装置,其特征在于,所述。
11、第一计算模块包括2T个第一计算子模块,分别根据公式进行第0次幂至第2T1次幂的迭代运算,其中,每一个第一计算子模块包括第一乘法器,用于对上一次幂的错误值多项式的系数和本次迭代的迭代系数进行乘法运算;第一数据选择器,用于根据控制模块的控制指令,从所述上一次幂的错误值多项式的系数以及错误值多项式的辅助多项式的系数中选择一个;第一寄存器,用于存储所述第一数据选择器的输出,作为所述第一数据选择器的错误值多项式的辅助多项式的系数的输入;第二乘法器,用于对第零次幂的错误值多项式的系数和所述错误值多项式的辅助多项式的系数进行乘法运算;第一加法器,用于对所述第一乘法器的乘法运算结果和所述第二乘法器的乘法运算结。
12、果进行相加,得到错误值多项式的系数;权利要求书CN102045073ACN102045077A4/4页5第二寄存器,用于存储所述错误值多项式的系数,并输出。10根据权利要求9所述的装置,其特征在于,所述第二计算模块包括T个第二计算子模块,分别根据公式进行第0次幂至第T次幂的迭代运算,其中,每一个第二计算子模块包括第三乘法器,用于对本次迭代的迭代系数和错误位置多项式的系数进行乘法运算;第四乘法器,用于对第零次幂的错误值多项式的系数和下一次幂的错误位置多项式的辅助多项式的系数进行乘法运算;第二数据选择器,用于根据控制模块的控制指令,从所述错误位置多项式的系数和所述前一次幂的错误位置多项式的辅助多项。
13、式的系数中选择一个;第三寄存器,用于存储所述第二数据选择器的输出,作为本次幂的错误位置多项式的辅助多项式的系数输出;第二加法器,用于对所述第三乘法器的乘法运算结果和所述第四乘法器的乘法运算结果进行相加;第四寄存器,用于存储所述第二加法器的加法运算结果,并作为错误位置多项式的系数输出。权利要求书CN102045073ACN102045077A1/7页6一种BCH码译码方法和装置技术领域0001本发明涉及通信技术领域,尤其涉及一种BCH码译码方法和装置。背景技术0002目前,NAND与非闪存在功耗、速度、数据可靠性、重量以及静音等方面具有非常明显的优势,随着轻薄型笔记本电脑在整个PCPERSONA。
14、LCOMPUTER,个人计算机市场份额的持续增加,NAND的这些优势变得更加具有吸引力,基于NAND闪存的固态存储盘SSD,SOLIDSTATEDISK正在逐步走入这些应用。0003NAND闪存可分为两大架构单层单元SLCSINGLELEVELCELL和多层单元MLCMULTILEVELCELL,MLC由于成本低,容量大,但其工作性能不如SLC稳定,据统计,采用MLCNAND闪存MLCNANDFLASHMEMORY存取数据的误码率大概为105,为保证读取数据的准确性,需采用纠错码ECCERRORCORRECTIONCODE技术对其实现纠多比特BIT随机错误。0004针对BCH编译码的实现,译码。
15、是难点,在所有的译码算法中常用的有PETERSON算法、BERLEKAMPMASSEY迭代算法简称BM法、欧几里得EUCLID算法。其中,PETERSON算法适用纠错数较少的译码,它的计算量在上述三种算法中最大;BM算法和EUCLID算法适用于纠错数较大的译码器,EUCLID算法比BM迭代算法容易理解,但运算量较大,且比BM迭代算法的硬件结构复杂。另外考虑到二进制BCH码的特殊性,所以在设计中采用译码速度快而最常用的BM迭代算法。0005发明人在实现本发明的过程中发现,在BM迭代算法中,包括常用的IBMINVERSIONLESSBERLECAMPMASSEY算法和RIBMREFORMULATI。
16、ONINVERSIONLESSBERLECAMPMASSEY算法,其中,RIBM算法是对IBM算法的推导和改进,其关键路径缩短为原来的一半,大大提高了VLSI设计性能,但是,RIBM算法是针对RSREEDSOLOMON码提出的适用于FPGA设计的并行BM迭代算法,由于RS码为BCH码的特例,其译码过程比BCH码复杂,因此,如果将RIBM算法应用于普遍的BCH码的译码过程中,将造成资源的极大浪费。发明内容0006本发明实施例提供一种BCH码译码方法和装置,能够在占用较少的FPGA资源并保证高速的前提下,实现BCH码译码。0007本发明实施例的上述目的是通过如下技术方案实现的0008一种BCH码译。
17、码方法,所述方法包括根据接收码计算伴随式;利用迭代算法根据所述伴随式计算错误位置多项式;利用钱式搜索算法根据所述错误位置多项式确定错误位置;对所述确定的错误位置上的错误值进行纠错得到恢复码。其中,利用迭代算法根据所述伴随式计算错误位置多项式包括设置错误位置多项式在零次迭代下的初始值和所述错误位置多项式的辅助多项式在零次迭代下的初始值为零;设置错误值多项式在零次迭代下说明书CN102045073ACN102045077A2/7页7的初始值和所述错误值多项式的辅助多项式在零次迭代下的初始值为所述伴随式的系数;设置错误位置多项式在零次迭代零次幂下的初始值和所述错误位置多项式的辅助多项式在零次迭代零次。
18、幂下的初始值为1;设置迭代系数在零次迭代下的初始值为0;设置迭代限制条件在零次迭代下的初始值为1;根据上述设置的初始值计算错误值多项式的辅助多项式、错误位置多项式的辅助多项式、迭代系数以及迭代限制条件;根据上述设置的初始值以及根据上述计算获得的错误值多项式的辅助多项式、错误位置多项式的辅助多项式、迭代系数以及迭代限制条件,计算错误值多项式;根据上述设置的初始值以及根据上述计算获得的计算错误值多项式、错误值多项式的辅助多项式、错误位置多项式的辅助多项式、迭代系数以及迭代限制条件计算错误位置多项式,获得错误位置多项式。0009一种BCH码译码装置,所述装置包括第一计算单元,用于根据接收码计算伴随式。
19、;第二计算单元,用于利用迭代算法根据所述伴随式计算错误位置多项式;确定单元,用于利用钱式搜索算法根据所述错误位置多项式确定错误位置;纠错单元,用于对所述确定单元确定的错误位置上的错误值进行纠错得到恢复码。其中,第二计算单元包括设置模块,用于设置错误位置多项式在零次迭代下的初始值和所述错误位置多项式的辅助多项式在零次迭代下的初始值为零;设置错误值多项式在零次迭代下的初始值和所述错误值多项式的辅助多项式在零次迭代下的初始值为所述伴随式的系数;设置错误位置多项式在零次迭代零次幂下的初始值和所述错误位置多项式的辅助多项式在零次迭代零次幂下的初始值为1;设置迭代系数在零次迭代下的初始值为0;设置迭代限制。
20、条件在零次迭代下的初始值为1;控制模块,用于根据设置模块设置的初始值计算错误值多项式的辅助多项式、错误位置多项式的辅助多项式、迭代系数以及迭代限制条件;第一计算模块,用于根据设置模块设置的初始值以及控制模块的计算结果计算错误值多项式;第二计算模块,用于根据设置模块设置的初始值以及控制模块和第一计算模块的计算结果计算错误位置多项式,获得错误位置多项式。0010本发明实施例的BCH码译码方法和装置,根据BCH二进制码制的特点,对RIBM译码方法进行了两点优化,即当迭代次R为奇数次时,差值R恒为0,因此,可以将迭代2T次迭代减少为T次;且RS码译码中需要用错误值多项式R纠错,而对于二进制BCH码,其。
21、纠正值必为1,因此错误值多项式R可以被简化。如此,本发明实施例在占用较少的FPGA资源并保证高速实现的情况下,实现了BCH译码方法中的难点,即根据伴随式求错误位置多项式,并且,通过对RIBM算法的改进,使并行BM迭代算法在资源和速度上都得到了优化。附图说明0011此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中0012图1为本发明实施例的BCH码译码方法流程图;0013图2为图1所示实施例的步骤102的流程图;0014图3为本发明实施例BCH码译码装置的组成示意图;0015图4为本发明实施例的第一计算模块的电路组成示意图;0016图5为图4所示。
22、的第一计算模块的简化示意图;说明书CN102045073ACN102045077A3/7页80017图6为本发明实施例的多个第一计算模块的电路组成示意图;0018图7为本发明实施例的控制模块的电路组成示意图;0019图8为本发明实施例的第二计算模块的电路组成示意图;0020图9为图6所示的第二计算模块的简化示意图;0021图10为本发明实施例的多个第二计算模块的电路组成示意图;0022图11为本发明实施例的第二计算单元的电路组成示意图。具体实施方式0023为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明。
23、用于解释本发明,但并不作为对本发明的限定。0024图1为本发明实施例提供的一种BCH码译码方法流程图,在本实施例中,错误位置多项式表示为错误位置多项式的辅助多项式表示为错误值多项式表示为错误值多项式的辅助多项式表示为其中,为第R次迭代中错误位置多项式R,Z中ZI的系数;R为迭代次数;I为对应变量Z的次方项;IR为第R次迭代中错误值多项式R,Z中ZI的系数;BIR为第R次迭代时,错误位置多项式的辅助多项式BR,Z中ZI的系数;IR为第R次迭代时,错误值多项式的辅助多项式R,Z中ZI的系数;R为转换成无逆算法时,乘以的迭代系数;KR为迭代中为保证求得唯一解的限制条件。请参照图1,该方法包括0025。
24、101根据接收码计算伴随式;0026其中,接收码是指接收到的经过编码的数据,在本实施例中,需要采用本实施例的方法对该数据进行译码。在本实施例中,为了叙述方便,将接收码表示为RZ,伴随式表示为SZ,伴随式的系数表示为SI。0027102利用迭代算法根据所述伴随式计算错误位置多项式,请参照图2,具体包括0028201设置错误位置多项式在零次迭代下的初始值和所述错误位置多项式的辅助多项式在零次迭代下的初始值为零;设置错误值多项式在零次迭代下的初始值和所述错误值多项式的辅助多项式在零次迭代下的初始值为所述伴随式的系数;设置错误位置多项式在零次迭代零次幂下的初始值和所述错误位置多项式的辅助多项式在零次迭。
25、代零次幂下的初始值为1;设置迭代系数在零次迭代下的初始值为0;设置迭代限制条件在零次迭代下的初始值为1;0029其中,错误位置多项式在零次迭代下的初始值和所述错误位置多项式的辅助多项式在零次迭代下的初始值为零可以表示为I0BI00其中,I1,2,T。0030其中,错误值多项式在零次迭代下的初始值和所述错误值多项式的辅助多项式在零次迭代下的初始值为所述伴随式的系数,可以表示为其中,SI为所述伴随式的系数,I0,1,2T1。说明书CN102045073ACN102045077A4/7页90031其中,错误位置多项式在零次迭代零次幂下的初始值和所述错误位置多项式的辅助多项式在零次迭代零次幂下的初始值。
26、为1,可以表示为00B001。0032其中,迭代系数在零次迭代下的初始值为0,可以表示为K00。0033其中,迭代限制条件在零次迭代下的初始值为1,可以表示为01。0034202根据上述设置的初始值计算错误值多项式的辅助多项式、错误位置多项式的辅助多项式、迭代系数以及迭代限制条件;0035其中,如果0R0并且KR0,则0036否则,其中,R为迭代次数,I为次方项。0037203根据上述设置的初始值以及根据上述计算获得的错误值多项式的辅助多项式、错误位置多项式的辅助多项式、迭代系数以及迭代限制条件,计算错误值多项式;0038其中,0039204根据上述设置的初始值以及根据上述计算获得的计算错误值。
27、多项式、错误值多项式的辅助多项式、错误位置多项式的辅助多项式、迭代系数以及迭代限制条件计算错误位置多项式,获得错误位置多项式。0040其中,0041其中,获得的错误位置多项式可以表示为其中,I0,1,T。0042103利用钱式搜索算法根据所述错误位置多项式确定错误位置;0043根据前述步骤计算获得错误位置多项式后,即可通过现有技术的手段,利用钱式搜索算法根据所述错误位置多项式确定错误位置,在此不再赘述。0044104对所述确定的错误位置上的错误值进行纠错得到恢复码。0045根据前述步骤确定了错误位置后,即可利用现有技术的手段对该错误位置上的错误值进行纠错,进而得到恢复码,在此不再赘述。0046。
28、本发明实施例的BCH码译码方法,根据BCH二进制码制的特点,对RIBM译码方法进行了两点优化,即当迭代次R为奇数次时,差值R恒为0,因此,可以将迭代2T次迭代减少为T次;且RS码译码中需要用错误值多项式R纠错,而对于二进制BCH码,其纠正值必为1,因此错误值多项式R可以被简化。0047图3为本发明实施例提供的一种BCH码译码装置组成框图,请参照图3,该装置基于RIBM算法,主要包括第一计算单元31、第二计算单元32、确定单元33以及纠错单元34,其中0048第一计算单元31用于根据接收码计算伴随式。具体已经在步骤101作了说明,在此不再赘述。说明书CN102045073ACN102045077。
29、A5/7页100049第二计算单元32用于利用迭代算法根据所述伴随式求解错误位置多项式,在本实施例中,该第二计算单元32包括设置模块321、控制模块322、第一计算模块323以及第二计算模块324,其中0050设置模块321用于设置错误位置多项式在零次迭代下的初始值和所述错误位置多项式的辅助多项式在零次迭代下的初始值为零;设置错误值多项式在零次迭代下的初始值和所述错误值多项式的辅助多项式在零次迭代下的初始值为所述伴随式的系数;设置错误位置多项式在零次迭代零次幂下的初始值和所述错误位置多项式的辅助多项式在零次迭代零次幂下的初始值为1;设置迭代系数在零次迭代下的初始值为0;设置迭代限制条件在零次迭。
30、代下的初始值为1。具体已在步骤201中作了详细说明,在此不再赘述。0051控制模块322用于根据设置模块321设置的初始值计算错误值多项式的辅助多项式、错误位置多项式的辅助多项式、迭代系数以及迭代限制条件。具体已在步骤202中作了详细说明。在本实施例中,该控制模块322可以包括0052接收子模块,用于接收所述设置模块321设置的迭代限制条件的初始值,以及第零次幂的错误值多项式的系数;0053判断子模块,用于根据所述第零次幂的错误值多项式的系数和所述迭代限制条件的初始值,判断所述第零次幂的错误值多项式的系数是否为零,以及所述迭代限制条件的初始值是否大于等于零,并据此产生下一次迭代的控制指令、以及。
31、下一次迭代的迭代系数R1。其中,下一次迭代的控制指令包括下一次迭代的错误位置多项式的辅助多项式的系数下一次迭代的错误值多项式的辅助多项式的系数以及下一次迭代的迭代限制条件KR1。其中,如果0R0并且KR0,则0054否则,0055其中,R为迭代次数,I为次方项。0056在本实施例中,该控制模块322可以通过图4所示的控制电路来实现,但本实施例并不以此作为限制,任何用于实现前述公式和方法的控制电路都可以用来实现本发明实施例的控制模块322。0057第一计算模块323用于根据设置模块321设置的初始值以及控制模块322的计算结果计算错误值多项式。具体已在步骤203中作了详细说明。在本实施例中,该第。
32、一计算模块323可以包括2T个第一计算子模块,每一个第一计算子模块分别根据公式0058进行第0次幂至第2T1次幂的迭代运算,其中,每一个第一计算子模块包括0059第一乘法器,用于对上一次幂的错误值多项式的系数和本次迭代的迭代系数进行乘法运算;0060第一数据选择器,用于根据控制模块的控制指令,从所述上一次幂的错误值多项式的系数以及错误值多项式的辅助多项式的系数中选择一个;说明书CN102045073ACN102045077A6/7页110061第一寄存器,用于存储所述第一数据选择器的输出,作为所述第一数据选择器的错误值多项式的辅助多项式的系数的输入;0062第二乘法器,用于对第零次幂的错误值多。
33、项式的系数和所述错误值多项式的辅助多项式的系数进行乘法运算;0063第一加法器,用于对所述第一乘法器的乘法运算结果和所述第二乘法器的乘法运算结果进行相加,得到错误值多项式的系数;0064第二寄存器,用于存储所述错误值多项式的系数,并输出。0065在本实施例中,第一计算子模块可以通过图5所示的电路组成实现,可以通过图6所示的附图的PE1I来表示,并且,本实施例的2T个第一计算子模块可以分别通过图7所示的附图的PE10PE12T1来表示。0066第二计算模块324用于根据设置模块设置的初始值以及控制模块和第一计算模块的计算结果计算错误位置多项式,获得错误位置多项式。具体已在步骤204作了说明,在本。
34、实施例中,该第二计算模块324包括T个第二计算子模块,分别根据公式0067进行第0次幂至第T次幂的迭代运算,其中,每一个第二计算子模块包括0068第三乘法器,用于对本次迭代的迭代系数和错误位置多项式的系数进行乘法运算;0069第四乘法器,用于对第零次幂的错误值多项式的系数和下一次幂的错误位置多项式的辅助多项式的系数进行乘法运算;0070第二数据选择器,用于根据控制模块的控制指令,从所述错误位置多项式的系数和所述前一次幂的错误位置多项式的辅助多项式的系数中选择一个;0071第三寄存器,用于存储所述第二数据选择器的输出,作为本次幂的错误位置多项式的辅助多项式的系数输出;0072第二加法器,用于对所。
35、述第三乘法器的乘法运算结果和所述第四乘法器的乘法运算结果进行相加;0073第四寄存器,用于存储所述第二加法器的加法运算结果,并作为错误位置多项式的系数输出。0074在本实施例中,第一计算子模块可以通过图5所示的电路组成实现,可以通过图6所示的附图的PE1I来表示,并且,本实施例的2T个第一计算子模块可以分别通过图7所示的附图的PE10PE12T1来表示。0075在本实施例中,第二计算子模块123可以通过图8所示的电路组成来实现,可以通过图9所示的附图的PEOI来表示,并且,本实施例的T个第二计算子模块可以分别通过图10所示的附图的PE0TPE00来表示。0076再请参照图11,其为本发明实施例。
36、的第二计算单元32的电路实现示意图,如图11所示,该第二计算单元32包括设置模块图未示、2T个第一计算子模块111、控制模块112以及T个第二计算模块113,具体的功能已在前述说明,在此不再赘述。0077确定单元33用于利用钱式搜索算法根据第二计算单元32计算获得的错误位置多说明书CN102045073ACN102045077A7/7页12项式确定错误位置。0078其中,该确定单元33可以通过现有技术的手段完成,在此不再赘述。0079纠错单元34用于对确定单元33确定的错误位置上的错误值进行纠错得到恢复码。0080其中,该纠错单元34也可以通过现有技术的手段完成,在此不再赘述。0081本发明实。
37、施例的BCH码译码装置,根据BCH二进制码制的特点,对RIBM译码方法进行了两点优化,即当迭代次R为奇数次时,差值R恒为0,因此,可以将迭代2T次迭代减少为T次;且RS码译码中需要用错误值多项式R纠错,而对于二进制BCH码,其纠正值必为1,因此错误值多项式R可以被简化。如此,本发明实施例在占用较少的FPGA资源并保证高速实现的情况下,实现了BCH译码方法中的难点,即根据伴随式求错误位置多项式,并且,通过对RIBM算法的改进,使并行BM迭代算法在资源和速度上都得到了优化。0082以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。说明书CN102045073ACN102045077A1/4页13图1图2说明书附图CN102045073ACN102045077A2/4页14图3图4说明书附图CN102045073ACN102045077A3/4页15图5图6图7图8图9说明书附图CN102045073ACN102045077A4/4页16图10图11说明书附图CN102045073A。