通信原理设计报告汉明码的编解码设计

上传人:枫** 文档编号:512018688 上传时间:2022-11-26 格式:DOCX 页数:22 大小:229.03KB
返回 下载 相关 举报
通信原理设计报告汉明码的编解码设计_第1页
第1页 / 共22页
通信原理设计报告汉明码的编解码设计_第2页
第2页 / 共22页
通信原理设计报告汉明码的编解码设计_第3页
第3页 / 共22页
通信原理设计报告汉明码的编解码设计_第4页
第4页 / 共22页
通信原理设计报告汉明码的编解码设计_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《通信原理设计报告汉明码的编解码设计》由会员分享,可在线阅读,更多相关《通信原理设计报告汉明码的编解码设计(22页珍藏版)》请在金锄头文库上搜索。

1、目录前言1第1章设计要求3第2章 Quartus II软件介绍4第3章 汉明码的构造原理63.1 (7,4)汉明码的构造原理63.2监督矩阵H与生成矩阵G73.3校正子(伴随式S)8第4章(7,4)汉明码编码器的设计104. 1 (7,4)汉明码的编码原理及方法104.2 (7,4)汉明码编码程序的设计104.3 (7,4)汉明码编码程序的编译及仿真11第5章(7, 4)汉明码译码器的设计125.1(7,4)汉明码的译码方法125. 2(7, 4)汉明码译码程序的设计135. 3(7,4)汉明码译码程序的编译及仿真15第6章(7, 4)汉明码编译码器的设计176. 1(7, 4)汉明码编译码器

2、的设计17参考文献18体会与建议19附录20冃IJ 5汉明(Hamming)码是一种能够纠正一位错码或检测两位错码的一种效率较 高的线性分组码。本次课程设计的任务就是利用EDA技术在Quartus II软件下 用VHDL语言实现(7, 4)汉明码的编译码的设计和仿真。从而进一步加深对汉 明码编译码原理的理解。EDA (Electronic Design Automation)技术是随着集成电路和计算机技术 飞速发展应运而生的一种高级、快速、有效的电子设计自动化工具。目前,VHDL 语言己经成为EDA的关键技术之一,VHDL是一种全方位的硬件描述语言,具有 极强的描述能力,能支持系统行为级、寄存

3、器传输级和逻辑门级三个不同层次的 设计,支持结构、数据流、行为三种描述形式的混合描述,覆盖面广,抽象能力, 因此在实际应用中越來越广泛。VHDL语言具有功能强大的语言结构,可用明确的代码描述复杂的控制逻辑 设计,并且具有多层次的设计描述功能,支持设计库和可重复使用的元件的生成, 近儿十年來,EDA技术获得了飞速的发展,它以计算机为平台,根据硬件描述语 言VHDL,自动地完成逻辑编译,化简分割、综合及优化,布局布线,仿真直至 对特定目标芯片的适配编译,逻辑映射和编程下载等工作,以自顶向下的设计方 法,使硬件设计软件化,摆脱了传统手工设计的众多缺点,随着EDA技术的深入 发展,基于硬件描述语言的方

4、法将由取代传统手工设计方法的趋势。第1章设计要求1、釆用VHDL语言输入法进行设计;2、根据(7, 4)汉明码的编解码原理,确定编解码器具体设计方案;3、画出(7, 4)汉明码的编解码的程序设计流程图;4、编写VHDL源程序、调试及仿真时序波形。第2章Quartus II软件介绍 Quartus II 软件Quartus II是Altera公司推出的CPLD/FPGA的开发工具,Quartus II提供了 完全集成且于电路结构无关的开发环境,具有数字逻辑设计的全部特性。Quartus II设计软件提供完整的多平台设计环境,可以很轻松地满足特定设 计的需要。它是可编程片上系统(SOPC)设计的综

5、合性环境,拥有FPGA和CPLD 设计的所有阶段的解决方案。与其他EDA软件相比较,Quartus II软件的主要特 点包括:可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将 其保存为设计实体文件。芯片(电路)平面布局连线编辑。LogicLock增量设计方法,用户建立并优化系统,然后添加对原始系统的性 能影响较小或无影响的后续模块、功能强大的逻辑综合工具。完备的电路功能仿真与时序逻辑分析、定时/时序分析与关键路径延时分析。可使用SignalTap 11逻辑分析工具进行嵌入式的逻辑分析。支持软件源文件的添加和创建,并将它们链接起來生成编程文件。使用组合编译方式可

6、一次完成整体设计流程。自动定位编译错误、高效的器件编程与验证工具。可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件。能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。 VHDL语言VHDL语言主要用于描述数字系统的结构、行为、功能和接口,除了含有许 多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一 般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分)和内 部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计 实体定义了外部界面

7、后,一旦其内部开发完成后,其他的设计就可以直接调用这 个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用 VHDL进行工程设计的优点如下儿点:(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决 定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体 的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查 验设计系统的功能可行性,随时可对设计进行仿真模拟。(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的 分解和己有设计的再利用功能。符合市场需

8、求的大规模系统高效,高速的完成必 须有多人其至多个代发组共同并行工作才能实现。(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合 和优化,并自动的把VHDL描述设计转变成门级网表。(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也 不必管理最终设计实现的目标器件是什么,而进行独立的设计。第3章(7, 4)汉明码的构造原理3.1汉明码的构造原理线性分组码是一类重要的纠错码,应用很广泛。在(n, k)分组码中,若 监督码元是按线性关系模2相加而得到的,则称其为线性分组码。现在以(7, 4)分组码为例來说明线性分组码的特点。设其码字为A二仇, 前4位是信息元

9、,后3位是监督元,可用下列线性方程组 來描述该分组码产生监督元:Cl2 = 06 V 仙=06 05 (式 3.1)00 = 06 显然,这3个方程是线性无关的。代入上述公式可得(7, 4)码的全部码组, 如表1所示。表1 (7, 4)汉明码的全部码组信息位06 05 04 03监督位 a2tiiao信息位a6Q5(14 03监督位a2ai ao0000000100011100010111001100001010110100100011no10110010100no1100001010110111010100110Oil111010001110001111111由上表可知:(7, 4)汉明码的

10、最小码距d。二3,它能纠1位错或检2位错。 由此可见,汉明码是能够纠正单个错误的线性分组码,其特点是:最小码距d。二3, 码长n与监督位r满足关系式:2r-l/?,说明上述所说的(7, 4)线性分组码 就是汉明码。同时,由于码率k/n = (/?-r)/n = 1 -r/n ,故当很大和厂很小时, 码率接近1,可见:汉明码是一种高效码。3. 2监督矩阵H和生成矩阵G监督矩阵H式(3.1)所示的(7, 4)汉明码的监督方程可以改写为:a6+a5+ ci4 + a2 =0J a6 + 色 + 角 + =0(式 3. 2. 1)4 + + + do = 0X.用矩阵的形式可以将上式表示为:(式 3.

11、 2.2)并简记为:或MA = 0其中,H成为监督矩阵,只要H给定,信息位和监督位的关系也就随即确定 下來了。H的行数就是监督矩阵的数目,等于监督数目ro H序列可分为两部分:1110 1 100-H = 1101 : 010 = PIr(式 3.2.3)1011 : 001其中P为厂xR阶矩阵,/为阶单位阵。因为/7 4 = 0,所以可以用这个关系式来作为判断接收码字A是否出错的 依据。若/Ta = 0,则说明码字A有错,反之则说明码字A无错。生成矩阵G若将(3. 2. 1式)的监督方程补充完整并写成矩阵的形式:(式 3.2.4)即:A=G L a6 a5a4a3 =G M上式中100011

12、1(式32.5)0100 110 G=0010.101 0001.OilG成为生成矩阵,根据式324知:由G和信息码就能产生所有码字。生成矩阵 也可分为两部分,即G 二皿(式 3. 2.6)上式中1111110101(式 3. 2.7)011Q为阶矩阵,人为k阶单位阵。3.3校正子(伴随式)S设一发送码组A二心十九”心,在传输的过程中可能发生误码。接受码组B二如計_2,#,收发码组之差定义为错误图样EoE=B-A(式 3. 3. 1)其中,E二昭,,勺,令S二B H,,称为校正子(伴随式)。S = BW =(A + E)Ht =EHt (式 3. 3. 2) 可见:校正子S与错误图样E之间由确

13、定的线性变换关系。(7, 4)汉明码的校正子和错误图样之间的对应关系如表2所示。表2 (7,4)汉明码S与E对应关系错误码位错误图样E校正子s错误位置c5 J e, s J 5S、SSq0 0 0 0 0 0 10 0 10*0 0 0 0 0 1 00 1 01b20 0 0 0 1 0 01 0 02叽0 0 0 1 0 0 00 1 13b40 0 1 0 0 0 01 0 14b50 1 0 0 0 0 01 1 05b61 0 0 0 0 0 01 1 16无错0 0 0 0 0 0 00 0 07由上表可知:当S二001时,则出错在0位,即bo出错;当S二010时,则出错在1位,即

14、bl出错;当S=100时,则出错在2位,即b2出错;当S二011时,则出错在3位,即b3出错;当S=101时,则出错在4位,即b4出错;当S二110时,则出错在5位,即b5出错;当S=lll时,则出错在6位,即b6出错;当S二000时,则无错。第4章(7, 4)汉明码编码器的设计4. 1(7, 4)汉明码编码方法(7,4)汉明码的编码就是将输入的4位信息码M= a6a5a4a加上3位监督 码从而编成7位汉明码。6 a59a49a5,a2,al9a0f编码输出B二仪a5 S勺az a0.由式A = M G=a6a5a4ai G可知,信息码M与生成矩阵G的乘积就 是编好以后的(7, 4)汉明码。4.2 (7, 4)汉明码编码程序设计根据(7, 4)汉明码的编码原理,由于输入的是4位的信息码M=W/A, 输出的是7位的(7, 4)汉明码B二亿心心卫。所以定义4位输入信息 码兮/卫皿 的语句为:port (datain: in std_logic_vector (3 downto 0);编码 输出的语句为:port (b:out std_logic_vector (6 downto 0);再根据(式3.1),即可得到监督位与信息码之间的对应关系,编

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号