循环码编译码软件实现(共33页)

上传人:ni****g 文档编号:508142374 上传时间:2023-11-30 格式:DOCX 页数:32 大小:505.07KB
返回 下载 相关 举报
循环码编译码软件实现(共33页)_第1页
第1页 / 共32页
循环码编译码软件实现(共33页)_第2页
第2页 / 共32页
循环码编译码软件实现(共33页)_第3页
第3页 / 共32页
循环码编译码软件实现(共33页)_第4页
第4页 / 共32页
循环码编译码软件实现(共33页)_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《循环码编译码软件实现(共33页)》由会员分享,可在线阅读,更多相关《循环码编译码软件实现(共33页)(32页珍藏版)》请在金锄头文库上搜索。

1、摘要循环码是目前研究最成熟的一类码,并且有严密的代数理论,它的检、纠错能力较强,编码和译码设备并不复杂,而且性能较好,不仅能纠随机错误,也能纠突发错误。当然它还具有循环性。本说明书介绍了(7,3)循环码的定义,以及编码与译码原理,用C语言编程实现其编码与译码功能。通过C语言平台运行所编写的程序,输入任意的数字信息序列,得出了编码结果。另外还分别在无差错和部分差错的情况下进行了译码。关键词:循环码;编码与译码;检错纠错;C语言目录 2.4.3部分差错编码图15 2.5运行结果及理论分析16 2.6软件可行性分析17 总结19 前言在计算机通信信息码中循环码是线性分组码的一个重要子集,它的循环码的

2、编码和译码电路比较简单,纠错能力也较强,是目前研究得最成熟的一类码。因此本文运用C语言对(7,3)循环码的编码与译码进行编程及运行仿真。C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言

3、。一、循环码编码、译码的基本原理信道编码:信道编码又称差错控制编码或纠错编码,它是提高信息传输可靠性的有效方法之一。一类信道编码是对传输信号的码型进行变换,使之更适合于信道特性或满足接收端对恢复信号的要求,从而减少信息的损失;另一类信道编码是在信息序列中人为的增加冗余位,使之具有相关特性,在接收端利用相关性进行检错或纠错,从而达到可靠通信的目的。1.1、循环码循环码是线性分组码中一个重要的分支。它的检、纠错能力较强,编码和译码设备并不复杂,而且性能较好,不仅能纠随机错误,也能纠突发错误。循环码是目前研究得最成熟的一类码,并且有严密的代数理论基础,故有许多特殊的代数性质,这些性质有助于按所要求的

4、纠错能力系统地构造这类码,且易于实现,所以循环码受到人们的高度重视,在FEC系统中得到了广泛应用。1.1.1、循环码定义定义:一个线性分组码,若具有下列特性,则称为循环码。设码字 (1)若将码元左移一位,得 (2) 也是一个码字。由于()线性分组码是维线性空间中的一个维子空间,因此循环码是维线性空间中的一个维循环子空间。注意:循环码并非由一个码字的全部循环移位构成。1.1.2、循环码的特点循环码有两个数学特征: (1)线性分组码的封闭型; (2)循环性,即任一许用码组经过循环移位后所得到的码组仍为该许用码组集合中的一个码组。即若为一循环码组,则、还是许用码组。也就是说,不论是左移还是右移,也不

5、论移多少位,仍然是许用的循环码组。以3号码组()为例,左移循环一位变成5号码组(),依次左移一位构成的状态图如图1所示。 图1(7,3)循环码中的循环圈 可见除全零码组外,不论循环右移或左移,移多少位,其结果均在该循环码组的集合中(全零码组自己构成独立的循环圈)。1.1.3、码多项式为了用代数理论研究循环码,可将码组用多项式表示,循环码组中各码元分别为多项式的系数。长度为的码组用码多项式表示则为 (3)式中,的幂次是码元位置的标记。若把一个码组左移位后的码组记为,其码多项式为 (4)可以根据按模运算得到,即 (5)或 (6)式中,为除以的商式,而等于被除得之余式。以码组为例,若将此码左移两位,

6、则由式(6)可得 (7)易有其余式为 ,对应的码组为,它与直接对码组进行循环左移的结果相同。码多项式之间可以进行代数运算,在二元码中遵循模2运算的规则。根据线性码的封闭性,任意两码字经模运算后仍为本码组中的码字。1.1.4、生成多项式(n,k)循环码码组集合中(全“0”码除外)幂次最低的多项式(n-k)阶称为生成多项式。它是能整除且常数项为1的多项式,具有唯一性。集合中其他码多项式,都是按模()运算下的倍式,即可以由多项式产生循环码的全部码组。假设信息码多项式为,则对应的循环码多项式为 (8)式中,为次数不大于的多项式,共有个()循环码组。考查表1.1-1,其中阶的多项式只有编号为2的码组()

7、,所以表中所示(7,3)循环码组的生成多项式,并且该码组集合中的任何码多项式都可由信息位乘以生成多项式得到 (9)式中,为信息码元。对于(7,k)循环码,的因式分解为 (10)由该式可以构成表1所示几种(7,k)循环码。 (7,k) g(x) (7,1) (7,3) (7,4) (7,6) 表1(7,3)循环码的生成多项式 从表1中可以看出,即使n,k均已确定,也可能由多种生成多项式供选择,选用的多项式不同,产生出的循环码组也不同。1.1.5、生成矩阵根据各码组集合中生成多项式的唯一性,可以构造生成矩阵G。由于g(x)的次数为,则都是码多项式,而且线性无关,因此以这k各多项式对应的码组作为k行

8、就能构成该循环码的生成矩阵,因此循环码的生成矩阵多项式可以写成 (11) 以生成多项式构造,相应的矩阵形式为 (12)则 (13)则G为g(x)升幂排列时的G为 (14)对式(14)作线性变换,整理成典型形式的生成矩阵 (15) 若信息码元与式(14)相乘,得到的就是系统循环码。1.1.6、监督多项式与监督矩阵如前所述,在(n,k)循环码中,由于g(x)能除尽,因此可分解成g(x)和其他因式的乘积,记为即可写成 (16)由于g(x)是常数项为1的r次多项式,所以h(x)必为k次多项式。称h(x)为监督多项式或一致校验多项式,与式(15)给出的G(x)相对应,监督矩阵多项式可表示为 (17) 式

9、中,式h(x)的逆多项式。由式(17)可知,前述生成多项式的g(x)的一致校验多项式为,所以其一致校验矩阵(监督矩阵)为 (18) 1.1.7、系统循环码循环码也可以构成为系统循环码。为方便系统码的构造,将消息多项式和码式都记为高位在前,即的消息多项式为m(x), (19)又设码式的高幂次部分等于m(x),即 (20) 其中p(x)称为校验位多项式,由于码式是生成式的倍式,所以 (21)因此循环码的系统码码式为 (22)将循环码的系统码构造步骤总结为(1) 多项式乘(2) 多项式求模(余式) (3) 多项式减如果令为单项式, (23)那么容易看到,对应的向量,是线性无关的,从而得到循环码系统码

10、的生成矩阵为 (24)故由式(24)可以求得前述(7,3)循环码系统码的生成矩阵为 (1.1.23) (25)1.1.8、循环码的编码1.利用生成多项式实现编码:如上所述,但循环码的生成多项式确定时,码就完全确定了。现在讨论生成多项式给定以后,如何实现循环码的编码问题。若已知 (26)并设信息元多项式 (27)要编码成系统循环码形式,即码字的最左边k位是信息元,其余n-k位是校验元,则要用乘以,再加上校验元多项式,这样得到的码字多项式为 (28)其中 一定是的倍式,即有 (29)注意到为n-k次多项式,而最多为n-k-1次多项式,必有 (30)即必是除以的余式。式(28)指出了系统循环码的编码方法:首先将信息元多项式乘以成为,然后将除以生成多项式得到余式,该余式就是校验元多项式,从而得到码字多项式 (31) 综上所述,系统循环码的编码问

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号