******************
实践教学
******************
兰州理工大学
计算机与通信学院
2013年秋季学期
计算机通信 课程设计
题 目: 线性分组码(7,3)码的编译码仿真设计
专业班级: 通信工程三班
姓 名: 彭佳峰
学 号:
指导教师: 彭 铎
成 绩:
摘要
本课题是应用C语言对(7,3)线性分组码的编译码的软件设计。主要做了一下几项工作:对三位正确的信息码进行编码;若输入的三位信息码有错,系统输出提醒,可以重新输入;对七位接收到的码字判断是否有错,并在无错和有一位错误时进行译码,在有多位错误时输出提醒,可以选择重新输入。
关键字:线性分组码 编码 译码 C语言
目录TOC \o "1-3" \h \u
312
12977 前言 1
5261 1 基本原理 2
13270 1.1线性分组码的基本概念 2
20563 1.2差错控制原理 2
28932 1.3线性分组码的纠检错能力 3
15588 2线性分组码的编码 4
24088 2.1监督矩阵 4
32753 2.2生成矩阵 5
3643 3线性分组码的译码 7
15179 4设计与仿真 9
20994 4.1 C语言平台简介 9
792 4.2整体流程图 9
25430 4.3编码流程图 10
11920 4.4译码流程图 10
30134 5 仿真结果及分析 11
8114 设计总结 17
30116 参考文献 18
16786 致谢 19
22569 附录 20
前言
近年来,随着计算机、卫星通信及高速数据网的飞速发展,数据的交换、处理和存储技术得到了广泛应用,人们对数据传输和存储系统的可靠性提出了越来越高的要求。因此,如何控制差错、提高数据传输和存储的可靠性,成为现代数字通信系统设计工作者所面临的重要课题。香农第二定理指出,当信息传输率低于信道容量时,通过某种编译码方法,就能使错误率为任意小。差错控制编码在此定理指导下迅速发展起来,它使得传输数据本身带有规律性,利用规律性来减少错误。
线性分组码是差错控制编码的重要一种。它的规律性在于局限在一个码组之内,编码后长为n的一个码组中含有k位信息元和n-k位监督元,监督元是随所传输的信息元而改变的。接收端正式通过监督元和信息元之间的规律性来发现并纠正错误的。
1 基本原理
1.1线性分组码的基本概念
(1)线性分组码
线性分组码是一组固定长度的码组,可表示(n,k),通常它用于前向纠错。在分组码中,监督位被加到信息位之后,形成新的码。在编码时,k个信息位被编为n位码组长度,而n-k个监督位的作用就是实现检错与纠错。当分组码的信息码元与监督码元之间的关系为线性关系时,这种分组码就称为线性分组码。
对于长度为n的二进制线性分组码,它有种可能的码组,从码组中,可以选择个码组(k
码重(汉明重量)
把码组中非零位的数量定义为码重。
(3)码距(汉明距离)
两个码组对应位上数字不同的个数称为码组的距离,简称码距。原则是,让选择的这些码字的码距越长越好。
1.2差错控制原理
将信息码分组,并为每个信息组附加若干监督的编码,称为“分组码”。在分组码中,监督码元仅监督本组码中的信息码元。分组码一般用符号(n)、(k)表示,其中k是每组码二进制信息码元的数目。n是码组的总位数,又称为码组的长度。r=n-k为每个码组中的监督码元数目,或称监督位数目。
k位二进制数构成的码组集合为种不同的码组,若组都为有用码组,其中任意码组出现错误都将变成另一码组,则接收端无法检测识别哪一组出错。若只取部分码组为有用码组,则在传输过程中如接收端接收到的码组为非许用码组即禁用码组时,则可知传输错误。
以3位二进制数构成的码组为例,它有8种不同的可能组合,若将其全部用来表示天气,则可以表示8种不同天气,例如:000晴、001云、010阴、011雨、100血、101霜、110雾、111雹。其中任一码组在传输中若发生一个或多个错误,则将变