首页 理论教育 循环码生成:多项式、矩阵与原理

循环码生成:多项式、矩阵与原理

时间:2023-06-25 理论教育 版权反馈
【摘要】:为此,引出下面定义:定义6.61 称循环码C中唯一的n-k次首一码多项式g为码的生成多项式。显然,循环码的生成多项式g的次数等于码中一致校验元的数目n-k。下面定理给出循环码的另一些重要性质:定理6.35 GF上循环码的生成多项式g是xn-1的因式。它们中的某些多项式生成好码,而某些多项式则生成坏码。二元循环码的生成多项式是g=1+x+x3。

循环码生成:多项式、矩阵与原理

1.循环码的生成多项式和编码原理

由定理6.34知,(nkd)循环码中的每个码多项式cx)可以表示成

cx)=mxgx)=(m0+m1x+…+mk-1xk-1gx

mx)的系数m0m1,…,mk-1是待编码的k个码元的信息组,则cx)就是相应的码多项式。因此,用gx)乘信息多项式mx)就完成了编码。所以,(nkd)循环码完全由次数最低的根据式(6.55)给出的非0码多项式gx)所决定。为此,引出下面定义:

定义6.61 称(n,k,d)循环码C中唯一的n-k次首一码多项式g(x)为码的生成多项式

显然,(nkd)循环码的生成多项式gx)的次数等于码中一致校验元的数目n-k。下面定理给出循环码的另一些重要性质:

定理6.35 GF(q)(n,k,d)循环码的生成多项式g(x)xn-1的因式

证明 用xkgx)得到次数为n的多项式xkgx),用xn-1除xkgx)得

xkgx)=(xn-1)+gkx) (6.56)

这里gkx)是余式。由式(6.49)可知gkx)是gx)循环右移k次得到的多项式。因而,gkx)是gx)的倍式,即gkx)=axgx)。则式(6.56)可以改写为

xn-1=[xk-ax)]gx

因此,gx)是xn-1的因式。

【证毕】

定理6.36 若g(x)n-k次多项式且是xn-1的因式g(x)生成一个(n,k,d)循环码

实际上,定理6.36给出了构造循环码的方法。xn-1的任何一个n-k次因式,均可以生成(nkd)循环码。对于大的n值,xn-1可以有多个n-k次因式。它们中的某些多项式生成好码,而某些多项式则生成坏码。如何选择生成多项式以得到好的循环码,是一个非常困难的问题。

目前,已发现了许多类好的循环码,并且它们是可以实现的。

【例6.40】

二元(7,4,3)循环码的生成多项式是gx)=1+x+x3。表6.8给出了该码的全部码多项式,每一码多项式皆是gx)的倍式。该码是非系统码。

表6.8 用g(x)=1+x+x3生成的(7,4,3)循环码

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

【例6.41】

GF(2)上多项式x7+1可以分解成因式形式

x7+1=(1+x)(1+x+x3)(1+x2+x3

x7+1的全部因式为1个1次因式1+x、2个3次因式1+x+x3和1+x2+x3、2个4次因式(1+x)(1+x+x3)=1+x2+x3+x4和(1+x)(1+x2+x3)=1+x+x2+x4,以及1个6次因式(1+x+x3)(1+x2+x3)=1+x+x2+x3+x4+x5+x6。由定理6.36知,二元7长循环码仅存在由gx)=1+x生成的(7,6,2)循环码(也是偶校验码);由gx)=1+x+x3gx)=1+x2+x3生成的两种(7,4,3)循环码(也是Hamming码);由gx)=1+x2+x3+x4gx)=1+x+x2+x4生成的两种(7,3,4)循环码;由gx)=1+x+x2+x3+x4+x5+x6生成的(7,1,7)循环码(也是重复码)。不存在(7,2)和(7,5)循环码。

2.循环码的生成矩阵

考虑生成多项式为gx)=g0+g1x+…+gn-k-1xn-k-1+xn-k的(nkd)循环码。在6.5.1节中已证明k个码多项式gx),xgx),…,xk-1gx张成循环码C。若把对应于这k个码多项式的kn矢量作为k×n阶矩阵的k行,则得到如下的(nkd)循环码C的k×n阶生成矩阵G:

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

式中,978-7-111-51126-7-Chapter06-143.jpg表示由xigx)的系数组成的行矢量。通常,G不是系统码的生成矩阵。

【例6.42】

二元(7,4,3)循环码的生成多项式为gx)=1+x+x3,其生成矩阵为

978-7-111-51126-7-Chapter06-144.jpg(www.xing528.com)

由G可以生成表6.8中给出的(7,4,3)循环码的所有码字。

3.系统循环码的编码方法和系统码的生成矩阵

式(6.57)的生成矩阵G生成的循环码是非系统码。而(nkd)系统循环码的生成矩阵应该具有式(6.38)的形式,即G=[P Ik],其中矩阵P是由生成多项式gx)确定的GF(q)上k×(n-k)阶矩阵。因为G中的行矢量是码字,所以式G=[P Ik]表明,码多项式的第n-1~n-k次的系数是信息元,其余的为校验元,这相当于

cx)=rx)+xn-kmx)≡0(mod gx)) (6.58)

式中,mx)是信息多项式,mx)=m0+m1x+…+mk-1xk-1,m=(m0m1,…,mk-1)是信息元;rx)是校验多项式,rx)=r0+r1x+…+rn-k-1xn-k-1,相应的系数是码字的校验元。由式(6.58)得

rx)=cx)-xn-kmx)≡-xn-kmx)(mod gx)) (6.59)

所以,要构造用gx)生成的(nkd)系统循环码,其算法步骤如下:

1)计算xn-kmx)。

2)用gx)除-xn-kmx)得到余式rx)。

3)系统码的码字为cx)=xn-kmx)+rx)。

可见,(nkd)系统循环码编码的核心问题是以gx)为模的除法问题。

【例6.43】

考虑由gx)=1+x+x3生成的二元(7,4,3)系统循环码。令mx)=1+x2是待编码的信息多项式。用gx)除x3mx)=x3+x5,得到余式rx)=x2。因此,码多项式是cx)=rx)+x3mx)=x2+x3+x5,而对应的码字为c=(0011010),其中最右边的4位是信息组。二元(7,4,3)系统形式的循环码的16个码字列于表6.9中。

表6.9 用g(x)=1+x+x3生成的(7,4,3)系统循环码

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

由(nkd)系统循环码的生成矩阵G=[P Ik]知,其基底矢量中相对应的信息多项式分别为m0x)=1,m1x)=x,…,mk-1x)=xk-1。与这些信息多项式相对应的校验多项式分别为r0x)≡-xn-k(mod gx)),r1x)≡-xn-kx(mod gx)),…,rk-1x)≡-xn-kxk-1(mod gx))。一般写成

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

与此相应的码多项式为

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

以式(6.61)的k个码字作为基底矢量就组成了(nkd)系统循环码的生成矩阵,可以表示为

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

式中,978-7-111-51126-7-Chapter06-149.jpgi=0,1,…,k-1)表示由rix)的系数组成的行矢量。

对于(n-lk-ld)缩短循环码,依据定义6.60和式(6.62),不难得到其系统码形式的生成矩阵为

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

【例6.44】

二元(7,4,3)循环码的生成多项式为gx)=1+x+x3。计算r0x)≡-x3≡1+x(mod gx)),r1x)≡-x4x+x2(mod gx)),r2x)≡-x5≡1+x+x2(mod gx)),r3x)≡-x6≡1+x2(mod gx))。由式(6.62)知,系统形式的生成矩阵为

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

该码缩短两位得到(5,2)缩短循环码,由式(6.63)知其生成矩阵为

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

用例6.44的生成矩阵G可以生成表6.9所示的(7,4,3)系统循环码,而用例6.42的生成矩阵G可以生成表6.8所示的非系统循环码。应该指出,这两种循环码是相同的,只是信息组与码字的对应关系不同。

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

我要反馈