第九章-循环码

合集下载

(完整版)循环码

(完整版)循环码

2、循环码2.1循环码的基本原理 1.定义循环码是满足循环特性的线性分组码,是线性分组码的子类,之所以这样说是因为线性分组码要求所选择的码是线性的,循环码则是在线性分组码的基础之上进一步要求所选择的码具有循环性。

假设C 是一个(n,k)线性码,如果C 中任意一个码字经任意循环移位之后仍然是C 中的码字,那么此码是一个循环码。

循环码具有规则的代数结构,且是自封闭的,因此用多项式来描述更方便。

长度为n 的循环码可用一个n-1次多项式来描述,此多项式称为码多项式,表示如下:(1)左移i 位后的码多项式为(2)码多项式与循环移位后的多项式之间的关系为)1()(c xC(x)1)1(021121-n -+=++⋅⋅⋅++=---nn n n n x c x C x c x c x c x (3)也即是)1m od()()()1(-≡n x x xC x C (4)以此类推,可以得到)1m od()()()(-≡n i i x x C x x C (5)2.循环码的性质(1)GF(q)上的(n,k)循环码中,存在唯一的一个n-k 次首一多项式0111)(g x g x g x x g k n k n k n ++⋅⋅⋅++=-----,每一个码多项式)(x C 都是)(x g 的倍式,即循环码的码多项式)(x C 中次数最低且其常数项为1的码多项式有且仅有一个,为码的生成多项式,记做)(x g 。

循环码C 中的每个码多项式)(x C 都可唯一表示成)()()(x g x m x C =。

(2))(,),(),(),(12x g x x g x x xg x g k -⋅⋅⋅都是生成多项式,他们的线性组合也是生成多项式。

(3)GF(q)上(n,k)循环码的生成多项式)(x g 一定是)1(-nx 的因子。

(4)循环码的生成矩阵H 和校验矩阵H 的正交性可以用多项式表示为1)()(-=n x x h x g 。

(完整版)循环码

(完整版)循环码

2、循环码2.1循环码的基本原理 1.定义循环码是满足循环特性的线性分组码,是线性分组码的子类,之所以这样说是因为线性分组码要求所选择的码是线性的,循环码则是在线性分组码的基础之上进一步要求所选择的码具有循环性。

假设C 是一个(n,k)线性码,如果C 中任意一个码字经任意循环移位之后仍然是C 中的码字,那么此码是一个循环码。

循环码具有规则的代数结构,且是自封闭的,因此用多项式来描述更方便。

长度为n 的循环码可用一个n-1次多项式来描述,此多项式称为码多项式,表示如下:(1)左移i 位后的码多项式为(2)码多项式与循环移位后的多项式之间的关系为)1()(c xC(x)1)1(021121-n -+=++⋅⋅⋅++=---nn n n n x c x C x c x c x c x (3)也即是)1m od()()()1(-≡n x x xC x C (4)以此类推,可以得到)1m od()()()(-≡n i i x x C x x C (5)2.循环码的性质(1)GF(q)上的(n,k)循环码中,存在唯一的一个n-k 次首一多项式0111)(g x g x g x x g k n k n k n ++⋅⋅⋅++=-----,每一个码多项式)(x C 都是)(x g 的倍式,即循环码的码多项式)(x C 中次数最低且其常数项为1的码多项式有且仅有一个,为码的生成多项式,记做)(x g 。

循环码C 中的每个码多项式)(x C 都可唯一表示成)()()(x g x m x C =。

(2))(,),(),(),(12x g x x g x x xg x g k -⋅⋅⋅都是生成多项式,他们的线性组合也是生成多项式。

(3)GF(q)上(n,k)循环码的生成多项式)(x g 一定是)1(-nx 的因子。

(4)循环码的生成矩阵H 和校验矩阵H 的正交性可以用多项式表示为1)()(-=n x x h x g 。

循环码

循环码

7
循 环 码
三、循环码的生成多项式和生成矩阵
⒈ 定理一
(n, k)循环码C(x)中存在一个非零的、首一的、次数最低 且次数为r(r<n)的码式g(x),满足
1) g(x)是唯一的
2) g(x)的零次项g0 ≠ 0 3) c(x)是码式当且仅当c(x)是g(x)的倍式 4) r = n-k 记:g(x) = xr + gr-1xr-1 + … + g1x + g0
循环码的生成矩阵
码式g(x),g(x)∙x,…, g(x)∙xk-1是线性无关的,所以(n , k)循环 码的生成矩阵在g(x)确定后可以表示为G,
15
循 环 码
四、循环码的校验多项式和校验矩阵
由于g(x)是xn-1的因式,因此定义(n , k)循环码的一致检验多 项式为h(x),
h(x) = (xn-1)/g(x)
也必是码式,所以g(x)的倍式a(x)∙g(x)若次数小于n则必是 码式。
充分性:如果f(x)是码式,则必有 f(x) = a(x)∙g(x)+r(x),0 ≤ r(x)的次数 < g(x)的次数, 若r(x) ≠ 0,则r(x)一定是码式,且次数小于r,这与假设矛 盾。因此必有r(x) = 0,所以码式f(x)一定是g(x)的倍式。
C(x)=(Cn-1xn-1+Cn-2xn-2+…+C0)


对于二进制码,码多项式的每个系数不是0就是1。
x仅是码元位置的标记。我们并不关心x的取值。 码多项式 i 次循环移位的表示方法,码矢C1左移一位 得码矢C2,各自用多项式形式表示如下:
4
循 环 码
C1(x) Cn1xn1 Cn2 xn2 C1x C0

《循环码教学》课件

《循环码教学》课件

3
循环码未来的发展
未来,循环码将继续发展,并与其他算法结合,进一步提高纠错能力和效率。
参考文献
1. 杨宗凯,纠错编码技术及其应用[M],北京:国防工业出版社,2014。 2. 陈志武,现代编码理论及其应用[M],北京:机械工业出版社,2018。 3. "Cyclic Redundancy Check", Wikipedia, accessed July 2021.
循环码的应用案例
磁盘驱动器存储
磁盘驱动器中的数据存储 需要能够快速、高效地读 取和写入数据。而循环码 可以提高数据的安全性和 可靠性,有效地防止磁盘 故障和数据丢失。
数据传输
在数据传输中,如何确保 数据的完整性和正确性是 非常重要的。循环码可以 在数据传输过程中进行检 测和纠错,保证数据的可 靠性。
在现代通信、计算机存储等领域,循环码已成为基本的技术手段之一。
循环码的基础概念
1
循环码的编码方式
2
循环码的编码方式包括系统的生成
多项式,通过循环移位、异或等操
作,得到一组码字。
3
循环码的生成多项式
4
生成多项式是一个与循环码有关的 多项式,它的决定循环码的性质和
检错能力。
循环码的定义
循环码是指在编码时包含了数据码 本身的某些关系的编码方式。
循环码的解码方式
通过检验多项式进行校验并将误差 位纠正。
循环码的检错能力
循环冗余校验码(CRC)
CRC是一种广泛使用的循环 冗余检验方法。
循环码的模2加减运算
循环码的检错能力取决于模2 加减运算的特点,对产生的 错误逐位进行判断,从而检 测错误位置。
循环码校验的实例讲解
我们将通过一个实际的循环 码校验实例,详细讲解循环 码校验的过程。

循环码

循环码
码组 编号 信息位 a6 a5 a4 监督位 a3 a2 a1 a0 码组 编号
(模( x7 1))
信息位 a6 a5 a4 监督位 a3 a2 a1 a0
1
2 3 4
000
001 010 011
0000
0111 1110 1001
5
6 7 8
100
101 110 111
1011
1100 0101 0010
x4 x2 x 1
5 4 3 T ( x ) x x x 1 ; 码组(0111001)的码多项式为
码组(1110010)的码多项式为 T ( x ) x x x x ;
6 5 4
反之,若已知码多项式也可以求得对应的码组。 码多项式T(x)=x7+ x3+ x+1,则8位该组为 C=(10001011)。 码多项式T(x)=x5+ x3+ x2 + x1 ,则7位码组为 C=(0101110) 。
(2) 已知信息码,由生成多项式g(x)得到循环码 对长为k位的任意消息组 M=(mk-1,…, m1,m0),其对
应的消息多项式为m(x)=mk-1xk-1+…+ m1x+m0
可乘以g(x)而构成n-1次的码多项式:
2016/6/24
T ( x) (mk 1 xk 1 m1 x m0 ) g( x) m( x) g( x)
即生成多项式:g(x) = x4 + x2 + x + 1。将此g(x)代入 (0010111)
x k 1 g ( x) k 2 x g ( x) G ( x) xg ( x) g ( x)

第九章循环码

第九章循环码

(1)由接收到的y(x)计算伴随式多项式s(x);
ˆ( x) ; (2)根据伴随式s(x)找出对应的估值错误图样e
ˆ( x ) y ( x ) e ˆ( x),得到估值码字c ˆ( x ) c ( x ) ˆ( x) 。若c (3)计算 c ˆ( x) c( x) ,则译码错误。 ,则译码正确,否则,若 c
设传送出现一个错,错误图样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)
为生成多项式的(2m-1,2m-1-m)Hamming码是循环码。 码的校验矩阵为 )
一个(n,k)循环码的码字多项式都是模xn-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.3 (n,k)循环码的生成多项式g(x)一定是xn-1 的因式:xn-1=g(x)h(x)。反之,若g(x)为n-k次,且除 尽xn-1,则此g(x)一定生成一个(n,k)循环码。

循 环 码

循 环 码

(2) 求 R(x) : R(x)是 xr m(x)除以 g(x) 得到的余项。
xr g
mx x
Qx
Rx gx
(3)将R(x) 加在信息位之后作为监督码,组成多项式A(x)。
Ax xr mx Rx
则码编码电路
表 10.6 (7,3)循环码的编码过程
现代通信原理
循环码
1.1 循环码的基本概念
循环码是一种具有循环性的线性码(具有封闭性) 。 一个(n, k) 线性分组码, 如果每个码组任意循环移位
后仍然是一个线性分组码 , 则称此码组为循环码。
例(7,3)循环码:g(x)= x4 + x3 + x2+ 1
表 10.5 (7,3)循环码
为了利用代数理论研究循环码,可以将码组用代数多
2. 译码过程
循环码的译码可以分三步进行:
(1)由接收到的码多项式B(x)计算校正子(伴随式)多项 式S(x); (2)由校正子S(x)确定错误图样E(x); (3)将错误图样E(x)与B(x)相加,纠正错误。
检错: 设接收码组为B(x), 作B(x) / g(x), 若能除尽(余
式为0),则B(x)为码多项式,表示传输无错码;若余 式不为0,则有错码。
纠错: 建立 B(x) / g(x) 的余式与错误图样的一一对应关
系。根 据余式得到错误图样E(x) , 则A(x)= B(x) -E(x)
或通过计算校正子S, 利用类似 表10-4的关系,确定错 码的位置。
由上述分析可知,只要找到循环码的生成多项式g(x), 就决定了编码、译码、纠错能力。
但在实际的系统设计中,往往要按给定的纠正随机错 误的个数来寻找 g(x)。

D0

《循环码教学》课件

《循环码教学》课件
检测过程
在检测过程中,接收端将接收到的码字左移r位,然后除以生成多项式。如果余数为零,则认为传输过程中没有 发生错误;如果余数不为零,则认为传输过程中发生了错误。通过这种方式,循环码可以检测到单个或多个比特 错误。
03
循环码的编码与解码
编码过程
01
02
03
04
05
定义
选择生成多项式
生成多项式与信 息比特序…
编码与解码的实例演示
确定错误的位置为第4位(从右 往左数)。
纠正错误,将第4位由0改为1 ,得到纠正后的码字比特序列 1010101101。
将纠正后的码字比特序列与生 成多项式进行模2除法运算,得 到恢复的信息比特序列 1011001。
04
循环码的性能分析
误码率分析
误码率定义
影响因素
误码率是指接收端接收到的错误码元 与总码元数的比值,是衡量循环码性 能的重要指标。
影响循环码误码率的因素包括信噪比 、码长、编码方式和传输通道特性等 。
误码率计算
通过理论分析和仿真实验,可以计算 出不同条件下循环码的误码率,从而 评估其性能。
抗干扰性能分析
抗干扰能力评估
循环码具有良好的抗干扰性能, 能够有效地抵抗信道中的噪声和
干扰。
干扰抑制机制
循环码通过引入冗余和校验位,利 用编码规则对干扰进行检测和纠正 ,从而降低误码率。
添加校验位
得到码字比特序 列
循环码是一种线性码,其 编码过程是将信息比特序 列与一个生成多项式序列 进行模2除法运算,得到码 字比特序列。
根据给定的码长和纠错能 力,选择合适的生成多项 式。
将生成多项式与信息比特 序列逐位相乘,得到中间 比特序列。
根据中间比特序列和生成 多项式的系数,计算校验 位,并将其添加到中间比 特序列的末尾。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(9-2) (9-3)
定理9.1 在以多项式xn-1为模的剩余类全体所构成的n维线 性空间Vn中,其一个子空间Vn,k是一个循环子空间(循环码) 的充要条件是:Vn,k是一个理想。
一个(n,k)循环码的码字多项式都是模xn-1运算
下多项式剩余类环中的一个理想,而且一定是一个主理想 子环。反之,多项式剩余类环的一个主理想子环也一定生 成一个循环码。
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)在伴随式 计算电路中无输入时,右移一位的结果(称为自发运算):
码的性质均适用于循环码。
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)为:
注意到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),该余式就是校验元 多项式,从而得到码字多项式
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)也是该循环码的一个码字。这就是
第九章 循环码
1
第九章 循环码
内容提要:
循环码是线性分组码中一个重要的子类。 本章首先提出了循环码的定义以及循环码的多 项式描述方法,论述了循环码构成的有关重要 定理;接着讨论了循环码的编译码方法及其实 现电路,最后介绍了已获得广泛应用的循环汉 明码、BCH码等。
2
本章重点: 1.循环码的基本概念; 2. 循环码的编码和译码方法; 3. BCH码。
3
9.1 循环码的一般概念 9.1.1 循环码的定义
将任一码字中的7个码元排在一个圆周上,则从圆周 的任一码元开始,按顺时针方向移动一周,都将构成该码 的一个码字。这就是循环码的由来。(见图9.1)
4
c1 : 0001011
c2 :
0010110

c3 : c4 :
0101100
1011000
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
说 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除法电路中无输入时,右移 一位的结果,也即自发运算的结果。
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.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也可以表为

第一循环
c 5 : 0110001
c 6 : 1100010
c7 :
1000101

c15 : 0000000
c 8 : 0011101
c9 :
0111010

c10 : c11 :
1110100
1101001

c12 :
1010011

c13 : 0100111
【例9.2】设被除式a(x)=x4+x+1,除式b(x)=x3+x2+1,完成二
个多项式相除的运算。
长除法:
x3 x2 1 x4
x 1 x1
x3 x2 1
多项式的系数运算
x2
11
1 1 0 11 0 0 1 1
11 0 1
10 01 11 0 1
10 0
使 得 每 一 个 码 多 项 式 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)循环码。
图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个不同的错误图样,但对于按上述定理设计的循环码译码器 来说,可以把这些错误图样归成一类,译码器只要识别其中的 一个错误图样就可以了。
(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),写成
H 2m 2 2m 3
1 (9-14)
26
例如,以GF(23)上的三次本原多项式为生 成多项式,可生成一个(7,4)循环汉明码, 其生成多项式g(x)=x3+x+1。
设是GF(23)上的本原元,则码的校验矩阵
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)
所有次数低于或等于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
循环码是线性分组码的一个子类。因此,所有线性分组
为(n-k)n阶矩阵,称为码的校验矩阵。
10
综上所述,有如下结论:
①(n,k)循环码的生成多项式g(x)是一个次数最低的唯
一的首一多项式,其次数r=n-k正好是码字中校验元的数 目;
② 生成多项式g(x)是xn-1的因式。要构造一个(n,k)循环码,
就是要在xn-1的因式中找一个n-k次的首一多项式g(x),它的
17
用电路实现编码时可采用以g(x)为除式的除法电路。作为实 例,图9.4示出了生成多项式g(x)=x3+x2+1的(7,4)循环码的 编码电路。
图9.4 以g(x)=x3+x2+1的(7,4)循环码编码器
相关文档
最新文档