兰州理工基于MATLAB汉明码仿真(精品).doc
文本预览下载声明
******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2014年春季学期
通信系统仿真训练
题 目: 汉明码的编译码设计与仿真
专业班级: 通信工程(1)班
姓 名:
学 号:
指导教师: 郑玉峰
成 绩:
摘要
汉明码是一个原有数据中插入若干校验码来进行错误检查和纠正的编码技术。错误码校验时,把每个汉明码与各自对应的数据位值相加,如果结果为偶数(纠错代码为0)就是正确,如果为奇数(纠错代码为1),则说明当前汉明码所对应的三个数据位中有误,此时再通过其他两个汉明码各自的运算来确定具体哪个位出了问题
数字信号在传输过程中,由于受到干扰的影响,码元波形可能会被变坏。接收端收到后可能发生错误判决。由乘性干扰引起的码间串扰,可以采用均衡的办法纠正,而加性干扰的影响可以采用差错控制的措施来解决。应运差错控制的需要,已成为信道传输过程中抗干扰的有效手段,其中较为成熟的编码方法如汉明码、奇偶校验码、循环冗余码等编码技术,被广泛应用于计算机、电子通信、控制等各个领域。 汉明码是线性分组码,它能纠正一个错码和检测两个错码,在原编码的基础上附加一部分代码,使其满足纠错码的条件,由于线性码的编码和译码容易实现,且编码效率较高,所以至今仍是应用最广泛的一类码
关键字:数字信号、MATLAB 线性分组码、汉明码
目录
一、引言 1
二、设计原理 2
2.1汉明码的构造原理 2
2.2 监督矩阵H 3
2.3生成矩阵G 4
2.4 校正子(伴随式)S 5
三、汉明码编码的设计 7
3.1编码流程图 7
3.2 汉明码编码程序设计 7
四、汉明码的译码器的设计 8
4.1 汉明码译码方法 8
4.2译码流程图 10
4.3 汉明码译码程序的设计 10
五、汉明码编译码程序的编译及仿真波形 11
六、总结 15
七、参考文献 16
附录 17
一、引言
MATLAB是由美国Mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。本文提出一种采用汉明码的伴随式译码方法。在介绍原理的基础上,通过对(?,)汉明码的设计及生成矩阵、校验矩阵语言编写,并使用软件进行仿真验证,使其在虚拟信道中输入一系列码组,实现对错误码字的纠正并显示出该码组在编译码时的伴随式、差错图案、发码和收码、及纠正后的码字等。进而说明汉明码译码的快速性,并进而分析它的纠错特点及其在电子、通信等领域上的应用。 或
现在以(7,4)分组码为例来说明线性分组码的特点。设其码字
,前4位是信息元,后3位是监督元,可用下列线性方程组来描述该分组码产生监督元:
显然,这3个方程是线性无关的。代入上述公式可得(7,4)码的全部码组,如表1所示
表1 (7,4)汉明码的全部码组
信息位
a6 a5 a4 a3 监督位
a2 a1 a0 信息位
a6 a5 a4 a3 监督位
a2 a1 a0 0000 000 1000 111 0001 011 1001 100 0010 101 1010 010 0011 110 1011 001 0100 110 1100 001 0101 101 1101 010 0110 011 1110 100 0111 000 1111 111 由上表可知:(7,4)汉明码的最小码距=3,它能纠1位错或检2位错。
由此可见,汉明码是能够纠正单个错误的线性分组码,其特点是:最小码距=3,码长n与监督位r满足关系式:,说明上述所说的(7,4)线性分组码就是汉明码。同时,由于码率,故当很大和很小时,码率接近1,可见,汉明码是一种高效码。
2.2 监督矩阵H
式(3.1)所示的(7,
显示全部