线性分组码的编译码(DOC)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
******************
实践教学
******************
兰州理工大学
计算机与通信学院
2013年秋季学期
计算机通信课程设计
题目:线性分组码(7,3)码的编译码仿真设计
专业班级:通信工程三班
姓名:彭佳峰
学号: 10250302 指导教师:彭铎
成绩:
摘要
本课题是应用C语言对(7,3)线性分组码的编译码的软件设计。主要做了一下几项工作:对三位正确的信息码进行编码;若输入的三位信息码有错,系统输出提醒,可以重新输入;对七位接收到的码字判断是否有错,并在无错和有一位错误时进行译码,在有多位错误时输出提醒,可以选择重新输入。
关键字:线性分组码编码译码 C语言
目录
前言 (1)
1 基本原理 (2)
1.1线性分组码的基本概念 (2)
1.2差错控制原理 (2)
1.3线性分组码的纠检错能力 (3)
2线性分组码的编码 (4)
2.1监督矩阵 (4)
2.2生成矩阵 (5)
3线性分组码的译码 (7)
4设计与仿真 (9)
4.1 C语言平台简介 (9)
4.2整体流程图 (9)
4.3编码流程图 (10)
4.4译码流程图 (10)
5 仿真结果及分析 (11)
设计总结 (17)
参考文献 (18)
致谢 (19)
附录 (20)
前言
近年来,随着计算机、卫星通信及高速数据网的飞速发展,数据的交换、处理和存储技术得到了广泛应用,人们对数据传输和存储系统的可靠性提出了越来越高的要求。因此,如何控制差错、提高数据传输和存储的可靠性,成为现代数字通信系统设计工作者所面临的重要课题。香农第二定理指出,当信息传输率低于信道容量时,通过某种编译码方法,就能使错误率为任意小。差错控制编码在此定理指导下迅速发展起来,它使得传输数据本身带有规律性,利用规律性来减少错误。
线性分组码是差错控制编码的重要一种。它的规律性在于局限在一个码组之内,编码后长为n的一个码组中含有k位信息元和n-k位监督元,监督元是随所传输的信息元而改变的。接收端正式通过监督元和信息元之间的规律性来发现并纠正错误的。
1 基本原理
1.1线性分组码的基本概念
(1)线性分组码
线性分组码是一组固定长度的码组,可表示(n,k),通常它用于前向纠错。在分组码中,监督位被加到信息位之后,形成新的码。在编码时,k个信息位被编为n位码组长度,而n-k个监督位的作用就是实现检错与纠错。当分组码的信息码元与监督码元之间的关系为线性关系时,这种分组码就称为线性分组码。
对于长度为n的二进制线性分组码,它有2n种可能的码组2n,从码组中,可以选择M=个码组(k 以映射到一个长度为n的码组上,该码组是从2k M=码组构成的码集中选出来的,这样剩下的码组就可以对个分组码进行检错或纠错。 (2)码重(汉明重量) 把码组中非零位的数量定义为码重。 (3)码距(汉明距离) 两个码组对应位上数字不同的个数称为码组的距离,简称码距。原则是,让选择的这些码字的码距越长越好。 1.2差错控制原理 将信息码分组,并为每个信息组附加若干监督的编码,称为“分组码”。在分组码中,监督码元仅监督本组码中的信息码元。分组码一般用符号(n)、(k)表示,其中k是每组码二进制信息码元的数目。n是码组的总位数,又称为码组的长度。r=n-k为每个码组中的监督码元数目,或称监督位数目。 k位二进制数构成的码组集合为2k种不同的码组,若2k组都为有用码组,其中任意码组出现错误都将变成另一码组,则接收端无法检测识别哪一组出错。若只取部分码组为有用码组,则在传输过程中如接收端接收到的码组为非许用码组即禁用码组时,则可知传输错误。 以3位二进制数构成的码组为例,它有8种不同的可能组合,若将其全部用来表示天气,则可以表示8种不同天气,例如:000晴、001云、010阴、011雨、100血、101霜、110雾、111雹。其中任一码组在传输中若发生一个或多个错误,则将变成另一个信息码组。这时接收端无法发现错误。若在上述8种码组中次序使用4种来传达天气,例如:000晴、011云、101阴、110雨。这时,虽然只能传达4种不同天气,但是接收端却可能发现码组中的一个错码。如000错码一位,则接收码组将变成100或011,这三种码组都为禁 用码组,故接收端认为接收码错误。要想能够纠正错误,需增加冗余度。 1.3线性分组码的纠检错能力 最小码距与码的抗干扰能力之间的关系,通过证明(不给出详细的证明过程),可以得到如下的结论,具体如下: 若一种码的最小距离为d 0,则它能检查传输差错个数(称为检错能力)e 应满足 10+≥e d ; 若一种码的最小距离为d 0,则它能纠正传输差错个数t 应满足120+≥t d ; 若一种码的最小距离为d 0,则能检查e 个错误,同时又能纠正t 个一下错误的条件是 ()t e e d >+≥10。 2线性分组码的编码 2.1监督矩阵 (n,k)码中有n-k 个监督元,例如(7,3)码,以序列c c c c c c c 0123456表示码组,前面三位c c c 456为信息元。监督元根据以下四个线性方程求得: c c c 463+= c c c c 4562++= c c c 561+= (2.1) c c c 450+= 通常称这四个线性方程为(7,3)码的一致监督关系或一致监督方程组。 一致监督关系是从12827=个n 重矢量中挑选出来的,具有封闭性。把这种结构形式的线性分组码称为线性系统分组码。 将一致的监督方程组移动并记成矩阵形式: 0346=++c c c 02456=+++c c c c 0156=++c c c 0045=++c c c 或者记成以下形式: 信息组 码组 信息组 码组 000 0000000 100 1001110 001 0011101 101 1010011 010 ******* 110 1101001 011 0111010 111 1110100 0000 010 0011 0010001100101 1100011010123456=⎥⎥⎥⎥⎦ ⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦ ⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡∙⎥⎥ ⎥⎥⎦⎤⎢⎢⎢ ⎢⎣⎡c c c c c c c (2.2) 表一 信息码与许用码组对应表