




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要 在通信系统中, 要提高信息传输的有效性, 我们将信源的输出经过信源编码用较少的符 号来表达信源消息,这些符号的冗余度很小,效率很高,但对噪声干扰的抵抗能力很弱。汉 明码(HammingC ode)是一种能够自动检测并纠正一位错码的线性纠错码, 即 SE(CSingle Error Correcting )码,用于信道编码与译码中,提高通信系统抗干扰的能力。 为了提高信息传输的准确性,我们引进了差错控制技术。而该技术采用可靠的,有效的 信道编码方法来实现的。 纠错码是一种差错控制技术, 目前已广泛应用于各种通信系统和计 算机系统中,纠错编码主要用于数字系统的差错控制,对于保证通信、存储、媒
2、体播放和信 息转移等数字传递过程的质量有着重要意义,是通信、信息类科知识结构中不可缺少的一部 分。 关键字 :通信系统、 MATLAB线 性分组码、 Hamming码 一、引言 1 二、设计原理 2 2.1 汉明码的构造原理 2 2.2 监督矩阵 H 3 2.3 生成矩阵 G 4 2.4 校正子(伴随式) S 5 三、( 7, 4)汉明码编码的设计 7 3.1 ( 7, 4)汉明码编码方法 7 3.2 编码流程图 7 3.3 ( 7, 4)汉明码编码程序设计 7 四、( 7, 4)汉明码的译码器的设计 8 4.1 ( 7, 4)汉明码译码方法 8 4.2 译码流程图 10 4.3 ( 7,4)
3、汉明码译码程序的设计 10 五、(7,4)汉明码编译码程序的编译及仿真波形 11 六、总结 13 七、参考文献 14 附录 15 、引言 当计算机存储或移动数据时,可能会产生数据位错误,这时可以利用汉明码来检测并纠 错,简单的说,汉明码是一个错误校验码码集,由 Bell 实验室的 R.W.Hamming发明,因此定 名为汉明码。 与其他的错误校验码类似,汉明码也利用了奇偶校验位的概念,通过在数据位后面增加 一些比特,可以验证数据的有效性。利用一个以上的校验位,汉明码不仅可以验证数据是否 有效,还能在数据出错的情况下指明错误位置。 在接受端通过纠错译码自动纠正传输中的差错来实现码纠错功能,称为前
4、向纠错FEC。 在数据链路中存在大量噪音时, FEC可以增加数据吞吐量。通过在传输码列中加入冗余位 ( 也 称纠错位 )可以实现前向纠错。 但这种方法比简单重传协议的成本要高。 汉明码利用奇偶块机 制降低了前向纠错的成本。 、设计原理 2.1 汉明码的构造原理 线性分组码是一类重要的纠错码,应用很广泛。在( n,k)分组码中,若监督码元是按 线性关系模 2 相加而得到的,则称其为线性分组码。 一般来说,若汉明码长为 n,信息位数为 k,则监督位数 r=n-k. 若希望用 r 个监督位构 造出 r 个监督关系式来指示一位错码的 n 种可能位置,则要求 2r 1 n 或 2r 1 k r 1 现在
5、以(7,4) 分组码为例来说明线性分组码的特点。设其码字为 A= a6, a5,a4,a3,a2,a1,a0 ,前 4位是信息元,后 3 位是监督元,可用下列线性方程组来描述该分组 码产生监督元:a2 a6a5a4 a1 a6 a5 a3 a0 a6a4a3 显然,这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 10
6、10 010 0011 110 1011 001 0100 110 1100 001 0101 101 1101 010 0110 011 1110 100 0111 000 1111 111 12 由上表可知:(7,4)汉明码的最小码距 d0=3,它能纠 1 位错或检 2 位错。 由此可见,汉明码是能够纠正单个错误的线性分组码,其特点是:最小码距d0 =3,码长 n 与 监督位 r 满足关系式: 2r 1 n ,说明上述所说的( 7,4)线性分组码就是汉明码。同时, 由于码率 k n (n r) n 1 r n,故当 n很大和 r很小时,码率接近 1,可见, 汉明码是一种 高效码。 2.2
7、监督矩阵 H 式( 3.1 )所示的( 7,4)汉明码的监督方程可以改写为: a6 a5 a4 a2 0 a6 a5 a3 a1 0 (式 2.2.1 ) a6 a4 a3 a0 0 用矩阵的形式可以将上式表示为: 摸 2 )(式 2.2.2 ) 上式可以简记为: H AT 0T 或 H T A 0 式中 A=a6 a5 a4 a3 a2 a1 a0 0=0 0 0 右上标“ T”表示将矩阵转置。例如, HT是 H的转置,即 HT的第一行为 H的第一列, HT 的第二行为 H 的第二列等等。 31 其中, H成为监督矩阵,只要监督矩阵 H给定,编码时信息位和监督位的关系也就随即 确定下来了。
8、2.3 生成矩阵 G 上面汉明码例子中的监督位公式为 式 2.3.1 ) 也可改写成矩阵形式: 式 2.3. 2) 或者写成 式 2.3.3 ) 式中, Q为一个 k*r 阶矩阵,它为 P的转置,即 Q=PT 上式表示,在信息位给定后,用信息位的行矩阵车乘矩阵Q 就产生出监督位。 若将( 2.2.1 式)的监督方程补充完整并写成矩阵的形式: 式 2.3.4 ) 41 即: A=G a6 a5 a4 a3 =GM 即汉明码的编码原理 上式中 1000111 式 2.3.5 ) 0100110 G= 0010101 0001011 G为生成矩阵,根据式 2.3.4 知:由 G和信息码就能产生所有码
9、字。生成矩阵也可分为两 部分,即 G= I k ,Q(式 2.3.6 ) 上式中 111 110 T Q= 101PT(式2.3.7 ) 011 Q为 k r 阶矩阵, Ik为 k阶单位阵。 因此,如果找到了码的生成矩阵 G,则编码的方法就完全确定了。具有 KQ 形式的生成矩 阵称为典型生成矩阵。由典型生成矩阵得出的码组 A 中,信息位的位置不变,监督位附加于 其后,这种形式的码称为系统码。 2.4 校正子(伴随式) S 设一发 送码 组 A= an 1,an 2 ,.a1, a0 , 在传输的过 程中可 能发生误码 。接 受码 组 B= bn 1,bn 2 ,.,b1 ,b0 ,收发码组之差
10、定义为错误图样 E。 E=B-A ( 式 2.4.1) 其中, E= en 1,en 2 ,.,e1, e0 , 令 S=B H T。 S B HT (A E)HT E HT ( 式 2.4.2) 式中 S 称为校正子,他用来表示错码位置。 可见:校正子 S 与错误图样 E 之间由确定的线性变换关系。若和之间一一对应, 则 将能代表错码位置。 51 7,4)汉明码的校正子和错误图样之间的对应关系如表 2 所示 表2 (7,4) 汉明码 S 与 E 对应关系 错误码位 错误图样 E 校正子S 错误位置 C e6 e5 e4 e3 e2 e1 e0 S2 S1S0 b0 0 0 0 0 0 0 1
11、 0 0 1 1 b1 0 0 0 0 0 1 0 0 1 0 2 b2 0 0 0 0 1 0 0 1 0 0 3 b3 0 0 0 1 0 0 0 0 1 1 4 b4 0 0 1 0 0 0 0 1 0 1 5 b5 0 1 0 0 0 0 0 1 1 0 6 b6 1 0 0 0 0 0 0 1 1 1 7 无错 0 0 0 0 0 0 0 0 0 0 无错 由上表可知: 当 S=001 时,则出错在 1 位,即 b0 出错; 当 S=010 时,则出错在 2 位,即 b1 出错; 当 S=100 时,则出错在 3 位,即 b2 出错; 当 S=011 时,则出错在 4 位,即 b3
12、出错; 当 S=101 时,则出错在 5 位,即 b4 出错; 当 S=110 时,则出错在 6 位,即 b5 出错; 当 S=111 时,则出错在 7 位,即 b6 出错; 当 S=000 时,则无错。 61 三、( 7,4)汉明码编码的设计 3.1 ( 7,4)汉明码编码方法 (7,4) 汉明码的编码就是将输入的 4 位信息码 M= a6a5a4a3加上 3 位监督码 b2b1b0从而 编成 7位汉明码 a6 a5,a4,a3,a2,a1,a0,编码输出 B=a6 a5 a4 a3 a2 a1 a0. 由式 A = MG=a6a5a4a3 G 可知,信息码 M与生成矩阵 G 的乘积就是编好
13、以后的 (7,4) 汉明码。 3.2 编码流程图 编码程序的设计流程图 3.3 (7,4)汉明码编码程序设计 根据 (7,4) 汉明码的编码原理, 将上式计算所得的监督位和输入的信息位一起输出, 则此 次编码就算完成了。 (7,4)汉明码的编码源程序见下文附录。 71 四、( 7,4)汉明码的译码器的设计 4.1 ( 7,4)汉明码译码方法 (7,4) 汉明码的译码器的功能就是把输入的 7 位汉明码 B=b6b5b4b3b2 b1b0 译为 4位信 息码 a3 a2 a1 a0 ,并且根据伴随矩阵 S 从而纠正编码中可能出现的 1 位错码 根据监督矩阵 H 和生成矩阵 G的关系,即: H =
14、P Ir ,其中 Ir 是 3 3的单位阵, P QT G = Ik Q ,其中 Ik 是4 4的单位阵, 式 4.1.1 ) 生成矩阵 G= 1000111 0100110 0010101 0001011 = Ik ,Q 1110 由式( 4.1.1 ),得 P= 1101 1011 监督矩阵 式 4.1.2 ) 1110 100 H 1101 010 PI r 1011 001 由式( 2.2.2 )知 S B HT (A E)HT E HT ,其中 E=en 1,en 2 ,.,e1, e0 从而即可得到校正子 S与( 7,4)汉明码各位之间的关系: S2 a6 a5 a4 a2 S1
15、a6 a5 a3 a1(式 4.1.3 ) S0 a6 a4 a3 a0 算出校正子 S( S2S1S0)后,对照表 2,即可判断出哪位出错,并纠正出错的那位,从而输出 正确的码字 81 表 3 (7,4)汉明码译码输入、输出对应关系 序号 译码输入 译码输出 校正子 S 错误码位 错码位置 b6b5b4b3b2 b1b0 a3a2a1a0 S2S1S0 C 0 0000010 0000 010 b1 2 1 0001111 0001 100 b2 3 2 0010101 0010 000 无错 0 3 0011110 0011 000 无错 0 4 0101110 0100 011 b3 4
16、 5 0100101 0101 011 b3 4 6 0010011 0110 100 b5 6 7 0111000 0111 000 无错 0 8 1000111 1000 000 无错 0 9 1001101 1001 001 b0 1 10 1010000 1010 010 b1 2 11 1011101 1011 100 b2 3 12 1101001 1100 011 b3 4 13 1111000 1101 101 b4 5 14 1010100 1110 110 b5 6 15 0111111 1111 111 b6 7 91 4.2 译码流程图 译码程序设计的流程图: 4.3
17、(7,4)汉明码译码程序的设计 若第 1 位(a0)出错,则 C 0。这样译码程序就可以编出 根据前面分析的译码原理,在程序中, C 表示错误在哪一位 输出 0;若第 2 位出错,则 C 输出 1;, ;若无错,则 C 输出 来了。译码源程序见附录 110五、( 7,4)汉明码编译码程序的编译及仿真波形 输入信息元序列 1 0 0 0 输出序列为 : 1 0 0 0 1 1 1 hanmingencode 1.5 0.5 2 value hanmingdecode 1】, 红线表示错误的接收 hanmingdecode 111 0 0 0 0 1 1 1 错误在第一位(蓝线表示正确的译码【 0
18、 0 0 1 0 1 序列【1 0 0 1 0 1 1】) 输入信息元序列 1 0 1 0 输出序列为 : 1 0 10 0 1 0 hanmingencode hanmingdecode 【 10 0 0 01 0】 错误在第三位 输入信息元序列 1 0 1 1 hanmingdecode 112 六、总结 对于本次课程设计的结束,我真切感觉到自己知识能力的匮乏,很多东西都只是知道 一些浅显的知识,真正搞懂会应用的东西很少。或许一个人的进步需要一个缓慢的过程。在 过程中需要不断地借鉴,学习,汲 取 别 人 的 东西 。 同别人的成果中攫取知识和营养,然 后它变成自己的东西。 通过这次课程设计
19、。我学到了很多东西, 首先,通 过这 次 课程 设计 , 我熟练地掌握了汉明码的纠错码的原理,了解的( 7,4 )汉明码的相关知识。其次,我觉得学 习理论和实践是两个层次,理论指导实践,而实践验证理论,理论往往是在理想的条件下得 出的,而实践是在现实生活中进行的,所以,实践得出的结论 往往与理论的结论有一定 的差别,这是很正常的。另外团结协作,互助共赢是时代的主流。在 这次课设的制作 中, 交流合作的精神在我们体现的可谓是淋漓尽致。相互探讨,学 习 交 流 , 优势互补,这样 才最终处成了这课设。争论与交流是解决问题很好的方法,问题也总是在思 想与意见 的碰撞中得到解决而这也是我们对理论理解的
20、更为深刻。通过图书馆,搜 索 引擎查阅资料的能力也得到了相应的提升。总 之 , 在 这 次 课 程 设 计 的 制 作 的 过 程 中 学 到 了 很 多 东 西 ,能 力 也 有 相 应 的 提升。在此还要感谢指导老师的辛勤教导, 感谢老师在此次课程设计中给以孜孜不倦的解惑。 113 七、参考文献 【1】李建新 现代通信系统分析与仿真 MATLAB通信工具箱 . 西安:西安电子科技 大学出版社, 2000 【2】樊昌信 通信原理 . 北京:国防工业出版社, 2002 【3】刘敏 MATLAB 通信仿真与应用 国防工业出版社 【4】曹志刚等著 现代通信原理 北京:清华大学出版社, 2001 5
21、 【5】吴伟陵等著 移动通信原理 北京:电子工业出版社, 2005 【6】韩利竹,王华 MATLAB电子仿真与应用 北京:国防工业出版社 ,2003 年. 【7】赵静 基于 MATLAB的通信系统仿真 北京: 北京航空航天大学出版社 ,2008 年. 【8】葛哲学 精通 MATLAB 北京: 电子工业出版社 ,2008 年. 114 附录 一、(7,4)汉明码编码源程序 function f=hammingencod(a) G=1 0 0 0 1 1 1;0 1 0 0 1 1 0;0 0 1 0 1 0 1;0 0 0 1 0 1 1; a=input( 输入信息元序列 : ); c=mod(a*G,2); disp( 编码后序列为 : ); disp(c); x=.01:.01:4; m,n=size(a*ones(1,100); y=reshape(a*ones(1,100),1,m*n); plot(x,y) axis(0 4 0 1.5); set(gca,XTick ,0:1:4); set(gca,YTick ,0:0.5:1.5); title( h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文化娱乐产业政策影响与经纪人应对措施考核试卷
- 水产品冷冻加工技术培训与人才培养考核试卷
- 厨房电器市场调查与分析考核试卷
- 英语三年级上册人教版三年级英语上册recycle1第三课时模板-英语
- 影视动画渲染节点租赁与高速存储服务合同
- 独家技术培训补充协议
- 演员代言产品售后服务责任补充协议
- 炼钢炉智能温控系统租赁与生产设备升级服务协议
- 网络文学作品改编为影视作品独家授权合同
- 物业公司安保人员智能设备操作全职聘用合同
- 多模态交互反馈机制
- 部编版小学道德与法治三年级下册第8课《大家的“朋友”》课件
- DL∕T 523-2017 化学清洗缓蚀剂应用性能评价指标及试验方法
- 中俄东线天然气管道工程(永清-上海)环境影响报告书
- 关爱生命-急救与自救技能智慧树知到期末考试答案章节答案2024年上海交通大学医学院
- 2023年丹阳市妇幼保健院(第二人民医院)招聘考试真题及答案
- 中医培训课件:《中药热奄包技术》
- 五年级语文下册第八单元【教材解读】
- 数字贸易学 课件 第3章 消费互联网、产业互联网与工业互联网
- 第11课+宋元时期的经济、科技与文化【中职专用】《中国历史》(高教版2023基础模块)
- JTG D60-2015 公路桥涵设计通用规范
评论
0/150
提交评论