第六章_循环码2
(完整版)循环码
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 。
通信原理二--循环码
实验报告学科:通信原理(二)题目:数字信号基带传输系统仿真实验设备:安有matlab仿真软件的计算机学院:光电信息与通信工程学院系别:通信工程学号:姓名:指导教师:一、实验目的与要求1. 学习并理解信道编码的根本目的、技术要求与基本目标等基本概念;2. 掌握循环码、miller码的物理涵义、数学基础及检纠错原理;3. 掌握循环码、miller码的码型特点、检纠错能力、编译码方法及基本技术;4. 学会使用MATLAB 实现循环码及miller码的编译码及检纠错模拟与分析。
二、实验仪器与设备1. 安装了matlab程序的计算机 1 台三、实验原理(一)循环码循环码是线性分组码的一个重要子集,是目前研究得最成熟的一类码,它有许多特殊的代数性质,例如,循环码中任一许用码组经过循环移位后,所得到的码组仍然是许用码。
循环码A= a n−1+a n−2+…+a 1+a 0可以表示为如下的码多项式:1.生成多项式g (x)定义:若一个循环码的所有码字多项式都是一个次数最低的、非零的、首一多项式g (x)的倍式,则称g (x)为生成该码,并称g (x) 为该码的生成元或生成多项式。
可以证明生成多项式g (x)具有以下特性:(1)g (x) 是一个常数项为1 的r=n −k 次多项式;(2)g (x) 是x n+1 的一个因式;(3)该循环码中其它码多项式都是g (x)的倍式。
为了保证构成的生成矩阵G的各行线性不相关,通常用g (x) 来构造生成矩阵。
因此,一旦生成多项式g (x) 确定以后,该循环码的生成矩阵就可以确定。
设则有:2.监督多项式h(x)定义:若g (x) 是(n,k) 循环码的生成多项式,则有x n+1= g (x )h (x) 。
其中,h(x) 是k 次多项式,称为监督多项式。
也称校验多项式。
监督矩阵可表示为:其中:3.伴随式发送码C(x) 通过含噪信道时,会因各种扰而产生误码。
例如发送码为:00000000001111111111接收码为:01101001001111001001产生错误序列:01101001000000110110可见,发生了两个长度分别为7和5的突发差错,其错误图样分别为1101001 和11011。
通信原理循环码
通信原理循环码1. 什么是循环码?1.1 循环编码的概念循环码是一种错误检测和纠正码。
它是一种具有循环性质的编码方式,通过添加冗余位实现错误检测和纠正的功能。
1.2 循环码的结构循环码由生成多项式决定,它决定了编码和解码过程中的位操作,如异或运算。
循环码可以用一个(d, n)的表示方式,其中d表示循环码能够检测和纠正的错误位数,n表示编码后的总位数。
1.3 循环码的特点循环码具有以下特点: - 具有循环性,可以通过循环移位实现位操作,提高编码和解码的效率; - 可以实现错误检测和纠正; - 可以通过选择不同的生成多项式,实现不同的错误检测和纠正能力; - 可以通过简单的位操作进行编码和解码。
2. 循环码的编码原理循环码的编码过程可以分为以下几个步骤:2.1 选择生成多项式生成多项式是循环码编码和解码的关键参数,不同的生成多项式决定了循环码的检错和纠错能力。
通常使用最简生成多项式,也就是二进制形式的多项式。
2.2 构造生成多项式的环根据生成多项式构造生成多项式的环,即在二进制有限域中构造一个环,环的元素由0和1组成,可以进行模2加法和模2乘法。
2.3 填充待编码数据待编码的数据通常使用二进制表示,如果数据位数小于生成多项式的次数,则需要进行补零操作,保证待编码数据的位数与生成多项式的次数相同。
2.4 模2除法运算将补零后的待编码数据与生成多项式进行模2除法运算,得到余数作为编码后的冗余位。
2.5 添加冗余位将编码后的冗余位添加到原始数据后面,形成完整的循环码。
3. 循环码的解码原理循环码的解码过程可以分为以下几个步骤:3.1 接收数据接收到经过信道传输后的循环码数据。
3.2 构造生成多项式的环根据生成多项式构造生成多项式的环,与编码过程中的环保持一致。
3.3 计算余数将接收到的数据与生成多项式进行模2除法运算,得到余数。
3.4 检测错误检测余数是否为非零,如果余数为非零,则表示存在错误。
3.5 纠正错误根据余数的位置,确定错误位,并进行纠正。
循环码
① ②
15
循 环 码
2、校验矩阵 、
令校验多项式: 令校验多项式:h(x) = hkxk + hk-1xk-1 + … + h1x+h0
其反多项式: h*(x) = h0xk + h1xk-1 + … + hk-1x+hk 其反多项式:
循环码的一致校验矩阵的第一行为校验多项式的反多项 式的系数加上n-k-1个零组成,第二行为第一行向右平移 个零组成, 式的系数加上 个零组成 1位。以此类推得到其他各行。此矩阵为r ×n阶的。 位 以此类推得到其他各行。此矩阵为 阶的。 阶的
也就是码字0011101 对应的多项式,这个码字循环移 对应的多项式, 也就是码字 位后刚好可以得到其他码字。 位后刚好可以得到其他码字。 观察各个码多项式的关系
C2(x)=(x+1)C1(x); C3(x)=x C1(x);…… ;
观察可发现, 观察可发现,其他的码多项式都可以写成g(x)的倍式。 再把信息序列写成多项式的形式,可得: 再把信息序列写成多项式的形式,可得:
首一多项式
2、性质: 、性质:
任一码多项式必是g(x) 的倍式: C(x) = m(x)g(x) 的倍式: ① 任一码多项式必是 任一次数≤ 的多项式m 与 相乘, ② 任一次数 k-1的多项式 (x)与g(x)相乘,必为码式 的多项式 相乘
回答前面三个问题
8
循 环 码
3、循环码的生成矩阵 、
码多项式、生成多项式及信息多项式的关系: 码多项式、生成多项式及信息多项式的关系: Ci(x) =mj(x)g(x) C=mG G为生成矩阵 为生成矩阵 i≠j
12
13
14
循环码
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
循环码
(模( 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)
循 环 码
(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
循环码
8.5 循环码循环码是线性分组码中最重要的一个子类码,它的基本特点是编码电路及伴随式解码电路简单易行;循环码代数结构具有很多有用的特性,便于找到有效解码方法。
因此在实际差错控制系统中所使用的线性分组码,几乎都是循环码。
下面将介绍循环码的多项式表示及其性质,同时简介几种重要的循环码,CRC、BCH和R-S 码等。
8.5.1 循环码的描述1. 码多项式及其运算通式表示为:(8-69)于是称与为“同余”式,即[模](8-70)如:则[模] 即能被整除利用这一运算原理,我们可对一个码字进行移位表示:如:的多项式表示为:使码组向左移2位(循环)则有对应多项式然后以去除得:这一结果表明,以作除法运算(称模)后,即与为同余因此,(模)应注意,利用这种同余式表示,必须加注(模),否则就不明确在什么条件下得到的这一同余关系式。
2.循环码的构成循环码的构成突出特点是只要是该码中的一个许用码组——码字,通过循环位其结果则可包括全部个非全0码字,如上面介绍的(7,3)分组码,从信码位0 0 1构成的码字(0011101)开始逐一向左(或者向右)移一位,可得其余6个码字:(0111010)、(1110100)、(1101001)、(1010011)、(0100111)、(1001110)。
若把这些码字写成码多项式,都具有同一个移位运算模式,并设(0011101)对应的码多项式,于是,有:(模)(8-71)这样,就构成了(7,3)循环码,如表8-4。
从表8-4看出,循环得到的(7,3)码,仍为系统码,信息码组均在表中码字的高位(左方)。
表8-4 (7,3)循环码移位(7,3)码码多项式(模)0 0 0 1 1 1 0 11 0 1 1 1 0 1 02 1 1 1 0 1 0 03 1 1 0 1 0 0 14 1 0 1 0 0 1 15 0 1 0 0 1 1 16 1 0 0 1 1 1 08.5.2 循环码生成多项式与生成矩阵1. 生成多项式由表8-4构成个非全0码字多项式的过程与结果看,我们从开始进行逐一循环,并以模运算,该码字正是信码组中最低位为1,对应码字多项式,在全部非全0码字中,它的最高位阶次也最低,并等于,即最高次项为,随后一系列码字都源于它的移位而形成,因此称其为生成多项式,即(8-72)然后再从的因式分解来进一步分析(8-73)我们可以将三个既约多项式因式任意组合成两个因式,可有(8-74)如:(8-75)(8-76)其中可以组合为二因式中包含最高次为4次的情况有两种,即展开式的第4及第5两组,都可以作为阶次最高为4的即(8-77)(8-78)在展开式中选用了其中一个(组合)因式为后,余下一个因式,则称其为循环码的监督多项式,如式(8-74)生成多项式与相应监督多项式乘积等于多项式。
循环码
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 。
循环码
谢谢观看
常用CRC码
CRC码 生成多项式 CRC-12 x12+x11+x3+x2+x+1 CRC-16 x16+x15+x2+1 CRC-CCITT x16+x12+x5+1 BCH码 BCH码是循环码的一个重要的子类,它是一种能纠正多个随机错误的应用最为广泛和有效的差错控制码。 定义:对于任意正整数m(m≥3)和t(t<2m-1=一定存在一个具有下列参数的二进制BCH码:
编码种类
十六进制数 自然二进制码 循环二进制码 十六进制数 自然二进制码 循环二进制码 0 0000 0000 8 1000
特征
为了探讨循环码的特征,把码字C=(Cn-1 Cn-2…C1C0)用如下的码多项式C(x)来表示。 (1)特性一 在一个(n,k)循环码中,存在惟一的一个n-k次码多项式: 每一个码多项式C(x)都是g(x)的一个倍式,反之每个为g(x)倍式,且次数小于等于n-1的多项式必是一个码 多项式。 由此可见,(n,k)循环码中的每一个码多项式C(x)均可由下式表示: 如果m(x)的系数(mk-1…m1m0)就是表示待编码的k位信息位,则C(x)就是对应于此信息组m(x)的码多项式。 因此(n,k)循环码完全可由g(x)确定。g(x)也称为循环码(n,k)的生成多项式。g(x)的次数n-k等于码中一致校 验位的位数。
译码器
缩短循环码
循环码的生成多项式g(x)应该是xn+1的一个(n-k)次因子,但有时在给定码长n时,xn+1的因子不能满足设 计者的需要,为了增加选择机会,往往采用缩短循环码。
在(n,k)循环码的2k个码字中选择前i位信息位为0的码字,共有2k-i个,组成一个新的码字集。这样就构成 了一个(n-i,k-i)缩短循环码。
循环码(最新整理)
2、循环码2.1循环码的基本原理1.定义循环码是满足循环特性的线性分组码,是线性分组码的子类,之所以这样说是因为线性分组码要求所选择的码是线性的,循环码则是在线性分组码的基础之上进一步要求所选择的码具有循环性。
假设C 是一个(n,k)线性码,如果C 中任意一个码字经任意循环移位之后仍然是C 中的码字,那么此码是一个循环码。
循环码具有规则的代数结构,且是自封闭的,因此用多项式来描述更方便。
长度为n 的循环码可用一个n-1次多项式来描述,此多项式称为码多项式,表示如下:(1)左移i位后的码多项式为(2)码多项式与循环移位后的多项式之间的关系为(3))1()(c xC(x)1)1(021121-n -+=++⋅⋅⋅++=---nn n n n x c x C x c x c x c x 也即是(4))1mod()()()1(-≡n x x xC x C 以此类推,可以得到(5))1mod()()()(-≡n i i x x C x x C 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即循环码的码多项式中次数最低且其常数项为1的码多项式有且仅有一个,为码的生)(x C 成多项式,记做。
循环码C 中的每个码多项式都可唯一表示成。
)(x g )(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)()(-=nx x h x g 。
因此,h(x)也是的因子。
循环码的概念及性质
循环码的概念及性质:循环码是线性分组码中最重要的一种子类,是目前研究得比较成熟的一类码。
循环码具有许多特殊的代数性质,这些性质有助于按照要求的纠错能力系统地构造这类码,并且简化译码算法,并且目前发现的大部分线性码与循环码有密切关系。
循环码还有易于实现的特点,很容易用带反馈的移位寄存器实现其硬件。
正是由于循环码具有码的代数结构清晰、性能较好、编译码简单和易于实现的特点,因此在目前的计算机纠错系统中所使用的线性分组码几乎都是循环码。
它不仅可以用于纠正独立的随机错误,而且也可以用于纠正突发错误。
在描述循环码之前,先看以下例子。
设(7,4)汉明码C的生成矩阵和校验矩阵为:于是可以得到相应的16个码组:(1000101)(0001011)(0010110)(0101100)(1011000)(0110001)(1100010)(0100111)(1001110)(0011101)(0111010)(1110100)(1101001)(1010011)(1111111)(0000000)由上述这些码组可以看到,如果是C的码组,则它的左右移位都是C的码组,具有这种特性的线性分组码称为循环码。
循环码具有以下一些性质:1、封闭性(线性性)。
任何许用码组的线性和还是许用码组。
由此性质可以知:线性码都包含全零码。
且最小码重就是最小码距。
2、循环性。
任何许用的码组循环移位后的码组还是许用码组。
循环码可以用多项式来表示。
为了用代数理论的方法研究循环码的特性,我们经常将循环码表示成码多项式的形式:通常将码的码多项式定义如下:其中,D、。
这里,GF(2)表示2元域,在GF(2)内只有两种元素0,1,且0、1满足如下的加法和乘法运算规则:1+1=0、1+0=1、0+1=1、0+0=0;1×1=1、1×0=0、0×0=0、0×1=0。
例如(1011000)码的多项式表示为循环码的生成多项式:(返回)循环码完全由其码长n和生成多项式构成。
讲义62循环码
6-2 循环码(Cyclic Code)循环码是线性分组码的最重要的一类码,它的结构完全建立在有限域多项式的基础上。
它具有两个基本特点:一是编码电路与译码电路非常简单,易于实现;二是其代数性质好编码译码分析方便,有一些好的译码方法。
6-2-1 循环码的描述[循环码定义]:一个(n,k)线性分组码C,如果码组中的一个码字的循环移位也是这个码组中的一个码字,则称C为循环码。
C(0)={c n-1,c n-2,……c1,c0} ∈CC(1)={c n-2,c n-3,……c0,c n-1} ∈C称为具有循环自闭性。
[循环码的多项式描述]:循环码可以用监督矩阵和生成矩阵描述,但更多地用域上多项式来描述,一个(n,k)循环的码字矢量C(0)用一个n-1次多项式描述,可以表示为:C(x)= c n-1x n-1+c n-2x n-2+……+c1x+c0这个多项式称为码字多项式。
码字矢量的循环移位可以用x乘上C(x)后的模x n-1(x n+1)来表示。
xC(x)= x(c n-1x n-1+c n-2x n-2+……+c1x+c0)= c n-1x n+c n-2x n-1+……+c1x2+c0 x= c n-2x n-1+……+c1x2+c0 x+ c n-1(模x n+1)模x n+1相当于x n+1=0;x n=1[循环码举例]:(7,4)系统循环码的编码及码字多项式如下表:可以看出:每个码字的循环移位仍然属于这个码组,注意:并不是说这个码组是由一个码字的循环移位构成的,本例中是由四个码字的循环移位构成的。
[生成多项式的定义]:在一个(n,k)循环码中,有且仅有一个次数为n-k=r的码字多项式,记为:g(x)=x r+g r-1x r-1+……+g1x+1同时:每个码字多项式都是g(x)的倍式;每个次数小于等于n-1的g(x)的倍式必为一个码字多项式。
这时称g(x)的(n,k)码的生成多项式。
从上面的例子可见,g(x)=x3+x+1为(7,4)循环码的生成多项式。
第六章 循环码的译码
xS(x)-S1(x)=g(x)(xq(x)-q1(x))≡0 (mod g(x))
S1(x)≡xS(x) (mod g(x))
推论6.1.1 xjR(x)的伴随式Sj(x)≡xjS(x) (mod g(x)), j=0, 1, …, n-1。 而任意多项式a(x)乘R(x)所对应的 伴随式
Sa(x)≡a(x)S(x) (mod g(x))
译码器的主要任务就是如何从R(x)中得到正确的
估计错误图样Ê(x)=E(x), 然后得到C(x), 并由此得到
信息组m(x)。 如同所有线性分组码的译码一样, 循环码的译码
也分为以下3步: (1) 计算R(x)的伴随式S(x);
(2) 根据伴随式S(x)找出估计错误图样Ê(x);
(3) R(x)-Ê(x)= , 得到译码器输出的估值码字
第六章 循环码的译码
2020年4月23日星期四
§6.1 循环码译码的一般原理
设发送的码字是C(x)=(cn-1x n-1+…+c1x+c0)(今后不再 严格区分码字与码多项式), 通过q进制输入和输出的信 道后, 译码器输入端得到的是
R(x)=C(x)+E(x)=(r n-1 x n-1+…+r1x+r0) ri=ci+ei 式中, E(x)=(en-1xn-1+…+e1x+e0)是信道产生的错误图样 , 应当指出, 上述这些式中的ci、 ri、 ei均是GF(q)中 的元素, 也就是我们这里仅讨论硬判决时的译码方法 。
R=C+E=(c n-1+e n-1, c n-2+e n-2, … , c 1+e 1, c 0+e 0)
循环码
在抽象代数学中, F [ x] / ( g ( x)) 表示域 F 上的多项式剩余类环,其模是 g ( x) 。因 此,循环码 C[ x] 是域 GF (2) 上以 x − 1 为模的多项式剩余类环 GF (2)[ x] / ( x n − 1) 。
n
定理【生成多项式】 i. ii. iii. 循环码 C[ x] 存在唯一的次数最低的首一多项式 g ( x) (称为生成多项式) 每个码字多项式 c( x) 都是 g ( x) 的倍式
= c( x) [u0b0 ( x) + u1b1 ( x) + . .+ u . k −1bk −1 ( x)]g ( x)
(ii) 考察 x n − k u ( x) u0 x n − k + u1 x n − k +1 + ... + uk −1 x n −1 =
n−k x = u ( x) q( x) g ( x) + r ( x)
n
再设 h( x) 是 C[ x] 中次数最低的首一多项式,则由(2)可知, h( x) 是 g ( x) 的因式。于 是 h( x) 是 g ( x) 和 x − 1 的公因式。
n
由 Euclids 除法知,存在多项式 s ( x) 和 t ( x) ,使得 h( x) = s ( x) g ( x) + t ( x)( x n − 1) 于是 h = ( x) ( s ( x) + t ( x)b( x)) g ( x) , 即 g ( x) | h( x) ,这个式子表明了两种可能: (i) (ii)
讲义62循环码.(DOC)
6-2 循环码(Cyclic Code)循环码是线性分组码的最重要的一类码,它的结构完全建立在有限域多项式的基础上。
它具有两个基本特点:一是编码电路与译码电路非常简单,易于实现;二是其代数性质好编码译码分析方便,有一些好的译码方法。
6-2-1 循环码的描述[循环码定义]:一个(n,k)线性分组码C,如果码组中的一个码字的循环移位也是这个码组中的一个码字,则称C为循环码。
C(0)={c n-1,c n-2,……c1,c0} ∈CC(1)={c n-2,c n-3,……c0,c n-1} ∈C称为具有循环自闭性。
[循环码的多项式描述]:循环码可以用监督矩阵和生成矩阵描述,但更多地用域上多项式来描述,一个(n,k)循环的码字矢量C(0)用一个n-1次多项式描述,可以表示为:C(x)= c n-1x n-1+c n-2x n-2+……+c1x+c0这个多项式称为码字多项式。
码字矢量的循环移位可以用x乘上C(x)后的模x n-1(x n+1)来表示。
xC(x)= x(c n-1x n-1+c n-2x n-2+……+c1x+c0)= c n-1x n+c n-2x n-1+……+c1x2+c0 x= c n-2x n-1+……+c1x2+c0 x+ c n-1(模x n+1)模x n+1相当于x n+1=0;x n=1[循环码举例]:(7,4)系统循环码的编码及码字多项式如下表:可以看出:每个码字的循环移位仍然属于这个码组,注意:并不是说这个码组是由一个码字的循环移位构成的,本例中是由四个码字的循环移位构成的。
[生成多项式的定义]:在一个(n,k)循环码中,有且仅有一个次数为n-k=r的码字多项式,记为:g(x)=x r+g r-1x r-1+……+g1x+1同时:每个码字多项式都是g(x)的倍式;每个次数小于等于n-1的g(x)的倍式必为一个码字多项式。
这时称g(x)的(n,k)码的生成多项式。
从上面的例子可见,g(x)=x3+x+1为(7,4)循环码的生成多项式。
(完整word版)循环码(word文档良心出品)
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 。
第六章纠突发错误循环码61循环码的纠突发错误能力62纠Read
第六章 纠突发错误循环码
▪弗尔码:如果p(x)是一个m次不可约多项式, e是它的周期,且p(x)与(x2b-1+1)互素,则以 g(x)=p(x)(x2b-1+1)为生成多项式生成的[n,n2b-m+1]循环码称为弗尔码。
▪弗尔码的码长n=LCM(e,2b-1),能纠正所有 长度不大于b的单个突发错误,如果用来检错, 它能发现所有长度不大于m+2b-1的单个突发错 误,e是p(x)的周期,
特点,把R(x)与相应的S(x)同时循环移位i次,使 错误集中在码组的后n-k位上。
第六章 纠突发错误循环码
此时接收码字xiR(x)的伴随式为xiS(x),因此得到 移位i次的码字Ci(x)=xiC(x)-xiS(x) 再作n-i次循环移位得到C(x)。
结论:对于捕错译码,只有所有不多于t个错误全 部集中在连续的n-k个码元位内的错误图样才是 可纠的。
(p(x),x2b-1+1)=1。若取m=b,则校验元数 为3b-1,因而Fire的Z=2b/(3b-1),当b较大 时,Z接近2/3。
第六章 纠突发错误循环码
例:p(x)=x5+x2+1,是不可约多项式,也是本 原的,周期e=25-1=31;当b=7时, 2b-1=13,则码长n=LCM(31,13)=403 当b=5时,2b-1=9,则码长: n=LCM(31,9)=279 g(x)=(x2b-1+1)p(x)=(x9+1)(x5+x2+1) =x14+x11+x9+x5+x2+1
第六章环码
结论
1)交错的作用就是把长的突发错误分散到每个行 码中去,即把错误离散化,然后由行码再把这些 错误进行纠正。
6.3循环码解读
数,不足的补0
先将m右移r位(此题 r=3),再加上p(x)对 应的校验码p
系统循环码的生成矩阵
系统循环码码字的第二种求法:c=mGs 生成矩阵Gs 又有两种求法:
求法1:由g(x)—>G—>初等行变换—>Gs 求法2(不要求):
系统循环码的生成矩阵
生成矩阵Gs 的求法2 (不要求) :
系统循环码的一致校验矩阵
系统循环码的一致校验矩阵Hs,求法与6.2线性系统码相同。
H s I r , QT
rn
例:已知二进制(7,4)循环码,求
(1)求系统生成矩阵。
(2)输入消息m=1001时的输出的系统循环码码 字。 (3)求一致校验矩阵。
解:(1)选g(x)=1+x+x3可得生成矩阵G:
已知待发送的消息为:m=(m0m1……mk-1),则
消息多项式:m( x) m0 m1 x mk 1 x k 1
分析:系统循环码C=(校验位,信息位)
思路:将k位信息位整体向右移位r位,再加上
校验位。
按照以上思路可得系统循环码的码多项式为
c( x) x m( x) p( x)
其中:多项式的次数:
c( x) max{ i | ci 0, i 0,1,n 1}
定理:循环码C,(n,k),若已知任意的码多项式 C(x),则该循环码的其它码多项式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0=1
2=1
3=1
(x)
(C0 ,C1 ,C2 ,C3C4 ,C5 ,C6)
(x) (m0 ,m1 ,m2 ,m3)
D3
D2
D1
图6.3.13 (7,4)汉明码非系统编码电路(低位在前)
2011/10/22 4
第六讲 循环码
6.5.1 非系统码编码电路
表 6.2 时钟 t 1 2 3 4 5 6 7 (7,4)非系统循环码编码电路工作过程 移位寄存器内容 D3 0 0 1 0 1 0 0 D2 0 0 0 1 0 1 0 D1 0 0 0 0 1 0 1 码字 C(x) 0 1 0 0 1 1 1 C0 C1 C2 C3 C4 C5 C6
C1×n = m1×k Gk×n
Gk×n = [Ik
GS = [Ik Q ×r ] k Q ×r = (P×k )T k r
设
S = (Sn−k−1, Sn−k−2,⋯ S0 ), 到 随 各 量 表 式 , 得 伴 式 分 的 示 ST = H T R
hn−k−1RT Sn−k−1 hn−k−1 Rn−1 hn−k−1 T Sn−k−2 hn−k−2 Rn−2 hn−k−2 T hn−k−2R R = ⋮ ⋮ = ⋮ ⋮ = ⋮ S R h h RT 0 0 0 0 h 0
2011/10/22
7
第六讲 循环码
6.5.2 系统码编码电路
由于被除式中含有因子 xn-k ,使被除式各项的次数都 ≥g(x) 的次数,所以被除式输入端可由第一级移到末级之 后,使移位次数减少 (n-k) 次。这样编一个码字求监督数 字所需的移位次数只要 k 次。
2011/10/22
8
第六讲 循环码
11
2011/10/22
第六讲 循环码 得
6.5.2 系统码编码电路
0 0 ⋮ 1 ⋯ ⋯ ⋯ h 1 0 1 h 1 ⋯
1 1 1
h 1 ⋯ hk−1
Cn−1 h1h ⋯ ⋯ h khk−1 11 ⋮ 1 −1 h 1 ⋯ hk−1 1 C ⋯ hk−1 1 0 n−k T =0 hk−1 1 ⋯ ⋮Cn−k−1 1 0 ⋯ 0⋮ C0
D0
控制门 时序控制
g1 2
D1 D2
K 输出
1 (x) 图6.3.16 (x)=x3+x+1生成的(7,4)循环码的编码电路
2011/10/22
10
第六讲 循环码
6.5.2 系统码编码电路
(3) 用 k 级移位寄存器实现的编码电路
循环码的监督方程
在 (n-k) 循环码中,若 k <(1/2)n,即信息位比监督位少时, 可采用 k 级移位寄存器的编码电路。 根据线性码的监督方程
工作过程:
门1开,门2关,k 位信息串行送入 k 级移位寄存器,并同 时送入信道; 门1关,门2开,每移位一次输出一位监督数字,并同时送 入信道,经 (n-k) 次移位,就在 k 位信息数字之后附加上 (n-k) 位监督数字,构成了一个码字。
举例:利用监督多项式构造 (7,3) 循环码的编码电路。
x7+1=(x+1)(x3+x+1)(x3+x2+1) 任取一个三次因式为监督多项式 h(x)=x3+x+1 得 h3=1, h2=0, h1=1, h0=1
2011/10/22
15
第六讲 循环码
6.5.2 系统码编码电路
由三级移位寄存器构成的 (7,3) 循环码的编码电路如图 6.18所示。
2011/10/22
16
第六讲 循环码
6.6 循环码的译码
线性码的译码是根据接收字多项式的伴随式和可纠的错误图 样间的一一对应关系,由伴随式得到错误图样; 循环码是线性码的一个特殊子类,循环码的译码与线性码的 译码步骤基本一致。不过由于循环码的循环特性,使它的译 码更加简单易行; 循环码的译码过程仍包括三个步骤: 接收多项式的伴随式计算; 求伴随式对应的错误图样; 用错误图样纠错。
2011/10/22
18
第六讲 循环码
6.6.1 接收矢量伴随式计算
(1) 根据伴随式定义 ST=HRT 计算伴随式S
设
hn−k−1 hn−k−2 H = ⋮ h 0 , , 其 h (i = n −k −1 n −k −2,⋯0) 中i 表 H 行 量 示 的 矢 。
状态方程与 输出方程
消息 m(x) m0 0 m1 1 m2 0 m3 1 m4 0 m5 0 m6 0
D3=m D2=D3 D1=D2
C=m+ D1+D2
由表6.2可见,当 m(x)=x3 + x时,非系统码字 C(x) 为
C(x)= x6 + x5 +x4 + x
=(x3+x)(x3 + x2 +1)
6.5.2 系统码编码电路
工作过程:
各级移位寄存器清“0”,控制门开; k 位信息数字 mk-1, mk-2,…,m1, m0 依次从末端输入编码电 路;同时送入信道,在每加入一位信息数字时,各级移位 在每加入一位信息数字时, 在每加入一位信息数字时 寄存器移位一次。当 k 位信息数字都输入移位寄存器后, 寄存器移位一次 移位寄存器中 (n-k) 位数字即为监督数字; 控制门关,断开反馈,开关 K 由位置 位置1转到位置 位置2,寄存器 位置 位置 中的存数(监督数字)依次移出,送入信道。k 位信息数 字和 (n-k) 位监督数字组成一个码字。
2011/10/22
9
第六讲 循环码
6.5.2 系统码编码电路
举例:
由 g(x)=(x3+x +1) 作生成多项式所生成的 (7,4) 循环码的编 码电路如图6.16所示。 它包括 3 级寄存器 g1=1,第一级反馈接通; g2=0,到第二级的反馈断开。 每经四次移位,输入一个 四位信息组;寄存器中的 内容即为监督数字; 监督数字跟在信息数字之 后,便构成一个码字。
2011/10/22 19
第六讲 循环码
6.6.1 接收矢量伴随式计算
Sn−k−1 = hn−k−1R T Sn−k−2 = hn−k−2R ⋮ S0 = h RT 0
T
输入
R0
R1
R2
R3
R4
R5
R6
输出
所 以
S0
S1
S2
S3
图6.2.7 (7,3)码伴随式计算电路
这是前面介绍过的由接收矢量相应分量直接求和计算伴随式的 方法,对所有线性码都适用。 电路是 (n-k) 个多输入的奇偶校验器,每个奇偶校验器的输 入端由 H 阵的相应行 hi 中的1决定(参看图6.7)
2011/10/22
12
第六讲 循环码
6.5.2 系统码编码电路
监督数字表示式特点
每个监督码元都是由它前面的 k 个码元按同一规律确定的; 第一个监督元 Cn-k-1 是 k 个-1) 个信息元和第一个监督元与 h(x) 的系数决定的; …,如此类推; 最后一个监督元 C0 都按同一规律决定。
2011/10/22
13
第六讲 循环码
6.5.2 系统码编码电路
电路如图6.17所示
控制
门2
hk-1 Cn-k-1
Dk-1
hk-2
h2 Cn-2
D2
h1 Cn-1
D1
控制 (x)
Cn-k
Dk
门1 输出
图6.3.17 用 (x)构造的编码电路(k 级)
2011/10/22
14
第六讲 循环码
6.5.2 系统码编码电路
k k+位 + 11 位
由此得到 (n-k) 个监督方程,进而得到 (n-k) 个监督数字的表 示式
Cn−k−1 = Cn−1 + h Cn−2 +⋯+ hk−1Cn−k 1 C n−k−2 = Cn−2 + h Cn−3 +⋯+ hk−1Cn−k−1 1 ⋯ C0 = Ck + h Ck−1 +⋯+ hk−1C 1 1
6.5.1 非系统码编码电路 6.2 系统码编码电路
(1) 循环码编码的基本原理 (2) 用 (n-k) 级移位寄存器实现的编码电路 (3) 用 k 级移位寄存器实现的编码电路
2011/10/22
2
第六讲 循环码
6.5 循环码的编码电路
2011/10/22
3
第六讲 循环码
6.5.1 非系统码编码电路
H T =0T C
n−k位 督 字 监 数
式 中
C = (Cn−1,Cn−2,⋯ Cn−k Cn−k−1,Cn−k−2,⋯ C0 )为 意 字 , , 任 码 。
k位 息 字 信 数
H 下 代 用 式 入
0 0 H(n,k) = ⋮ 1
⋯ hk−1 1 ⋯ 1 h ⋯ hk−1 1 0 1 ⋯ h ⋯ hk−1 1 ⋯ ⋮ 1 h ⋯ hk−1 1 0 ⋯ 0 1 ⋯ 0 1 h 1
6.6.1 接收矢量伴随式计算 6.6.2 循环码的通用译码法
2011/10/22 17
第六讲 循环码
6.6.1 接收矢量伴随式计算
(1) 根据伴随式定义 ST=HRT 计算伴随式S (2) 用 k 级移位寄存器的伴随式计算电路 (3) 用 n-k 级移位寄存器的伴随式计算电路 (4) 接收字循环移位的伴随式与伴随式循环移位的关系
2011/10/22 6
第六讲 循环码
6.5.2 系统码编码电路