第六章_循环码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

循环码

循环码
码组 编号 信息位 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)

循 环 码

循 环 码

(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)生成多项式与相应监督多项式乘积等于多项式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 系统码编码电路
相关文档
最新文档