第九章-循环码
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(9-2) (9-3)
定理9.1 在以多项式xn-1为模的剩余类全体所构成的n维线 性空间Vn中,其一个子空间Vn,k是一个循环子空间(循环码) 的充要条件是:Vn,k是一个理想。
一个(n,k)循环码的码字多项式都是模xn-1运算
下多项式剩余类环中的一个理想,而且一定是一个主理想 子环。反之,多项式剩余类环的一个主理想子环也一定生 成一个循环码。
17
用电路实现编码时可采用以g(x)为除式的除法电路。作为实 例,图9.4示出了生成多项式g(x)=x3+x2+1的(7,4)循环码的 编码电路。
图9.4 以g(x)=x3+x2+1的(7,4)循环码编码器
18
9.3 循环码的译码
当码字c通过噪声信道传送时,会受到干扰而产生错误。如信道
产生的错误图样是e,译码器收到的n重接收矢量是y,则表示为
H 2m 2 2m 3
1 (9-14)
26
例如,以GF(23)上的三次本原多项式为生 成多项式,可生成一个(7,4)循环汉明码, 其生成多项式g(x)=x3+x+1。
设是GF(23)上的本原元,则码的校验矩阵
为(n-k)n阶矩阵,称为码的校验矩阵。
10
综上所述,有如下结论:
①(n,k)循环码的生成多项式g(x)是一个次数最低的唯
一的首一多项式,其次数r=n-k正好是码字中校验元的数 目;
② 生成多项式g(x)是xn-1的因式。要构造一个(n,k)循环码,
就是要在xn-1的因式中找一个n-k次的首一多项式g(x),它的
s(1)(x)=xs(x) mod g(x) (9-11)
21
【例9.3】以g(x)=x4+x3+x2+1为生成多项式的(7,3)循环码 (示于表9.1),能纠正一个错误。
设传送出现一个错,错误图样e=(0 0 0 1 0 0 0),即e(x)=x3, 其伴随式 s(x)=e(x) mod g(x)=x3 mod (x4+x3+x2+1)=x3, 即s = (1 0 0 0)
6
9.1.2 循环码的多项式描述
设c=(cn-1 cn-2 … c1 c0)是(n,k)循环码的一个码字,
则与其对应的多项式
c (x)=cn-1xn-1+cn-2xn-2+…+c1x+c0
(9-1)
称为码字c的码字多项式(或码多项式)。
如果c=(cn-1 cn-2 … c1 c0)是(n,k)循环码的一个码字, 则c (1)=(cn-2 …c1 c0 cn-1)也是该循环码的一个码字。这就是
说 c (x)=cn-1xn-1+cn-2xn-2+…+c1x+c0
和 c (1) (x)=cn-2xn-1+…+c1x2+c0x+cn-1
都是(n,k)循环码的码字多项式。
7
比较c(x)和c (1) (x)后可得 c (1) (x)=x c (x), mod xn-1
以及 c(i) (x)=xic (x) (i=1,2,…,n-1), mod xn-1
现设错误图样e1=(0 0 1 0 0 0 0),即e(1)(x)=xe(x)=x4,相应的 伴随式s(1)(x)=x4 mod (x4+x3+x2+1)=x3+x2+1,即
s1=(1 1 0 1)
s1是s在图9.5所示的g(x)=x4+x3+x2+1除法电路中无输入时,右移 一位的结果,也即自发运算的结果。
23
若(7,3)循环码译码器按错误图样(1 0 0 0 0 0 0)设计, 于是
s(x)=e(x) mod g(x)=x6 mod (x4+x3+x2+1)=x3+x2+x, 即s=(1 1 1 0)
其译码器电路示于图9.6。
图9.6 (7,3)循环码译码器
24
9.3.3 Meggit译码器
循环码译码器的缺点无法对接收到的码字实现连续的译码 输出。改进的译码器称作Meggit通用译码器,其结构如图9.7, 可实现连续的译码输出。
码的性质均适用于循环码。
11
9.2 循环码的编码
9.2.1 利用生成多项式g(x)实现编码
若已知 g(x)=gn-kxn-k+gn-k-1xn-k-1+…+g1x+g0
并设信息元多项式 m(x)=mk-1xk-1+mk-2xk-2+…+m1x+m0
要编码成系统循环码形式,须用xn-k乘以m(x),再加上校 验元多项式r(x),这样得到的码字多项式c(x)为:
所有次数低于或等于n-1的倍式就构成一个(n,k)循环码。反
之,循环码的每一个码字多项式必是g(x)的倍式;
③ 由xn-1=g(x)h(x),h(x)称为校验多项式。对于任意一个
(n,k)循环码,必有
g(x)h(x)=0 mod xn-1
及
G·H T= 0
循环码是线性分组码的一个子类。因此,所有线性分组
y=c+e
上式也可写成多项式形式:
y(x)=c(x)+e(x)
(9-7)
译码器的任务就是如何从y(x) 中找到错误图样多项式 eˆ x , 然后得到估计码字多项式 cˆx yx eˆx ,进而得到信息 组 mˆ x 。
19
循环码的译码可按以下三个步骤进行:
(1)由接收到的y(x)计算伴随式多项式s(x); (2)根据伴随式s(x)找出对应的估值错误图样 eˆ(x) ;
图9.7 Meggit通用译码器
25
9.4 一些重要的循环码
9.4.1 循环汉明码
定义9.3 设是GF(2m)上的一个本原元,则以的本原多项
式为生成多项式的(2m-1,2m-1-m)汉明码是循环汉明码。
码的校验矩阵为
H n1 n2 1 (9-13)
因码长n=2m-1,H也可以表为
3
9.1 循环码的一般概念 9.1.1 循环码的定义
将任一码字中的7个码元排在一个圆周上,则从圆周 的任一码元开始,按顺时针方向移动一周,都将构成该码 的一个码字。这就是循环码的由来。(见图9.1)
4
c1 : 0001011
c2 :
0010110
c3 : c4 :
0101100
1011000
使 得 每 一 个 码 多 项 式 c(x) 都 是 g(x) 的 倍 式 , 且 每 一 低 于 或 等 于 n-1 次 的 g(x) 倍 式 , 一定是码多项式。
定理9.3 (n,k)循环码的生成多项式g(x)一定是xn-1
的因式:xn-1=g(x)h(x)。反之,若g(x)为n-k次,且除尽
xn-1,则此g(x)一定生成一个(n,k)循环码。
s(x)=y(x) mod g(x)
(9-8)
由于 y(x)=c(x)+e(x)
而 c(x) mod g(x)=0
于是 s(x)=e(x) mod g(x)
(9-9)
s(x)伴随式计算电路的一个重要性质:
定理9.5 设s(x)是接收码字多项式r(x)的伴随式,则y(x)的一 次循环移位xy(x)(mod xn-1)的伴随式s(1)(x),是s(x)在伴随式 计算电路中无输入时,右移一位的结果(称为自发运算):
(3)计算 cˆ(x) y(x) eˆ(x),得到估值码字cˆ(x) 。若cˆ(x) c(x) ,则译码正确,否则,若 cˆ(x) c(x) ,则译码错误。
20
9.3.1 伴随式计算
对于(n,k)循环码,可以定义码的生成多项式g(x)除以接
收码字多项式y(x)的余式为伴随式多项式s(x),写成
c(x)=xn-k m(x)+r(x)
=mk-1xn-1+mk-2xn-2+…+m0xn-k+rn-k-1xn-k-1+…+r1x+r0
其中
r(x)=rn-k-1xn-k-1+…+r1x+r0
12
c(x)一定是g(x)的倍式,即有
c(x)=xn-km(x)+r(x)=q(x)g(x)
或 c(x)=xn-km(x)+r(x)=0, mod g(x)
第一循环Байду номын сангаас
c 5 : 0110001
c 6 : 1100010
c7 :
1000101
c15 : 0000000
c 8 : 0011101
c9 :
0111010
c10 : c11 :
1110100
1101001
c12 :
1010011
c13 : 0100111
c(x)=xn-km(x)+r(x)。
13
9.2.2 除法电路
设GF(2)上的两个多项式 a(x)=akxk+ak-1xk-1+…+a1x+a0 b(x)=brxr+br-1xr-1+…+b1x+b0
a(x)是被除式,b(x)是除式。用图9.2所示的电路完成a(x)除以b(x) 的运算 。
图9.2 除法电路的一般形式 14
第九章 循环码
1
第九章 循环码
内容提要:
循环码是线性分组码中一个重要的子类。 本章首先提出了循环码的定义以及循环码的多 项式描述方法,论述了循环码构成的有关重要 定理;接着讨论了循环码的编译码方法及其实 现电路,最后介绍了已获得广泛应用的循环汉 明码、BCH码等。
2
本章重点: 1.循环码的基本概念; 2. 循环码的编码和译码方法; 3. BCH码。
图9.5 (7,3)循环码的伴随式计算电路
9.3.2 循环码的译码
把某一可纠正的错误图样e(x)及其所有的小于等于n-1次的 循环移位归成一类,用一个错误图样来代表。译码时只要计算这 个错误图样的伴随式,该类中其它错误图样的伴随式都可由该伴 随式在g(x)除法电路中循环移位来得到。
以(7,3)循环码为例: 当码字传送出现一个错误时,若用一般译码器需要识别如 (0 0 0 0 0 0 1),(0 0 0 0 0 1 0),(0 0 0 0 1 0 0),(0 0 0 1 0 0 0),(0 0 1 0 0 0 0),(0 1 0 0 0 0 0),(1 0 0 0 0 0 0) 等7个不同的错误图样,但对于按上述定理设计的循环码译码器 来说,可以把这些错误图样归成一类,译码器只要识别其中的 一个错误图样就可以了。
注意到g(x)为n-k次多项式,而r(x)至多为n-k-1次多项式,必 有
r(x)=xn-km(x), mod g(x)
(9-6)
即r(x)必是x n-k m(x)除以g(x)的余式。 (9-6)式指出了系统循环码的编码方法:
首先将信息元多 项式m(x)乘以xn-k成为 xn-km(x);
然后将xn-km(x)除以生成多项式 g(x)得到余式r(x),该余式就是校验元 多项式,从而得到码字多项式
15
实现以上除法运算的除法电路如图9.3所示
图9.3 以b(x)=x3+x2+1为除式的除法电路
16
9.2.3 编码电路
系统循环码的编码方法是:
首先将信息 元多项式m(x)乘以 xn-k成为xn-km(x);
然后将xn-km(x)除以生成 多项式g(x)得到余式r(x),该 余式就是校验元多项式,从 而可得码字多项式c(x)=xnkm(x)+r(x)。
8
9.1.3 循环码的生成多项式
定义9.2 若一个循环码 的所有码字多项式都是一个 次数最低的非零首一多项式 g(x)的倍式,则称g(x)生成该 循环码,并称g(x)为该码的 生成元或生成多项式。
定理9.2 GF(2)上的(n,
k) 循 环 码 中 , 存 在 有 唯 一 的 n-k 次 首 一 多 项 式 g(x)=xn-k +gn-k-1xn-k-1 + … + g1x+g0
9
定理9.4 若g(x)是(n,k)循环码的生成多项式,由xn-1=
g(x)h(x),h(x)是k次多项式,称为校验多项式。令
h(x)=hkxk+hk-1xk-1+…+h1x+h0
则
h0 h1 hk 0
0
H
0
h0
h1
hk
0
0
0
0
h0
h1
hk
(9-5)
【例9.2】设被除式a(x)=x4+x+1,除式b(x)=x3+x2+1,完成二
个多项式相除的运算。
长除法:
x3 x2 1 x4
x 1 x1
x4 x3
x
x3
1
x3 x2 1
多项式的系数运算
x2
11
1 1 0 11 0 0 1 1
11 0 1
10 01 11 0 1
10 0
c14 :
1001110
c 16
:
1111111
第二循环
图9.1 (7,4)汉明码的码字循环图
5
定义9.1 一个线性分组码,若具有下列特性,则称其为 循环码。设码字
c=(cn-1,cn-2,…,c1,c0)
若将码元循环左移一位,得
c (1)=(cn-2,…,c1,c0,cn-1)
c (1)也是一个码字。