欢迎来到天天文库
浏览记录
ID:12327210
大小:370.50 KB
页数:9页
时间:2018-07-16
《基于vhdl语言的(7,4)汉明码编译码的设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、※※※※※※※※※※※※※※※※※※※※※※※※2009级通信工程专业通信原理课程设计通信原理课程设计报告书课题名称基于VHDL语言的(7,4)汉明码编译码的设计姓名***学号**********院系通信与电子工程学院专业通信工程指导教师***2011年12月30日9一、设计任务及要求:设计任务:设计基于VHDL的(7,4)汉明码的编译码要求:1.用VHDL语言编写(7,4)汉明码编码和译码的程序2.用QuartusⅡ5.0来观察并分析仿真结果指导教师签名:2011年12月30日二、指导教师评语:指导教师签名:年月日三、成绩验收盖章年月日9基于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)可算出三位监督位,再与信息位结合,
4、可得到(7,4)汉明码。然后根据(7,4)汉明码的编码原理,画出程序设计的流程图。9输出编好的(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)9以及,和构成偶数监督关系:=(3.2-3)接收到每个码组之后,先按照以上三个等式计算出,,,再按照表1判断错码情况。例如,若接收码组为0000011,可计算出=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)9YN校正子是否为0?根据输入的码算出校正子开始根据的值,对照表1纠正出错的位输出4位信息码结束输出7位汉明码图2(7,4)汉明码的译码流程图4程序设计4.1编码程序libraryieee;useieee.std_logic_1164.all;entityyihanisport(a6,a5,a4,a3:instd_logic;a2,a1,a0:bufferstd_logic
7、;s:outstd_logic_vector(6downto0));endyihan;architecturezhuyutingofyihanisbegina2<=a6xora5xora4;a1<=a6xora5xora3;a0<=a6xora4xora3;s<=a6&a5&a4&a3&a2&a1&a0;9endzhuyuting;4.2译码程序libraryieee;useieee.std_lo
此文档下载收益归作者所有