(7,4)汉明码编译码软件设计
- 格式:doc
- 大小:1.40 MB
- 文档页数:33
*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2012年秋季学期
计算机通信课程设计
题 目:(7,4)汉明码编译码软件设计
专业班级:
姓 名:
学 号:
指导教师:
成 绩:
摘要
汉明码是一种能自动检错并纠正一位错码的线性纠错码,用于信道编码与译码中,高通信系统抗干扰的能力。本次课设主要是(7,4)汉明码的编译码软件设计,该软件可以对输入的多个四位信息码进行编码,对于接收的多个七位信息码可以进行译码,从而译出四位信息位.当接收到的信息码有一位错误时,可以纠正这一位错码,进而译出正确的信息码组,整个程序使用C语言编写.
关键词:汉明码、编码、译码、检错、纠错 目录
一、C语言简介 .................................................................................................................................. 1
1.1什么是C语言 ........................................................................................................................ 1
1.2 C语言的特点 ......................................................................................................................... 1
1.3 运行C程序的步骤与方法 ................................................................................................... 2
二、汉明码编码 .................................................................................................................................. 4
2.1汉明码编码原理 ..................................................................................................................... 4
2.2监督矩阵 ................................................................................................................................. 6
2.3生成矩阵 ................................................................................................................................. 7
三、 汉明码纠错检错 ........................................................................................................................ 9
3.1 汉明距离 ................................................................................................................................ 9
3.2 汉明码纠错原理 .................................................................................................................... 9
四、汉明码编译码的实现过程 ........................................................................................................ 10
4.1编码过程 ............................................................................................................................... 10
4.2译码过程 ............................................................................................................................... 10
五、软件设计及测试分析 ................................................................................................................ 12
5.1程序流程图 ........................................................................................................................... 12
5.1.2 编码程序流程图 ........................................................................................................ 12
5.1.3 译码程序流程图 ........................................................................................................ 13
5.2 软件运行分析 ...................................................................................................................... 15
5.2.1主程序运行分析 ......................................................................................................... 15
5.2.2 编码运行分析 ............................................................................................................ 17
5.2.3 译码运行分析 ............................................................................................................ 18
5.3 软件分析 .............................................................................................................................. 19
总结 .................................................................................................................................................... 20
参考文献 ............................................................................................................................................ 21
附录 .................................................................................................................................................... 22 1 一、C语言简介
1.1什么是C语言
C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。具体应用比如单片机以及嵌入式系统开发。
1.2 C语言的特点
一种语言之所以能存在和发展,并具有较强的生命力,总是有不同于其他语言的特点。主要的优缺点介绍如下。
优点
简洁紧凑、灵活方便。C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
运算符丰富。C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值。强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
数据类型丰富。C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。