基于matlab的(7,4)汉明码的编译仿真.doc
《基于matlab的(7,4)汉明码的编译仿真.doc》由会员分享,可在线阅读,更多相关《基于matlab的(7,4)汉明码的编译仿真.doc(18页珍藏版)》请在三一办公上搜索。
1、摘要 在通信系统中,要提高信息传输的有效性,我们将信源的输出经过信源编码用较少的符号来表达信源消息,这些符号的冗余度很小,效率很高,但对噪声干扰的抵抗能力很弱。汉明码(Hamming Code)是一种能够自动检测并纠正一位错码的线性纠错码,即SEC(Single Error Correcting)码,用于信道编码与译码中,提高通信系统抗干扰的能力。为了提高信息传输的准确性,我们引进了差错控制技术。而该技术采用可靠的,有效的信道编码方法来实现的。 纠错码是一种差错控制技术,目前已广泛应用于各种通信系统和计算机系统中,纠错编码主要用于数字系统的差错控制,对于保证通信、存储、媒体播放和信息转移等数字
2、传递过程的质量有着重要意义,是通信、信息类科知识结构中不可缺少的一部分。关键字:通信系统、MATLAB 线性分组码、Hamming码 一、引言1二、设计原理22.1 汉明码的构造原理22.2 监督矩阵H32.3 生成矩阵G42.4 校正子(伴随式)S5三、(7,4)汉明码编码的设计73.1 (7,4)汉明码编码方法73.2 编码流程图73.3 (7,4)汉明码编码程序设计7四、(7,4)汉明码的译码器的设计84.1 (7,4)汉明码译码方法84.2 译码流程图104.3(7,4)汉明码译码程序的设计10五、(7,4)汉明码编译码程序的编译及仿真波形11六、总结13七、参考文献14附录15 一、
3、引言当计算机存储或移动数据时,可能会产生数据位错误,这时可以利用汉明码来检测并纠错,简单的说,汉明码是一个错误校验码码集,由Bell实验室的R.W.Hamming发明,因此定名为汉明码。与其他的错误校验码类似,汉明码也利用了奇偶校验位的概念,通过在数据位后面增加一些比特,可以验证数据的有效性。利用一个以上的校验位,汉明码不仅可以验证数据是否有效,还能在数据出错的情况下指明错误位置。 在接受端通过纠错译码自动纠正传输中的差错来实现码纠错功能,称为前向纠错FEC。在数据链路中存在大量噪音时,FEC可以增加数据吞吐量。通过在传输码列中加入冗余位(也称纠错位)可以实现前向纠错。但这种方法比简单重传协议
4、的成本要高。汉明码利用奇偶块机制降低了前向纠错的成本。二、设计原理 2.1 汉明码的构造原理线性分组码是一类重要的纠错码,应用很广泛。在(n,k)分组码中,若监督码元是按线性关系模2相加而得到的,则称其为线性分组码。一般来说,若汉明码长为n,信息位数为k,则监督位数r=n-k.若希望用r个监督位构造出r个监督关系式来指示一位错码的n种可能位置,则要求 或 =346035614562aaaaaaaaaaaa现在以(7,4)分组码为例来说明线性分组码的特点。设其码字为A=,前4位是信息元,后3位是监督元,可用下列线性方程组来描述该分组码产生监督元: 显然,这3个方程是线性无关的。代入上述公式可得(
5、7,4)码的全部码组,如表1所示。表1 (7,4)汉明码的全部码组信息位a6 a5 a4 a3监督位a2 a1 a0信息位a6 a5 a4 a3监督位a2 a1 a00000000100011100010111001100001010110100100011110101100101001101100001010110111010100110011111010001110001111111由上表可知:(7,4)汉明码的最小码距=3,它能纠1位错或检2位错。由此可见,汉明码是能够纠正单个错误的线性分组码,其特点是:最小码距=3,码长n与监督位r满足关系式:,说明上述所说的(7,4)线性分组码就是汉
6、明码。同时,由于码率,故当很大和很小时,码率接近1,可见,汉明码是一种高效码。2.2 监督矩阵H式(3.1)所示的(7,4)汉明码的监督方程可以改写为: (式2.2.1)用矩阵的形式可以将上式表示为: (摸2) (式2.2.2)上式可以简记为: 或 式中 A=a6 a5 a4 a3 a2 a1 a0 0=0 0 0右上标“T”表示将矩阵转置。例如,HT是H的转置,即HT的第一行为H的第一列,HT的第二行为H的第二列等等。其中,H成为监督矩阵,只要监督矩阵H给定,编码时信息位和监督位的关系也就随即确定下来了。2.3 生成矩阵G 上面汉明码例子中的监督位公式为 (式2.3.1) 也可改写成矩阵形式
7、: (式2.3.2) 或者写成 (式2.3.3) 式中,Q为一个k*r阶矩阵,它为P的转置,即Q=PT 上式表示,在信息位给定后,用信息位的行矩阵车乘矩阵Q就产生出监督位。若将(2.2.1式)的监督方程补充完整并写成矩阵的形式:(式2.3.4)即:A=G=GM即汉明码的编码原理 上式中 G= (式2.3.5)G为生成矩阵,根据式2.3.4知:由G和信息码就能产生所有码字。生成矩阵也可分为两部分,即 G= (式2.3.6) 上式中 Q= (式2.3.7) Q为阶矩阵,为阶单位阵。 因此,如果找到了码的生成矩阵G,则编码的方法就完全确定了。具有KQ形式的生成矩阵称为典型生成矩阵。由典型生成矩阵得出
8、的码组A中,信息位的位置不变,监督位附加于其后,这种形式的码称为系统码。2.4 校正子(伴随式)S设一发送码组A=,在传输的过程中可能发生误码。接受码组B=,收发码组之差定义为错误图样E。E=B-A (式2.4.1) 其中,E=,令S=。 (式2.4.2) 式中S称为校正子,他用来表示错码位置。可见:校正子S与错误图样E之间由确定的线性变换关系。若和之间一一对应,则将能代表错码位置。(7,4)汉明码的校正子和错误图样之间的对应关系如表2所示。表2 (7,4)汉明码S 与E 对应关系错误码位错误图样E校正子S错误位置C 0 0 0 0 0 0 10 0 110 0 0 0 0 1 00 1 02
9、0 0 0 0 1 0 01 0 030 0 0 1 0 0 00 1 140 0 1 0 0 0 01 0 150 1 0 0 0 0 01 1 061 0 0 0 0 0 01 1 17无错0 0 0 0 0 0 00 0 0无错由上表可知:当S=001时,则出错在1 位,即b0 出错;当S=010时,则出错在2 位,即b1 出错;当S=100时,则出错在3 位,即b2 出错;当S=011时,则出错在4 位,即b3 出错;当S=101时,则出错在5 位,即b4 出错;当S=110时,则出错在6 位,即b5 出错;当S=111时,则出错在7 位,即b6 出错;当S=000时,则无错。三、(7



- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 matlab 汉明码 编译 仿真

链接地址:https://www.31ppt.com/p-2388498.html