




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2009级通信工程专业通信原理课程设计通信原理课程设计报告书课题名称基于VHDL语言的(7,4)汉明码编译码的设计姓 名*学 号*院 系通信与电子工程学院专 业通信工程指导教师*2011年12月30日 一、 设计任务及要求:设计任务:设计基于VHDL的(7,4)汉明码的编译码要 求:1.用VHDL语言编写(7,4)汉明码编码和译码的程序2.用Quartus 5.0来观察并分析仿真结果 指导教师签名: 2011 年 12 月 30 日 二、指导教师评语:指导教师签名: 年 月 日 三、成绩验收盖章 年 月 日 基于VHDL语言的(7,4)汉明码编译码的设计1 设计目的通过本课程设计巩固并扩展通信
2、原理课程的基本概念、基本理论、分析方法和实现方法。掌握(7,4)汉明码编码和译码的原理和设计步骤,掌握运用VHDL语言对(7,4)汉明码的编译码的设计,有效地将理论和实际紧密结合,培养自己的创新思维和设计能力,增强软件编程实现能力和解决实际问题的能力。2 设计思路通过应用硬件描述语言VHDL,编写(7,4)汉明码的编码和译码的程序,并对编译码程序进行编译和仿真分析。通过运用相关工具画出(7,4)汉明码的编译码流程图和仿真图,并对相关结果进行分析,得出结论。3 设计过程 3.1 (7,4)汉明码的编码的原理和程序设计()汉明码是在原编码的基础上附加一部分代码,使其满足纠错码的条件。它属于线性分组
3、码,由于汉明码的抗干扰能力较强,至今仍是应用比较广泛的一类码。在()汉明码中,(-)可附加的监督码元是又信息马元的线性运算产生的。码长为,信息码元长度为,个码组()构成维线性空间中的一个维子空间,编码的实质就是要在维线性空间中,找出一组为的个线性无关的矢量,使得每个码组都可以表示为个矢量的线性组合,其中, ,k-1。因此, 是带编码信息的信息组,G是一个*阶矩阵,G称为()汉明码的生成矩阵。当G确定以后,编码的问题也就解决了。根据监督码元由信息码元的线性运算产生的关系可知,监督码,满足以下关系式: (3.1-1)由式(3.1-1)可算出三位监督位,再与信息位结合,可得到(7,4)汉明码。然后根
4、据(7,4)汉明码的编码原理,画出程序设计的流程图。输出编好的(7,4)汉明码根据信息码算出监督码输入信息码结束开始 图1 (7,4)汉明码的编码流程图然后根据图1编写程序。首先,输入信息码,就可以得到监督位与信息码之间的对应关系,使用异或运算,即: (3.1-3) (3.1-3) (3.1-4)最后,将算好的监督码与原来输入的信息码一起输出,这样,编码程序就完成了。3.2 (7,4)汉明码的编码的原理和程序设计若码长为,信息位数为,监督位数为。如果希望用个监督位构造出个监督关系式来指示一位错码的种可能位置,则要求或。(7,4)汉明码中,为了纠错一位码,用表示要进行译码的码元,用 和表示监督关
5、系式的校正子,则 和的值与错码对应关系可以规定如表1所示,由表1可知,当一位错码的位置在 或时,校正子为1;否则为0。这就意味着和4个码元构成偶数监督关系: = (3.2-1)同理,和构成偶数监督关系: = (3.2-2)以及,和构成偶数监督关系: = (3.2-3)接收到每个码组之后,先按照以上三个等式计算出,再按照表1判断错码情况。例如,若接收码组为,可计算出=0,=1,=1。由于等于011,可知在位有一错码,对其取反即可。表1 (7,4)汉明码校正子与错码位置的关系错码位置错码位置001101010110100111011000无错码根据(7,4)汉明码的译码原理,画出程序设计的流程图如
6、图2所示。然后根据流程图编写译码程序。首先,输入7位汉明码,然后,根据这7位汉明码计算校正子的值,可知校正子与(7,4)汉明码各位之间的关系,即: := (3.2-4) := (3.2-5) := (3.2-6)YN校正子是否为0?根据输入的码算出校正子开始根据的值,对照表1纠正出错的位输出4位信息码结束输出7位汉明码图2 (7,4)汉明码的译码流程图4 程序设计4.1 编码程序library ieee;use ieee.std_logic_1164.all;entity yihan isport(a6,a5,a4,a3:in std_logic;a2,a1,a0:buffer std_log
7、ic; s:out std_logic_vector(6 downto 0);end yihan;architecture zhuyuting of yihan isbegina2=a6 xor a5 xor a4;a1=a6 xor a5 xor a3;a0=a6 xor a4 xor a3;s=a6&a5&a4&a3&a2&a1&a0;end zhuyuting;4.2 译码程序library ieee;use ieee.std_logic_1164.all;entity xuan isport(a6,a5,a4,a3,a2,a1,a0:in std_logic; s1,s2,s3:buf
8、fer std_logic; z:out std_logic_vector(3 downto 0);end xuan;architecture zyt of xuan issignal s:std_logic_vector(2 downto 0);begins1=a6 xor a5 xor a4 xor a2;s2=a6 xor a5 xor a3 xor a1;s3=a6 xor a4 xor a3 xor a0;s=s1&s2&s3;z=a6&a5&a4&a3 when s=000 elsea6&a5&a4&a3 when s=001 elsea6&a5&a4&a3 when s=010
9、elsea6&a5&a4&a3 when s=100 elsea6&a5&a4&(not a3) when s=011 elsea6&a5&(not a4)&a3 when s=101 elsea6&(not a5)&a4&a3 when s=110 else(not a6)&a5&a4&a3 when s=111 elseXXXX;end zyt;5 设计结果及仿真5.1 编码仿真将(7,4)汉明码的编码程序用Quartus 5.0进行仿真,得波形图如图3所示。图3 (7,4)汉明码的编码波形仿真图编码文件编译之后的仿真结果与预期结果一致。比如,分析图3中第二列可知,当输入的信息码=1,=0
10、,=0,=0时,=1,=1,=1,输出码为。由式3.1-1可计算出理论结果与实际结果一致。5.2 译码仿真当编好的(7,4)汉明码随机出现一位错码,再用Quartus 5.0将出错的(7,4)汉明码的译码程序进行仿真后,得波形图如图4所示。图4 (7,4)汉明码的译码波形仿真图由3.2-1、3.2-2和3.2-3可知,当输入的(7,4)汉明码为时,等于011,参照表1可知,位是错码,应纠正为,故输出的4位信息码应为1000,正如图4中第二列所示。经验证,图4所示结果与理论结果一致。6 设计体会与建议这次课程设计选的题目是对基于VHDL语言的(7,4)汉明码编译码的设计,虽然在上通信原理课程时对(7,4)汉明码的编解方法有所了解,但在这要用EDA技术与应用中学到的QuartusII软件的VHDL语言来实现这功能还是有点困难的,设计过程中也遇到很多困难,主要是加噪声的问题,虽然结果还是不甚满意,但在老师和同学的热情帮助下基本解决了。通过这次对基于VHDL语言的(7,4)汉明码编译码的设计,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流仓储劳务合同范本
- 高校劳动合同三方协议
- 软件市场营销合同范本
- 矿山支护维修合同范本
- 样品加工协议合同范本
- 酒店会议安全协议合同
- 研究开发合作合同范本
- 物料收购合同范本模板
- 车辆设备雇佣合同范本
- 门面租房转让合同协议
- GB/T 21063.4-2007政务信息资源目录体系第4部分:政务信息资源分类
- 机修车间岗位廉洁风险点及防范措施表
- 全新版尹定邦设计学概论1课件
- 牙及牙槽外科
- 文物建筑保护修缮专项方案
- 万用表 钳形表 摇表的使用课件
- 63T折弯机使用说明书
- 170位真实有效投资人邮箱
- 工程力学ppt课件(完整版)
- 《区域经济学》讲义(1)课件
- 船模制作教程(课堂PPT)课件(PPT 85页)
评论
0/150
提交评论