1、基于CPLD的移动通信调制编码技术的研究毕业设计报告 精品毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印
2、刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、
3、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名: 日期: 年 月 日导师签名: 日期: 年 月 日第一章 绪论1.1 研究背景近年来,随着半导体工艺技术和设计方法的迅速发展,系统级芯片SOC( System-on-Chip)的设计得以高速发展。但是,由于SOC产品设计具有开发周期相对较长、高成本和高风险等特点,对市场的变化非常敏感,这使得SOC在消费电子、汽车电子、工业设计领域的发展
4、进程仍然缓慢。与此同时,当今的制造工艺能够提供更多更高速的逻辑、更快的I/O和更低价位的新一代可编程逻辑器件,现场可编程门阵列CPLD (Complex Programmable Logic Device)己然进入嵌入式应用领域,高性能CPLD也不再局限于引进系统粘合逻辑,也可作为SOC平台。由于CPLD的现场可编程特征,它己成为更具灵活性和广泛性发展前景的工业设计平台 。与传统电路设计方法相比,CPLD具有功能强大、开发过程投资小、周期短、便于修改及开发工具智能化等特点。使用CPLD器件设计数字电路,不仅可以简化设计过程,而且可以降低整个系统的体积和成本,增加系统的可靠性。CPLD可轻易地被
5、修改变更、修复缺陷,或在用户需要升级和配合市场发展时去创制未来的衍生产品。它们无需花费传统意义下制造集成电路所需大量时间和精力,避免了投资风险,成为电子器件行业中发展最快的一族。1.2 研究思路和方案分析设计调制解调器,可以考虑用通用DSP芯片的方案。这种方案的通用DSP具备灵活的可编程性和高效的性能,有的甚至还集成了通用微控制器。方框图如图1-1所示:图1-1 通用DSP方案通用DSP都是按程序循序执行,即串行构架,这限制了通用DSP不能达到很高的速度。但是调制和编码单元中往往用到滤波器,乘法器,直接频率合成器等需要高速时钟的器件。虽然通用DSP具有哈佛结构,多重总线,超标量流水线,分支预测
6、等先进的技术,但是都不可能从本质上改变程序循序执行的缺点,在需要高速应用的场合通用DSP往往不能胜任。而使用专用 DSP虽然能解决好速度的问题但是可编程能力有限。下面我们用CPLD代替上面方案中的通用DSP和变频器。方框图如图1-2所示:图1-2 CPLD方案CPLD内部有丰富的资源能配置成各种形式的电路。用CPLD代替通用DSP后不仅灵活性没有降低,性能却有极大的提高。CPLD内部能被编成将所有的功能以并行方式执行大大加快了速度。对于要求更高性能使还能使用流水线设计进一步提高数据吞吐量。CPLD可以设计多个并行模块的系统,速度高,同时具有高度灵活甚至能改变系统构架。前一种通用DSP方案主要是
7、指目前己广泛使用的DSP处理器的解决方案,包括一系列软硬件技术与开发技术。采用DSP处理器(如TI的TMS32OC系列)的解决方案日益面临着不断增加的巨大挑战,而自身的技术瓶颈(如运行速度、吞吐量、总线结构的可变性、系统结构的可重配置性、硬件可升级性等等)致使这种解决方案在DSP的许多新的应用领域中的道路越走越窄;后一种CPLD方案则是基于SOPC(可编程片上系统)技术、EDA技术与CPLD实现方式的DSP技术,是现代电子技术发展的产物,它有效地克服了传统DSP技术中的诸多技术瓶颈,在许多方面显示了突出的优势,如高速与实时性,高可靠性,自主知识产权化,系统的重配置与硬件可重构性,单片系统的可实
8、现性,以及开发技术的标准化和高效率。因此我们采用后面一种方案完成系统设计,进行数字调制解调和编码译码技术的研究,使用VHDL硬件描述语言可以快速高效地设计出具有复杂结构和算法的系统,同时优化算法和结构达到节省硬件资源和高效率开发的特点。1.3 论文的主要工作本文的调制解调和编码译码方法的是基于CPLD的开发技术,利用CPLD完成调制解调和编码译码的过程。开发手段是Quartus II工具软件的应用。论文安排如下:第1章:概括了调制解调器的研究背景,明确了本文的研究思路和所用方案,对本文的主要工作和文章安排进行了介绍。第2章:介绍了可编程逻辑器CPLD、可编程片上系统开发软件Quartus II
9、及硬件描述语言VHDL。第3章:介绍了系统的理论基础及一般原理,整个系统采用模块化设计,详细介绍M序列、调制、解调、编码、译码五个模块的设计。第4章:硬件部分,画出了整个系统的硬件原理图,显示并分析了测试到的波形。第5章:总结全文内容,提出了本课题有待于进一步深入研究的问题。第2章 可编程片上系统开发技术2.1可编程逻辑器件简介可编程逻辑器PLD(ProgrableLogicDeviees)从20世纪70年代发展到现在,己形成了许多类型的产品,其结构、工艺、集成度、速度和性能都在不断的改进和提高。PLD又可分为简单低密度PLD和复杂高密度PLD。可编程阵列逻辑器件PAL(Progranunab
10、leArrayLogic)和通用阵列逻辑器件GAL(GenerioArrayLogic)都属于简单PLD,结构简单,设计灵活,对开发软件的要求低,但规模小,难以实现复杂的逻辑功能。随着技术的发展,简单PLD在集成度和性能方面的局限性也暴露出来。其寄存器、I/O引脚、时钟资源的数目有限,没有内部互连,因此包括复杂可编程逻辑器件CPLD(ComPlexPLD)和现场可编程门阵列器件FPLD(Field Programmable Gate Array)在内的复杂PLD迅速发展起来,并向着高密度、高速度、低功耗以及结构体系更灵活、适用范围更广阔的方向发展。CPLD具备阵列型 PLD的特点,结构又类似掩
11、膜可编程门阵列,因而具有更高的集成度和更强大的逻辑实现功能,使设计变得更加灵活和易实现。相对于CPLD,它还可以将配置数据存储在片外的EPROM或者计算机上,设计人员可以控制加载过程,在现场修改器件的逻辑功能,即所谓的现场可编程。所以CPLD得到了更普遍的应用。使用CPLD器件设计数字电路,不仅可以简化设计过程,而且可以降低整个系统的体积和成本,增加系统的可靠性。它们无需花费传统意义下制造集成电路所需大量时间和精力,避免了投资风险,成为电子器件行业中发展最快的一族。2.2可编程片上系统开发软件Altera的Quartus II开发平台,它囊括了从设计输入、综合、布局布线、仿真、时序分析、下载验
12、证等所有设计流程,是一个完整的开发平台,能满足多种设计的需要,是SOPC设计的综合环境和SOPC开发的基本设计工具,并为 Altera DSP开发包进行系统模型设计提供了集成综合环境。Quartus II设计工具完全支持VHDL,Verilog的设计流程,其内部嵌有VHDL,Verilog逻辑综合器。Quartus II可以进行基于CPLD的DSP系统开发,是DSP硬件系统实现的关键EDA工具。Quartusll包括模块化的编译器。编译器包括的功能模块有分析综合器、适配器、装配器、时序分析器、设计辅助模块、EDA网表文件生成器、编辑数据接口等。以通过选择start ComPilation来运行
13、所有的编译器模块,或通过选择 ComPilerTool,在 ComPilerTool窗口中运行该模块来启动编译器模块。此外,Quartus II还包含许多十分有用的LPM(Library of parameterized Modules)模块,他们是复杂或高级系统构建的重要组成部分,在SOPC设计中被大量应用,也可与Quartus II普通文件一起使用。Altera提供的可参数化宏功能模块和LPM函数均基于Altera器件的结构作了优化设计。在许多使用情况中,必须使用宏功能模块才可以使用某些特定器件硬件功能,如DSP模块,片上存储器,PLL等。这可以通过Quartus II中的Mega wiz
14、ard Plug-in Manager来建立Altera宏功能模块、LPM函数和IP函数,用于Quartus II综合工具中的设计。一般设计流程如图2-1所示图2-1 Quartus II 一般设计流程2.3硬件描述语言VHDL简介硬件描述语言VHDL(Very High Speed Integrated Cireuit Hardware Description Language)是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式。与传统的门级描述方式相比,它更适合于大规模集成电路系统的设计。VHDL是一种全方位的硬件描述语言,包括系统行为级
15、、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流、行为三种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件描述语言的功能。VHDL主要用于描述数字系统的结构、行为、功能和接口,非常适用于可编程逻辑芯片的应用设计。与其它的HDL相比,VHDL具有更强大的行为描述能力,从而决定了它称为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证利用VHDL语言设计数字系统硬件电路,一般采用的是自顶向下(TOP-DOWN)的设计方法。自顶向下是指从系统总体要求出发,在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错,
16、并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。然后利用综合优化工具生成具体门电路的网表,其对应的物理实现级可以是CPLD电路或专用集成电路。由于设计的主要仿真和调试过程是在高层次上完成的,这一方面有利于早期发现结构设计上的失误,避免设计工作的浪费,同时减少了逻辑功能仿真的工作量,提高了设计的一次成功率。第三章 系统的组成及工作原理本课题是在QuartusII环境下,进行移动通信中常用调制解调方法、信道编译码方法研究。系统总原理框图如图3-1所示:3.1 M序列产生器M序列是最长线性反馈移位寄存器序列的简称。它是由带线性的移存器产生的周期最长的序列。文中的m序列是由一个4级线性
17、反馈移存器产生的。设其初始状态为(b3,b2,b1,b0)=(1,0,1,0),则移位一次时,由b1和b0模2相加产生新的输入b4=10=1,新的状态变为(b3,b2,b1,b0)=(1,1,0,0).这样移位15次后又回到初始状态(1,0,1,0)。因为4级移存器共有24=16种可能的状态。除全“0”状态外,只剩15种状态可用。这就是说,由任何4级反馈移存器产生的序列的周期最长为15.图3-2 M序列产生原理图生成的顶层文件如图3-3所示:图3-3 产生M序列程序的顶层文件基于quartus II的仿真M序列时序仿真结果如图3-4所示:图3-4 M序列时序仿真结果由图3-4可以看出产生的M序
18、列为“111100010011010”,与理论相符,其码元速率为1kb/s。3.2 QPSK调制解调3.2.1多进制相移键控基本原理在2PSK信号的表示中一个码元的载波初始相位可以等于0或。将其推广到多进制,可以取多个可能值。所以,一个MPSK信号码元可以表示为 (式3-1)式中:A为常数;为一组间隔均用的受调制相位,其值决定与基带码元的取值。所以它可以写为 (式3-2)通常M取2的某次冪: K=正整数对多进制PSK信号,不能简单的采用一个相干载波进行解调。例如,若cos作为相干载波时,因为,使解调存在模糊。只有在2PSK中才可以使用一个相干载波进行解调。这是需要两个正交的相干载波进行解调。M
19、SPSK信号的码元表示展开写成 (式3-3)式中, 上式表明,MPSK信号码元sk(t)可以看作是由正弦和余弦两个正交分量合成的信号,他们的振幅分别是ak和bk,并且ak2 + bk2 = 1 。这就是说,MPSK信号码元可以看作是两个特定的MASK信号码元之和。因此,其带宽和MASK信号的带宽相同。4PSK常称为正交相移键控(Quadrature Phase Shift Keying,QPSK)。它的每个码元含有2b的信息,现用ab代表这两个比特。发送码元序列在编码时需要先将每两个比特分成一组,然后用4种相位之一 k去表示它。两个比特有4种组合,即00、01、10和11。在码元的表示式(3-
20、1)中,k称为初始相位,常简称为相位,而把(0t + k)称为信号的瞬时相位。当码元中包含整数个载波周期时,初始相位相同的相邻码元的波形和瞬时相位才是连续的。若每个码元中的载波周期数不是整数,则即使初始相位相同,波形和瞬时相位也可能不连续,或者波形连续而相位不连续。在码元边界,当相位不连续时,信号的频谱将展宽,包络也将出现起伏。3.2.2 QPSK 调制QPSK即四相相移键控,就是四相相移调制。将360度分成4份,各个相位角相差90度,所以又称正交相移调制。常用的初始相位角可以是0或者45度, 一般QPSK可以看成正交的两路传播,一路I支路,一路为Q支路。正交相移调制(QPSK)特点:调制效率
21、高,传输的频带利用率高,要求传送途径的信噪比低。QPSK信号的产生方法可以有两种方法。第一种是用相乘电路,如图3-5所示。图3-5 QPSK信号产生方法图中输入基带信号A(t)是二进制不归零码元,它被“串/并转换”电路变成两路码元a和b后,其每个码元的持续时间是输入码元的两倍,这两路并行码元序列分别用以和两路正交载波相乘。第二种方法是选择法,其原理方框图如图3-6所示。这是输入基带信号经过串/并转换后用以控制一个相位选择电路,按照当时输入的双比特ab,决定选择哪个相位的载波输出。图3-6 QPSK信号键控产生法本文设计采用的是第二种设计方案,即键控法。这种方法实现简单。基于CPLD的Qpsk的
22、调制原理框图如图3-7所示。图3-7 QPSK调制原理图首先是对输入的串行码进行串并转换,转换后的码元速率应是串入是的一半,从而达到同步输入输出。将外部时钟进行分频的同时产生四种相位,最后通过一个四选一数据选择器对并行码选择相应相位的载波进行调制。基于VHDL的QPSK调制器设计如图3-8所示图3-8 基于VHDL的QPSK调制器设计调制程序生成的顶层文件如图3-9所示:图3-9 QPSK 调制程序的顶层文件3.2.3 QPSK解调由于是方波调制,所以解调时用调制时相匹配的时钟信号找出调制波高电平或低电平对应的位置,即可确定其不同的相位,从而解调出对应的码元。解调原理图如图3-10所示:图3-
23、10 QPSK 解调原理图首先是做一个加法器,加法器的四个值对应四种相位,其他情况以对应零相位处理。然后通过一数据分配器将对应的并行码输出,最后经过并串转换输出解调后的基带信号。由于在每个周期内输出两个码元,所以输出的基带信号为归零码。解调程序生成的顶层文件如图3-11所示:图3-11 QPSK 解调程序的顶层文件3.2.4 调制解调系统将M序列、QPSK调制、QPSK解调模块连成一个调制解调系统,该系统完成了M序列的产生,然后对M序列进行了调制和解调。其结构如图3-12所示:图3-12 调制解调系统结构图基于quartus II的仿真调制解调系统的时序仿真结果如图3-13所示:图3-13 调
24、制解调系统的时序仿真结果图中y0是M序列的波形,y1是对M序列调制的输出波形,y2是解调的输出波形。其中y0和y2的波形是一样的,只是有少许的时延,因此,该系统完成了对M序列的调制和解调。3.3 卷积码编码译码3.3.1纠错编码基础信道编码的编码对象是信源编码器输出的数字序列(信息序列)。信道编码按照一定的规则给数字序列M增加一些冗余的码元,使不具有规律性的信息序列M变换为具有某种规律性的数字序列Y(码序列)。也就是说,码序列中信息序列的诸码元与冗余码元之间是相关的。在接收端,信道译码器利用这种预知的编码规则来译码,或者说检测接收到的数字序列R是否符合既定的规则,从而发现R中是否有误码,进而纠
25、正其中的差错。根据相关性来检测和纠正传输过程中产生的差错就是信道编码的基本思想。通常数字序列M总是以k个码元为一组来进行传输的。我们称这k个码元的码组为信息码组,信道编码器按照一定的规则对每个信息码组附加一些冗余的码元,构成了n个码元的码组。这n个码元之间是相关的。即,附加的n一k个码元称为该码组的监督码元。从信息传输的角度来说,监督码元不载有任何信息,所以是冗余的。这种冗余度使码字具有一定的检错和纠错能力,提高了传输的可靠性,降低了误码率。另一方面,如果我们要求信息传输的速率不变,在附加了监督码元之后,就必须减少码组中每个码元符号的持续时间,对二进制码就是减少脉冲宽度,若编码前每个码元脉冲的
26、归一化宽度为l,则编码后的归一化宽度为招h,因此信道带宽必须展宽可k倍。在这种情况下,我们是以带宽的兀余度换取了信道传输的可靠性。如果信息传输速率允许降低,则编码后每个码元的持续时间可以不变。此时我们以信息传输速度的冗余度或称时间的冗余度换取了传输的可靠性。3.3.2卷积码编码卷积码(convolutional code)是由伊利亚斯发明的一种非分组码。通常它更适用于前向纠错,因为对于许多时间情况它的性能优于分组码,而且运算较简单。在分组码中,编码器产生的n个码元的一个码组,完全决定于这段时间中k比特输入信息。这个码组中监督位仅监督本码组中k个信息位。卷积码则不同。卷积码在编码时虽然也是把k比
27、特的信息段编成n个比特的码组,但是监督码元不仅和当前的k鼻涕信息段有关,而且还同前面m=(N-1)个信息段有关。所以一个码组中的监督码元监督者N个信息段。通常将N称为编码约束度,并将nN称为编码约束长度。一般说来,对于卷积码,k和n的值是比较小的整数。通常将卷积码记作(n,k,N)。图3-14示出卷积码编码的一般原理方框图。编码器由三种主要元件构成,包括Nk级移存器、n个模2加法器和一个旋转开关。每个模2加法器的输入端数目可以不同,他连接到一些移存器的输出端。模2加法器的输出端接到旋转开关上。将时间分成等间隔的时隙,在每个时隙中有k比特从左端进入移存器,并且移存器各级暂存的信息向右移k位。旋转
28、开关每时隙旋转一周,输出n比特(nk)。图3-14 卷积码编码一般原理方框图卷积编码可以用来纠正随机差错经卷积编码后的码元不仅与当前的码元信息有关, 还与前面的码元信息有关。本文中的编码是一个(2,1,6)的卷积码编码。如图3-15所示图3-15 (2,1,6)卷积码编码原理方框图当初始输入序列为b1 b2 b3 b4 时,则监督位为: C1=b1C2=b2C3=b3 (式3-4)C4=b1+b4C5=b1+b2+b5C6=b1+b2+b3+b5卷积码编码程序的顶层文件如图3-16所示:图3-16 卷积码编码程序的顶层文件3.3.3卷积码的解码卷积码的解码方法可以分为两类:代数解码和概率解码。
29、代数解码是利用编码本身的代数结构进行解码,不考虑信道的统计特性。大数逻辑解码,又称门限解码,是卷积码代数解码的最主要一种方法,而且设备较简单。概率解码(又称最大似然解码)则是基于信道的统计特性和卷积码的特点进行计算。首先由沃曾克拉夫特针对无记忆信道提出的序贯解码就是概率解码方法之一;另一种概率解码方法是维特比(Viterbi)算法。当码的约束长度较短时,它比序贯解码算法的效率更高、速度更快、目前得到广泛的应用。大数逻辑解码:卷积码的大数逻辑解码是基于卷积码的代数表述运算的,其一般工作原理示于3-17中。卷积码是一种线性码。线性码有可能用校正子指明接收码组中的错码位置,从而纠正错码。图3-6中即
30、利用此监督位计算校正子。然后,将计算得出的校正子暂存,并用它来检测错码的位置。在信息位移存器输出端,接有一个模2加电路;当检测到输出的信息位有错时,在输出的信息位上加“1”,从而纠正之。图3-17 大数逻辑解码一般工作原理这里的错码检测是采用二进制制码的大数逻辑解码算法。它利用一组正交校验方程进行计算。这里的“正交”是有特殊定义的。其定义式:若被校验的那个信息位出现在检验方程组的每一个方程中,而其他的信息位至多在一个方程中出现,则称这组方程为正交校验方程。这样就可以根据被错码影响了的方程数目在方程组中是否占多数来判断该信息位是否错了。参照式(3-4),得到监督关系式如下:S1=C1+b1S2=
31、C2+b2S3=C3+b3 (式3-5)S4=C4+b1+b4S5=C5+b1+b2+b5S6=C6+b1+b2+b3+b5式3-5中的Si(i=16)称为校正子,经过简单线性变换后,可以得出如下正交校验方程组: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个电压。门限
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1