CN106549677B - 高速并行bch码译码方法及装置 - Google Patents

高速并行bch码译码方法及装置 Download PDF

Info

Publication number
CN106549677B
CN106549677B CN201610744515.1A CN201610744515A CN106549677B CN 106549677 B CN106549677 B CN 106549677B CN 201610744515 A CN201610744515 A CN 201610744515A CN 106549677 B CN106549677 B CN 106549677B
Authority
CN
China
Prior art keywords
parallel
bch code
code
polynomial
syndrome
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.)
Active
Application number
CN201610744515.1A
Other languages
English (en)
Other versions
CN106549677A (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.)
Aerospace Star Technology Co Ltd
Original Assignee
Aerospace Star Technology 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 Aerospace Star Technology Co Ltd filed Critical Aerospace Star Technology Co Ltd
Priority to CN201610744515.1A priority Critical patent/CN106549677B/zh
Publication of CN106549677A publication Critical patent/CN106549677A/zh
Application granted granted Critical
Publication of CN106549677B publication Critical patent/CN106549677B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本发明公开了一种高速并行BCH码译码方法和装置,所述方法包括:将输入的数据根据实际处理速率需要转换成并行的BCH码字符号;按工作时钟计算伴随式系数,并行输出伴随式的计算结果;根据并行伴随式计算的结果采用改进欧几里得算法迭代计算输出错误位置多项式的各项系数;将每个码字比特对应的根带入错误位置多项式,将错误比特纠正后并行输出。基于本发明的技术方案,解决了传统译码方法资源占用较多、运算量大、计算效率较低的技术问题。

Description

高速并行BCH码译码方法及装置
技术领域
本发明属于数字信息传输技术领域,具体涉及一种高速并行BCH码译码方法及装置。
背景技术
在通信系统前向纠错编码技术中,BCH码是一种最基本的分组循环码,具有很好的纠错能力。特别是在短和中等码长下,其性能很接近于理论值,并且构造方便,编码简单。在DVB-S2标准中,提出采用LDPC码和BCH码级联的方式实现信道编码,BCH码很好的解决了LDPC码的错误平层问题。为了满足多种不同的宽带卫星应用和卫星信道中的抗噪声性能,DVB-S2中根据帧格式和LDPC码率的不同,一共给出了码字参数不同的22组BCH码,这些BCH码码长较长,是目前已知的对BCH实现要求最为复杂的一次应用,并且由于目前对于数据信息速率的高要求,需要实现高达上百兆的数据吞吐率,如何实现高速并行的BCH码编码成为十分迫切的需要。
BCH码是一种伽罗华域(有限域)上的分组循环码,其运算均在给定的有限域上进行。伽罗华域是由域生成多项式确定其运算方式,不同的域生成多项式对应不同的BCH码,相同的域生成多项式又可以根据不同的码生成多项式定义具有不同纠错能力的BCH码。
根据编译码理论,BCH码的译码过程主要包括伴随式的求解、错误位置多项式的求解以及钱搜索过程。伴随式的并行求解过程目前的方法已经比较成熟,并行度较高,实现起来较容易。
对于错误位置多项式的求解,目前多采用一种通用的改进欧几里得算法实现,该方法需要采用迭代求解的方式,在实现过程中主要需要用到的就是伽罗华域上的通用乘法器。
在实现伽罗华域的通用乘法器时,目前主要有两种方式,一种是查表法,采用查找表方式需要占用一定的存储资源(对位宽为m的扩展域,共有个基元素,因而查找表的大小为比特),对于DVB-S2标准,由于其码长较长,m=14或16,采用查找表会占用大量的存储器资源,且每次查表只能得到一次有限域乘法结果,不便于并行实现;另一种是直接采用组合逻辑实现通用乘法器,这种方法在化简乘积多项式时需要涉及到伽罗华域的除法运算或者根据域生成多项式对生成的复杂多项式系数通过局部最优化简法等方法进行约减运算,运算量也很大,需要占用较多逻辑资源。
另外,在采用改进欧几里得算法迭代求解错误位置多项式的过程中,目前的方法对于迭代过程中的中间过程多项式的存储也会占用一定的硬件资源,并且存储完整的多项式在输出时还会造成不必要的延时。
钱搜索过程是根据错误位置多项式的计算结果,利用试根的方法求取错位置,最终完成译码。在进行钱搜索时,需要注意BCH码可能采用截短码的方式以满足特定帧结构的要求,也就是说实际采用的BCH码并不是一个完整的BCH码块,而是在待编码的BCH码块前加入虚拟填充的若干个“0”bit,在实际信道传输过程中并不传输填充的“0”bit,这样就使得BCH码可以具有灵活的码长,在译码过程中,需要先将虚拟填充的“0”bit加入待译码的BCH码块前方进行运算,译码完成后再将填充的“0”bit去掉,加入和去掉“0”bit的操作会增加译码延时,同时也会增加不必要的运算,另外,在并行译码处理的过程中,对于并行的每一路数据都要计算迭代的初始值,初始值的求解需要大量伽罗华域上的可变因子乘法运算,会占用大量系统资源,但初始值求解只需求取一次在剩下的迭代过程中就不会继续变化了,这就造成了硬件资源的浪费。
发明内容
技术问题
有鉴于此,本发明实施例提供一种高速并行BCH码译码方法和装置,解决传统BCH译码方法资源占用较多、运算量大、计算效率较低的技术问题。
问题的解决方案
一种高速并行BCH码译码方法,包括:
将输入的数据根据实际处理速率需要转换成并行的BCH码字符号;
按工作时钟计算伴随式系数,并行输出伴随式的计算结果;
根据并行伴随式计算的结果采用改进欧几里得算法迭代计算输出错误位置多项式的各项系数;
将每个码字比特对应的根带入错误位置多项式,将错误比特纠正后并行输出。
优选的,所述根据并行伴随式计算的结果采用改进欧几里得算法迭代计算输出错误位置多项式的各项系数,包括:在伽罗华域上将元素的幂次表达式置换为多项式表达式。
优选的,所述根据并行伴随式计算的结果采用改进欧几里得算法迭代计算输出错误位置多项式的各项系数,包括:在迭代过程中,采用序贯移出法对多项式进行消元,去除系数为0的幂次项,延时输出与所述幂次项的数量对应的时钟周期。
优选的,所述将每个码字比特对应的根带入错误位置多项式,将错误比特纠正后并行输出,包括:
对错误位置多项式,提取在整个迭代过程中保持不变的固定因子,在初始化时计算该固定因子的值,并保存作为迭代初始值;
根据所述迭代初始值,通过迭代方式计算所述错误位置多项式。
优选的,所述将每个码字比特对应的根带入错误位置多项式,将错误比特纠正后并行输出,还包括:
对截短码方式的BCH码,将所述BCH码中第一个非零位对应的固定因子的值作为迭代初始值。
一种高速并行BCH码译码装置,包括:
数据串并转换模块,将输入的数据根据实际处理速率需要转换成并行的BCH码字符号;
BCH码并行伴随式计算模块,按工作时钟计算伴随式系数,并行输出伴随式的计算结果;
BCH码并行错误位置多项式计算模块,根据并行伴随式计算的结果采用改进欧几里得算法迭代计算输出错误位置多项式的各项系数;
BCH码并行钱搜索模块,将每个码字比特对应的根带入错误位置多项式,将错误比特纠正后并行输出。
优选的,所述BCH码并行伴随式计算模块,包括:在伽罗华域上将元素的幂次表达式置换为多项式表达式。
优选的,所述BCH码并行伴随式计算模块,包括:这迭代过程中,采用序贯移出法对多项式进行消元,去除系数为0的幂次项,延时输出与所述幂次项的数量对应的时钟周期。
优选的,所述BCH码并行错误位置多项式计算模块,包括:
对错误位置多项式,提取在整个迭代过程中保持不变的固定因子,在初始化时计算该固定因子的值,并保存作为迭代初始值;
根据所述迭代初始值,通过迭代方式计算所述错误位置多项式。
优选的,所述BCH码并行错误位置多项式计算模块。还包括:
对于截短码方式的BCH码,将该BCH码中第一个非零位对应的所述固定因子的值作为迭代初始值。
本发明的有益效果
采用上述技术方案,本发明/实用新型至少可取得下述技术效果:
相较于传统BCH译码方法而言,本发明的技术方案能够有效地减少资源占用,降低运算量,并大幅提高计算效率,使得本发明的译码方法能够更好地满足高速数字信息传输中对实时性和并行性的要求,提高了信道适应能力。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他的附图。
图1是本发明实施例所述的高速并行BCH码译码方法流程图;
图2是示例性的求解错误位置多项式的流程图;
图3是示例性的序贯消元策略示意图;
图4是示例性的钱搜索过程示意图;
图5是本发明实施例所述的高速并行BCH码译码装置结构框图。
贯穿附图,应该注意的是,相似的标号用于描绘相同或相似的元件、特征和结构。
具体实施方式
提供以下参照附图的描述来帮助全面理解由权利要求及其等同物限定的本公开的各种实施例。以下描述包括帮助理解的各种具体细节,但是这些细节将被视为仅是示例性的。因此,本领域普通技术人员将认识到,在不脱离本公开的范围和精神的情况下,可对本文所述的各种实施例进行各种改变和修改。另外,为了清晰和简洁,公知功能和构造的描述可被省略。
以下描述和权利要求书中所使用的术语和词汇不限于文献含义,而是仅由发明人用来使本公开能够被清晰和一致地理解。因此,对于本领域技术人员而言应该明显的是,提供以下对本公开的各种实施例的描述仅是为了示例性目的,而非限制由所附权利要求及其等同物限定的本公开的目的。
应该理解,除非上下文明确另外指示,否则单数形式也包括复数指代。因此,例如,对“组件表面”的引用包括对一个或更多个这样的表面的引用。
图1是本实施例所述的高速并行BCH码译码方法流程图。
参考图1所示,本实施例所述的高速并行BCH码译码方法包括如下步骤:
S1、数据串并转换步骤,将输入的数据根据实际处理速率需要转换成并行的BCH码字符号;
S2、BCH码并行伴随式计算步骤,按工作时钟计算伴随式系数,并行输出伴随式的计算结果;
上述步骤S1和S2与现有技术中对BCH码进行译码时的相应操作基本相同,在此不再赘述。
S3、BCH码并行错误位置多项式计算步骤,根据并行伴随式计算的结果采用改进欧几里得算法迭代计算输出错误位置多项式的各项系数;
在得到伴随式(t为BCH码纠错位数)后,就可以按照改进的欧几里得算法求取错误位置多项式σ(x)=σ01x+ +σtxt,具体迭代过程如图2所示。
在改进的欧几里得算法中,迭代的初始值定义为
R0(x)=x2t
λ0(x)=x
μ0(x)=1
每一次迭代计算的公式如下
Ri+1(x)=βRi(x)+αxdQi(x)
Qi+1(x)=Qi(x)
λi+1(x)=βλi(x)+αxdμi(x)
μi+1(x)=μi(x) (1)
其中,d=degree(R)-degree(Q),即多项式Ri(x)和Qi(x)的幂次差,α为多项式Ri(x)的最高项系数,β为多项式Qi(x)的最高项系数。每次迭代计算前,都需要比较R(x)的系数是否小于Q(x)的次数,若小于,则先交换R(x)和Q(x) 的值,并相应的交换λ(x)和μ(x)的值,然后再进行下一次迭代计算。
由迭代公式可以看出,经过一次迭代后,至少完成了一次消元运算,多项式Ri+1(x)的幂次至少降低一次,与此相反,多项式λi+1(x)的幂次逐渐升高。迭代计算一直进行到degree(R)<t或degree(Q)<t为止。根据多项式理论,此时,多项式λ(x)满足degree(λ)<=t,λ(x)即为所求的错误位置多项式。
从以上过程可以看出,每一步迭代都涉及到通用乘法器的运算,通用乘法器即给定两个不同的乘数a和b,求两数的乘积c的过程,在伽罗华域GF(2m)中的每个数都可以表示为a=(am-1,am-2,,a0)=am-1αm-1+am-2αm-2++a1α+a0
由此可知其中c的各项系数可以展开成
c0=a0b0
c1=a0b1+a1b0
ck=a0bk+a1bk-1++akb0
c2m-2=am-1bm-1 (2)
上面的公式就是简单的二进制乘法。对于伽罗华域的乘法,它与简单的二进制的乘法的不同之处在于αl(m≤l≤2m-2)可以通过域生成多项式进行化简,对于GF(2m),其域生成多项式可以表示成本原元α为域生成多项式的根,即满足F(α)=0,进一步可知由此可知乘积c的高于m-1的幂次最终可以通过域生成多项式转化成α的低次幂。
本发明在通用乘法器的设计中,先不考虑用域生成多项式化简的要求,简单的将公式(2)看成是一个二进制乘法,利用乘加器的思路,采用流水线的思想设计此通用二进制乘法器,首先在一个时钟周期内完成单比特的与运算(在二元域中,与运算相当于乘运算)aibj,然后在下一个时钟周期内完成加运算由于乘/加操作都是对于单比特进行乘/加操作,因此并不复杂,不会占用过多硬件资源,利用两个系统时钟就可以完成此二进制乘法。
接下来对于伽罗华域的高次幂进行化简,本发明采用域置换的方式完成高次幂的化简。前一步求得的cl中,l的最大值为2m-2,对于cl(m≤l≤2m-2),可以利用域生成多项式进行化简,化简的方式是在伽罗华域上进行元素的幂次表达式与多项式表达式之间的域置换,cl对应的是本原元α的l次幂的系数,在初始化阶段,可以利用Matlab程序求得
αl=(lm-1,lm-2,,l0)=lm-1αm-1+lm-2αm-2++l1α+l0(其中,m≤l≤2m-2),即用Matlab将本原元的l次幂置换为本原元的多项式表达式,并将其作为初始化的值带入公式
clαl=(cllm-1,cllm-2,,cll0),最后求得c=(c′m-1,c′m-2,,c′1,c′0),其中
最终完成伽罗华域的通用乘法计算。对于不同的域生成多项式,只需修改Matlab生成函数,从而得到不同的本原元的多项式表达式即可。目前已知的对于BCH码的最复杂的应用就是DVB-S2标准中的应用,其中m的最大值为16,这种情况下,所需的用于存储本原元多项式表达式的存储空间为m×(2m-1-m)=240bit,占用的存储空间非常少。
进一步地,还可以采用序贯消元策略进一步简化计算过程。
如图3所示,并由公式(1)可以看出,在每一次迭代过程中,都要先找到Ri(x)和Qi(x)的最高次幂,然后取其系数再进行化简,这样在寻找最高次幂的过程会消耗较多时钟周期,增加译码延时。为了克服这个缺点,本发明采用序贯消元的策略,在每一次迭代时,如果从开始计算到Ri+1(x)的第j次幂的系数ri+1,j=βri,j+αqi,j-d(其中下标i表示迭代次数,下标j表示xj所对应的系数)一直为0,则直接将其从运算过程中去除(消元),具体实现时可以将输出使能直接后移一个时钟周期,但是由于Qi+1(x)=Qi(x),Qi+1(x)的最高次幂应该与前一次迭代的Qi(x)最高次幂相同,不能与Ri+1(x)一样做消元运算,因此要记录Ri+1(x)经过本次迭代后,由于系数为0而被去除(消元)的幂次个数,将输入Qi(x)做相应的延时输出以保证Ri+1(x)和Qi+1(x)最开始输出的都是各自非0的最高次幂。这样做的好处还有在下一次迭代时不必重新查找最高次非0次幂就直接得到了其系数α和β,因为经过上一次迭代的调整,Ri+1(x)和Qi+1(x)的最高次非0幂会最先输入。
对于λi+1(x)和μi+1(x),其幂次是逐渐递增的,并且在迭代过程中其幂次始终小于Ri+1(x)和Qi+1(x),当其幂次等于t时,迭代过程就结束,令λi+1(x)与Ri+1(x)同步消元移出,令μi+1(x)与Qi+1(x)同步延时输出,并不会丢失λi+1(x)或μi+1(x)的高次幂。目前已知的对于BCH码的最复杂的应用就是DVB-S2标准中的应用,其中m的最大值为16,纠错能力t的最大值为12,这种情况下,如果不采用序贯消元策略而是在每次迭代时都要重新查找非0的最高次幂并且存储所有的系数,若采用16路并行处理,则总共需要的处理延时为(t+(t-1)+…+1)×2=156个工作时钟周期,存储空间为m×2t×4×2×16=49152bit。采用序贯消元策略后,这些处理延时和存储空间都可以省略。
基于以上分析可知,在迭代过程中,采用序贯移出法对多项式进行消元,去除不用的高次幂,节省了存储空间,提高了硬件利用率和处理速度。
在上述通过域置换及序贯消元的方式完成迭代过程,求出错误位置多项式的值后,就可以执行步骤S4,利用钱搜索查找错误位置,最终完成纠错译码。
S4、BCH码并行钱搜索步骤,将每个码字比特对应的根带入错误位置多项式,求得错误位置多项式的根,即找到错误位置,再将错误比特纠正后并行输出。
得到错误位置多项式后,根据BCH码的译码理论,错误位置多项式的根就对应码字的错误位置,由于BCH码是二元码,求得错误位置就等于求得了错误图样,只需将对应的错误位置处进行0和1转换就能完成纠错。本发明提供了一种预置迭代初始值的方法,避免了并行迭代处理过程中建立初始值所需的复杂运算,用较少的存储空间换取了大面积的硬件资源,并且充分考虑BCH码截短码的需求,可以适应不同长度的截短码长需要,下面进行详细说明。
错误位置多项式可以表示为
σ(x)=σ01x++σtxt
设接收码字多项式为R(x)=rn-1xn-1+rn-2xn-2++r1x+r0,根据BCH译码理论,为了检验第1位rn-1是否有错,相当于译码器要确定α-(n-1)=αn-(n-1)=α是否为错误位置多项式σ(x)的根,即检验σ(α)=0是否成立,以此类推,检验第k位rn-k是否有错,相当于检验σ(αk)=0是否成立,这就是钱搜索算法的基本思想。
对于并行处理,假设并行路数为p,在第i拍,需要求解的错误位置多项式也p个,其表达式为
从式(3)可以看出,其中每一项都含有(αkp)i(0≤k≤t),对于这个特殊子项,每迭代一次,i加1,只需乘以αkp就可以了。对于j取不同值的Δk,j=σkkj)(0≤k≤t,1≤j≤p),这个因子在整个迭代过程中并不改变,因此可以在初始化时计算其值后存储起来,即采用预置迭代初始值的方式。观察初始值之间的相互联系,可以看出Δk,j=σkαkj=(σkαk(j-1))·αk=Δk,j-1·αk,Δk,j可以由Δk,j-1乘以αk得到,为了减少硬件资源,可以先求出j=1时的Δk,1(1≤k≤t)(k=0时,Δ0,1=σ0)的值,再通过迭代的方式Δk,j=Δk,j-1·αk,经过p-1个时钟周期就可以求得所有的Δk,j值,对于DVB-S2标准,采用16路并行处理时(P=16),存储迭代初始值所需占用的存储空间为p×t×m=3072bit,用较少的存储资源换得了直接求得所有Δk,j值所需的大量伽罗华域运算。
另外,在进行钱搜索时,BCH码可能采用截短码的方式以满足特定帧结构的要求,即,在待编码的BCH码块前加入虚拟填充的q个“0”bit,“0”bit也参加编码过程,但在信道传输过程中并不传输填充的q个“0”bit,在译码过程中,对于填充的q个“0”bit,可以认为其没有错误,不需要进行纠错,纠错过程从第q+1bit开始,即最开始校验的就是αq+1是不是错误位置多项式的根。对于本发明所述的方法,只需修改钱搜索过程中的初始值就可以适应各种BCH码的截短码需求,可以先求出时对应的的值,再通过迭代的方式,经过p-1个时钟周期,每个周期对于就可以求得所有的初始值,接下来就只需在每次迭代时,将每一子项乘以固定乘数αkp,由此用本发明所提供的方法可以适应各种不同的截短码需求。
采用本发明所述的方法,在工作时钟为150MHz、16路并行处理时,译码速率可以达到150M×16=2.4G,相较于现有技术而言,具有明显的速率提升。
另一方面,本发明还提供一种高速并行BCH码译码装置,如图5所示,所述译码装置500包括:
数据串并转换模块501,将输入的数据根据实际处理速率需要转换成并行的BCH码字符号;
BCH码并行伴随式计算模块502,按工作时钟计算伴随式系数,并行输出伴随式的计算结果;
BCH码并行错误位置多项式计算模块503,根据并行伴随式计算的结果采用改进欧几里得算法迭代计算输出错误位置多项式的各项系数;
BCH码并行钱搜索模块504,将每个码字比特对应的根带入错误位置多项式,求得错误位置多项式的根,即找到错误位置,再将错误比特纠正后并行输出。
本实施例所述的译码装置与前述实施例所述的译码方法相对应,具体功能的实现方式以及所取得的技术效果与前述实施例基本相同,在此不再赘述。
采用上述技术方案,该实施例可取得以下的技术效果:
1.本发明在采用改进欧几里得算法求解错误位置多项式时,利用域置换的方式化简通用乘法器的高阶项,该方式能够简化通用乘法器的实现过程,并且可根据不同的域生成多项式通过加载不同初始值的方法适应各种不同域的BCH译码;
2.本发明在采用改进欧几里得算法求解错误位置多项式时,在具体迭代过程中,采用序贯消元策略完成多项式的消元化简操作,消除不用的高次幂,减少了译码延时,节省了存储空间,并提高了硬件利用率;
3.本发明在钱搜索查找错误位置的过程中,提供了一种预置迭代初始值的方法,避免了并行处理过程中建立初始值所需的复杂运算,用较少的存储空间换取了大面积的硬件资源,并且充分考虑BCH码截短码的需求,可以适应不同长度的截短码长需要,处理灵活方便。
综上所述,相较于传统BCH译码方法而言,本发明的技术方案能够有效地减少资源占用,降低运算量,并大幅提高计算效率,使得本发明的译码方法能够更好地满足高速数字信息传输中对实时性和并行性的要求,提高了信道适应能力。
应该注意的是,如上所述的本公开的各种实施例通常在一定程度上涉及输入数据的处理和输出数据的生成。此输入数据处理和输出数据生成可在硬件或者与硬件结合的软件中实现。例如,可在移动装置或者相似或相关的电路中采用特定电子组件以用于实现与如上所述本公开的各种实施例关联的功能。另选地,依据所存储的指令来操作的一个或更多个处理器可实现与如上所述本公开的各种实施例关联的功能。如果是这样,则这些指令可被存储在一个或更多个非暂时性处理器可读介质上,这是在本公开的范围内。处理器可读介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光学数据存储装置。另外,用于实现本公开的功能计算机程序、指令和指令段可由本公开所属领域的程序员容易地解释。
尽管已参照本公开的各种实施例示出并描述了本公开,但是本领域技术人员将理解,在不脱离由所附权利要求及其等同物限定的本公开的精神和范围的情况下,可对其进行形式和细节上的各种改变。

Claims (8)

1.一种高速并行BCH码译码方法,其特征在于,包括:将输入的数据根据实际处理速率需要转换成并行的BCH码字符号;
按工作时钟计算伴随式系数,并行输出伴随式的计算结果;
根据并行伴随式计算的结果采用改进欧几里得算法迭代计算输出错误位置多项式的各项系数;
将每个码字比特对应的根带入错误位置多项式,将错误比特纠正后并行输出;其中,
所述根据并行伴随式计算的结果采用改进欧几里得算法迭代计算输出错误位置多项式的各项系数,包括:在迭代过程中,采用序贯移出法对多项式进行消元,去除系数为0的幂次项,延时输出与所述幂次项的数量对应的时钟周期。
2.如权利要求1所述的一种高速并行BCH码译码方法,其特征在于,所述根据并行伴随式计算的结果采用改进欧几里得算法迭代计算输出错误位置多项式的各项系数,包括:在伽罗华域上将元素的幂次表达式置换为多项式表达式。
3.如权利要求1所述的一种高速并行BCH码译码方法,其特征在于,所述将每个码字比特对应的根带入错误位置多项式,将错误比特纠正后并行输出,包括:对错误位置多项式,提取在整个迭代过程中保持不变的固定因子,在初始化时计算该固定因子的值,并保存作为迭代初始值;根据所述迭代初始值,通过迭代方式计算所述错误位置多项式。
4.如权利要求3所述的一种高速并行BCH码译码方法,其特征在于,所述将每个码字比特对应的根带入错误位置多项式,将错误比特纠正后并行输出,还包括:对截短码方式的BCH码,将所述BCH码中第一个非零位对应的固定因子的值作为迭代初始值。
5.一种高速并行BCH码译码装置,其特征在于,包括:
数据串并转换模块,将输入的数据根据实际处理速率需要转换成并行的BCH码字符号;
BCH码并行伴随式计算模块,按工作时钟计算伴随式系数,并行输出伴随式的计算结果;
BCH码并行错误位置多项式计算模块,根据并行伴随式计算的结果采用改进欧几里得算法迭代计算输出错误位置多项式的各项系数;
BCH码并行钱搜索模块,将每个码字比特对应的根带入错误位置多项式,将错误比特纠正后并行输出;其中,
所述BCH码并行伴随式计算模块,包括:这迭代过程中,采用序贯移出法对多项式进行消元,去除系数为0的幂次项,延时输出与所述幂次项的数量对应的时钟周期。
6.如权利要求5所述的一种高速并行BCH码译码装置,其特征在于,所述BCH码并行伴随式计算模块,包括:在伽罗华域上将元素的幂次表达式置换为多项式表达式。
7.如权利要求5所述的一种高速并行BCH码译码装置,其特征在于,所述BCH码并行错误位置多项式计算模块,包括:对错误位置多项式,提取在整个迭代过程中保持不变的固定因子,在初始化时计算该固定因子的值,并保存作为迭代初始值;根据所述迭代初始值,通过迭代方式计算所述错误位置多项式。
8.如权利要求7所述的一种高速并行BCH码译码装置,其特征在于,所述BCH码并行错误位置多项式计算模块, 还包括:对于截短码方式的BCH码,将该BCH码中第一个非零位对应的所述固定因子的值作为迭代初始值。
CN201610744515.1A 2016-08-28 2016-08-28 高速并行bch码译码方法及装置 Active CN106549677B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610744515.1A CN106549677B (zh) 2016-08-28 2016-08-28 高速并行bch码译码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610744515.1A CN106549677B (zh) 2016-08-28 2016-08-28 高速并行bch码译码方法及装置

Publications (2)

Publication Number Publication Date
CN106549677A CN106549677A (zh) 2017-03-29
CN106549677B true CN106549677B (zh) 2019-10-25

Family

ID=58369417

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610744515.1A Active CN106549677B (zh) 2016-08-28 2016-08-28 高速并行bch码译码方法及装置

Country Status (1)

Country Link
CN (1) CN106549677B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108847851B (zh) * 2018-06-08 2022-03-22 超越科技股份有限公司 一种二元bch码伴随式矩阵的实现方法
CN111510160A (zh) * 2020-05-13 2020-08-07 中国人民解放军军事科学院战争研究院 一种截断卷积编码优化构造方法
CN116470990B (zh) * 2023-04-26 2023-10-03 苏州联讯仪器股份有限公司 一种错误码元标志数量确定方法、装置、设备及介质
CN117081611B (zh) * 2023-10-17 2024-03-26 北京融为科技有限公司 一种基于并行处理的译码方法和设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252361A (zh) * 2007-10-11 2008-08-27 深圳市中兴集成电路设计有限责任公司 一种支持预搜索的面积紧凑型bch并行译码电路
KR20110046851A (ko) * 2009-10-29 2011-05-06 인하대학교 산학협력단 Bch 복호기를 위한 고속 소면적 파이프라인 폴딩 방식 벨르캄프-메시 알고리즘 연산 회로 및 그 방법
CN102170327A (zh) * 2011-04-06 2011-08-31 烽火通信科技股份有限公司 超强前向纠错的硬件译码方法及装置
CN102655443A (zh) * 2011-03-04 2012-09-05 上海华虹集成电路有限责任公司 修正欧几里德算法的部分并行实现方法及装置
CN105812000A (zh) * 2016-03-03 2016-07-27 西安电子科技大学 一种改进的bch软判决译码方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252361A (zh) * 2007-10-11 2008-08-27 深圳市中兴集成电路设计有限责任公司 一种支持预搜索的面积紧凑型bch并行译码电路
KR20110046851A (ko) * 2009-10-29 2011-05-06 인하대학교 산학협력단 Bch 복호기를 위한 고속 소면적 파이프라인 폴딩 방식 벨르캄프-메시 알고리즘 연산 회로 및 그 방법
CN102655443A (zh) * 2011-03-04 2012-09-05 上海华虹集成电路有限责任公司 修正欧几里德算法的部分并行实现方法及装置
CN102170327A (zh) * 2011-04-06 2011-08-31 烽火通信科技股份有限公司 超强前向纠错的硬件译码方法及装置
CN105812000A (zh) * 2016-03-03 2016-07-27 西安电子科技大学 一种改进的bch软判决译码方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"High-speed Decoding of BCH Codes Using a New Error-Evaluation Algorithm";Toshio Horiguchi等;《Electronics and Communications in Japan》;19891231;第72卷(第12期);2183-2191 *
"星载遥控译码器的ASIC实现";花磊;《中国优秀硕士学位论文全文数据库 信息科技辑》;20080715(第07(2008)期);正文第4.4.2-4.4.7节 *

Also Published As

Publication number Publication date
CN106549677A (zh) 2017-03-29

Similar Documents

Publication Publication Date Title
Leroux et al. Hardware architectures for successive cancellation decoding of polar codes
CN106549677B (zh) 高速并行bch码译码方法及装置
Lee A high-speed low-complexity Reed-Solomon decoder for optical communications
TW297190B (zh)
Chang et al. New serial architecture for the Berlekamp-Massey algorithm
KR100260415B1 (ko) 고속시리얼에러위치다항식계산회로
Zhu et al. High-speed re-encoder design for algebraic soft-decision Reed-Solomon decoding
CN101692612A (zh) 多规格里德-所罗门编解码方法、装置及系统
Lin et al. A 2.56 Gb/s soft RS (255, 239) decoder chip for optical communication systems
CN100417031C (zh) 宽带无线接入系统中里德索洛门卷积级联码的实现方法
CN115632662A (zh) 一种rs译码中的伴随式计算方法、装置、设备及介质
KR100963015B1 (ko) 고속 저복잡 BCH 복호기의 불합도 계산이 필요 없는 RiBM 알고리즘을 이용한 오류위치 연산 방법 및 오류위치 연산 회로
Zhang et al. Systematically re-encoded algebraic soft-decision Reed–Solomon decoder
US20180006664A1 (en) Methods and apparatus for performing reed-solomon encoding by lagrangian polynomial fitting
CN108847851B (zh) 一种二元bch码伴随式矩阵的实现方法
Zhang et al. Low-complexity transformed encoder architectures for quasi-cyclic nonbinary LDPC codes over subfields
Subbiah et al. Fast BCH syndrome generator using parallel polynomial division algorithm for GPGPUs
Lu et al. Efficient architecture for Reed-Solomon decoder
Dash et al. VLSI implementation of Reed-Solomon encoder algorithm for communication systems
Deepa et al. A high speed VLSI architecture of a pipelined reed solomon encoder for data storage in communication systems
Raj et al. An advanced architecture with low complexity of partially parallel polar encoder
Lu et al. High-speed low-complexity architecture for Reed-Solomon decoders
KR101226439B1 (ko) 리드-솔로몬 디코더, 이를 포함하는 메모리 시스템 및 디코딩 방법
Zhang et al. Efficient Reencoder Architectures for Algebraic Soft-Decision Reed–Solomon Decoding
Zhang et al. Low-power high-efficiency architecture for low-complexity chase soft-decision Reed–Solomon decoding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant