文档介绍:*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2012年春季学期
计算机通信与网络课程设计
题目:差错控制编码的编译码设计与仿真
专业班级:
姓名:
学号:
指导教师:
成绩:__________________
摘要
此设计是(7,4)线性分组码的编译码实现,它可以对输入的四位的信息码进行Hamming编码,编成七位信息码,其中有三位是校验码。也可以对接受的七位信息码进行译码,从而译出四位信息位。
当接收到的信息码中有一位错误时,可以纠正这一位错码,进而译出正确的信息码组,整个过程是用Matlab语言实现的。
关键词:编码; 译码; 纠错
目录
前言 3
第1章设计目标 4
第2章 MATLAB简介 5
基本功能 5
应用 5
特点 5
优势 6
第3章基本原理 7
第4章推导过程 9
编码过程 9
译码过程 10
第5章仿真程序及结果分析 12
程序流程图 12
仿真程序 14
主引导界面程序运行分析 16
信道编码程序运行分析 17
信道译码程序运行分析 18
纠错程序运行分析 19
参考文献 21
课设总结 22
致谢 23
前言
设计数字通信系统时,应首先合理选择信道编译码码组种类,这样才可以在信号的传输,以及接收环节达到较好的效果,线性分组码具有编译码简单,封闭性好等特点,采用差错控制编码技术是提高数字通信可靠性的有效方法,是目前较为流行的差错控制编码技术。
分组码是一组固定长度的码组,可表示为(n , k),通常它用于前向纠错。在分组码中,监督位被加到信息位之后,形成新的码。在编码时,k个信息位被编为n位码组长度,而n-k个监督位的作用就是实现检错与纠错。
对于长度为n的二进制线性分组码,它有种可能的码组,从种码组中,可以选择M=个码组(k<n)组成一种码。这样,一个k比特信息的线性分组码可以映射到一个长度为n码组上,该码组是从M=个码组构成的码集中选出来的,这样剩下的码组就可以对这个分组码进行检错或纠错。
第1章设计目标
要设计一个(7,4)线性分组码的编译码程序,最基本的是要具备对输入的信息码进行编码,让它具有抗干扰的能力。同时,还要让它具有对接收到的整个码组中提取信息码组的功能。但是,在实际的通信系统中,由于信道传输特性不理想以及加性噪声的影响,接收到的信息中不可避免地会发生错误,影响通信系统的传输可靠性,因而,本设计还要让该程序具有纠正错误的能力,当接收到的码组中有一位码,发生错误时可以检测到这一位错码,并且可以纠正这一位错码,并且让系统从纠正后的码组中提取正确的信息码组。
为了方便用户更好地使用该系统,该设计还要让程序运行后具有提示语句来提示用户选用编译器的种类,输入信息的方式以及退出系统的方式,当用户退出系统时有退出时的提示语句,而当用户输入错误时有错误提示语句,整个设计就是按照这样一种设计思路及目标进行设计的。
第2章 MATLAB简介
基本功能
MATLAB是很实用的数学软件它在数学类科技应用软件中在数值运算方面首屈一指。MATLAB可以进行运算、绘制函数和数据、实现算法、创建用户界面、连接接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
应用
MATLAB 产品族可以用来进行以下各种工作:
●数值分析
●数值和符号计算
●工程与科学绘图
●控制系统的设计与仿真
●图像处理技术
●数字信号处理技术
●通讯系统设计与仿真
特点
●此高级语言可用于技术计算
●此开发环境可对代码、文件和数据进行管理
●交互式工具可以按迭代的方式探查、设计及求解问题
●二维和三维图形函数可用于可视化数据
●各种工具可用于构建自定义的图形用户界面
优势
(1)友好的工作平台和编程环境
MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图