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