




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕 业 设 计 (论 文)题 目 基于EDA技术的卷积码编码器的设计 专 业 信息工程 学生姓名 班 级 07-2 指导教师 职 称讲师 助教所在单位 信息工程教研室 教研室主任 完成日期 2011年 6 月18日摘 要本文简明地介绍了卷积码的编码原理,首先通过对卷积码的原理进行分析,然后EDA技术设计卷积码编码器。卷积码是一种重要的前向纠错信道编码方式,其纠错性能常常优于分组码,且(3,1,2)用于现代卫星通信系统中。卷积码是一种性能优越的信道编码。它的编码器比较容易实现,同时它具有较强的纠错能力。随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。卷积码作为通信系统中重要的编码方式,以其良好的编码性能,合理的译码方式,被广泛应用。在阐述卷积码编码器基本工作原理的基础上,给出了(3,1,2)卷积编码器的VHDL设计,在Quartus环境下进行了波形仿真,并下载到EPF10K10LC84-3上进行了验证,其结果表明了该编码器的正确性和合理性。关键词:卷积编码器 Quartus 仿真 VHDLABSTRACTThis article briefly introduces the principle of convolution code coding, first by the principle of convolution code for analysis, and then EDA technology design convolution code encoder. Convolution code is a kind of important prior to channel coding error correction, the correction way better than the performance is often block code, and (3,1,2) used in modern satellite communication system. Convolution code is a kind of the superior performance of channel coding. Its easier to encoder, the colleague it has strong ability of the error correction. Along with the error correction coding theory study unceasingly thorough, the practical application of convolution code more and more widely. Convolution code as a communication system important coding method, with its good coding performance, reasonable decoding way, has been widely used. In this paper the convolution code encoder based on the principle of are given, and the (3,1,2) convolution encoder design, in Quartus VHDL environment, and download the waveform simulation to EPF10K10LC84-three to the test and the results show the correctness and rationality of the encoder.Key words: Convolution code encoder Quartus The simulation VHDL目 录1 前 言12 卷积编码器22.1 卷积码的概述22.2 卷积码编码的概念22.2.1 卷积编码32.2.2 卷积码的树状图42.2.3 卷积码的网格图53 EDA技术以及辅助工具的介绍53.1 EDA技术概述53.1.1 EDA技术的概述53.1.2 EDA技术的发展趋势63.1.3 EDA设计方法及工具软件63.2 VHDL语言的介绍73.2.1 VHDL语言介绍73.2.2 VHDL语言特性、功能与特点73.3 EDA工具 QUARTUS83.3.1 QUARTUS的简介83.3.2 QUARTUS的应用简介94 改变卷积编码器的参数仿真以及结论134.1 不同回溯长度对卷积编码器性能的影响134.2 不同码率对卷积编码器误码性能的影响144.3 不同约束长度对卷积编码器的误码性能影响155 卷积码编码器的VHDL设计与仿真175.1 VHDL设计的优点与设计方法175.2 卷积码编码器的VHDL实现175.2.1 卷积编码器顶层建模的VHDL描述17结 论19谢 辞20参考文献21大连交通大学信息工程学院2011届本科生毕业设计(论文) 1 前 言随着现代通信的发展,高速信息传输和高可靠性传输成为信息传输的两个主要方面,而可靠性尤其重要。卷积码以其高速性和可靠性在实际应用中越来越广泛。1967年Viterbi译码算法的提出,使卷积码成为信道编码中最重要的编码方式之一。卷积码是1955年由Elias首次提出的,随后Wozencraft和Reiffen提出了序贯译码方法(对具有较大约束长度的卷积码非常有效)。1963年,Massey提出了一个效率不高、但易于实现的译码方法-门限译码,这使得卷积码大量应用于卫星和无线信道的数字传输中。而后Viterbi在1967年提出了最大似然译码法,该方法对存储器级数较小卷积码的译码很容易实现,并具有效率高、速度快、译码器简单等特点,人们后来称其为维特比算法或维特比译码,广泛应用于现代通信中。卷积码与分组码不同,其编码器具有记忆性,即编码器的当前输出不仅与当前输入有关,还跟以前时刻的输入有关。速率R=k/n、存储器阶数为m的卷积编码器可用k个输入、n个输出、输入存储器阶数为m的线性序贯电路实现,即输入在进入编码器后仍会多呆m个时间单元。通常,n和k都是比较小的整数,kn,信息序列被分成长度为k的分组,码字(codeword)被分成长度为n的分组。当K=1时,信息序列无需分组,处理连续进行。值得注意的是,卷积码不象分组码,较大的最小距离和低错误概率不是通过增加k和n实现的,而是通过增加存储器阶数m实现的。随着EDA技术的出现与发展,为电子系统的设计提供了先进的工具,不仅提高了设计工作的效率和灵活性,同时还产生了新的设计方法,如基于芯片的设计方法、用仿真手段验证芯片和系统功能等方法。利用EDA技术提供的方法可以很方便地解决卷积码电路和参数不能改变等问题。目前,VHDL语言已成为EDA领域首选的硬件设计语言,越来越多的数字系统设计使用VHDL语言来完成。原因是通过VHDL描述的硬件系统“软核”便于存档,程序模块的移植和ASIC设计源程序的交付更为方便。本文将介绍基于FPGA设计的(3,1,2)卷积编码器。设计使用了VHDL语言,经过了在芯片上的验证试验,并成功应用到了扩频通信系统中。本文主要介绍的是卷积码编码器的发展历史和概念,EDA技术的形成和最后基于EDA技术对卷积码编码器的设计。2 卷积编码器2.1 卷积码的概述卷积码是一种性能优越的信道编码。(n,k,N)表示把k个信息比特编程n个比特,N为编码约束长度,说明编码过程中互相约束的码段个数。卷积码编码后的n个码元不仅与当前组的k个信息比特有关,而且与前N-1个输入组的信息比特有关。编码过程中相互关联的码元有N * n个。R=k/n是卷积码的码率,码率和约束长度是衡量卷积码的两个重要参数。卷积码(n,k,m) 主要用来纠随机错误,它的码元与前后码元有一定的约束关系,编码复杂度可用编码约束长度m*n来表示。一般地,最小距离d表明了卷积码在连续m段以内的距离特性,该码可以在m个连续码流内纠正(d-1)/2个错误。卷积码的纠错能力不仅与约束长度有关,还与采用的译码方式有关。总之,由于n,k较小,且利用了各组之间的相关性,在同样的码率和设备的复杂性条件下,无论理论上还是实践上都证明:卷积码的性能至少不比分组码差。卷积码是深度空间通信系统和无线通信系统中常用的一种差错控制编码。在编码过程中,卷积码充分利用了各码字间的相关性。在与分组码同样的码率和设备复杂性的条件下,无论从理论上还是从实践上都证明,卷积码的性能都比分组码具有优势。而且卷积码在实现最佳译码方面也较分组码容易。因此卷积码广泛应用于卫星通信,CDMA数字移动通信等通信系统,是很有前途的一种编码方式。对其进行研究有很大的现实意义。本课题主要研究卷积码编、译码的原理和方法,具体设计出一种基于EDA技术实现的卷积码编码器的方法,满足电路简单,成本低,开发周期短,执行速度高,升级方便等特点。卷积码可以等效看成是一种特殊的n,k线性分组码,具有线性分组码的一些基本性质。同时卷积码还有它自有的一些特殊性质:记忆性:卷积码与分组码不同,其编码器具有记忆性,即编码器的当前输出不仅与当前输入有关,还跟以前时刻的输入有关。编码约束长度:卷积码的G虽是半无限矩阵,但在任何(m+1)段得编码约束度内,它们所表示的码元之间的约束关系完全相同。表述卷积码的线性约束关系,至少需要(m+1)n=N个比特1。复杂度:卷积码无论是编码还是译码,复杂度决定了n和k不可能很大,现实应用中的n一般不超过8。2.2 卷积码编码的概念卷积码的编码描述方法有5种:冲激响应描述法、生成矩阵描述法、多项式乘积描述法、状态图描述法和网格图描述法。卷积码的纠错能力随着N的增加而增大,而差错率随着N的增加而指数下降。在编码器复杂性相同的情况下,卷积码的性能优于分组码。分组码有严格的代数结构,但卷积码至今尚未找到如此严密的数学手段。分组码的译码算法可以由其代数特性得到。卷积码虽然可以采用适用于分组码的门限译码(即大数逻辑译码),但性能不如维特比译码和序列译码2。以二元码为例,输入信息序列为u(u0,u1,),其多项式表示为u(x)u0+u1x1u11。编码器的连接可用多项式表示为g(1,1)(x)1+x+x2和g(1,2)(x)1+x2,称为码 的子生成多项式。它们的系数矢量g(1,1)=(111)和g(1,2)=(101)称作码的子生成元。以子生成多项式为阵元构成的多项式矩阵G(x)g(1,1)(x),g(1,2)(x),称为码的生成多项式矩阵。由生成元构成的半无限矩阵。2.2.1 卷积编码卷积码的编码器一般都比较简单。图2-1 卷积码编码器图2-1是一般情况下的卷积码编码器框图。它包括NK级的输入移位器,一组n个模2和加法器和n级的输出移位寄存器。对应于每段k比特的输入序列,输出n个比特。由图可知,n个输出比特不但与当前的k个输入比特有关,而且与以前的(N-1)k个输入信息比特有关。整个编码过程可以看成是输入信息序列与由移位寄存器和模2加法器的连接方式所决定的另一个序列的卷积,卷积码由此得名。本文采用的是冲击响应描述法编码思想。图2-2 (2,1,3)卷积编码器如图2-2是卷积码(2,1,3)卷积编码器的一个框图。左边是信息的输入。下面分别是系统位输出和校验位输出。其中间是3个移位寄存器和一个模2加法器。简单的说就是信息位经过移位寄存器和一个模2加法器产生一个系统位和校验位加在一起输出。可以看出:每输入一个比特,移位寄存器中就向右移动一个位子。原来的第三个寄存器就被移出。可见卷积编码不只与现在的输入比特有关还与前面的3-1个比特有关。所以约束长度是3。在这里,其中K=1,n=2所以码率R=K/n=1/23。2.2.2 卷积码的树状图对于图2-2所示的(2,1,3)卷积码编码电路,其树状图如下图2-3所示,这里,分别用a,b,c和d表示寄存器的4种状态:00,01,10和11,作为树状图中每条支路的节点。以全零状态a为起点,当输入位信息位为0时,输出码元c1c2=00,寄存器保持状态a不变,对应图中从起点出发的上支路;当输入位为1时,输出码元c1c2=11,寄存器则转移到状态b,对应图中的下支路;然后再分别以这两条支路的终结点a和b作为处理下一位输入信息的起点,从而得到4条支路,以此类推,可以得到整个树状图。如下图2-3abcd状态A 00B 01C 10D 11信0息基点10000abcd0111ba1011a图2-3(2,1,3)树状图2.2.3 卷积码的网格图状态图可以完整的描述编码器的工作过程,但是其只能显示状态转移的过程而不能显示状态转移发生的时刻,由此引出用来表示卷积码的另一种常用方法网格图。网格图就是时 间与对应状态的转移图,在网格图中每一个点表示该时刻的状态,状态之间的连线表示状态转移。通过观察网格图可以发现在网格图中输入信息x(n)并没有标出,但如观察到转移后的状态表示(x(n),x(n-1)就可以发现输入信息已经隐含在转移后的状态中4。如下图2-4是(2,1,3)卷积编码的网格图。状态a=00b=01c=10d=11图2-4(2,1,3)卷积编码的网格图3 EDA技术以及辅助工具的介绍3.1 EDA技术概述EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。3.1.1 EDA技术的概述20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成5。3.1.2 EDA技术的发展趋势现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计6。 EDA在通信行业(电信)里的另一个解释是企业数据架构,EDA给出了一个企业级的数据架构的总体视图,并按照电信企业的特征,进行了框架和层级的划分。 EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。3.1.3 EDA设计方法及工具软件(1) 前端设计(系统建模RTL 级描述)后端设计(FPGAASIC)系统建模。 (2) IP 复用。 (3) 前端设计。 (4) 系统描述:建立系统的数学模型。 (5) 功能描述:描述系统的行为或各子模块之间的数据流图。 (6) 逻辑设计:将系统功能结构化,通常以文本、原理图、逻辑图、布尔表达式来表示设计结果。 (7) 仿真:包括功能仿真和时序仿真,主要验证系统功能的正确性及时序特性。EDA工具软件可大致分为芯片设计辅助软件、可编程芯片辅助设计软件、系统设计辅助软件等三类。目前进入我国并具有广泛影响的EDA软件是系统设计软件辅助类和可编程芯片辅助设计软件:Protel、PSPICE、multiSIM10(原EWB的最新版本)、OrCAD、PCAD、LSIIogic、MicroSim、ISE、modeIsim、Matlab等等。这些工具都有较强的功能,一般可用于几个方面,例如很多软件都可以进行电路设计与仿真,同进还可以进行PCB自动布局布线,可输出多种网表文件与第三方软件接口。3.2 VHDL语言的介绍3.2.1 VHDL语言介绍VHDL全名是very-high-speed integrated circuit hardware description language,诞生与1982年。1987年底VHDL被IEEE和美国国防部确认为标准硬件描述语言。自IEEE发布了VHDL标准版本后,各EDA公司相继推出了自己的VHDL实际环境,或宣布自己的程序可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修正,从更高的抽象层次和系统描述能力扩展VHDL的内容。现在,VHDL和VERILOG作为IEEE的工业硬件描述语言,又得到了众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。3.2.2 VHDL语言特性、功能与特点联性的语法和形式虽类似与一般程序语言,但是涵盖许多与硬件关联的语法构造。其特有的层次性由上而下的结构VHDL语言可描述一个数字电路的输入,输出以及相互之间的行为和功能。而其硬件关式语法结构适合大型设计项目的团队合作。在主要的系统结构,组件及相互间的连接方式决定以后,就能将工作分包下去,各自独立进行,例如使用主程序外的组件,函数以及程序内的块程序。(1)支持多种电路与多种设计方法。VHDL语言能够支持自顶向下和基于库的设计方法,支持组合逻辑电路,同步时序逻辑电路和异步时序逻辑电路等电路的设计,大多数EDA工具都支持VHDL语言。(2)支持硬件电路的层次化描述。VHDL语言具有支持多层次描述系统硬件功能的能力,可以从系统的行为功能(数学模型)直到门级电路逐层进行描述。另外,高层次的行为描述可以与底层次的寄存器描述和结构描述混合使用。(3)能实现与工艺无关编程。采用VHDL语言设计硬件电路时,当门级或门级以上层次的描述通过仿真检验以后,再用相应的工具将设计映射成不同的工艺。在工艺更新时无须原设计程序,只需改变相应的映射工具。由此可见,修改电路和修改工艺相互之间不会产生影响。(4)易于共享和复用。作为IEEE标准的VHDL语言,语法严格,设计成果便于复用和交流。一个大规模的数字系统设计不可能从门级电路开始逐步进行设计,而是一些模块电路的有机叠加。这些模块电路可以预先设计或者使用以前设计中的存档模块。这些模块电路可以采用VHDL语言进行描述且存放于库中,便于在以后设计中复用。这样可以减小数字系统设计的工作量,缩短开发周期7。3.3 EDA工具 QUARTUS3.3.1 QUARTUS的简介Quartus是Altera公司提供的可编程逻辑器件的集成开发软件,是该公司前一代可编程逻辑器件的集成开发软件MAX+plus 的更新换代产品。Quartus 集成开发软件支持可编程逻辑器件开发的整个过程,它提供一种与器件结构无关的设计环境,使设计者能方便地进行设计输入、设计处理和器件编程。Quartus 集成开发软件适合多种平台的工作环境,其中包括PC机的Microsoft Windows XP。它支持更多种类的可编程逻辑器件的开发,同时也提供在片可编程系统(System on a Programmable Chip,SOPC)设计的综合性环境和基本设计工具。另外,Quartus集成开发软件也可以利用第三方软件的结果,并支持第三方软件的工作。为加快应用系统的开发,Quartus集成开发软件提供更多的知识产权模块(Intellectual Property,IP)。知识产权模块(IP)是一些预先设计好的电路功能模块,在设计中使用这些模块不仅可以加快设计进程,而且还可以提高系统性能。Quartus集成开发软件的核心是模块化的编译器。编译器包括的功能模块有分析/综合器(Analysis & Synthesis)、适配器(Fitter)、装配器(Assembler)、时序分析器(Timing Analyzer)、设计辅助模块(Design Assistant)以及EDA网表文件生成器(EDA Netlist Writer)等。可编程逻辑器件开发的所有过程为:设计输入、综合、布局和布线、验证和仿真以及可编程逻辑器件的编程或配置。Quartus集成开发软件允许用户在开发过程中使用Quartus图形用户界面、EDA工具界面和命令行界面。用户可以在整个开发过程中使用这些界面中的任意一个,也可以在开发过程中的不同步骤使用不同的界面。作为一种电子设计自动化(EDA)的工具,Quartus可编程逻辑器件的集成开发软件支持可编程逻辑器件开发的全过程。这个过程包括以下步骤:创建工程,工程用来组织整个可编程逻辑器件开发的过程;设计输入,本章介绍利用硬件描述语言通过文本编辑的方法完成电路设计;设计编译,把设计输入转换为支持可编程逻辑器件编程的文件格式;设计仿真,该步骤用来检查设计是否满足逻辑要求;器件编程,使得可编程逻辑具有所要求的逻辑功能。3.3.2 QUARTUS的应用简介(1)创建工程(Project)。Quartus集成开发软件对设计过程的管理采用工程方式。工程(Project)保存着程序编辑的信息和程序调试的环境等内容。在开始编写程序之前首先应该建立一个工程。新建一个工程之前通常还需要建立一个文件夹,后面产生的工程文件以及源程序文件等都将存储在这个文件夹之中。这个文件夹通常被EDA软件默认为工作库(Work Library),不同的工程最好放在不同的文件夹中,同一工程的所有文件都必须放在同一文件夹中。Quartus集成开发软件的工作窗口,利用菜单“File New Project Wizard”创建工程向导可以帮助用户创建一个新的工程。创建工程时首先出现新工程向导介绍,如图3-1所示。图3-1 新工程向导介绍新工程向导帮助用户指定工程名和工程文件被存储的目录,指定顶层文件的名称,指定工程中需要用到的设计文件、其它可以借用的源文件、用户库,指定具体使用的可编程逻辑器件的系列和型号。在图3-1中单击“Next”按钮可以打开指定工程文件被存储的位置,指定顶层文件名,指定工程名称对话框。在图3-2所示的第一个文本输入行,文件夹对话框,输入包含完全路径的工程文件将被存储的文件夹名称,或者使用浏览按钮“.”找出这个文件夹。在第二个文本行,顶层文件名称对话框,应该输入顶层文件的名称,这个对话框后面的浏览按钮“.”用于找出已经存在,这里还将使用的顶层文件。在第三个文本行,工程文件名称对话框,应该输入工程文件的名称,这个对话框后面的浏览按钮“.”用于找出已经存在,这里还将使用的工程文件。建议文件夹的名称、顶层文件的名称以及工程文件的名称选择同样的名称,以免产生不必要的麻烦。图3-2 新工程目录和文件名称对话框初学者可以利用下面简便的方法完成新工程目录和文件名称对话框内容的输入。首先单击第一个文本行,文件夹对话框,后面浏览按钮“.”找到已经为工程建立的文件夹并将其打开。这时的文件夹是一个空的文件夹,再次单击“打开”按钮将获得如图3-2所示的状态,即完成新工程目录和文件名称对话框内容的输入。一直单击“Next”按钮将显示如图3-3所示。单击“Finish”按钮完成工程的创建。图3-3新工程设置框图随着工程的建立,Quartus集成开发软件的工作窗口也发生变化,如图3-4所示。右上方的工程导航窗口(Project Navigator)中出现工程标志。工程导航窗口具有三个可以互相切换的标签:Hierarchy、Files和Design Units。Hierarchy标签提供工程使用的可编程逻辑芯片逻辑单元、寄存器以及存储器资源的使用信息。 图3-4 Quartus集成开发软件的工作窗口选择菜单“File Save Project”可以存储当前的工程,该工程应该被存储在图3-4所示的目录对话框中输入的工程文件被存储的目录。选择菜单“File Close Project”将关闭当前的工程。再次打开一个存在的工程可以通过选择菜单“File Open Project.”来实现。选择这个菜单使得打开工程的对话框出现,如图3-4所示,在下拉列表框“查找范围(I)”中选择将要打开的工程被存储的文件夹名,列表框中将出现该文件夹中的所有工程,选择将要打开的工程,单击“打开(O)”按钮即可打开一个存在的工程。(2)设计的输入。在Quartus集成开发软件的工作窗口使用菜单“File New.”可以打开如图1-7所示的新建文件选择窗口。图3-5新建设计文件选择窗口新建文件选择窗口的“Device Design Files”标签显示了5种设计输入方法。“Block Diagram/Schematic File”为图形输入方式,它利用电路结构图和原理图来输入设计信息。“EDIF File”支持EDIF网表编辑器产生的网表文件的输入。“AHDL File”、“Verilog HDL File”和“VHDL File”都是文本输入方法,它们支持不同的硬件描述语言。原理图输入方法是一种类似于传统电子设计中绘制电路图的输入方式。原理图由逻辑器件和连线构成,逻辑器件可以是软件库中的功能模块,也可以是用户生成的功能模块。原理图输入方法的缺点是设计者必须面对硬件模块的选用,这明显地偏离了电子设计自动化本质的涵义。硬件描述语言具有行为描述的特点,同时改变设计比采用电路图描述更加方便,本节将介绍利用“VHDL File”输入设计信息。完成选择以后,单击“OK”按钮将打开一个文本编辑窗口,如图3-6所示。 图3-6文本编辑窗口文本编辑窗口输入上述程序之后,利用菜单“File Save As.”可以完成程序的第一次存储。注意,程序必须被存储在文件夹JTD之内,文件名也为JTD,扩展名采用vhd。如果对VHDL程序进行了修改,再次存储文件则可以利用菜单“File Save”来实现。接着要做的是把程序JTD.vhd加入工程,这可以利用菜单“Project Add Current File to Project”完成。程序JTD.vhd加入工程之后,在工程导航窗口的Files标签中可以看到JTD.vhd被加入到“Device Design Files”文件夹之中8。(3)设计的编译。使用硬件描述语言这样的抽象工具进行系统设计可以使设计者集中精力于系统的功能的实现,而不必关心具体的电路结构。要把利用硬件描述语言完成的设计转换成可以对可编程逻辑器件进行编程的文件必须进行编译,这个过程也被称作为综合。它类似于用高级语言编程,然后再用编译器将高级语言程序转换成机器代码的过程。尽管从表面上看,硬件描述语言和其它高级语言的编译过程都是一种描述方法的转换过程,但是它们之间还是具有许多本质性的区别。高级语言编译产生的机器代码对应于某种特定的CPU,脱离了特定的硬件环境,机器代码将失去意义。机器代码不代表硬件结构,更不能改变硬件结构。编译的过程不需要与硬件相关的器件库和工艺库的参与,基本属于一种一一对应的“翻译”过程。硬件描述语言编译将产生描述电路结构的网表文件,网表文件不依赖于任何特定硬件结构,可以轻易地被移植到任意通用硬件环境中,例如各种CPLD或者FPGA芯片。另外,在把硬件描述语言表达的电路功能转换成表达电路具体结构的网表文件的过程中,它不是机械的一一对应的“翻译”过程,还必须根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的形成。Quartus集成开发软件的编译器包括多个独立的模块,各个模块可以单独运行,也可以启动全编译过程。在Quartus集成开发软件工作窗口中,工程的编译即可以通过“Tools”菜单进行,也可以通过“Processing” 菜单进行。使用菜单“Tools Compiler Tool ”可以打开编译器窗口,如图3-7所示,编译器窗口显示出了编译器的所有模块。按每个模块中的按钮可以逐步完成编译过程,这时进程表将显示工作进度,工作完成之后将显示出花费的时间和是否出现错误。每一步完成以后都可以通过按右下角“Report”按钮打开编译报告。按左下角“Start”按钮可以启动全编译过程。参考下图P96F251标出按钮说明: 图3-7 Quartus集成开发软件的编译器窗口4 改变卷积编码器的参数仿真以及结论4.1 不同回溯长度对卷积编码器性能的影响下面将以(2,1,7)卷积码来建立模块仿真。将编码模块中的Traceback depth分别设置为20,35,45并在一个图中画出这三种方式下的误码性能曲线得到下图。从上到下的三条曲线分别是Traceback depth为20,35,45。可以看出:回溯长度是在Viterbi译码过程中一个很重要的参数,他决定了译码延迟,随着他的不断变化,误码性能也随误比特率曲线可以清楚地看到,当回溯长度一定时,随着信道噪声的逐渐减小,系统的误比特率逐渐降低;当回溯长度逐渐增加,系统的误比特率随之逐渐降低,但是当回溯程度a增加到a5N时(N为编码的约束长度),误比特率数值趋于稳定,因此,在确定回溯长度时既要考虑到随着a的增加误比特率随之降低的趋势,也要考虑到译码延迟会变大,在选取回溯长度时,通常取a=5N。图 4-1 不同回溯长度对误码性能的影响分析不同回溯长度对卷积码无码性能的影响时用到的程序如下:x=-10:5;y=x;for i=1:length(x)SNR=x(i);sim(yima);y(i)=mean(BitErrorRate);Endsemilogy(x,y);Hold on;for i=1:length(x)SNR=x(i);sim(yima2);y(i)=mean(BitErrorRate);Endsemilogy(x,y);4.2 不同码率对卷积编码器误码性能的影响下面图是通过改变卷积码的码率为1/2和1/3而得到的二条对比曲线。上面的一条曲线是码率为1/2,下面的是码率为1/3。卷积码的码率R=k/n,他是卷积码的一个重要参数,当改变卷积码的码率时,系统的误码性能也将随之发生变化。从图中的误比特率曲线可以看出,当码率一定时,随着信道噪声的逐渐减小,系统的误比特率也呈现出增大的趋势,也就是说码率越低,系统的误比特率就越小,误码性能就越好9。图4-2 卷积码不同码率对误码性能的影响分析不同码率对卷积码误码性能的影响时用到的程序如下:X=0:5;y=x;for i=1:length(x)SNR=x(i);sim(yimal);y(i)=mean(BitErrorRate);endsemilogy(x,y);hold on;for i=1;length(x)SNR=x(i);Sim(yima2);y(i)=mean(BitErrorRate);endsemilogy(x,y);4.3 不同约束长度对卷积编码器的误码性能影响如下图,对于码率一定的卷积码,当约束长度N发生变化时,系统的误码性能也会随之发生变化,我们以码率R=1/2的(2,1,3)和(2,1,7)卷积码为例展开分析。上面的曲线是(2,1,3)卷积码的误码性能曲线。下面的曲线是(2,1,7)卷积码的误码性能曲线。从图中的误比特率曲线可以清楚的看到,随着约束长度可以降低系统的误比特率,但是随着约束长度的增加,译码设备的复杂性也会随之增加,所以对于码率为1/2的卷积码,我们在选取约束长度时一般为3-9。 图4-3不同约束长度对卷积码误码性能的影响分析不同约束长度对卷积码误码性能影响用到的程序如下:x=0:5;y=x;for i=1:length(x)SNR=x(i);Sim(yima);y(i)=mean(BitErrorRate);endsemilogy(x,y);hold on;for i=1:length(x)SNR=x(i);sim(yima1);y(i)=mean(BitErrorRate);endsemilogy(x,y);通过上面从(1)回溯长度;(2)码率;(3)约束长度这三个卷积码编码器的重要参数的变化后对译码性能的分析,我们得到在卷积码的编码,译码过程中很多条件是不可能同时满足的。所以我们要根据具体情况来选择合适的参数10。5 卷积码编码器的VHDL设计与仿真5.1 VHDL设计的优点与设计方法VHDL语言采用自上至下和基于库的设计方法,其突出的优点是具有多层次描述系统硬件功能的能力,可以从系统的数学模型直到门级电路。本设计所用VHDL设计平台是Altera的QuartusEDA软件。Quartus界面友好,使用便捷;它支持VHDL语言文本文件,原理图,以及波形与EDIF等格式的文件作为设计输入,并支持这些文件的任意混合设计:具有门级仿真器,可以进行功能仿真和时序仿真,能够产生精确的仿真结果。5.2 卷积码编码器的VHDL实现5.2.1 卷积编码器顶层建模的VHDL描述library ieee;use ieee.std_logic_1164.all;entity encoder isport (clk:in std_logic;clr:in std_logic;data_in:in std_logic; c0,c1,c2:out std_logic); end;architecture behave of encoder iscomponent dff2 port(d,clk,clr:in std_logic;q:out std_logic);end component;component xor2 port (a,b:in std_logic;y:out std_logic);end component;component xor3 port (a,b,c:in std_logic;y:out std_logic);end component;signal din,r1,r2,y1,y2: std_logic;begindin=data_in;u0:dff2 port map (din, clk, clr,r1);u1:dff2 port map (r1, clk, clr,r2);u2:xor2 port map (din,r1,y1);u3:xor3 port map (din,r1,r2,y2);c0=din;c1=y
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年验船师考试(C级船舶检验专业实务)综合试题及答案一
- 北京市门头沟区2024-2025学年八年级上学期第一次月考地理试题及答案
- 北京市门头沟区2023-2024学年九年级下学期中考适应性训练(三模)道德与法制试题含参考答案
- 2025年高级无人机植保操作员实操模拟题与理论知识点解析
- 2026届漯河市重点中学化学高一上期中统考模拟试题含解析
- 公务员英雄面试题及答案
- 2025年项目管理办公室专员招聘考试模拟题
- 江苏泰兴一中2026届化学高三第一学期期末综合测试模拟试题含解析
- 2026届新疆乌鲁木齐市高二化学第一学期期中检测试题含解析
- 2025年法律顾问招聘面试预测题与法律实务经验
- 药事管理培训课件
- 2025-2030中国电网储能行业盈利模式与投资方向可行性报告
- 2024中国高血压防治指南要点解读
- 无废工厂宣传课件
- 酒店预算培训课件
- 关于财富的课件
- 2025-2030中国汽车工程服务外包(ESO)行业现状调查与前景趋势研究报告
- 华为荣誉激励管理办法
- 2025至2030全球及中国实验室PH电极行业发展趋势分析与未来投资战略咨询研究报告
- 相控阵超声检测技术及应用
- 第四单元整本书阅读《红岩》课件 2025-2026学年统编版语文八年级上册
评论
0/150
提交评论