文档介绍:1摘要通信技术与人们的生活越来越紧密,对通信技术的仿真和研究使复杂的通信过程变得简单直观化。文中对编码通信中汉明码的编译码原理进行了分析,并用Matlab语言仿真,不但简化了学生的学习过程,提高了教学效果,而且激发了其学习兴趣。差错控制技术可以提高信息传输的准确性。该技术采用可靠的,有效的信道编码方法来实现的。纠错码是一种差错控制技术,目前已广泛应用于各种通信系统和计算机系统中,纠错编码主要用于数字系统的差错控制,对于保证通信、存储、媒体播放和信息转移等数字传递过程的质量有着重要意义,是通信、信息类科知识结构中不可缺少的一部分。关键字:仿真、MATLAB、汉明码23一、引言MATLAB通信系统功能函数库由七十多个函数组成,每个函数有多种选择参数、函数功能覆盖了现代通信系统的各个方面。信道编码是人为地按照一定的规则加入人工剩余,从而使信息传输中的差错率降低,甚至达到无错传输的一种提高信息系统可靠性的编码方法,是现代通信系统广泛采用的一种差错控制措施。以纠错控制编解码函数为例:函数库提供了线性分组码、汉明码、循环码、BCH码、里德一索洛蒙码(REED—SOLOMON)、卷积码等6种纠错控制编码,每种编码又有编码、解码、矢量输入输出、序列输入输出等四种形式的函数表达。在信道编码中,有一类所谓汉明码,在理论上已十分成熟,并且在通信实践中已被广泛使用。本文简述了汉明码的编码方法、译码方法做一简述,并给出相应的Matlab计算程序。4二、设计原理2、1汉明码的构造原理线性分组码是一类重要的纠错码,应用很广泛。在(n,k)分组码中,若监督码元是按线性关系模2相加而得到的,则称其为线性分组码。一般来说,若汉明码长为n,信息位数为k,则监督位数r=n-,则要求nr??12或112????rkr现在以(7,4)分组码为例来说明线性分组码的特点。设其码字为A=[6a,012345,,,,,aaaaaa],前4位是信息元,后3位是监督元,可用下列线性方程组来描述该分组码产生监督元:2 6 5 41 6 5 30 6 4 3a a a aa a a aa a a a? ????? ????? ???显然,这3个方程是线性无关的。代入上述公式可得(7,4)码的全部码组,如表1所示。表1(7,4)汉明码的全部码组信息位a6a5a4a3监督位a2a1a0信息位a6a5a4a3监督位a2a1a0000000010001110001011100110000101011010010001111010110010100110110000101011011101010011001111101005011**********由上表可知:(7,4)汉明码的最小码距0d=3,它能纠1位错或检2位错。由此可见,汉明码是能够纠正单个错误的线性分组码,其特点是:最小码距0d=3,码长n与监督位r满足关系式:nr??12,说明上述所说的(7,4)线性分组码就是汉明码。同时,由于码率nrnrnnk????1)(,故当n很大和r很小时,码率接近1,可见,汉明码是一种高效码。()所示的(7,4)汉明码的监督方程可以改写为:6 5 4 26 5 3 16 4 3 0000a a a aa a a aa a a a? ?????? ?????? ????()用矩阵的形式可以将上式表示为:(摸2)()上式可以简记为:TTAH0??或0??AHT式中???????????1011001110**********HA=[a6a5a4a3a2a1a0]65432101110100 01101010 01011001 0aaaaaaa? ?? ?? ?? ?? ???? ?? ???? ?? ?? ???? ?? ???? ???? ?? ?? ?? ?60=[000]右上标“T”表示将矩阵转置。例如,HT是H的转置,即HT的第一行为H的第一列,HT的第二行为H的第二列等等。其中,H成为监督矩阵,只要监督矩阵H给定,编码时信息位和监督位的关系也就随即确定下来了。 5 4 26 5 3 16 4 3 0000a a a aa a a aa a a a? ?????? ?????? ????()也可改写成矩阵形式:?????????????????????????????????345