版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南昌航空大学学士学位论文PAGEPAGE46目录第一章绪论 11.1研究背景 11.2研究思路和方案分析 11.3论文的主要工作 3第2章可编程片上系统开发技术 42.1可编程逻辑器件简介 42.2可编程片上系统开发软件 42.3硬件描述语言VHDL简介 6第三章系统的组成及工作原理 73.1M序列产生器 73.2QPSK调制解调 83.2.1多进制相移键控基本原理 83.2.2QPSK调制 93.2.3QPSK解调 133.2.4调制解调系统 143.3卷积码编码译码 153.3.1纠错编码基础 153.3.2卷积码编码 153.3.3卷积码的解码 173.3.4卷积码编码译码系统 223.4小型移动通信系统 23第四章硬件部分 24第五章总结 27参考文献 28致谢 29附录1 30附录2 39毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:日期:
学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名: 日期:年月日导师签名:日期:年月日第一章绪论1.1研究背景近年来,随着半导体工艺技术和设计方法的迅速发展,系统级芯片SOC(System-on-Chip)的设计得以高速发展。但是,由于SOC产品设计具有开发周期相对较长、高成本和高风险等特点,对市场的变化非常敏感,这使得SOC在消费电子、汽车电子、工业设计领域的发展进程仍然缓慢。与此同时,当今的制造工艺能够提供更多更高速的逻辑、更快的I/O和更低价位的新一代可编程逻辑器件,现场可编程门阵列CPLD(ComplexProgrammableLogicDevice)己然进入嵌入式应用领域,高性能CPLD也不再局限于引进系统粘合逻辑,也可作为SOC平台。由于CPLD的现场可编程特征,它己成为更具灵活性和广泛性发展前景的工业设计平台。与传统电路设计方法相比,CPLD具有功能强大、开发过程投资小、周期短、便于修改及开发工具智能化等特点。使用CPLD器件设计数字电路,不仅可以简化设计过程,而且可以降低整个系统的体积和成本,增加系统的可靠性。CPLD可轻易地被修改变更、修复缺陷,或在用户需要升级和配合市场发展时去创制未来的衍生产品。它们无需花费传统意义下制造集成电路所需大量时间和精力,避免了投资风险,成为电子器件行业中发展最快的一族。1.2研究思路和方案分析设计调制解调器,可以考虑用通用DSP芯片的方案。这种方案的通用DSP具备灵活的可编程性和高效的性能,有的甚至还集成了通用微控制器。方框图如图1-1所示:
图1-1通用DSP方案通用DSP都是按程序循序执行,即串行构架,这限制了通用DSP不能达到很高的速度。但是调制和编码单元中往往用到滤波器,乘法器,直接频率合成器等需要高速时钟的器件。虽然通用DSP具有哈佛结构,多重总线,超标量流水线,分支预测等先进的技术,但是都不可能从本质上改变程序循序执行的缺点,在需要高速应用的场合通用DSP往往不能胜任。而使用专用DSP虽然能解决好速度的问题但是可编程能力有限。下面我们用CPLD代替上面方案中的通用DSP和变频器。方框图如图1-2所示:图1-2CPLD方案CPLD内部有丰富的资源能配置成各种形式的电路。用CPLD代替通用DSP后不仅灵活性没有降低,性能却有极大的提高。CPLD内部能被编成将所有的功能以并行方式执行大大加快了速度。对于要求更高性能使还能使用流水线设计进一步提高数据吞吐量。CPLD可以设计多个并行模块的系统,速度高,同时具有高度灵活甚至能改变系统构架。前一种通用DSP方案主要是指目前己广泛使用的DSP处理器的解决方案,包括一系列软硬件技术与开发技术。采用DSP处理器(如TI的TMS32OC系列)的解决方案日益面临着不断增加的巨大挑战,而自身的技术瓶颈(如运行速度、吞吐量、总线结构的可变性、系统结构的可重配置性、硬件可升级性等等)致使这种解决方案在DSP的许多新的应用领域中的道路越走越窄;后一种CPLD方案则是基于SOPC(可编程片上系统)技术、EDA技术与CPLD实现方式的DSP技术,是现代电子技术发展的产物,它有效地克服了传统DSP技术中的诸多技术瓶颈,在许多方面显示了突出的优势,如高速与实时性,高可靠性,自主知识产权化,系统的重配置与硬件可重构性,单片系统的可实现性,以及开发技术的标准化和高效率。因此我们采用后面一种方案完成系统设计,进行数字调制解调和编码译码技术的研究,使用VHDL硬件描述语言可以快速高效地设计出具有复杂结构和算法的系统,同时优化算法和结构达到节省硬件资源和高效率开发的特点。1.3论文的主要工作本文的调制解调和编码译码方法的是基于CPLD的开发技术,利用CPLD完成调制解调和编码译码的过程。开发手段是QuartusII工具软件的应用。论文安排如下:第1章:概括了调制解调器的研究背景,明确了本文的研究思路和所用方案,对本文的主要工作和文章安排进行了介绍。第2章:介绍了可编程逻辑器CPLD、可编程片上系统开发软件QuartusII及硬件描述语言VHDL。第3章:介绍了系统的理论基础及一般原理,整个系统采用模块化设计,详细介绍M序列、调制、解调、编码、译码五个模块的设计。第4章:硬件部分,画出了整个系统的硬件原理图,显示并分析了测试到的波形。第5章:总结全文内容,提出了本课题有待于进一步深入研究的问题。
第2章可编程片上系统开发技术2.1可编程逻辑器件简介可编程逻辑器PLD(Progr~ableLogicDeviees)从20世纪70年代发展到现在,己形成了许多类型的产品,其结构、工艺、集成度、速度和性能都在不断的改进和提高。PLD又可分为简单低密度PLD和复杂高密度PLD。可编程阵列逻辑器件PAL(ProgranunableArrayLogic)和通用阵列逻辑器件GAL(GenerioArrayLogic)都属于简单PLD,结构简单,设计灵活,对开发软件的要求低,但规模小,难以实现复杂的逻辑功能。随着技术的发展,简单PLD在集成度和性能方面的局限性也暴露出来。其寄存器、I/O引脚、时钟资源的数目有限,没有内部互连,因此包括复杂可编程逻辑器件CPLD(ComPlexPLD)和现场可编程门阵列器件FPLD(FieldProgrammableGateArray)在内的复杂PLD迅速发展起来,并向着高密度、高速度、低功耗以及结构体系更灵活、适用范围更广阔的方向发展。CPLD具备阵列型PLD的特点,结构又类似掩膜可编程门阵列,因而具有更高的集成度和更强大的逻辑实现功能,使设计变得更加灵活和易实现。相对于CPLD,它还可以将配置数据存储在片外的EPROM或者计算机上,设计人员可以控制加载过程,在现场修改器件的逻辑功能,即所谓的现场可编程。所以CPLD得到了更普遍的应用。使用CPLD器件设计数字电路,不仅可以简化设计过程,而且可以降低整个系统的体积和成本,增加系统的可靠性。它们无需花费传统意义下制造集成电路所需大量时间和精力,避免了投资风险,成为电子器件行业中发展最快的一族。2.2可编程片上系统开发软件Altera的QuartusII开发平台,它囊括了从设计输入、综合、布局布线、仿真、时序分析、下载验证等所有设计流程,是一个完整的开发平台,能满足多种设计的需要,是SOPC设计的综合环境和SOPC开发的基本设计工具,并为AlteraDSP开发包进行系统模型设计提供了集成综合环境。QuartusII设计工具完全支持VHDL,Verilog的设计流程,其内部嵌有VHDL,Verilog逻辑综合器。QuartusII可以进行基于CPLD的DSP系统开发,是DSP硬件系统实现的关键EDA工具。Quartusll包括模块化的编译器。编译器包括的功能模块有分析综合器、适配器、装配器、时序分析器、设计辅助模块、EDA网表文件生成器、编辑数据接口等。以通过选择startComPilation来运行所有的编译器模块,或通过选择ComPilerTool,在ComPilerTool窗口中运行该模块来启动编译器模块。此外,QuartusII还包含许多十分有用的LPM(LibraryofparameterizedModules)模块,他们是复杂或高级系统构建的重要组成部分,在SOPC设计中被大量应用,也可与QuartusII普通文件一起使用。Altera提供的可参数化宏功能模块和LPM函数均基于Altera器件的结构作了优化设计。在许多使用情况中,必须使用宏功能模块才可以使用某些特定器件硬件功能,如DSP模块,片上存储器,PLL等。这可以通过QuartusII中的MegawizardPlug-inManager来建立Altera宏功能模块、LPM函数和IP函数,用于QuartusII综合工具中的设计。一般设计流程如图2-1所示图2-1QuartusII一般设计流程
2.3硬件描述语言VHDL简介硬件描述语言VHDL(VeryHighSpeedIntegratedCireuitHardwareDescriptionLanguage)是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式。与传统的门级描述方式相比,它更适合于大规模集成电路系统的设计。VHDL是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流、行为三种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件描述语言的功能。VHDL主要用于描述数字系统的结构、行为、功能和接口,非常适用于可编程逻辑芯片的应用设计。与其它的HDL相比,VHDL具有更强大的行为描述能力,从而决定了它称为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证利用VHDL语言设计数字系统硬件电路,一般采用的是自顶向下(TOP-DOWN)的设计方法。自顶向下是指从系统总体要求出发,在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。然后利用综合优化工具生成具体门电路的网表,其对应的物理实现级可以是CPLD电路或专用集成电路。由于设计的主要仿真和调试过程是在高层次上完成的,这一方面有利于早期发现结构设计上的失误,避免设计工作的浪费,同时减少了逻辑功能仿真的工作量,提高了设计的一次成功率。
第三章系统的组成及工作原理本课题是在QuartusII环境下,进行移动通信中常用调制解调方法、信道编译码方法研究。系统总原理框图如图3-1所示:MM序列产生器信道编码QPSK调制M序列信道译码QPSK解调无线信道图3-1系统总原理框图3.1M序列产生器M序列是最长线性反馈移位寄存器序列的简称。它是由带线性的移存器产生的周期最长的序列。文中的m序列是由一个4级线性反馈移存器产生的。设其初始状态为(b3,b2,b1,b0)=(1,0,1,0),则移位一次时,由b1和b0模2相加产生新的输入b4=1⊕0=1,新的状态变为(b3,b2,b1,b0)=(1,1,0,0).这样移位15次后又回到初始状态(1,0,1,0)。因为4级移存器共有24=16种可能的状态。除全“0”状态外,只剩15种状态可用。这就是说,由任何4级反馈移存器产生的序列的周期最长为15.图3-2M序列产生原理图生成的顶层文件如图3-3所示:图3-3产生M序列程序的顶层文件基于quartusII的仿真M序列时序仿真结果如图3-4所示:图3-4M由图3-4可以看出产生的M序列为“111100010011010”,与理论相符,其码元速率为1kb/s。3.2QPSK调制解调3.2.1多进制相移键控基本原理在2PSK信号的表示中一个码元的载波初始相位可以等于0或。将其推广到多进制,可以取多个可能值。所以,一个MPSK信号码元可以表示为(式3-1)式中:A为常数;为一组间隔均用的受调制相位,其值决定与基带码元的取值。所以它可以写为(式3-2)通常M取2的某次冪:K=正整数对多进制PSK信号,不能简单的采用一个相干载波进行解调。例如,若cos作为相干载波时,因为,使解调存在模糊。只有在2PSK中才可以使用一个相干载波进行解调。这是需要两个正交的相干载波进行解调。MSPSK信号的码元表示展开写成(式3-3)式中,上式表明,MPSK信号码元sk(t)可以看作是由正弦和余弦两个正交分量合成的信号,他们的振幅分别是ak和bk,并且ak2+bk2=1。这就是说,MPSK信号码元可以看作是两个特定的MASK信号码元之和。因此,其带宽和MASK信号的带宽相同。4PSK常称为正交相移键控(QuadraturePhaseShiftKeying,QPSK)。它的每个码元含有2b的信息,现用ab代表这两个比特。发送码元序列在编码时需要先将每两个比特分成一组,然后用4种相位之一qk去表示它。两个比特有4种组合,即00、01、10和11。在码元的表示式(3-1)中,qk称为初始相位,常简称为相位,而把(w0t+qk)称为信号的瞬时相位。当码元中包含整数个载波周期时,初始相位相同的相邻码元的波形和瞬时相位才是连续的。若每个码元中的载波周期数不是整数,则即使初始相位相同,波形和瞬时相位也可能不连续,或者波形连续而相位不连续。在码元边界,当相位不连续时,信号的频谱将展宽,包络也将出现起伏。3.2.2QPSK调制QPSK即四相相移键控,就是四相相移调制。将360度分成4份,各个相位角相差90度,所以又称正交相移调制。常用的初始相位角可以是0或者45度,一般QPSK可以看成正交的两路传播,一路I支路,一路为Q支路。正交相移调制(QPSK)特点:调制效率高,传输的频带利用率高,要求传送途径的信噪比低。QPSK信号的产生方法可以有两种方法。第一种是用相乘电路,如图3-5所示。图3-5QPSK信号产生方法图中输入基带信号A(t)是二进制不归零码元,它被“串/并转换”电路变成两路码元a和b后,其每个码元的持续时间是输入码元的两倍,这两路并行码元序列分别用以和两路正交载波相乘。第二种方法是选择法,其原理方框图如图3-6所示。这是输入基带信号经过串/并转换后用以控制一个相位选择电路,按照当时输入的双比特ab,决定选择哪个相位的载波输出。
串/并转换串/并转换相位选择带通滤波4相载波产生器图3-6QPSK信号键控产生法本文设计采用的是第二种设计方案,即键控法。这种方法实现简单。基于CPLD的Qpsk的调制原理框图如图3-7所示。ClkClkStart基带信号分频串并转换四选一开关调制信号图3-7QPSK调制原理图首先是对输入的串行码进行串并转换,转换后的码元速率应是串入是的一半,从而达到同步输入输出。将外部时钟进行分频的同时产生四种相位,最后通过一个四选一数据选择器对并行码选择相应相位的载波进行调制。基于VHDL的QPSK调制器设计如图3-8所示图3-8基于VHDL的QPSK调制器设计调制程序生成的顶层文件如图3-9所示:图3-9QPSK调制程序的顶层文件
3.2.3QPSK解调由于是方波调制,所以解调时用调制时相匹配的时钟信号找出调制波高电平或低电平对应的位置,即可确定其不同的相位,从而解调出对应的码元。解调原理图如图3-10所示:CClk计数器Start基带信号并/串转换调制信号译码一加法器译码二图3-10QPSK解调原理图首先是做一个加法器,加法器的四个值对应四种相位,其他情况以对应零相位处理。然后通过一数据分配器将对应的并行码输出,最后经过并串转换输出解调后的基带信号。由于在每个周期内输出两个码元,所以输出的基带信号为归零码。解调程序生成的顶层文件如图3-11所示:图3-11QPSK解调程序的顶层文件
3.2.4调制解调系统将M序列、QPSK调制、QPSK解调模块连成一个调制解调系统,该系统完成了M序列的产生,然后对M序列进行了调制和解调。其结构如图3-12所示:图3-12调制解调系统结构图基于quartusII的仿真调制解调系统的时序仿真结果如图3-13所示:图3-13调制解调系统的时序仿真结果图中y0是M序列的波形,y1是对M序列调制的输出波形,y2是解调的输出波形。其中y0和y2的波形是一样的,只是有少许的时延,因此,该系统完成了对M序列的调制和解调。3.3卷积码编码译码3.3.1纠错编码基础信道编码的编码对象是信源编码器输出的数字序列(信息序列)。信道编码按照一定的规则给数字序列M增加一些冗余的码元,使不具有规律性的信息序列M变换为具有某种规律性的数字序列Y(码序列)。也就是说,码序列中信息序列的诸码元与冗余码元之间是相关的。在接收端,信道译码器利用这种预知的编码规则来译码,或者说检测接收到的数字序列R是否符合既定的规则,从而发现R中是否有误码,进而纠正其中的差错。根据相关性来检测和纠正传输过程中产生的差错就是信道编码的基本思想。通常数字序列M总是以k个码元为一组来进行传输的。我们称这k个码元的码组为信息码组,信道编码器按照一定的规则对每个信息码组附加一些冗余的码元,构成了n个码元的码组。这n个码元之间是相关的。即,附加的n一k个码元称为该码组的监督码元。从信息传输的角度来说,监督码元不载有任何信息,所以是冗余的。这种冗余度使码字具有一定的检错和纠错能力,提高了传输的可靠性,降低了误码率。另一方面,如果我们要求信息传输的速率不变,在附加了监督码元之后,就必须减少码组中每个码元符号的持续时间,对二进制码就是减少脉冲宽度,若编码前每个码元脉冲的归一化宽度为l,则编码后的归一化宽度为招h,因此信道带宽必须展宽可k倍。在这种情况下,我们是以带宽的兀余度换取了信道传输的可靠性。如果信息传输速率允许降低,则编码后每个码元的持续时间可以不变。此时我们以信息传输速度的冗余度或称时间的冗余度换取了传输的可靠性。3.3.2卷积码编码卷积码(convolutionalcode)是由伊利亚斯发明的一种非分组码。通常它更适用于前向纠错,因为对于许多时间情况它的性能优于分组码,而且运算较简单。在分组码中,编码器产生的n个码元的一个码组,完全决定于这段时间中k比特输入信息。这个码组中监督位仅监督本码组中k个信息位。卷积码则不同。卷积码在编码时虽然也是把k比特的信息段编成n个比特的码组,但是监督码元不仅和当前的k鼻涕信息段有关,而且还同前面m=(N-1)个信息段有关。所以一个码组中的监督码元监督者N个信息段。通常将N称为编码约束度,并将nN称为编码约束长度。一般说来,对于卷积码,k和n的值是比较小的整数。通常将卷积码记作(n,k,N)。图3-14示出卷积码编码的一般原理方框图。编码器由三种主要元件构成,包括Nk级移存器、n个模2加法器和一个旋转开关。每个模2加法器的输入端数目可以不同,他连接到一些移存器的输出端。模2加法器的输出端接到旋转开关上。将时间分成等间隔的时隙,在每个时隙中有k比特从左端进入移存器,并且移存器各级暂存的信息向右移k位。旋转开关每时隙旋转一周,输出n比特(n>k)。图3-14卷积码编码一般原理方框图卷积编码可以用来纠正随机差错经卷积编码后的码元不仅与当前的码元信息有关,还与前面的码元信息有关。
本文中的编码是一个(2,1,6)的卷积码编码。如图3-15所示图3-15(2,1,6)卷积码编码原理方框图当初始输入序列为b1b2b3b4…时,则监督位为:C1=b1C2=b2C3=b3(式3-4)C4=b1+b4C5=b1+b2+b5C6=b1+b2+b3+b5卷积码编码程序的顶层文件如图3-16所示:图3-16卷积码编码程序的顶层文件3.3.3卷积码的解码卷积码的解码方法可以分为两类:代数解码和概率解码。代数解码是利用编码本身的代数结构进行解码,不考虑信道的统计特性。大数逻辑解码,又称门限解码,是卷积码代数解码的最主要一种方法,而且设备较简单。概率解码(又称最大似然解码)则是基于信道的统计特性和卷积码的特点进行计算。首先由沃曾克拉夫特针对无记忆信道提出的序贯解码就是概率解码方法之一;另一种概率解码方法是维特比(Viterbi)算法。当码的约束长度较短时,它比序贯解码算法的效率更高、速度更快、目前得到广泛的应用。大数逻辑解码:卷积码的大数逻辑解码是基于卷积码的代数表述运算的,其一般工作原理示于3-17中。卷积码是一种线性码。线性码有可能用校正子指明接收码组中的错码位置,从而纠正错码。图3-6中即利用此监督位计算校正子。然后,将计算得出的校正子暂存,并用它来检测错码的位置。在信息位移存器输出端,接有一个模2加电路;当检测到输出的信息位有错时,在输出的信息位上加“1”,从而纠正之。图3-17大数逻辑解码一般工作原理这里的错码检测是采用二进制制码的大数逻辑解码算法。它利用一组正交校验方程进行计算。这里的“正交”是有特殊定义的。其定义式:若被校验的那个信息位出现在检验方程组的每一个方程中,而其他的信息位至多在一个方程中出现,则称这组方程为正交校验方程。这样就可以根据被错码影响了的方程数目在方程组中是否占多数来判断该信息位是否错了。
参照式(3-4),得到监督关系式如下:S1=C1+b1S2=C2+b2S3=C3+b3(式3-5)S4=C4+b1+b4S5=C5+b1+b2+b5S6=C6+b1+b2+b3+b5式3-5中的Si(i=1~6)称为校正子,经过简单线性变换后,可以得出如下正交校验方程组:S1=C1+b1S4=C4+b1+b4S5=C5+b1+b2+b5(式3-6)S2+S6=C6+b1+b2+b3+b5在(式3-6)中,只有信息位b1出现在每个方程中,监督位和其他信息位均最多只出现一次。因此,在接收端解码时,考察b1、c1至b6、c6等12个码元,仅当b1出错时,式4-3中才可能有3个或3个以上方程等于“1”。从而能够纠正b1的错误。按照这一原理画出的此(2,1,6)卷积码解码原理方框图示于图4-12中。由此图可见,当信息位出现一个错码是,仅当它位于信息位移存器的第6、3、2和1级时,才使校正子等于“1”。因此,这是的校正子序列为100111;反之,当监督位出现一个错码是,校正子序列将为100000.。由此可见,当校正子序列中出现第一个“1”时,表示已经检出一个错码。后面的几个校正子则指出是信息位错了,还是监督位错了。图中门限电路的输入为代表式4-3的4个方程的4个电压。门限电路将这4个电影(非模2)相加。当相加结果大于或等于3时,门限电路输出“1”,它除了送到输出端的模2加法器上纠正输出码元b1的错码外,还送到校正子移存器纠正其中错误。
文中卷积码解码原理方框图如图3-18所示:图3-18(2,1,6)卷积码解码原理方框图
基于VHDL卷积码解码器的设计如图3-19所示:图3-19基于VHDL卷积码解码器的设计卷积码译码编程的顶层文件如图3-20所示:图3-20卷积码译码编程的顶层文件
3.3.4卷积码编码译码系统将M序列、卷积码编码、大数逻辑译码模块连成一个编码译码系统,该系统完成了M序列的产生,然后对M序列进行了编码和译码。其结构如图3-21所示:图3-21卷积码编码译码系统结构图基于quartusII的仿真编码译码系统的时序仿真结果如图3-22所示:图3-22卷积码编码译码系统的时序仿真结果图中pn_15是M序列的波形,bm_out是对M序列编码的输出波形,ym_out是译码的输出波形。其中pn_15和ym_out的波形是一样的,只是有少许的时延,因此,该系统完成了对M序列的编码和译码。3.4小型移动通信系统 将前面的M序列,QPSK调制、解调,卷积码编码、译码模块,全部链接起来,组成一个小型的通信系统。该系统先产生M序列,然后对M序列卷积码编码,QPSK调制,解调,大数逻辑译码。其结构如图3-23所示:图3-23移动通信系统结构图 基于QuartusII的仿真移动通信系统的时序仿真结果如图3-24所示:图3-24移动通信系统的时序仿真结果第四章硬件部分硬件总原理图如图4-1所示:图4-1硬件原理总图系统的硬件部分主要是CPLD芯片EPM7128S和少许外围电路组成。外围电路产生了系统时钟信号和Start信号作为输入信号,M序列、调制解调、编码译码都是在芯片EPM7128S中完成的。
根据原理图,画出pcb板图,然后做出硬件板。最后用数字示波器测量各测试点的波形如下所示:图4-2输入的时钟信号与分频后的时钟信号在图4-2中,上面波形是通过晶振产生的4M的时钟信号,输入,下面的波形是经过4分频输出的信号。图中下面的波形比上面的波形拓宽了4倍,得到了预期的结果。图4-3M序列的信号与最后的译码输出信号 在图4-3中,上面的波形是M序列的信号波形,下面的波形是M序列信号经过卷积编码,QPSK调制,解调,卷积译码后输出的信号波形。图中两个波形是一样的,只是下面波形有一些拓宽。因此,得到了预期的结果。图4-4编码输出信号与解调输出信号在图4-4中,上面的波形是M序列编码后的输出信号波形,下面的波形是M序列经过编码,调制,解调后输出的信号波形。图中两个波形是一样的,只是有一些延时。因此,得到了预期的结果。 下图是所做的硬件板的实物图,上面白色的方块是一个4M的晶振,中间是CPLD的芯片EPM7128SLC84-15。左下角是电源的输入线,红的是正极,黑的是负极。右边是分频时钟、M序列、编码、调制、解调、译码的测试端口。图4-5硬件实物图
第五章总结本文介绍了可编程逻辑器CPLD、可编程片上系统开发软件QuartusII及硬件描述语言VHDL。调制编码是数字通信系统中的一个重要部分,文中叙述了调制解调、编码译码技术的理论基础和实现方案。本文始终采用的是模块化得设计方法,这样大大缩短了系统的开发周期,同时也方便调制。将每一个模块的程序封装成一个器件,这样有很好的移植性,每一个模块都可以方便的应用到其他系统中。系统设计虽然满足最初的设计要求,但由于时间有限,本文的研究工作还不够完善,本设计只是一个孤立的系统,还需要通过实验箱把程序下载到芯片中,然后自己焊制的硬件板才能完成对M序列调制解调、编码译码的全部功能。
参考文献[1]毋杰康丙寅王昭婧等,基于CPLD的片上系统的无线保密通信终端[M],电子科技大学.2009[2]施保华,金晓波,用CPLD构成液晶显示控制器[M],电子产品世界.2000(10)[3]谭进,陈勇,查光明,无线电台中DS/D-MPSK调制解调器的CPLD实现[M],现代电子技术[4]陈浩.基于CPLD的调制解调器的研究和设计[D],华中师范大学,2007(12)[5]晏坚,马正新,杨宝国等,一种参数可变的BPSK/QPSK数字突发调制器的ASIC实现[J].无线电工程,2001(5)[6]HongY.ChungandStePhenG..Wilson.MultimodeModulationandCodingofQAM[J].IEEETrans.onCommun,Vol.41,No.1,pp.1-6.January1993.[7]邹诩,匡镜明.利用CPLD技术实现数字通信中的交织器和解交织器[J].电子技术应用.2000(10)[8]王诚,吴继华等著.AlteraFPGA/CPLD设计(基础篇)[M].北京;人民邮电出版社,2005(7)[9]uweMcyer-Baese.数字信号处理的CPLD实现[M].北京:清华大学出版社,2003.[10]任晓东,文博.FPGA/CPLD高级应用开发指南[M].北京:电子工业出版社,2003[11]柯炜,殷奎喜.基于CPLD的连续相位耐DQPSK调制器和解调器[J].南京师范大学学报.2004(3):41-44[12]赵海潮,周荣花,沈业兵.基于CPLD的QPSK解调器的设计与实现[J].微计算机信息.2004(7):76-77[13]孟庆海,张洲.VHDL基础及经典实例开发[M].西安大学出版社,2008(4)[14]Darron.May.AdvancedHigh-levelHDLProgrammablelogic[J].USA:Synplicity,Inc.DesignTechniquesfor2001:39-38
致谢在论文即将完成之际,首先要感谢我的指导老师黄丽贞老师,在完成毕业设计撰写论文的过程中,黄丽贞老师都用自己专业的知识对我进行悉心的教导和无私的帮助,他丰富的专业知识、开阔的视野和敏锐的思维对我在整个毕业设计和撰写论文过程中,起了非常大的影响。在此,还要感谢和我们班的同学。在设计过程中,通过同学的帮助,解决了许多自己无法解决的难题,他们并时常给我一些相关的信息对我的设计进行比较大的帮助。在此,我非常感谢他们!此外还要感谢大学四年来所有的电子信息工程学院的老师们,在他们的教诲下,我掌握电子信息工程专业所需要学习的基础和专业知识,为我以后的工作打下了坚实的基础。
附录1系统部分VHDL源代码如下:--QPSK调制程序:libraryieee;useieee.std_logic_arith.all;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityPL_PSKisport(clk:instd_logic;--系统时钟start:instd_logic;--开始调制信号x:instd_logic;--基带信号y:outstd_logic);--调制信号endPL_PSK;architecturebehavofPL_PSKissignalq:integerrange0to7;--计数器signalxx:std_logic_vector(1downto0);--中间寄存器signalyy:std_logic_vector(1downto0);--2位并行码寄存器signalf:std_logic_vector(3downto0);--载波fbeginprocess(clk)--通过对clk分频,得到4种相位;并完成基带信号的串并转换beginifclk'eventandclk='1'thenifstart='0'thenq<=0;elsifq=0thenq<=1;f(3)<='1';f(1)<='0';xx(1)<=x;yy<=xx;elsifq=2thenq<=3;f(2)<='0';f(0)<='1';elsifq=4thenq<=5;f(3)<='0';f(1)<='1';xx(0)<=x;elsifq=6thenq<=7;f(2)<='1';f(0)<='0';elsifq=7thenq<=0;elseq<=q+1;endif;endif;endprocess;--ifyy="11"theny<=f(0);--elsifyy="10"theny<=f(1);--elsifyy="01"theny<=f(2);--elsey<=f(3);--endif;y<=f(0)whenyy="11"else--根据yy寄存器数据,输出对应的载波f(1)whenyy="10"elsef(2)whenyy="01"elsef(3);endbehav;--QPSK解调程序:--说明:解调信号说明如下表所示。将一个信号周期分成4份,高电平权值分别为0、0、0、0,低电平权值分别为1、1、2、3。载波波形载波相位加法器xx中间信号yyy000+0+2+3=5“00”9000+1+2+0=3“01”18001+1+0+0=2“10”27001+0+0+3=4“11”libraryieee;useieee.std_logic_arith.all;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityMPSKisport(clk_0:instd_logic;--系统时钟 clk_1:instd_logic;start:instd_logic;--同步信号x:instd_logic;--已调信号y:outstd_logic);--基带信号endMPSK;architecturebehavofMPSKissignalq:integerrange0to7;--计数器signalxx:std_logic_vector(2downto0);--加法器signalyyy:std_logic_vector(1downto0);--2位并行基代信号寄存器signalyy:std_logic_vector(2downto0);--寄存xx数据beginprocess(clk_1)beginifclk_1'eventandclk_1='1'thenifstart='0'thenq<=0; elsifq=0thenq<=1;yy<=xx;y<=yyy(0);elsifq=1thenq<=2;--把加法计数器的数据送入yy寄存器ifx='0'thenxx<="001";--调制信号x为低电平时,送入加法器的数据“001elsexx<="000";endif; elsifq=2thenq<=3;elsifq=3thenq<=4;ifx='0'thenxx<=xx+"001";--调制信号x为低电平时,送入加法器的数据“001endif;elsifq=4thenq<=5;y<=yyy(1);elsifq=5thenq<=6;ifx='0'thenxx<=xx+"010";--调制信号x为低电平时,送入加法器的数据“010endif; elsifq=6thenq<=7;elsifq=7thenq<=0;ifx='0'thenxx<=xx+"011";--调制信号x为低电平时,送入加法器的数据“011endif;endif;endif;endprocess;process(clk_0,yy)--此进程根据yy寄存器里的数据进行译码beginifclk_0'eventandclk_0='1'thenifyy="101"thenyyy<="00";--yy寄存器“101”对应基带码“elsifyy="011"thenyyy<="01";--yy寄存器“011”对应基带码“elsifyy="010"thenyyy<="10";--yy寄存器“010”对应基带码“elsifyy="100"thenyyy<="11";--yy寄存器“100”对应基带码“elseyyy<="00";endif;endif;endprocess;endbehav;--卷积码编码程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitybmisport(start:instd_logic;--使能信号 clk:instd_logic;--时钟入口 bm_in:instd_logic;--输入数据 bm_out:outstd_logic);--输出数据endbm;architecturertlofbmissignalregisterb1:std_logic;--定义8个寄存器signalregisterb2:std_logic;signalregisterb3:std_logic;signalregisterb4:std_logic;signalregisterb5:std_logic;signalregisterb6:std_logic;signalregistery:std_logic;signalq:integerrange0to1;beginprocess(clk,start)beginif(start='0')then--复位信号为1时,清零bm_out<='0';q<=0;registery<='0';registerb1<='0';registerb2<='0';registerb3<='0';registerb4<='0';registerb5<='0';registerb6<='0';elseif(clk'eventandclk='1')then移位寄存器移位操作 registerb1<=registerb2; registerb2<=registerb3; registerb3<=registerb4; registerb4<=registerb5; registerb5<=registerb6; registerb6<=bm_in; 根据生成多项式进行模2相加运算 registery<=registerb6xorregisterb3xorregisterb2xorregisterb1; --并串转换 if(q=0)then bm_out<=registerb6; q<=1; else bm_out<=registery; q<=0; endif; endif; endif; endprocess; endrtl; --大数逻辑译码程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitydsymisport(start:instd_logic;--使能信号 clk:instd_logic;--时钟入口 ym_in:instd_logic;--输入数据,信息位 ym_out:outstd_logic);--输出数据enddsym;architecturertlofdsymissignalregisterc1:std_logic;--接受监督位signalregisterc2:std_logic;--重算监督位signalregistery:std_logic;--门限电路的输出signalq:integerrange0to1;signalk:integerrange0to4;--计数器,计门限电路1的个数signalregisterb1:std_logic;--信息位移位寄存器signalregisterb2:std_logic;signalregisterb3:std_logic;signalregisterb4:std_logic;signalregisterb5:std_logic;signalregisterb6:std_logic;signalregisters1:std_logic;--校正子移位寄存器signalregisters2:std_logic;signalregisters3:std_logic;signalregisters4:std_logic;signalregisters5:std_logic;signalregisters6:std_logic;beginprocess(clk,start)beginif(start='0')then--复位信号为1时,清零ym_out<='0';q<=0;k<=0;registery<='0';registerc1<='0';registerc2<='0';registerb1<='0';registerb2<='0';registerb3<='0';registerb4<='0';registerb5<='0';registerb6<='0';registers1<='0';registers2<='0';registers3<='0';registers4<='0';registers5<='0';registers6<='0';elseif(clk'eventandclk='1')then if(q=0)then --接收信息位 registerb1<=registerb2; registerb2<=registerb3; registerb3<=registerb4; registerb4<=registerb5; registerb5<=registerb6;registerb6<=ym_in; q<=1; else--接收监督位 registerc1<=ym_in; q<=0; --重算监督位 registerc2<=registerb6xorregisterb3xorregisterb2xorregisterb1; registers1<=registers2; registers2<=registers3; registers3<=registers4; registers4<=registers5; registers5<=registers6; --计算校正子 registers6<=registerc1xorregisterc2; --计算门限电路中1的个数 if(registers6xorregisters2)='1'then k<=k+1; endif; ifregisters5='1'then k<=k+1; endif; ifregisters4='1'then k<=k+1; endif; ifregisters1='1'then k<=k+1; endif; if(k>=3)then registery<='1'; else registery<='0'; endif; --纠正校正子移存器中的错误 registers6<=registers6xorregistery; registers5<=registers5xorregistery; registers4<=registers4xorregistery; --纠正输出码元b1中的错误 ym_out<=registerb1xorregistery; endif; endif; endif; endprocess; endrtl;
附录2硬件pcb板图:
学位论文原创性声明学位论文作者(本人签名):年月日学位论文出版授权书论文密级:□公开 □保密(___年__月至__年__月)(作者签名:_______导师签名:______________年_____月_____日_______年_____月_____日
独创声明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本声明的法律后果由本人承担。
作者签名:二〇一〇年九月二十日
毕业设计(论文)使用授权声明本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定。本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。(保密论文在解密后遵守此规定)
作者签名:二〇一〇年九月二十日
致谢时间飞逝,大学的学习生活很快就要过去,在这四年的学习生活中,收获了很多,而这些成绩的取得是和一直关心帮助我的人分不开的。首先非常感谢学校开设这个课题,为本人日后从事计算机方面的工作提供了经验,奠定了基础。本次毕业设计大概持续了半年,现在终于到结尾了。本次毕业设计是对我大学四年学习下来最好的检验。经过这次毕业设计,我的能力有了很大的提高,比如操作能力、分析问题的能力、合作精神、严谨的工作作风等方方面面都有很大的进步。这期间凝聚了很多人的心血,在此我表示由衷的感谢。没有他们的帮助,我将无法顺利完成这次设计。首先,我要特别感谢我的知道郭谦功老师对我的悉心指导,在我的论文书写及设计过程中给了我大量的帮助和指导,为我理清了设计思路和操作方法,并对我所做的课题提出了有效的改进方案。郭谦功老师渊博的知识、严谨的作风和诲人不倦的态度给我留下了深刻的印象。从他身上,我学到了许多能受益终生的东西。再次对周巍老师表示衷心的感谢。其次,我要感谢大学四年中所有的任课老师和辅导员在学习期间对我的严格要求,感谢他们对我学习上和生活上的帮助,使我了解了许多专业知识和为人的道理,能够在今后的生活道路上有继续奋斗的力量。另外,我还要感谢大学四年和我一起走过的同学朋友对我的关心与支持,与他们一起学习、生活,让我在大学期间生活的很充实,给我留下了很多难忘的回忆。最后,我要感谢我的父母对我的关系和理解,如果没有他们在我的学习生涯中的无私奉献和默默支持,我将无法顺利完成今天的学业。四年的大学生活就快走入尾声,我们的校园生活就要划上句号,心中是无尽的难舍与眷恋。从这里走出,对我的人生来说,将是踏上一个新的征程,要把所学的知识应用到实际工作中去。回首四年,取得了些许成绩,生活中有快乐也有艰辛。感谢老师四年来对我孜孜不倦的教诲,对我成长的关心和爱护。学友情深,情同兄妹。四年的风风雨雨,我们一同走过,充满着关爱,给我留下了值得珍藏的最美好的记忆。在我的十几年求学历程里,离不开父母的鼓励和支持,是他们辛勤的劳作,无私的付出,为我创造良好的学习条件,我才能顺利完成完成学业,感激他们一直以来对我的抚养与培育。最后,我要特别感谢我的导师赵达睿老师、和研究生助教熊伟丽老师。是他们在我毕业的最后关头给了我们巨大的帮助与鼓励,给了我很多解决问题的思路,在此表示衷心的感激。老师们认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。在论文的撰写过程中老师们给予我很大的帮助,帮助解决了不少的难点,使得论文能够及时完成,这里一并表示真诚的感谢。基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论