通信系统课程设计报告第1页共22页目录前言...............................................................1第1章设计要求..................................................3第2章QuartusⅡ软件介绍.......................................4第3章汉明码的构造原理........................................63.1(7,4)汉明码的构造原理...........................................63.2监督矩阵H与生成矩阵G..........................................73.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)汉明码编译码器的设计...................................17参考文献.........................................................18体会与建议.......................................................19附录..............................................................20通信系统课程设计报告第2页共22页前言汉明(Hamming)码是一种能够纠正一位错码或检测两位错码的一种效率较高的线性分组码。本次课程设计的任务就是利用EDA技术在QuartusII软件下用VHDL语言实现(7,4)汉明码的编译码的设计和仿真。从而进一步加深对汉明码编译码原理的理解。EDA(ElectronicDesignAutomation)技术是随着集成电路和计算机技术飞速发展应运而生的一种高级、快速、有效的电子设计自动化工具。目前,VHDL语言已经成为EDA的关键技术之一,VHDL是一种全方位的硬件描述语言,具有极强的描述能力,能支持系统行为级、寄存器传输级和逻辑门级三个不同层次的设计,支持结构、数据流、行为三种描述形式的混合描述,覆盖面广,抽象能力,因此在实际应用中越来越广泛。VHDL语言具有功能强大的语言结构,可用明确的代码描述复杂的控制逻辑设计,并且具有多层次的设计描述功能,支持设计库和可重复使用的元件的生成,近几十年来,EDA技术获得了飞速的发展,它以计算机为平台,根据硬件描述语言VHDL,自动地完成逻辑编译,化简分割、综合及优化,布局布线,仿真直至对特定目标芯片的适配编译,逻辑映射和编程下载等工作,以自顶向下的设计方法,使硬件设计软件化,摆脱了传统手工设计的众多缺点,随着EDA技术的深入发展,基于硬件描述语言的方法将由取代传统手工设计方法的趋势。通信系统课程设计报告第3页共22页第1章设计要求1、采用VHDL语言输入法进行设计;2、根据(7,4)汉明码的编解码原理,确定编解码器具体设计方案;3、画出(7,4)汉明码的编解码的程序设计流程图;4、编写VHDL源程序、调试及仿真时序波形。通信系统课程设计报告第4页共22页第2章QuartusⅡ软件介绍●QuartusⅡ软件QuartusⅡ是Altera公司推出的CPLD/FPGA的开发工具,QuartusⅡ提供了完全集成且于电路结构无关的开发环境,具有数字逻辑设计的全部特性。QuartusⅡ设计软件提供完整的多平台设计环境,可以很轻松地满足特定设计的需要。它是可编程片上系统(SOPC)设计的综合性环境,拥有FPGA和CPLD设计的所有阶段的解决方案。与其他EDA软件相比较,QuartusⅡ软件的主要特点包括:可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件。芯片(电路)平面布局连线编辑。LogicLock增量设计方法,用户建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块、功能强大的逻辑综合工具。完备的电路功能仿真与时序逻辑分析、定时/时序分析与关键路径延时分析。可使用SignalTapⅡ逻辑分析工具进行嵌入式的逻辑分析。支持软件源文件的添加和创建,并将它们链接起来生成编程文件。使用组合编译方式可一次完成整体设计流程。自动定位编译错误、高效的器件编程与验证工具。可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件。能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。●VHDL语言VHDL语言主要用于描述数字系统的结构、行为、功能和接口,除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一通信系统课程设计报告第5页共22页般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点如下几点:(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。通信系统课程设计报告第6页共22页第3章(7,4)汉明码的构造原理3.1汉明码的构造原理线性分组码是一类重要的纠错码,应用很广泛。在(n,k)分组码中,若监督码元是按线性关系模2相加而得到的,则称其为线性分组码。现在以(7,4)分组码为例来说明线性分组码的特点。设其码字为A=[6a,012345,,,,,aaaaaa],前4位是信息元,后3位是监督元,可用下列线性方程组来描述该分组码产生监督元:(式3.1)显然,这3个方程是线性无关的。代入上述公式可得(7,4)码的全部码组,如表1所示。表1(7,4)汉明码的全部码组信息位a6a5a4a3监督位a2a1a0信息位a6a5a4a3监督位a2a1a00000000100011100010111001100001010110100100011110101100101001101100001010110111010100110011111010001110001111111346035614562aaaaaaaaaaaa通信系统课程设计报告第7页共22页由上表可知:(7,4)汉明码的最小码距0d=3,它能纠1位错或检2位错。由此可见,汉明码是能够纠正单个错误的线性分组码,其特点是:最小码距0d=3,码长n与监督位r满足关系式:nr12,说明上述所说的(7,4)线性分组码就是汉明码。同时,由于码率nrnrnnk1)(,故当n很大和r很小时,码率接近1,可见:汉明码是一种高效码。3.2监督矩阵H和生成矩阵G●监督矩阵H式(3.1)所示的(7,4)汉明码的监督方程可以改写为:02456aaaa01356aaaa(式3.2.1)00346aaaa用矩阵的形式可以将上式表示为:(式3.2.2)并简记为:TTAH0或0AHT其中,H成为监督矩阵,只要H给定,信息位和监督位的关系也就随即确定下来了。H的行数就是监督矩阵的数目,等于监督数目r。H序列可分为两部分:(式3.2.3)6543210111010001101010010110010aaaaaaarPIH001101101011011001110通信系统课程设计报告第8页共22页其中P为kr阶矩阵,rI为rr阶单位阵。因为0AHT,所以可以用这个关系式来作为判断接收码字A是否出错的依据。若0AHT,则说明码字A有错,反之则说明码字A无错。●生成矩阵G若将(3.2.1式)的监督方程补充完整并写成矩阵的形式:(式3.2.4)即:A=G·[6a345aaa]=G·M上式中G=011....0001101....0010110....0100111....1000(式3.2.5)G成为生成矩阵,根据式3.2.4知:由G和信息码就能产生所有码字。生成矩阵也可分为两部分,即G=QIk,(式3.2.6)上式中Q=TP011101110111(式3.2.7)Q为rk阶矩阵,kI为k阶单位阵。3.3校正子(伴随式)S656453423101000010000100001111011011011aaaaaaaaaaa通信系统课程设计报告第9页共22页设一发送码组A=[0121,,...,aaaann],在传输的过程中可能发生误码。接受码组B=[0121,,...,,bbbbnn],收发码组之差定义为错误图样E。E=B-A(式3.3.1)其中,E=[0121,,...,,eeeenn],令S=THB,称为校正子(伴随式)。TTTHEHEAHBS)((式3.3.2)可见:校正子S与错误图样E之间由确定的线性变换关系。(7,4)汉明码的校正子和错误图样之间的对应关系如表2所示。表2(7,4)汉明码S与E对应关系错误码位错误图样E校正子S错误位置C6e5e4e3e2e1e0e012SSS0b000000100101b000001001012b000010010023b000100001134b001000010145b010000011056b10000001116无错00000000007由上表可知:当S=001时,则出错在0位,即b0出错;当S=010时,则出