一种参数可变的bch码编码器及译码器的制作方法

文档序号:7525800阅读:235来源:国知局
专利名称:一种参数可变的bch码编码器及译码器的制作方法
技术领域
本发明涉及一种BCH码编译码器,具体涉及了一种参数可变的BCH码编码、译码器,属于通信技术领域的纠错码技术。

背景技术
在数字通信系统中,实际信道传输信号时,由于信道传输特性的不理想和加性噪声的干扰,使得收到的数字信号不可避免地会发生错误。信道纠错码正是为保证信息传输的可靠性,提高传输质量而设计的一种编码方式。BCH码是信道纠错码中应用比较普遍的一类线性分组码。
为了提高通信系统对信道条件的自适应能力,可根据信道状况选择纠错能力不同的BCH码。在码字长度一定的情况下,当信道条件较好时,可以选择纠错数目较少的BCH码,以提高码率;当信道条件较差时,可以选择纠错数目多的码,以提高系统的抗干扰性能。
但是,不同参数的BCH码具有不同的编码器和译码器结构。通常情况下,系统若采用参数可变的BCH码,则需要针对各种参数的BCH码设计多套BCH码编译码器,从而消耗大量的硬件资源。
本发明针对码字长度一定、码字中信息位长度可变的BCH码,设计了一种编码、译码器结构,使得参数不同的BCH码可以复用一套编码、译码器结构,从而节省了参数可变的BCH码编码、译码器所消耗的硬件资源。


发明内容
本发明的目的是提出一种码字长度一定、码字中信息位长度可变的BCH系统码编码、译码器结构。设参数可变的BCH码的码字长度为n,n=2m-1。信息位长度k共有L种不同的取值,则该BCH码包含L组不同的参数,分别为(n,k1),(n,k2),…,(n,kl),…,(n,kL),其中1≤l≤L,且k1<k2<…<kL。每种参数的BCH码的生成多项式为码字中校验位长度为rl=n-kl,纠错比特数为 本发明提出的BCH系统码编码、译码器结构,以校验位长度最长的BCH码(即参数为(n,k1)的BCH码)的编码、译码器结构作为基本结构。
本发明的技术方案为 一种参数可变的BCH码编码器,其特征在于BCH码编码器中的每个乘法器的生成多项式系数输入端分别与一选择器的输出端连接,且每一所述选择器的选择控制输入端分别连接至BCH码参数控制端、每一所述选择器的L个数据输入端分别与一BCH码生成多项式的系数输出端连接;其中L为BCH码参数可选数目。
所述L组参数的BCH码中校验位长度的最大值确定编码器中的寄存器单元数目。
所述寄存器单元为1比特的寄存器。
所述乘法器为具有2个1比特输入的乘法器;所述编码器中的加法器为具有2个1比特输入的模2加法器。
一种参数可变的BCH码译码器,包括计算伴随多项式模块、求错误位置多项式模块、Chien搜索模块、缓存模块和纠错译码模块;所述计算伴随多项式模块、求错误位置多项式模块、Chien搜索模块和纠错译码模块依次连接;所述缓存模块的输入端、所述计算伴随多项式模块的输入端分别与接收码字端连接,所述缓存模块的输出端与纠错译码模块输入端连接;所述求错误位置多项式模块包括错误值多项式迭代电路和错误位置多项式迭代电路,所述错误值多项式迭代电路包括δ值选择电路和γ值选择电路;其特征在于所述δ值选择电路中输出每种参数BCH码的δl值的寄存器输出端分别与一选择器1的一数据输入端连接,所述选择器1的输出值为δ值;所述γ值选择电路中输出每种参数BCH码的γl值的寄存器输出端分别与一选择器2的一数据输入端连接,所述选择器2的输出值为γ值;所述选择器1的选择控制输入端和选择器2的选择控制输入端分别与BCH码参数控制端连接;其中1≤l≤L,L为BCH码参数可选数目。
所述错误值多项式迭代电路和错误位置多项式迭代电路中寄存器数目N根据L组参数的BCH码中校验位长度最大值对应的纠错比特数tmax确定;其中N=4tmax+1。
所述错误值多项式迭代电路中,当BCH码参数为第l种码时,输出第l种参数BCH码的γl值的寄存器初始化值为1,输出其它参数BCH码的γ值的寄存器初始化为0。
所述计算伴随多项式模块中,除了用于计算校验位长度最小的BCH码的伴随多项式的寄存器外,其它每个寄存器的输出端分别与一选择器的数据输入端连接,且每个选择器的另一个数据输入端为0,选择控制输入端分别连接至BCH码参数控制端。
所述Chien搜索模块中寄存器

初始化为所述错误位置多项式迭代电路中对应于用于计算第l种参数BCH码的错误位置寄存器

的输出值,所述Chien搜索模块中其余寄存器初始化为0;其中所述寄存器

为用于搜索所述第l种参数BCH码中接收码字的错误位置,所述Chien搜索模块中寄存器数目为tmax+1。
所述错误值多项式迭代电路中的乘法器为具有2个m比特输入的伽罗华域GF(2m)上的乘法器;所述错误值多项式迭代电路中的加法器为具有2个m比特输入的伽罗华域GF(2m)上的加法器;根据公式n=2m-1确定所述m值,其中n为BCH码的码字长度。
参数可变的BCH码编码器的基本结构及其工作过程如下 参数可变的BCH码编码器结构如图2所示,其中,‘×’表示2个1比特输入的乘法器、‘+’表示2个1比特输入的模2加法器、‘D’表示1比特的寄存器、‘门’表示开关、‘MUX’表示选择器;在现有的编码器结构(如图1所示)中的每个乘法器前添加一个选择器,根据BCH码参数,选择相应的生成多项式系数。对于(n,kl)码,结构中乘法器的乘数分别为
参数可变的BCH码编码器的工作过程为 1)所有寄存器初始化为0; 2)门1开,输入信息位数据,门2输出信息位数据; 3)当信息位数据输入完毕后,门1关闭,门2输出移位寄存器中的校验位数据。
参数可变的BCH码译码器的译码步骤、基本结构及其工作过程如下 参数可变的BCH码译码器的译码步骤为 a)根据接收码字计算伴随多项式S(x); b)根据接收码字的伴随多项式S(x),利用Euclid算法,解关键方程S(x)σ(x)=ω(x)modx2t,其中deg(σ(x))≤t,deg(ω(x))≤t-1,求出错误位置多项式σ(x),ω(x)为错误值多项式; c)根据错误位置多项式σ(x),利用Chien搜索算法,求出错误位置; d)根据错误位置对接收码字进行纠错译码。
BCH码译码器的结构框图如图3所示,包括计算伴随多项式模块、求错误位置多项式模块、Chien搜索模块、缓存模块和纠错译码模块。其中,缓存模块用于对接收的码字进行存储,等待Chien搜索模块计算出错误位置后,纠错译码模块读取存储的码字进行纠错译码。
进一步,步骤a)中所述的计算伴随多项式的具体结构及其工作过程如下 参数可变的BCH码的计算伴随多项式的结构如图5所示,其中,‘×’表示2个m比特输入的伽罗华域GF(2m)上的乘法器、‘+’表示2个m比特输入的伽罗华域GF(2m)上的加法器、‘D’表示m比特的寄存器、‘MUX’表示选择器;在现有的计算伴随多项式结构(如图4所示)中,在

输出端前添加选择器,根据BCH码参数,在接收码字输入完毕后,选择寄存器中的值或0作为输出;其工作过程为 1)所有寄存器初始化为0; 2)输入接收码字; 3)当接收码字输入完毕后,对于(n,kl)码,

的值为寄存器

中的数据,即伴随多项式的系数


的值为0。
进一步,步骤b)中所述的求错误位置多项式的Euclid算法的步骤为 1)初始化,迭代次数i=0; ω(a)(x)=x2t,σ(a)(x)=0;ω(b)(x)=S(x),σ(b)(x)=1; 2)如果i=2t,则停止迭代;否则就进行以下运算 a)ω(b)(x)←ω(b)(x)·x,σ(b)(x)←σ(b)(x)·x; b) c)ω(c)(x)=δ·ω(a)(x)+γ·ω(b)(x),σ(c)(x)=δ·σ(a)(x)+γ·σ(b)(x); d)如果δ=0,ω(a)(x)←ω(a)(x),σ(a)(x)←σ(a)(x); 否则ω(a)(x)←ω(b)(x),σ(a)(x)←σ(b)(x); e)ω(b)(x)←ω(c)(x),σ(b)(x)←σ(c)(x)。
3)迭代次数i=i+1,返回2)。
当进行完2t次迭代计算后,σ(b)(x)的2t+1个系数中的高t+1个为错误位置多项式σ(x)的t+1个系数。
进一步,步骤b)中所述的求错误位置多项式的基本结构及其工作过程如下 现有的求错误位置多项式的基本结构如图6所示,其中‘×’表示2个m比特输入的伽罗华域GF(2m)上的乘法器、‘+’表示2个m比特输入的伽罗华域GF(2m)上的加法器;‘ω’和‘σ’表示m比特的寄存器、‘MUX’表示选择器。
其中图6(a)是错误值迭代的基本结构,图6(b)是错误位置迭代的基本结构。寄存器

初始化为计算伴随多项式模块的输出

寄存器

初始化为0,寄存器

初始化为0,…,0,1,寄存器

初始化为1,0,…,0,寄存器σ(a)全部初始化为0。迭代完成后,寄存器

中的数据为错误位置多项式σ1(x)的系数
对于不同的BCH码可以复用此求错误位置多项式的结构。参数可变的BCH码的错误值迭代的基本结构如图7所示,其中‘×’表示2个m比特输入的伽罗华域GF(2m)上的乘法器、‘+’表示2个m比特输入的伽罗华域GF(2m)上的加法器、‘ω’和‘σ’表示m比特的寄存器、‘MUX’表示选择器;δ和γ分别通过一个选择器,根据BCH码参数,选择相应寄存器中的输出。对于(n,kl)码,δ取自寄存器

γ取自寄存器

错误位置迭代的基本结构与现有的结构相同,但工作过程有所不同。
参数可变的BCH码的求错误位置多项式基本结构的工作过程为 1)寄存器

初始化为计算伴随多项式模块的输出

寄存器

初始化为0;寄存器

初始化为1,0,…,0;寄存器σ(a)全部初始化为0; 对于(n,kl)码,寄存器

初始化为0,…,0,1,0,…0; 2)对于(n,kl)码,进行2tl次迭代运算; 3)迭代完毕后,对于(n,kl)码,寄存器

中的数据为错误位置多项式σl(x)的系数
进一步,步骤c)中所述的Chien搜索的基本结构及其工作过程如下 参数可变的BCH码的Chien搜索的基本结构如图8所示,其中‘×’表示2个m比特输入的伽罗华域GF(2m)上的乘法器、‘+’表示2个m比特输入的伽罗华域GF(2m)上的加法器、‘D’表示m比特的寄存器;其与现有的Chien搜索结构相同,但工作过程有所不同。其工作过程为 1)对于(n,kl)码,寄存器

初始化为错误位置多项式系数

寄存器

初始化为0。
2)进行迭代运算,对于(n,kl)码,每次迭代后加法器的输出结果σl(αi)(1≤i≤n)为0, 则表示第i比特接收码字有错误。
本发明的优点和技术效果在于 1.采用本发明提出的参数可变的BCH码编码、译码器,可以增强系统对信道条件的自适应能力。
2.本发明提出的参数可变的BCH码编码、译码器结构通过复用的方式,节省了硬件资源。



图1参数不变的BCH码编码器结构图; 图2参数可变的BCH码编码器结构图; 图3BCH码译码器结构框图; 图4参数不变的BCH码的计算伴随多项式结构图; 图5参数可变的BCH码的计算伴随多项式结构图; 图6参数不变的BCH码的求错误位置多项式结构图; (a)错误值多项式迭代电路,(b)错误位置多项式迭代电路, 图7参数可变的BCH码的错误值多项式迭代电路结构图; 图8参数可变的Chien搜索结构图; 图9两种码时参数可变的BCH码编码器结构图; 图10两种码时参数可变的BCH码的计算伴随多项式结构图; 图11两种码时参数可变的BCH码的求错误位置多项式结构图; (a)错误值多项式迭代电路,(b)错误位置多项式迭代电路, 图12两种码时参数可变的BCH码的Chien搜索结构图。

具体实施例方式 下面分别列举本发明的2个具体实施例,但不构成对本发明的限制。
例1参数可变的BCH码选取两种码,分别为(511,475)系统码和(511,439)系统码。伽罗华域GF(29),即m=9。(511,439)码的校验位长度r1=72,纠错比特数为t1=8,生成多项式为(511,475)码的校验位长度r2=36,纠错比特数为t2=4,生成多项式为 参数可变的BCH码编码器结构如图9所示,选取(511,439)码的结构为基本结构,当BCH码为(511,439)码时,乘法器的乘数为g1,0,g1,1,…,g1,36,…,g1,71;当BCH码为(511,475)码时,乘法器的乘数为

其工作过程为 1)所有寄存器初始化为0; 2)门1开,输入信息位数据,门2输出信息位数据; 3)当信息位数据输入完毕后,门1关闭,门2输出移位寄存器中的校验位数据。
例2参数可变的BCH码选取两种码,分别为(511,475)系统码和(511,439)系统码。伽罗华域GF(29),即m=9。(511,439)码的校验位长度r1=72,纠错比特数为t1=8,生成多项式为(511,475)码的校验位长度r2=36,纠错比特数为t2=4,生成多项式为 选取(511,439)码的译码器结构为基本结构。按以下步骤进行译码 a)计算伴随多项式 两种码的计算伴随多项式结构如图10所示,其中‘×’表示2个9比特输入的伽罗华域GF(29)上的乘法器、‘+’表示2个9比特输入的伽罗华域GF(29)上的加法器、‘D’表示9比特的寄存器、‘MUX’表示选择器;其工作过程为 1)所有寄存器初始化为0; 2)输入接收码字; 3)接收码字输入完毕后,当BCH码为(511,439)码时,S1,…,S16的值为寄存器D1,…,D16中的数据,即伴随多项式的系数D1,1,S1,2,…,S1,16;当BCH码为(511,475)码时,S1,…,S8的值为寄存器D1,…,D8中的数据,即伴随多项式的系数S2,1,S2,2,…,S2,8,S9,…,S16的值为0。
b)求错误位置多项式 两种码的求错误位置多项式结构如图11所示,其中‘×’表示2个9比特输入的伽罗华域GF(29)上的乘法器、‘+’表示2个9比特输入的伽罗华域GF(29)上的加法器、‘ω’和‘σ’表示9比特的寄存器、‘MUX’表示选择器,其中图10(a)是错误值迭代的结构,图10(b)是错误位置迭代的结构。当BCH码为(511,439)码时,δ取自ω16(b),γ取自ω16(a);当BCH码为(511,475)码时,δ取自ω8(b),γ取自ω8(a)。
两种码的求错误位置多项式结构的工作过程为 1)寄存器ω1(b),…,ω16(b)初始化为计算伴随多项式模块的输出S1,…,S16,寄存器ω17(b)初始化为0,寄存器σ1(b),σ2(b),…,σ17(b)初始化为1,0,…,0,寄存器σ(a)全部初始化为0;当BHC码为(511,439)码时,寄存器ω1(a),…,ω15(a),ω16(a)初始化为0,…,0,1;当BCH码为(511,475)码时,寄存器ω1(a),…,ω7(a),ω8(a),ω9(a),…,ω16(a)初始化为0,…,0,1,0,…0; 2)当BHC码为(511,439)码时,进行16次迭代运算;当BCH码为(511,475)码时,进行8次迭代运算; 3)迭代完毕后,当BHC码为(511,439)码时,寄存器σ9(b),…,σ17(b)中的数据为错误位置多项式σ1(x)的系数σ1,0,…,σ1,8;当BCH码为(511,475)码时,寄存器σ5(b),…,σ9(b)中的数据为错误位置多项式σ2(x)的系数σ2,0,…,σ2,4。
c)Chien搜索 两种码时的Chien搜索结构如图12所示,其中‘×’表示2个9比特输入的伽罗华域GF(29)上的乘法器、‘+’表示2个9比特输入的伽罗华域GF(29)上的加法器、‘D’表示9比特的寄存器,其工作过程为 1)当BCH码为(511,439)码时,寄存器D0,…,D8初始化为错误位置多项式的系数σ1,0,…,σ1,8;当BCH码为(511,475)码时,寄存器D0,…,D4初始化为错误位置多项式系数σ2,0,…,σ2,4,寄存器D5,…,D8初始化为0。
2)进行迭代运算,当BCH码为(511,439)码时,如果加法器的输出结果σ1(αi)(1≤i≤511)为0,则表示第i比特接收码字有错误;当BCH码为(511,475)码时,如果加法器的输出结果σ2(αi)(1≤i≤511)为0,则表示第i比特接收码字有错误。
权利要求
1.一种参数可变的BCH码编码器,其特征在于BCH码编码器中的每个乘法器的生成多项式系数输入端分别与一选择器的输出端连接,且每一所述选择器的选择控制输入端分别连接至BCH码参数控制端、每一所述选择器的L个数据输入端分别与一BCH码生成多项式的系数输出端连接;其中L为BCH码参数可选数目。
2.如权利要求1所述的编码器,其特征在于根据所述L组参数的BCH码中校验位长度的最大值确定编码器中的寄存器单元数目。
3.如权利要求2所述的编码器,其特征在于所述寄存器单元为1比特的寄存器。
4.如权利要求1所述的编码器,其特征在于所述乘法器为具有2个1比特输入的乘法器;所述编码器中的加法器为具有2个1比特输入的模2加法器。
5.一种参数可变的BCH码译码器,包括计算伴随多项式模块、求错误位置多项式模块、Chien搜索模块、缓存模块和纠错译码模块;所述计算伴随多项式模块、求错误位置多项式模块、Chien搜索模块和纠错译码模块依次连接;所述缓存模块的输入端、所述计算伴随多项式模块的输入端分别与接收码字端连接,所述缓存模块的输出端与纠错译码模块输入端连接;所述求错误位置多项式模块包括错误值多项式迭代电路和错误位置多项式迭代电路,所述错误值多项式迭代电路包含δ值选择电路和γ值选择电路;其特征在于所述δ值选择电路中输出每种参数BCH码的δl值的寄存器输出端分别与一选择器1的一数据输入端连接,所述选择器1的输出值为δ值;所述γ值选择电路中输出每种参数BCH码的γl值的寄存器输出端分别与一选择器2的一数据输入端连接,所述选择器2的输出值为γ值;所述选择器1的选择控制输入端和选择器2的选择控制输入端分别与BCH码参数控制端连接;其中1≤l≤L,L为BCH码参数可选数目。
6.如权利要求5所述的译码器,其特征在于所述错误值多项式迭代电路和错误位置多项式迭代电路中寄存器数目N根据L组参数的BCH码中校验位长度最大值对应的纠错比特数tmax确定;其中N=4tmax+1。
7.如权利要求6所述的译码器,其特征在于所述错误值多项式迭代电路中,当BCH码参数为第l种码时,输出第l种参数BCH码的γl值的寄存器初始化值为1,输出其它参数BCH码的γ值的寄存器初始化为0。
8.如权利要求5所述的译码器,其特征在于所述计算伴随多项式模块中,除了用于计算校验位长度最小的BCH码的伴随多项式的寄存器外,其它每个寄存器的输出端分别与一选择器的数据输入端连接,且每个选择器的另一个数据输入端为0,选择控制输入端分别连接至BCH码参数控制端。
9.如权利要求5所述的译码器,其特征在于所述Chien搜索模块中寄存器D0,…,
初始化为所述错误位置多项式迭代电路中对应于用于计算第l种参数BCH码的错误位置寄存器
的输出值,所述Chien搜索模块中其余寄存器初始化为0;其中所述寄存器D0,…,
为用于搜索所述第l种参数BCH码中接收码字的错误位置,所述Chien搜索模块中寄存器数目为tmax+1。
10.如权利要求5所述的译码器,其特征在于所述错误值多项式迭代电路中的乘法器为具有2个m比特输入的伽罗华域GF(2m)上的乘法器;所述错误值多项式迭代电路中的加法器为具有2个m比特输入的伽罗华域GF(2m)上的加法器;根据公式n=2m-1确定所述m值,其中n为BCH码的码字长度。
全文摘要
本发明公开了一种参数可变的BCH码编码器及译码器,属于通信技术领域。本发明码编码器中每个乘法器的生成多项式系数输入端分别与一选择器的输出端连接,且每一所述选择器的选择控制端分别连接至BCH码参数控制端、每一所述选择器的L个数据输入端分别与一BCH码生成多项式的系数输出端连接;译码器的求错误位置多项式模块中每种参数BCH码的δl值的寄存器输出端分别与一选择器1的一数据输入端连接,选择器1的输出值为δ值;每种参数BCH码的γl值的寄存器输出端分别与一选择器2的一输入端连接,选择器2的输出值为γ值;选择器1的选择控制输入端和选择器2的选择控制输入端分别与BCH码参数控制端连接;本发明的编译码器通过复用的方式可大大节省硬件资源。
文档编号H03M13/00GK101567696SQ20091008543
公开日2009年10月28日 申请日期2009年5月22日 优先权日2009年5月22日
发明者宇 才, 吴毅凌, 赵玉萍, 斗 李, 李红滨 申请人:北京大学, 北京三梯通网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1