首页 理论教育 BCH码和RS码详解

BCH码和RS码详解

时间:2023-06-25 理论教育 版权反馈
【摘要】:BCH码是迄今为止研究得最为详尽,分析得最为透彻,取得的成果最多的码类之一。若v=1,称这类BCH码为狭义BCH码。定理6.41给出的BCH码的最小距离是实际最小距离的下限值,该值称为BCH码的设计距离。由6.5.4节的定义6.63知,纠正单个错误的本原BCH码就是循环Hamming码。由例6.52看出,BCH码的信息元数目、纠错个数不是连续变化,而是跳跃式变化的。

BCH码和RS码详解

1960年由R.C.Bose和D.K.Ray-Chaudhuri、1961年由A.Hocquenghern分别构造出纠正多个随机错误的码,这些码的循环结构是在1960年由W.W.Peterson证明。通常称这一类码为BCH码(以三位发现者名字的第一个字母的缩写BCH命名)。这类码是迄今为止发现的一类很好的线性纠错码,其纠错能力很强,特别在短和中等码长下,性能接近于理论限,且构造方便,编码和译码简单,特别是它具有严格的代数结构。因此,BCH码在编码理论中起着重要作用。BCH码是迄今为止研究得最为详尽,分析得最为透彻,取得的成果最多的码类之一。

RS(Reed-Solomon)码是一类有很强纠错能力的多元BCH码,是由I.S.Reed和G.Solomon于1960年构造出来的。该码在工程中得到了广泛应用。

由于BCH码性能优良,结构简单,编译码设备也不太复杂,使得它在实际使用中受到工程技术人员的欢迎,是目前用得最为广泛的码类之一。

1.BCH码的定义和构造

BCH码是纠正多个随机错误的循环码,可以用生成多项式gx)的根来描述。

定义6.66 给定有限域GF(q)及其扩域GF(qm),其中q素数或素数的幂,m为正整数若GF(q)上循环码的生成多项式g(x)的根中含有δ-1个连续根αv,αv+1,…,αv+δ-2则由g(x)生成的循环码称为q元BCH码其中,α是GF(qm中的n级元素,v是任意整数

定义6.67 若BCH码生成多项式g(x)的根中含有GF(qm中的本原域元素则称这种BCH码为本原BCH码否则称为非本原BCH码

通常取v=0或1。若v=1,称这类BCH码为狭义BCH码。若v=0,则这一类BCH码的生成多项式gx)必含有因式x-1,即x-1gx)。

mix)和ei分别是元素αv+ii=0,1,…,δ-2)的最小多项式和级,则由定义6.65和定理6.39可知,BCH码的生成多项式和码长分别为

gx)=LCM(m0x),m1x),…,mδ-2x)) (6.86)

n=LCM(e0e1,…,eδ-2) (6.87)

由式(6.75)知,BCH码的一致校验矩阵H可以写成

978-7-111-51126-7-Chapter06-200.jpg

显然,本原BCH码的码长是n=qm-1,非本原BCH码的码长是qm-1的因子。

BCH码的根与最小Hamming距离有着密切关系,下面的定理给出了BCH码的距离限:

定理6.41BCH限BCH码的最小距离dBCH至少为δ。

定理6.41给出的BCH码的最小距离是实际最小距离的下限值,该值称为BCH码的设计距离。实际的最小距离可能大于该值。

在实际工程中,GF(2)上的二元BCH码的应用最为广泛。由BCH码的定义知,对任一个正整数m,一定可以构造出以下的二元码。

v=1,δ=2t+1,并设α是GF(2m)中的元素,由定义6.66可知,定义在GF(2)上的二元BCH码以αα2,…,α2t为根。又因为在特征为2的域GF(2m)上,α2i的最小多项式与αi的最小多项式相同,所以二元BCH码的生成多项式、码长和校验矩阵分别为

978-7-111-51126-7-Chapter06-201.jpg

式中,mix)是αii=1,3,…,2t-1)的最小多项式,该BCH码能纠正t个错误。显然,二元BCH码的码长或者是2m-1或者是它的一个因子。上述结果归结成如下定理:

定理6.42 对任何正整数mt,存在以α,α3,…,α2t-1为根的二元BCH码其码长是n=2m-1或2m-1的因子能纠正t个随机错误校验元数目至多为mt

二元BCH码的具体构造步骤如下:

1)先由n=2m-1或2m-1的因子求出m值,然后寻找一个m次本原多项式mx),构造出GF(2)的扩域GF(2m)。可以查表6.3求得本原多项式mx)。

2)寻找GF(2m)上的一个n级元素,然后分别求出2t个连续根αα2,…,α2t所对应的GF(2)上的最小多项式m1x),m2x),…,m2tx),这可以由表6.14查表得到。

3)求出最小多项式m1x),m2x),…,m2tx)的最小公倍数gx),即可以构造相应的二元BCH码。

表6.14 二元扩域GF(2m)中连续幂次根所对应的最小多项式(m=3~8)

978-7-111-51126-7-Chapter06-202.jpg

(续)

978-7-111-51126-7-Chapter06-203.jpg

注:1.表中mx)列的数字表示多项式非0系数所对应的幂次,如3,1,0表示x3+x+1。

2.m0x)=x+α0=x+1是所有GF(2m)上的最小多项式,表中未列出。

3.标*号的最小多项式是本原多项式。

【例6.52】

求码长为n=24-1=15的二元BCH码。

α∈GF(24)是本原域元素,其周期为15,且是本原多项式1+x+x4的根。

1)t=1,以α为根,α的最小多项式为m1x)=1+x+x4,则码的生成多项式为

gx)=m1x)=1+x+x4校验元数目是978-7-111-51126-7-Chapter06-204.jpg=4,得到(15,11,3)BCH码,这是纠正单个错误的循环Hamming码。由6.5.4节的定义6.63知,纠正单个错误的本原BCH码就是循环Hamming码。

2)t=2,以αα3为根,α3的最小多项式为m3x)=1+x+x2+x3+x4,则码的生成多项式为

978-7-111-51126-7-Chapter06-205.jpg

由上面的gx)生成(15,7,5)BCH码,能纠正2个随机错误。

3)t=3,以αα3α5为根,α5的最小多项式为m5x)=1+x+x2,则码的生成多项式为

978-7-111-51126-7-Chapter06-206.jpg

由上面的gx)生成(15,5,7)BCH码,能纠正3个随机错误。

4)t=4,以αα3α5α7为根,α7的最小多项式为m7x)=1+x3+x4,则码的生成多项式为

978-7-111-51126-7-Chapter06-207.jpg

由上面的gx)生成(15,1,15)BCH码,这是一个重复码,最小距离d=15,能纠正7个随机错误。该码虽以αα3α5α7为根,但由于共轭根系的原因,该码实际上以αii=1,2,…,14)共14个连续元素为根,故设计距离δ=15,实际最小距离也为15。

由例6.52看出,BCH码的信息元数目、纠错个数不是连续变化,而是跳跃式变化的。上述这些码,码长n=2m-1,所以都是本原BCH码。另外,该例中的最小多项式可以利用定理6.19的方法求得,也可以用查表的方法直接得到最小多项式。

【例6.53】

求码长n=21,纠2个随机错误的BCH码。

n=21≠2m-1,26-1=3×21,故n是26-1的因子。所以GF(26)是含有21级元素的最小域。设α是GF(26)的本原域元素,它是1+x+x6的根。令β=α3,则β是21级元素。设计以ββ3为根的BCH码,通过查表6.14得β=α3的最小多项式为m1x)=1+x+x2+x4+x6β3=(α3)3=α9的最小多项式为m3x)=1+x2+x3。则码的生成多项式为

978-7-111-51126-7-Chapter06-208.jpg

得到一个(21,12,5)非本原BCH码。

2.RS码的定义和构造

定义6.68 GF(q)(q≠2通常q=2m码长n=q-1的本原BCH码称为RS码。

显然,RS码最主要特点之一是码元取自GF(q)上,而它的生成多项式的根也在GF(q)上。所以,RS码是码元的符号域与根域相同的BCH码。因为978-7-111-51126-7-Chapter06-209.jpgαi在GF(q)上的最小多项式为mix)=x-αi,所以,由BCH码定义可知,长为n=q-1,设计距离为δ的RS码,其生成多项式为

gx)=(x-αv)(x-αv+1)…(x-αv+δ-2) (6.92)

通常v=1,此时

gx)=(x-α)(x-α2)…(x-αδ-1) (6.93)(www.xing528.com)

定理6.43(n,k)RS码是极大最小距离可分码其最小Hamming距离为n-k+1

在Singleton限意义上,RS码是最佳码。

【例6.54】

求纠正2个错误的(15,11,5)RS码的生成多项式和校验多项式。

n=q-1=15,故码符号取自GF(24)中的元素,设α∈GF(24)是本原域元素,它是本原多项式1+x+x4的根,GF(24)的元素表见表6.4。(15,11,5)RS码以αα2α3α4为根,其生成多项式为

978-7-111-51126-7-Chapter06-210.jpg

上式的gx)生成GF(24)上的16元(15,11,5)本原BCH码,也就是(15,11,5)RS码。相应的校验多项式为

978-7-111-51126-7-Chapter06-211.jpg

3.BCH码的译码原理

BCH码的译码与前面的线性分组码的译码步骤相同,共分为3步:

1)由接收码字rx)计算伴随式sx)。

2)由伴随式sx)找出错误图样的估值978-7-111-51126-7-Chapter06-212.jpg

3)计算978-7-111-51126-7-Chapter06-213.jpg

BCH码是定义在GF(qm)上的一种循环码,码元在GF(q)上取值,生成多项式的根在GF(qm)上取值。因此,这类码的译码算法一般是在GF(qm)上进行的。下面给出在GF(qm)上,BCH码的伴随式计算及其译码算法。

α是GF(qm)中的n级元素,GF(q)上具有纠正t个错误能力的(nkd)BCH码的2t个连续根为αα2,…,α2t。再设发送码字为cx),接收码字为rx),信道产生的错误图样为ex),则有rx)=cx)+ex)。由于αα2,…,α2t是码的根,有cαi)=0(i=1,2,…,2t),因此,有rαi)=cαi)+eαi)=eαi)(i=1,2,…,2t)。

由伴随式定义和式(6.91),并考虑到rαi)=eαi)(i=1,2,…,2t),经推导可得接收多项式的伴随式为

sk=rαk)=eαk),k=1,2,…,2t (6.94)

进一步设信道产生t个错误(因为码的纠错能力为t),则错误图样ex)可以写成

978-7-111-51126-7-Chapter06-214.jpg

式中,Yi称为错误值,Yi∈GF(q);xli称为错误位置数,说明错误发生在rx)中的第li位。

978-7-111-51126-7-Chapter06-215.jpg,利用式(6.95),式(6.94)可以改写为

978-7-111-51126-7-Chapter06-216.jpg

称式中的sjXi的加权幂和对称函数。

BCH码的译码算法就是从式(6.96)中的2t个方程中求出2t个未知数XiYii=1,2,…,t)。但是,直接解上述方程是比较困难的,所以分两步进行。先解出错误位置数Xi,再求出错误值Yi。为此目的,引入错误位置多项式σx)为

σx)=(1-X1x)(1-X2x)…(1-Xtx

若第k个错误位置x=Xk-1,则σXk-1)=0。因此,求错误位置就是求解错误位置多项式σx)的根。把σx)展开得

978-7-111-51126-7-Chapter06-217.jpg

式中

978-7-111-51126-7-Chapter06-218.jpg

称式(6.98)是Xi的初等幂和对称函数。若Xk-1为错误位置,则

978-7-111-51126-7-Chapter06-219.jpg

上式两边乘以Xktk=1,2,…,t),得

978-7-111-51126-7-Chapter06-220.jpg

上式两边再乘以YkXjkj=1,2,…,t),则

978-7-111-51126-7-Chapter06-221.jpg

两边对k求和得

978-7-111-51126-7-Chapter06-222.jpg

由式(6.96)知,上式可以成为

978-7-111-51126-7-Chapter06-223.jpg

写成矩阵形式为

978-7-111-51126-7-Chapter06-224.jpg

式(6.99)是一组线性方程,有t个方程和t个未知数。

方程组(6.99)有解的充要条件是t×t阶系数矩阵满秩。可以证明,若实际产生的错误个数为t,则t×t阶系数矩阵满秩;如果接收码字rx)中只有γt个错误,则t×t阶系数矩阵非满秩,这就必须把t×t阶系数矩阵降至γ×γ阶满秩为止,才能求得未知数σ1σ2,…,σγ

求得σx)后解出其根,得到错误位置数X1X2,…,Xt,并代入式(6.96)的前面t个方程中,并写成矩阵形式,得

978-7-111-51126-7-Chapter06-225.jpg

解方程组(6.100),就可以求出错误值Y1Y2,…,Yt,从而完成译码。在二元情况下,错误值Y1Y2,…,Yt只可能是1,故求错误值Yi这一步可以省略。

【例6.55】

二元(15,5,7)BCH码的生成多项式为gx)=1+x+x2+x4+x5+x8+x10(见例6.52)。若接收码字为rx)=1+x+x2+x7+x10+x13,求发送码字cx)。

解 该码以αα3α5为根,α是本原多项式1+x+x4的根。根据伴随式定义式(6.96)和定理6.17中2),计算接收码字rx)的伴随式如下:

s1=rα)=α5s2=rα2)=s21=α10s4=rα4)=s22=α5

s3=rα3)=αs6=rα6)=s23=α2s5=rα5)=α5

上述计算中,GF(24)的元素见表6.4。把求得的si值代入式(6.99)中,得

978-7-111-51126-7-Chapter06-226.jpg

首先,检验3×3阶的系数矩阵的行列式是否为0,即计算下式:

978-7-111-51126-7-Chapter06-227.jpg

因此,实际产生的错误个数小于3,σ3=0,3×3阶系数矩阵必须降至2×2阶矩阵,得到

978-7-111-51126-7-Chapter06-228.jpg

再计算978-7-111-51126-7-Chapter06-229.jpg,所以矩阵满秩,方程组有解。经计算求得σ1=α5σ2=α14,代入错误位置多项式(6.97),可得978-7-111-51126-7-Chapter06-230.jpg。解得σx)=0的2个根为α12α4;相应的错误位置数X1=(α12)-1=α3X2=(α4)-1=α11。由此可知,978-7-111-51126-7-Chapter06-231.jpg978-7-111-51126-7-Chapter06-232.jpg,则发送码字为978-7-111-51126-7-Chapter06-233.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈