(完整版)循环码
第四章 循环码

r(x)是与码字中(n-k)个校验元相对应的(n-k-1)次多
项式,可将式(4-5)写成
xn-k m(x)= C(x) + r (x)
等 式 两 边 除 以 生 成 多 项 式 g(x) , 由 于 g(x) 能 整 除
C(x) ,deg[r (x)] < deg[g(x)] ,因此有
r (x)= xn-k m(x) mod g(x)
g(x)一般就是最轻码, g1(x) 、 g2(x)的重量分别是 4和2,因此g1(x)优于g2(x)。
13
用上述方法可得循环码,但未必是系统的。若想 得到系统循环码,即码字的前k位原封不动照搬信 息位而后(n-k)位为校验位,具有如下形式
C(x) = xn-k m(x) + r (x)
(4-5)
“所有小于n次的g(x)的倍式都是码多项式” 意味着 m(x)g(x)一定是码字,其中m(x)是GF(2)上小于k次 的任意多项式,以致它与(n-k)次的g(x)相乘后所得 倍式的次数一定小于n次。
6
定理4. 3 (n,k)循环码的生成多项式g(x)一定是(xn-1) 的因式,即一定存在一个多项式h(x),满足 (xn-1)=g(x) h(x) 或 g(x)| (xn-1) 反之,如果g(x)是(xn-1)的(n-k)次因式,
110
1101001
111
1110100
码集未变(2个循环环)而映射规则变了。
16
根据定理4.3,应有
xn-1=g(x) h(x)
(4-7)
如果g(x)是循环码的生成多项式,那么h(x)一定 就是循环码的校验多项式。这是因为对于任意 一个码多项式C(x),必有
C(x)h(x)=0 mod (xn-1)
循环码BCH码卷积码

输标02入题
循环码是一种线性码,其编码和译码算法相对简单, 适用于短距离通信和存储。
01
03
卷积码是一种动态纠错码,其编码算法相对复杂,但 具有较好的纠错性能和较高的编码增益,适用于高速
数据传输和信道条件较差的情况。
04
BCH码是一种基于有限域的循环码,具有较好的纠错 能力和编码效率,适用于长距离通信和存储。
过程
在每次迭代中,根据校验矩阵和接收到的码 字计算错误位置和错误值,然后对错误位置 进行纠正,重复迭代直到所有错误都被纠正 或达到最大迭代次数。
02 BCH码
定义与特性
定义
BCH码(Bose-Chaudhuri-Hocquenghem)是一种纠错码,用于检测和纠正传输过 程中的错误。
特性
BCH码具有循环特性和有限域特性,可以在有限域上构造出各种码长和码率的线性分 组码。
参数选择
码长
码长是BCH码的一个重要参数,它决定了纠错能力和 编码复杂度。
码率
码率是BCH码的另一个重要参数,它表示在传输过程 中每比特信息所占用的编码位数。
纠错能力
纠错能力是指BCH码能够纠正的错误位数,与码长和 码率有关。
BCH码的编码
生成多项式
BCH码的编码过程涉及到生成多项式,它是一个用于生成编码向量的多项式。
特性
生成多项式决定了循环码的生成矩阵和校验矩阵,进而决定了码字的纠错能力。
循环码的编码
方法
循环码的编码通常采用模2除法,即将信 息位除以生成多项式,得到码字。
VS
过程
首先将信息位按位排列,然后从最低位开 始逐位进行模2除法运算,得到码字的各 位。
循环码的解码
方法
循环码的解码通常采用位迭代算法,即从码 字的最高位开始逐位进行纠错。
循环码

b
c
u3u2u1u0
u3u2u1u0 c2 c1c0
a
b
c
除法过程: 除法过程:
u3u2u1u0
[ x { x ( x[ u3 x3 ]mod g(x) + u2x3 )mod g(x) + u1x3 }mod g(x) + u0x3 ]mod g(x)
1 0 u 0 1 0 1 1 ×3' c ' 0d 0 0
例如:( 7, 4 )循环码的生成多项式为:g(x)=( x3 + x + 1 ),求其系统码的生成矩阵 )循环码的生成多项式为 循环码的生成多项式为: ), 例如: 1)n = 7,k = 4,因此生成矩阵阶数:4×7。其中单位阵Ik为4×4,Q矩阵4×3 7, 4,因此生成矩阵阶数: 其中单位阵I 矩阵4
BCH码 BCH码
是一类能纠正多个随机错误的循环码 其生成多项式为: 其生成多项式为:
g ( x) = LCM [ m1 ( x), m3 ( x),L , m2t −1 ( x) ]
其中m 为素多项式, 为纠错个数,LCM表示取最小公倍数 其中mi(x)为素多项式,t为纠错个数,LCM表示取最小公倍数,最 表示取最小公倍数, 小码距d 2t 小码距d ≥ 2t+1 BCH码分为两种: BCH码分为两种: 码分为两种 1)本原BCH码:码长n = 2m - 1 本原BCH码 码长n 2)非本原BCH码:码长n为2m - 1的因子 非本原BCH码 码长n 其中m 其中m表示素多项式的次数
有y = c + e,即y(x) = c(x) + e(x) ,则: e, e(
CRC码 CRC码
即循环冗余校验码,广泛用于数据通信和移动通信中,进行数据的校验,具有 即循环冗余校验码,广泛用于数据通信和移动通信中,进行数据的校验, 实现简单,检错能力强。其原理为: 实现简单,检错能力强。其原理为: 然后除以生成多项式g 1)任意长的信息位向左移动r位,即xru(x),然后除以生成多项式g(x)得到的 任意长的信息位向左移动r 余数附加在信息码之后形成码组c 然后进行发送; 余数附加在信息码之后形成码组c(x),然后进行发送; 2)接收端接收到码组y(x),然后除以g(x),如果能整除则表示无错发生,否 接收端接收到码组y 然后除以g 如果能整除则表示无错发生, 则表示有错 详细过程: 详细过程: 1)信息位为u(x),先向左移动r位,即xru(x)。求余式[xru(x)]mod g(x)= r(x) 信息位为u 先向左移动r 求余式[ 2)则将c(x) = xru(x) + r(x)发送出去 则将c 3)若用e(x)表示可能的错误,则接收到 y(x) = c(x) + e(x) = xru(x) + r(x)+e(x), 若用e 表示可能的错误, )+e 那么校验方法: 那么校验方法: [y(x)]mod g(x)=[xru(x) + r(x) + e(x) ]mod g(x) = r(x) + r(x) + [ e(x) ]mod g(x) =[x
6.3 循环码

⎡ x k −1 g ( x) ⎤ ⎢ k −2 ⎥ ⎢ x g ( x) ⎥ ⎥ G ( x) = ⎢ ⎢ ⎥ ⎢ xg ( x) ⎥ ⎢ g ( x) ⎥ ⎣ ⎦
6
生成矩阵G
• ( n , k ) 循环码的生成矩阵在 g(x) 确定后可以表示 为G
⎡0 0 ... 0 g 0 g1 ... g r −1 g r ⎤ ⎢ ⎥ ⎢ ⎥ ⎥ G=⎢ ⎢ ⎥ g 0 g1 ... g r − 2 g r −1 g r ... 0 ⎥ ⎢0 ⎢ g 0 g1 g 2 ... g r −1 g r 0 ... 0 ⎥ ⎣ ⎦ k ×n ⎡ x k −1 g ( x) ⎤ ⎢ k −2 ⎥ ⎢ x g ( x) ⎥ ⎥ ∼⎢ ⎢ ⎥ ⎢ ⎥ ⎢ g ( x) ⎥ ⎣ ⎦
R ( x ) C ( x ) + e( x ) e( x ) = = p ( x) + g ( x) g ( x) g ( x)
• 定义伴随多项式为 S(x) = e(x) mod g(x)
11
循环码的检纠错
• 根据伴随式的定义,若无错误传输,则 S(x) = 0 ,否 则S(x)≠0,由此可实现循环码的检错。 • 因为g(x)的次数为n-k,e(x)的次数为n-1,所以伴随 式的最高次数为n-k-1,那么S(x)共有n-k项,故有 2n-k种可能的伴随式。若满足2n-k ≥n+1,则循环码具 有纠错能力。
10
循环码的伴随多项式
• 假设发送的码多项式C(x) 和 错误图样多项式e(x) 以及 接收 端接收的码多项式R(x) 分别为
C ( x) = ∑ ci x
i =1
n
n −i
; e( x) = ∑ ei x
i =1
现代通信技术-循环码

2.截短循环码
截短循环码性能 循环码截短前后至少具有相同的纠错能力,并且编解码方法仍和截短 前的方法一样。 例 要求构造一个能够纠正1位错码的(13, 9)码。这时可以由(15, 11)循环码 的11种码组中选出前两信息位均为“0”的码组,构成一个新的码组集合。 然后在发送时不发送这两位“0”。于是发送码组成为(13, 9)截短循环码。
4
011
10018111ຫໍສະໝຸດ 00101.循环码原理
码组的多项式表示法 把码组中各码元当作是一个多项式的系数,即把一个长度为n的码组表示成:
T ( x) a n 1 x n 1 a n 2 x n 2 a1 x a 0
例如,上表中的任意一个码组可以表示为
T ( x) a6 x 6 a5 x 5 a4 x 4 a3 x 3 a2 x 2 a1 x a0
可以采用将码长截短的方法,得出满足要求的编码。
截短方法 设给定一个(n, k)循环码,它共有2k种码组,现使其前i (0 < i < k) 个信息位全为“0”,于是它变成仅有2k-i种码组。然后从中删去这i 位全“0”的信息位,最终得到一个(n – i, k – i)的线性码。将这种码 称为截短循环码。
《现代通信技术》课程
循环码
目 录
01
02
循环码原理
截短循环码
1.循环码原理
定 义 循环性是指任一码组循环一位(即将最右端的一个码元移至左端,或 反之)以后,仍为该码中的一个码组。
一般说来,若(an-1 an-2 …a0)是循环码的一个码组,
则循环移位后的码组: (an-2 an-3 … a0 an-1) (an-3 an-4 … an-1 an-2) ……… (a0 an-1 …a2 a1)
循 环 码

(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)生成多项式与相应监督多项式乘积等于多项式。
(完整)循环码的编码与译码

循环码是线性分组码中一个重要的子类,具有检错纠错能力强,实现方便等特点.它具有严密的代数学理论,封闭性与循环性.(n,k)循环码表示信息位为k位,监督位为(n-k)位.本次设计实验首先分析了(7,4)循环码的编码与译码原理,然后,用C语言实现其编码与译码功能。
通过C语言平台运行所编写的程序,观察了在输入信息码情况下输出对应的编码结果以及相反的译码功能。
通过多组的对比验证了该(7,4)循环码的编译码程序的正确性。
最后,在程序运行的过程中进一步分析循环码的编译码原理,并通过比较仿真模型与理论计算的性能,证明了仿真模型的可行性。
关键词:循环码,编码与译码,C程序。
现代通信的发展趋势为数字化,随着现代通信技术的不断开发,差错控制技术已日趋成熟,在各个领域都得到了广泛的应用和认同。
本文就(7,4)循环码的编码与译码原理进行C语言的编程及运行仿真。
现代社会发展要求通信系统功能越来越强,可靠性越来越高,构成也越来越复杂;这就要借助于功能强大的计算机辅助分析设计技术和工具才能实现。
现代计算机科学技术快速发展,已经研发出了新一代的可视化的仿真软件。
这些功能强大的仿真软件,使得通信系统仿真的设计和分析过程变得相对直观和便捷,由此也使得通信系统仿真技术得到了更快的发展。
本文使用的是功能强大的C语言软件。
C语言是一种使用简便的、特别适用于科学研究和工程计算的高级语言,与其他计算机语言相比,它的特点是简洁和智能化,具有极高的编程和调试效率.通过使用C工具箱函数对数字调制进行仿真,更能直观彻底的掌握循环码的编码与译码原理。
有助于我们的学习和研究,加深对知识的理解和运用. C的便利性还体现在它的仿真结果还可以存放到的工作空间里做事后处理。
方便我们修改参数对不同情况下的输出结果进行对比。
目录第1章概述 (1)第2章计算机通信与纠错码 (2)2。
1 计算机通信技术 (2)2.1.1 通信的概念 (2)2。
1。
2 通信的发展史简介 (2)2。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 。
因此,h(x)也是1-n x 的因子。
(5)生成矩阵G 中的每一行都是上一行经过循环移位的结果。
3.生成矩阵和校验矩阵由上面内容中的性质(4),若g(x)的次数为n-k 次以g(x)作为生成多项式组成的(n,k)循环码的k 个码多项式)(,),(),(),(12x g xx g x x xg x g k -⋅⋅⋅一定是线性无关的,根据线性分组码的定义,这些码多项式构成循环码的生成矩阵)(x G⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡++⋅⋅⋅++⋅⋅⋅++⋅⋅⋅++++⋅⋅⋅++=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⋅⋅⋅=---------------------0111201131210121121)()()()x (g x g x g x g x g x g x g x g x g x g x g x g x g x g x x g x G k n k n k n k n k k n k n n k n k k n k n n k n k k (6) 则(n,k)循环码的生成矩阵G 为⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅=--------011012011000000g g g g g g g g g g g g G k n kn n k n k n kn (7)定义0111)(h x h x h x h x h k k k k ++⋅⋅⋅++=--为(n,k)循环码的校验多项式,由1)()(-=n x x h x g 可得到系数方程⎩⎨⎧-==+=+⋅⋅⋅++-----1,...,2,10000)(110n i h g h g h g h g h g k k n k n i k n i i , (8) 通过解方程,可得到(n,k)循环码的校验矩阵H 为⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅=k kk h h h h h h h h h H 1010*******000 (9)可以验证0=T GH (10)对于系统码形式的(n,k)循环码,假设码字C 的前k 位为系统信息位。
假设信息多项式的第n-1次(1-n x 的系数)到第n-k 次(kn x-的系数)的系数的信息位,其余为校验位,设信息多项式为012211)(u x u x u x u x u k k k k k ++⋅⋅⋅++=----- (11)校验多项式为012211)(r x r x r x r x r k n k n k n k n ++⋅⋅⋅++=-------- (12)则有)(m od 0)()()(x g x r x x m x C k n ≡+=- (13)即)(m od )()(x g x x m x r k n -≡ (14)而[]P I G k = (15)即生成矩阵G 的第i 行(i=1,2,...,k)分别为信息序列中仅第i 个信息元不为0的信息序列编码得到的码字,相应的信息多项式分别为1,,...,,21x x xk k --,校验多项式为k i x g x x x x r i n k n i k i ,...,2,1),(mod )(=≡≡--- (16)故生成矩阵多项式G(x)为⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡+⋅⋅⋅++=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡+⋅⋅⋅++=---------))(mod ())(mod ())(mod ()()()()x (22112211x g x x x g x x x g x x x r x x r x x r x G k n k n n n n n k k n n n (17) 设)(x r i 的系数序列为),,...,,(0,,2,1,_i i i k n i k n i i r r r r r ----=,则系统循环码的生成矩阵为⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⋅⋅⋅=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅=------------__2_10,1,2,1,0,21,22,21,20,11,12,11,1100010001k k k k k n k k n k k n k n k n k n r r I r r r r r r r r r r r r r G (18) 相应的校验矩阵为⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅=⎥⎦⎤⎢⎣⎡⋅⋅⋅=-------------1000100010,0,20,11,1,21,12,12,22,11,1,21,1__2_1k k k n k n k n k n k k n k n k n TkTTr r r r r r k r r r r r I r r r H(19)2.2循环码的编码所谓编码,就是在已知信息位的条件下求出循环码的码组。
首先,根据给定的(n,k)值选定生成多项式g(x),它是)1(+nx 的一个常数项不为0的阶次为(n-k)因子,再根据(6)式,由生成多项式得到循环码的生成矩阵。
若已知输入信息码元为)(0121u u u u k k ⋅⋅⋅--,则相应的循环码多项式为)()()()()()()(0122110121x g x u x g u x u x u x u x G u u u u x C k k k k k k ⋅=⋅++⋅⋅⋅++=⋅⋅⋅⋅=------(20) 由式(20)可求得循环码各许用码组,且都为g(x)的倍式,由此式得到的并非系统码。
在系统码中,码组的前k 位为信息位,随后的(n-k)位为监督位。
此时的码多项式为)()()()()(0110112211x g x u r x r x u x u x u x u x r x x u x C k n k n k n k n k k n k k n ⋅=+⋅⋅⋅++++⋅⋅⋅++=+⋅=-----+------ (21)其中,011)(r x r x r k n k n +⋅⋅⋅+=----为监督多项式,监督码元为)(01r r k n ⋅⋅⋅--。
由式(20)和(21)可知,)(m od )()()()(x g x x u x x u x C x r k n k n --≡+= (22)由式(22)知,系统码的构造只需将信息码多项式升(n-k)阶,再对g(x)做模运算,得到的余式r(x)为监督多项式。
由以上的分析,先将系统码的编码步骤归纳如下: (1)先用kn x-乘以信息多项式u(x),即kn xx u -⋅)(;(2)再用kn xx u -⋅)(除以g(x),得到商式p(x)和余式r(x),即)()()()()(x g x r x p x g x u x k n +=- (23)(3)最后得出码多项式)()()(x r x x u x C k n +⋅=- (24)2.3循环码的译码接收端译码包括检错和纠错。
检错:循环码的任一许用码多项式C(x)都能被生成多项式g(x)整除,因此在接收端只需将接收到的码多项式)(_x c 用生成多项式g(x)去除;如果余式为0,则传输过程中未发生错误。
故可用余式是否为零来判断码组中是否出错;但是,也有例外,当一许用码错误成另一许用码时,错误将无法检测出来,这种错误称为不可检错误。
纠错:为了能够纠错,要求每个可纠正的错误图样必须与一个特定余式有一一对应关系,这样才能从上述余式中唯一地确定其错误图样,从而纠正错码。
因此,循环码的纠错译码可分为以下三步进行:(1)根据接收到的码)(_x c 计算校正子(或称伴随式)多项式)(_x r ;对于循环码来说,校正子多项式就是用接收到的码多项式)(_x c 除以生成多项式g(x)得到的余式,即)(mod )()(__x g x c x r =(2)由校正子多项式)(_x r 确定错误图样e(x);(3)将错误图样e(x)与接收码多项式)(_x c 相加,即可纠正错误恢复原发送码组。