您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > (7,4)汉明码编译码软件设计
*******************实践教学*******************兰州理工大学计算机与通信学院2012年秋季学期计算机通信课程设计题目:(7,4)汉明码编译码软件设计专业班级:11级通信工程二班姓名:王海霞学号:11250231指导教师:王维芳成绩:摘要汉明码是一种能自动检错并纠正一位错码的线性纠错码,用于信道编码与译码中,高通信系统抗干扰的能力。本次课设主要是(7,4)汉明码的编译码软件设计,该软件可以对输入的多个四位信息码进行编码,对于接收的多个七位信息码可以进行译码,从而译出四位信息位.当接收到的信息码有一位错误时,可以纠正这一位错码,进而译出正确的信息码组,整个程序使用C语言编写.关键词:汉明码、编码、译码、检错、纠错目录一、C语言简介..................................................................................................................................11.1什么是C语言........................................................................................................................11.2C语言的特点.........................................................................................................................11.3运行C程序的步骤与方法...................................................................................................2二、汉明码编码..................................................................................................................................42.1汉明码编码原理.....................................................................................................................42.2监督矩阵.................................................................................................................................62.3生成矩阵.................................................................................................................................7三、汉明码纠错检错........................................................................................................................93.1汉明距离................................................................................................................................93.2汉明码纠错原理....................................................................................................................9四、汉明码编译码的实现过程........................................................................................................104.1编码过程...............................................................................................................................104.2译码过程...............................................................................................................................10五、软件设计及测试分析................................................................................................................125.1程序流程图...........................................................................................................................125.1.2编码程序流程图........................................................................................................125.1.3译码程序流程图........................................................................................................135.2软件运行分析......................................................................................................................155.2.1主程序运行分析.........................................................................................................155.2.2编码运行分析............................................................................................................175.2.3译码运行分析............................................................................................................185.3软件分析..............................................................................................................................19总结....................................................................................................................................................20参考文献............................................................................................................................................21附录....................................................................................................................................................221一、C语言简介1.1什么是C语言C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。具体应用比如单片机以及嵌入式系统开发。1.2C语言的特点一种语言之所以能存在和发展,并具有较强的生命力,总是有不同于其他语言的特点。主要的优缺点介绍如下。优点简洁紧凑、灵活方便。C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。运算符丰富。C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值。强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。数据类型丰富。C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。语法限制不太严格,程序设计自由度大。虽然C语言也是强类型语言,但它的2语法比较灵活,允许程序编写者有较大的自由度。允许直接访问物理地址,对硬件进行操作。由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。生成目标代码质量高,程序执行效率高。一般只比汇编程序生成的目标代码效率低10へ20%。适用范围大,可移植性好。C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX、windows98.windowsNT;也适用于多种机型。C语言具有强大的绘图能力,可移植性好,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画,它也是数值计算的高级语言。缺点C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组
本文标题:(7,4)汉明码编译码软件设计
链接地址:https://www.777doc.com/doc-4996126 .html